WebCore:
[webkit/qt.git] / WebCore / ChangeLog
blob5fe7d1bdc761366af8f2118286af65d67ddf6c90
1 2008-09-27  Anders Carlsson  <andersca@apple.com>
3         Reviewed by Sam Weinig.
5         https://bugs.webkit.org/show_bug.cgi?id=21178
6         <rdar://problem/6248651>
8         Check if the plug-in is allowed to load the resource. This matches Firefox.
10         Test: http/tests/plugins/local-geturl-from-remote.html
12         * plugins/PluginView.cpp:
13         (WebCore::PluginView::load):
15 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
17         Reviewed by Eric Seidel.
19         Added SVG pattern support to Qt.
21         [Qt] SVG patterns are missing
22         https://bugs.webkit.org/show_bug.cgi?id=20973
24         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
25         (WebCore::SVGPaintServerPattern::setup):
27 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
29         Fixed a bug in the JS syntax highlighter with multiple line tokens.
31         https://bugs.webkit.org/show_bug.cgi?id=21171
33         Reviewed by Tim Hatcher.
35         * page/inspector/SourceFrame.js:
36         (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
38 2008-09-27  Timothy Hatcher  <timothy@apple.com>
40         Change searching in the Profiles panel to not match the
41         Self and Total columns when there are no units. The only
42         column that is matched for unitless number searches is
43         now the Calls column.
45         https://bugs.webkit.org/show_bug.cgi?id=21169
47         Reviewed by Sam Weinig.
49         * page/inspector/ProfileView.js:
50         (WebInspector.ProfileView.prototype.performSearch):
52 2008-09-27  David Hyatt  <hyatt@apple.com>
54         Rename boundsGeometry -> boundsRect.  Rename geometryChanged -> frameRectsChanged.
56         Reviewed by Sam Weinig
58         * platform/ScrollView.h:
59         * platform/Widget.h:
60         (WebCore::Widget::boundsRect):
61         (WebCore::Widget::invalidate):
62         (WebCore::Widget::frameRectsChanged):
63         * platform/gtk/ScrollViewGtk.cpp:
64         (WebCore::ScrollViewScrollbar::frameRectsChanged):
65         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
66         (WebCore::ScrollView::setFrameRect):
67         (WebCore::ScrollView::updateScrollbars):
68         (WebCore::ScrollView::frameRectsChanged):
69         * platform/gtk/ScrollbarGtk.cpp:
70         (ScrollbarGtk::setFrameRect):
71         (ScrollbarGtk::frameRectsChanged):
72         * platform/gtk/ScrollbarGtk.h:
73         * platform/gtk/WidgetGtk.cpp:
74         * platform/qt/ScrollViewQt.cpp:
75         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
76         (WebCore::ScrollView::setFrameRect):
77         (WebCore::ScrollView::frameRectsChanged):
78         (WebCore::ScrollView::updateScrollbars):
79         * platform/win/ScrollViewWin.cpp:
80         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
81         (WebCore::ScrollView::setFrameRect):
82         (WebCore::ScrollView::updateScrollbars):
83         (WebCore::ScrollView::frameRectsChanged):
84         * plugins/PluginView.cpp:
85         (WebCore::PluginView::frameRectsChanged):
86         * plugins/PluginView.h:
88 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
90         Refix the previous build fix to compile on non-Qt platforms, too.
92         * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
93         WebCore to generate the PrototypeTable in the WebCore namespace
94         * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
95         table remains in the Webcore namespace
96         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
98 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
100         Fix compilation with gcc 4.3 (probably > 4.0)
102         * bindings/js/JSDOMWindowBase.cpp: Don't define static property
103         get/put functions inside the WebCore namespace.
104         * bindings/js/JSEventTargetBase.cpp: Ditto.
105         * bindings/js/JSEventTargetNode.cpp: Ditto.
106         * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
107         * bindings/js/JSEventTargetBase.h: Forward declare
108         JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
109         defines it in the JSC namespace.
110         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
111         prefix for PrototypeTable symbol.
113 2008-09-27  David Hyatt  <hyatt@apple.com>
115         Rename frameGeometry to frameRect.  Rename setFrameGeometry to setFrameRect.
117         Reviewed by Dan Bernstein
119         * WebCore.base.exp:
120         * page/FrameView.cpp:
121         (WebCore::FrameView::FrameView):
122         (WebCore::FrameView::updateControlTints):
123         * platform/ScrollView.h:
124         * platform/Scrollbar.cpp:
125         (WebCore::Scrollbar::Scrollbar):
126         (WebCore::Scrollbar::paint):
127         (WebCore::Scrollbar::setFrameRect):
128         * platform/Scrollbar.h:
129         * platform/ScrollbarThemeComposite.cpp:
130         (WebCore::ScrollbarThemeComposite::paint):
131         * platform/Widget.h:
132         (WebCore::Widget::x):
133         (WebCore::Widget::y):
134         (WebCore::Widget::width):
135         (WebCore::Widget::height):
136         (WebCore::Widget::size):
137         (WebCore::Widget::pos):
138         (WebCore::Widget::resize):
139         (WebCore::Widget::move):
140         * platform/gtk/ScrollViewGtk.cpp:
141         (WebCore::ScrollViewScrollbar::geometryChanged):
142         (WebCore::ScrollView::update):
143         (WebCore::ScrollView::setFrameRect):
144         (WebCore::ScrollView::updateScrollbars):
145         (WebCore::ScrollView::scrollbarUnderMouse):
146         (WebCore::ScrollView::paint):
147         * platform/gtk/ScrollbarGtk.cpp:
148         (ScrollbarGtk::setFrameRect):
149         (ScrollbarGtk::geometryChanged):
150         * platform/gtk/ScrollbarGtk.h:
151         * platform/gtk/WidgetGtk.cpp:
152         (WebCore::Widget::frameRect):
153         (WebCore::Widget::setFrameRect):
154         * platform/mac/ScrollbarThemeMac.mm:
155         (WebCore::ScrollbarThemeMac::trackRect):
156         (WebCore::ScrollbarThemeMac::paint):
157         * platform/mac/WidgetMac.mm:
158         (WebCore::Widget::frameRect):
159         (WebCore::Widget::setFrameRect):
160         * platform/qt/ScrollViewQt.cpp:
161         (WebCore::ScrollView::setFrameRect):
162         (WebCore::ScrollView::updateScrollbars):
163         (WebCore::ScrollView::scrollbarUnderMouse):
164         (WebCore::ScrollView::paint):
165         * platform/qt/ScrollbarThemeQt.cpp:
166         (WebCore::styleOptionSlider):
167         * platform/qt/WidgetQt.cpp:
168         (WebCore::Widget::frameRect):
169         (WebCore::Widget::setFrameRect):
170         * platform/win/PopupMenuWin.cpp:
171         (WebCore::PopupMenu::invalidateItem):
172         (WebCore::PopupMenu::valueChanged):
173         (WebCore::PopupWndProc):
174         * platform/win/ScrollViewWin.cpp:
175         (WebCore::ScrollView::setFrameRect):
176         (WebCore::ScrollView::updateScrollbars):
177         (WebCore::ScrollView::scrollbarUnderMouse):
178         (WebCore::ScrollView::paint):
179         * platform/win/ScrollbarThemeSafari.cpp:
180         (WebCore::ScrollbarThemeSafari::trackRect):
181         * platform/win/WidgetWin.cpp:
182         (WebCore::Widget::frameRect):
183         (WebCore::Widget::setFrameRect):
184         * platform/wx/WidgetWx.cpp:
185         (WebCore::Widget::frameRect):
186         (WebCore::Widget::setFrameRect):
187         * plugins/PluginView.cpp:
188         (WebCore::PluginView::setFrameRect):
189         * plugins/PluginView.h:
190         * plugins/gtk/PluginViewGtk.cpp:
191         (WebCore::PluginView::updatePluginWidget):
192         (WebCore::PluginView::paint):
193         (WebCore::PluginView::init):
194         * plugins/qt/PluginViewQt.cpp:
195         (WebCore::PluginView::updatePluginWidget):
196         (WebCore::PluginView::init):
197         * plugins/win/PluginViewWin.cpp:
198         (WebCore::PluginView::updatePluginWidget):
199         (WebCore::PluginView::paintMissingPluginIcon):
200         (WebCore::PluginView::paint):
201         (WebCore::PluginView::init):
202         * rendering/RenderLayer.cpp:
203         (WebCore::RenderLayer::positionOverflowControls):
204         * rendering/RenderListBox.cpp:
205         (WebCore::RenderListBox::paintScrollbar):
206         * rendering/RenderPart.cpp:
207         (WebCore::RenderPart::updateWidgetPosition):
208         * rendering/RenderWidget.cpp:
209         (WebCore::RenderWidget::setWidgetGeometry):
210         (WebCore::RenderWidget::updateWidgetPosition):
212 2008-09-27  David Hyatt  <hyatt@apple.com>
214         <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
216         This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
217         access an actual member variable.
219         Reviewed by Dan Bernstein
221         * page/FocusController.cpp:
222         (WebCore::FocusController::setFocusedFrame):
224 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
226         Attempt to fix QT Build. Not reviewed.
228         * WebCore.pro: add -n WebCore parameter to create_hash_table
230 2008-09-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
232         Reviewed by Eric Seidel.
234         http://bugs.webkit.org/show_bug.cgi?id=18905
235         [GTK] Fix build with older pango (1.14.8)
237         * platform/graphics/gtk/FontGtk.cpp:
238         * platform/gtk/Language.cpp:
239         (_pango_get_lc_ctype):
240         (pango_language_get_default):
242 2008-09-26  David Hyatt  <hyatt@apple.com>
244         https://bugs.webkit.org/show_bug.cgi?id=21168
246         Make contentsToWindow/windowToContents cross-platform.
248         Reviewed by Oliver Hunt
250         * platform/ScrollView.cpp:
251         (WebCore::ScrollView::windowToContents):
252         (WebCore::ScrollView::contentsToWindow):
253         * platform/ScrollView.h:
254         * platform/gtk/ScrollViewGtk.cpp:
255         * platform/mac/ScrollViewMac.mm:
256         * platform/qt/ScrollViewQt.cpp:
257         * platform/win/ScrollViewWin.cpp:
258         * platform/wx/ScrollViewWx.cpp:
260 2008-09-26  Sam Weinig  <sam@webkit.org>
262         GTK build fix.
264         * GNUmakefile.am:
266 2008-09-26  David Hyatt  <hyatt@apple.com>
268         Eliminate shouldUpdateWhileOffscreen from ScrollView.  Make the concept of not invalidating while
269         offscreen cross-platform.  Rename the inWindow method to isOffscreen (which flips the boolean), since that
270         more clearly conveys the intent of the method.  Make isOffscreen also check NSWindow visibility on Mac.
272         Reviewed by Oliver Hunt
274         * page/FrameView.cpp:
275         (WebCore::FrameView::repaintContentRectangle):
276         * page/FrameView.h:
277         * platform/ScrollView.h:
278         * platform/gtk/ScrollViewGtk.cpp:
279         (WebCore::ScrollView::isOffscreen):
280         * platform/mac/ScrollViewMac.mm:
281         (WebCore::ScrollView::updateContents):
282         (WebCore::ScrollView::isOffscreen):
283         * platform/qt/ScrollViewQt.cpp:
284         (WebCore::ScrollView::isOffscreen):
285         * platform/win/ScrollViewWin.cpp:
286         (WebCore::ScrollView::isOffscreen):
287         * platform/wx/ScrollViewWx.cpp:
288         (WebCore::ScrollView::isOffscreen):
289         * rendering/RenderObject.cpp:
290         (WebCore::RenderObject::willRenderImage):
292 2008-09-26  David Hyatt  <hyatt@apple.com>
294         https://bugs.webkit.org/show_bug.cgi?id=21164
296         Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
298         Reviewed by Sam Weinig
300         * WebCore.base.exp:
301         * page/FrameView.cpp:
302         (WebCore::FrameView::setAllowsScrolling):
303         * page/FrameView.h:
304         * platform/ScrollView.cpp:
305         (WebCore::ScrollView::setAllowsScrolling):
306         * platform/ScrollView.h:
307         (WebCore::ScrollView::allowsScrolling):
308         * platform/win/ScrollViewWin.cpp:
309         (WebCore::ScrollView::wheelEvent):
311 2008-09-26  Kevin Ollivier  <kevino@theolliviers.com>
313         wx build fixes after Widget/ScrollView changes.
315         * platform/wx/PopupMenuWx.cpp:
316         (WebCore::PopupMenu::show):
317         * platform/wx/ScrollViewWx.cpp:
318         (WebCore::ScrollView::platformSetContentsSize):
319         (WebCore::ScrollView::platformSetScrollbarModes):
320         (WebCore::ScrollView::wheelEvent):
321         * platform/wx/TemporaryLinkStubs.cpp:
322         * platform/wx/WidgetWx.cpp:
323         (WebCore::Widget::containingWindow):
325 2008-09-26  Timothy Hatcher  <timothy@apple.com>
327         Allow searching for paths by always performing the
328         three search methods in the Elements panel and not
329         assume a search with a "/" is a XPath query.
331         https://bugs.webkit.org/show_bug.cgi?id=21159
333         Reviewed by Geoff Garen.
335         * page/inspector/ElementsPanel.js:
336         (WebInspector.ElementsPanel.prototype.performSearch):
338 2008-09-26  Sam Weinig  <sam@webkit.org>
340         Reviewed by Darin Adler.
342         Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
343         Speedup static property get/put
345         * DerivedSources.make:
346         * GNUmakefile.am:
347         * WebCore.pro:
348         * WebCore.vcproj/WebCore.vcproj:
349         * WebCore.xcodeproj/project.pbxproj:
350         * bindings/js/JSDOMBinding.cpp:
351         * bindings/js/JSDOMBinding.h:
352         * bindings/js/JSDOMWindowBase.cpp:
353         (WebCore::getDOMConstructor):
354         (WebCore::jsDOMWindowBaseCrypto):
355         (WebCore::jsDOMWindowBaseEvent):
356         (WebCore::jsDOMWindowBaseImage):
357         (WebCore::jsDOMWindowBaseMessageChannel):
358         (WebCore::jsDOMWindowBaseOption):
359         (WebCore::jsDOMWindowBaseXMLHttpRequest):
360         (WebCore::jsDOMWindowBaseAudio):
361         (WebCore::jsDOMWindowBaseXSLTProcessor):
362         (WebCore::jsDOMWindowBaseOnabort):
363         (WebCore::jsDOMWindowBaseOnblur):
364         (WebCore::jsDOMWindowBaseOnchange):
365         (WebCore::jsDOMWindowBaseOnclick):
366         (WebCore::jsDOMWindowBaseOndblclick):
367         (WebCore::jsDOMWindowBaseOnerror):
368         (WebCore::jsDOMWindowBaseOnfocus):
369         (WebCore::jsDOMWindowBaseOnkeydown):
370         (WebCore::jsDOMWindowBaseOnkeypress):
371         (WebCore::jsDOMWindowBaseOnkeyup):
372         (WebCore::jsDOMWindowBaseOnload):
373         (WebCore::jsDOMWindowBaseOnmousedown):
374         (WebCore::jsDOMWindowBaseOnmousemove):
375         (WebCore::jsDOMWindowBaseOnmouseout):
376         (WebCore::jsDOMWindowBaseOnmouseover):
377         (WebCore::jsDOMWindowBaseOnmouseup):
378         (WebCore::jsDOMWindowBaseOnMouseWheel):
379         (WebCore::jsDOMWindowBaseOnreset):
380         (WebCore::jsDOMWindowBaseOnresize):
381         (WebCore::jsDOMWindowBaseOnscroll):
382         (WebCore::jsDOMWindowBaseOnsearch):
383         (WebCore::jsDOMWindowBaseOnselect):
384         (WebCore::jsDOMWindowBaseOnsubmit):
385         (WebCore::jsDOMWindowBaseOnbeforeunload):
386         (WebCore::jsDOMWindowBaseOnunload):
387         (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
388         (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
389         (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
390         (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
391         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
392         (WebCore::JSDOMWindowBase::put):
393         (WebCore::setJSDOMWindowBaseOnabort):
394         (WebCore::setJSDOMWindowBaseOnblur):
395         (WebCore::setJSDOMWindowBaseOnchange):
396         (WebCore::setJSDOMWindowBaseOnclick):
397         (WebCore::setJSDOMWindowBaseOndblclick):
398         (WebCore::setJSDOMWindowBaseOnerror):
399         (WebCore::setJSDOMWindowBaseOnfocus):
400         (WebCore::setJSDOMWindowBaseOnkeydown):
401         (WebCore::setJSDOMWindowBaseOnkeypress):
402         (WebCore::setJSDOMWindowBaseOnkeyup):
403         (WebCore::setJSDOMWindowBaseOnload):
404         (WebCore::setJSDOMWindowBaseOnmousedown):
405         (WebCore::setJSDOMWindowBaseOnmousemove):
406         (WebCore::setJSDOMWindowBaseOnmouseout):
407         (WebCore::setJSDOMWindowBaseOnmouseover):
408         (WebCore::setJSDOMWindowBaseOnmouseup):
409         (WebCore::setJSDOMWindowBaseOnMouseWheel):
410         (WebCore::setJSDOMWindowBaseOnreset):
411         (WebCore::setJSDOMWindowBaseOnresize):
412         (WebCore::setJSDOMWindowBaseOnscroll):
413         (WebCore::setJSDOMWindowBaseOnsearch):
414         (WebCore::setJSDOMWindowBaseOnselect):
415         (WebCore::setJSDOMWindowBaseOnsubmit):
416         (WebCore::setJSDOMWindowBaseOnbeforeunload):
417         (WebCore::setJSDOMWindowBaseOnunload):
418         (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
419         (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
420         (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
421         (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
422         (WebCore::setJSDOMWindowBaseEvent):
423         (WebCore::setJSDOMWindowBaseAudio):
424         (WebCore::setJSDOMWindowBaseImage):
425         (WebCore::setJSDOMWindowBaseMessageChannel):
426         (WebCore::setJSDOMWindowBaseOption):
427         (WebCore::setJSDOMWindowBaseXMLHttpRequest):
428         (WebCore::setJSDOMWindowBaseXSLTProcessor):
429         * bindings/js/JSDOMWindowBase.h:
430         * bindings/js/JSDOMWindowCustom.cpp:
431         (WebCore::nonCachingStaticCloseFunctionGetter):
432         (WebCore::nonCachingStaticBlurFunctionGetter):
433         (WebCore::nonCachingStaticFocusFunctionGetter):
434         (WebCore::nonCachingStaticPostMessageFunctionGetter):
435         * bindings/js/JSDOMWindowCustom.h:
436         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
437         * bindings/js/JSEventTargetBase.cpp:
438         * bindings/js/JSEventTargetBase.h:
439         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
440         (WebCore::JSEventTargetBasePrototype::classInfo):
441         * bindings/js/JSEventTargetNode.cpp:
442         (WebCore::):
443         (WebCore::JSEventTargetNode::getOwnPropertySlot):
444         (WebCore::JSEventTargetNode::put):
445         * bindings/js/JSEventTargetNode.h:
446         (WebCore::JSEventTargetNode::classInfo):
447         (WebCore::JSEventTargetNode::prototypeClassName):
448         * bindings/js/JSEventTargetSVGElementInstance.cpp:
449         (WebCore::):
450         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
451         (WebCore::JSEventTargetSVGElementInstance::put):
452         * bindings/js/JSEventTargetSVGElementInstance.h:
453         (WebCore::JSEventTargetSVGElementInstance::classInfo):
454         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
455         * bindings/js/JSHTMLInputElementCustom.cpp:
456         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
457         * bindings/js/JSHistoryCustom.cpp:
458         (WebCore::nonCachingStaticBackFunctionGetter):
459         (WebCore::nonCachingStaticForwardFunctionGetter):
460         (WebCore::nonCachingStaticGoFunctionGetter):
461         (WebCore::JSHistory::customGetOwnPropertySlot):
462         * bindings/js/JSLocationCustom.cpp:
463         (WebCore::nonCachingStaticReplaceFunctionGetter):
464         (WebCore::nonCachingStaticReloadFunctionGetter):
465         (WebCore::nonCachingStaticAssignFunctionGetter):
466         (WebCore::JSLocation::customGetOwnPropertySlot):
467         (WebCore::JSLocation::customPut):
468         * bindings/scripts/CodeGeneratorJS.pm:
470 2008-09-26  David Hyatt  <hyatt@apple.com>
472         https://bugs.webkit.org/show_bug.cgi?id=21149
474         Make the concept of scroll modes cross-platform.  Move the scrollbars up into ScrollView as well.
475         Eliminate the unused isScrollable() method.
477         Reviewed by Sam Weinig
479         * WebCore.base.exp:
480         * page/FrameView.cpp:
481         (WebCore::FrameView::resetScrollbars):
482         (WebCore::FrameView::initScrollbars):
483         (WebCore::FrameView::layout):
484         * page/FrameView.h:
485         * page/mac/WebCoreFrameView.h:
486         * platform/ScrollView.cpp:
487         (WebCore::ScrollView::init):
488         (WebCore::ScrollView::setScrollbarModes):
489         (WebCore::ScrollView::scrollbarModes):
490         (WebCore::ScrollView::platformSetScrollbarModes):
491         (WebCore::ScrollView::platformScrollbarModes):
492         * platform/ScrollView.h:
493         (WebCore::ScrollView::horizontalScrollbar):
494         (WebCore::ScrollView::verticalScrollbar):
495         (WebCore::ScrollView::isScrollViewScrollbar):
496         (WebCore::ScrollView::setHorizontalScrollbarMode):
497         (WebCore::ScrollView::setVerticalScrollbarMode):
498         (WebCore::ScrollView::horizontalScrollbarMode):
499         (WebCore::ScrollView::verticalScrollbarMode):
500         (WebCore::ScrollView::convertSelfToChild):
501         * platform/gtk/ScrollViewGtk.cpp:
502         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
503         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
504         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
505         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
506         (WebCore::ScrollView::updateScrollbars):
507         (WebCore::ScrollView::scrollbarUnderMouse):
508         (WebCore::ScrollView::isScrollViewScrollbar):
509         (WebCore::ScrollView::paint):
510         (WebCore::ScrollView::scroll):
511         * platform/mac/ScrollViewMac.mm:
512         (WebCore::ScrollView::platformSetScrollbarModes):
513         (WebCore::ScrollView::platformScrollbarModes):
514         * platform/qt/ScrollViewQt.cpp:
515         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
516         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
517         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
518         (WebCore::ScrollView::horizontalScrollbar):
519         (WebCore::ScrollView::verticalScrollbar):
520         (WebCore::ScrollView::invalidateScrollbars):
521         (WebCore::ScrollView::updateScrollbars):
522         (WebCore::ScrollView::scrollbarUnderMouse):
523         (WebCore::ScrollView::paint):
524         (WebCore::ScrollView::scroll):
525         * platform/win/ScrollViewWin.cpp:
526         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
527         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
528         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
529         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
530         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
531         (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
532         (WebCore::ScrollView::suppressScrollbars):
533         (WebCore::ScrollView::updateScrollbars):
534         (WebCore::ScrollView::scrollbarUnderMouse):
535         (WebCore::ScrollView::paint):
536         (WebCore::ScrollView::scroll):
537         * platform/wx/ScrollViewWx.cpp:
538         (WebCore::ScrollView::platformSetScrollbarModes):
539         (WebCore::ScrollView::platformScrollbarModes):
541 2008-09-26  David Kilzer  <ddkilzer@apple.com>
543         Fix Mac build with XPATH and XSLT disabled
545         Reviewed by Alexey.
547         * bindings/objc/DOMUtility.mm:
548         (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
549         * dom/XMLTokenizerLibxml2.cpp:
550         (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
551         prevent an unused code warning.
553 2008-09-26  Kevin McCullough  <kmccullough@apple.com>
555         Rubber stamped by Tim Hatcher.
557         Bug 21098: Crashing under Console::log
558         - Speculative ASSERT to help find the problem.
560         * page/InspectorController.cpp:
561         (WebCore::ConsoleMessage::isEqual):
563 2008-09-26  Holger Hans Peter Freyther  <zecke@selfish.org>
565         [gtk+] Build fix for the latest ScrollView changes
567         * platform/gtk/ScrollViewGtk.cpp:
568         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
569         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
571 2008-09-26  Timothy Hatcher  <timothy@apple.com>
573         Fixes a bug where the console message repeat count would be wrong
574         when typing commands in between repeated messages.
576         https://bugs.webkit.org/show_bug.cgi?id=21145
578         Reviewed by Kevin McCullough.
580         * page/InspectorController.cpp:
581         (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
582         (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
583         * page/inspector/Console.js:
584         (WebInspector.Console.prototype.addMessage): Remember the original repeat count
585         for each message as totalRepeatCount, since we now modify repeatCount to mean
586         repeats since previous console command. If repeatCountBeforeCommand is a number,
587         subtract that value from the repeatCount.
588         (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
589         and commandSincePreviousMessage properties.
591 2008-09-26  Eric Carlson  <eric.carlson@apple.com>
593         Reviewed by Antti
595         https://bugs.webkit.org/show_bug.cgi?id=21116
596         <rdar://problem/5726325> Audio from <video> can still be heard after navigating 
597         back to page with <video>, then closing tab
599         Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
600         documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
601         deletion.
603         * dom/Document.cpp:
604         (WebCore::Document::documentWillBecomeInactive):
605         (WebCore::Document::documentDidBecomeActive):
606         (WebCore::Document::registerForDocumentActivationCallbacks):
607         (WebCore::Document::unregisterForDocumentActivationCallbacks):
608         * dom/Document.h:
609         * dom/Element.h:
610         (WebCore::Element::documentWillBecomeInactive):
611         (WebCore::Element::documentDidBecomeActive):
612         * history/CachedPage.cpp:
613         (WebCore::CachedPage::CachedPage):
614         * html/HTMLFormElement.cpp:
615         (WebCore::HTMLFormElement::~HTMLFormElement):
616         (WebCore::HTMLFormElement::parseMappedAttribute):
617         (WebCore::HTMLFormElement::documentDidBecomeActive):
618         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
619         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
620         * html/HTMLFormElement.h:
621         * html/HTMLInputElement.cpp:
622         (WebCore::HTMLInputElement::~HTMLInputElement):
623         (WebCore::HTMLInputElement::setInputType):
624         (WebCore::HTMLInputElement::parseMappedAttribute):
625         (WebCore::HTMLInputElement::needsActivationCallback):
626         (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
627         (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
628         (WebCore::HTMLInputElement::documentDidBecomeActive):
629         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
630         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
631         * html/HTMLInputElement.h:
632         * html/HTMLMediaElement.cpp:
633         (WebCore::HTMLMediaElement::HTMLMediaElement):
634         (WebCore::HTMLMediaElement::~HTMLMediaElement):
635         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
636         (WebCore::HTMLMediaElement::documentDidBecomeActive):
637         * html/HTMLMediaElement.h:
638         (WebCore::HTMLMediaElement::inActiveDocument):
639         * loader/FrameLoader.cpp:
640         (WebCore::FrameLoader::opened):
641         * page/Page.cpp:
642         (WebCore::Page::~Page):
643         * rendering/RenderMedia.cpp:
644         (WebCore::RenderMedia::updateControls):
645         * rendering/RenderVideo.cpp:
646         (WebCore::RenderVideo::updatePlayer):
647         * svg/SVGSVGElement.cpp:
648         (WebCore::SVGSVGElement::SVGSVGElement):
649         (WebCore::SVGSVGElement::~SVGSVGElement):
650         (WebCore::SVGSVGElement::documentWillBecomeInactive):
651         (WebCore::SVGSVGElement::documentDidBecomeActive):
652         * svg/SVGSVGElement.h:
654 2008-09-26  Ariya Hidayat  <ariya.hidayat@trolltech.com>
656         Reviewed by Simon
658         Fix the build inside Qt, don't create faulty prl files for now.
660         * WebCore.pro:
662 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
664         Fix compilation on Qt/Windows
666         * Add WebCore/ to the include path so that config.h is found that enables JSC
667         * Link against winmm for the multimedia timer functions
668         * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
669         subdirectory
670         * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
671         but set m_window directly as setPlatformWidget takes a QWidget*.
673         * WebCore.pro:
674         * platform/win/SystemTimeWin.cpp:
675         * plugins/win/PluginViewWin.cpp:
676         (WebCore::PluginView::init):
678 2008-09-26  Oliver Hunt  <oliver@apple.com>
680         Reviewed by Maciej Stachowiak.
682         Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
683         <https://bugs.webkit.org/show_bug.cgi?id=21054>
685         This performance regression is actually just a symptom of a correctness
686         bug.  The constructor objects for a number of properties that have security
687         checks on access were returning new objects each time.  The most obvious
688         symptom of this bug is that window.Image != window.Image, etc.
690         The solution to this is to make sure we cache these constructors
691         in the same way as all the other DOM constructors.  To achieve this
692         without causing any refcount cycles it is necessary to replace the
693         refcounted document pointer in the Image, MessageChannel, Option, 
694         XMLHttpRequest, and Audio constructor objects with a reference to 
695         the document's JS wrapper.
697         Tests: fast/dom/constructors-cached-navigate.html
698                fast/dom/constructors-cached.html
700         * WebCore.xcodeproj/project.pbxproj:
701         * bindings/js/JSAudioConstructor.cpp:
702         (WebCore::JSAudioConstructor::mark):
703         * bindings/js/JSAudioConstructor.h:
704         (WebCore::JSAudioConstructor::document):
705         * bindings/js/JSDOMWindowBase.cpp:
706         (WebCore::getDOMConstructor):
707         (WebCore::JSDOMWindowBase::getValueProperty):
708         * bindings/js/JSDOMWindowBase.h:
709         * bindings/js/JSHTMLOptionElementConstructor.cpp:
710         (WebCore::JSHTMLOptionElementConstructor::mark):
711         * bindings/js/JSHTMLOptionElementConstructor.h:
712         (WebCore::JSHTMLOptionElementConstructor::document):
713         * bindings/js/JSImageConstructor.cpp:
714         (WebCore::JSImageConstructor::mark):
715         * bindings/js/JSImageConstructor.h:
716         (WebCore::JSImageConstructor::document):
717         * bindings/js/JSXMLHttpRequestConstructor.cpp:
718         (WebCore::JSXMLHttpRequestConstructor::mark):
719         * bindings/js/JSXMLHttpRequestConstructor.h:
720         (WebCore::JSXMLHttpRequestConstructor::document):
722 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
724         Unreviewed one-liner build fix for the Qt/Windows build.
726         The build requires NPAPI support to be enabled, fix the condition in
727         the .pro file for that.
729         * WebCore.pro:
731 2008-09-26  Trenton Schulz <twschulz@trolltech.com>
733         Reviewed by Simon.
735         Fix compilation with the Qt/Cocoa port.
737         * platform/qt/ScrollViewQt.cpp:
738         (WebCore::ScrollView::updateScrollbars):
740 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
742         Reviewed by Holger.
744         Fix compilation with VC9SP1, work around bug in TR1 library by
745         disabling it.
747         * WebCore.pro:
749 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
751         Reviewed by Holger.
753         Fix an lupdate() warning.
755         Don't use tr() in a class that is not a QObject, use
756         QCoreApplication::translate() directly.
758         * platform/qt/ScrollbarQt.cpp:
759         (WebCore::Scrollbar::handleContextMenuEvent):
761 2008-09-25  David Hyatt  <hyatt@apple.com>
763         Remove the scrollTo() method from FrameView, since it is not used by anyone.
765         Reviewed by Oliver Hunt
767         * page/FrameView.cpp:
768         * page/FrameView.h:
770 2008-09-25  David Hyatt  <hyatt@apple.com>
772         Make scrollRectIntoViewRecursively cross-platform.
774         Reviewed by Oliver Hunt
776         * platform/ScrollView.cpp:
777         (WebCore::ScrollView::scrollRectIntoViewRecursively):
778         * platform/gtk/ScrollViewGtk.cpp:
779         * platform/mac/ScrollViewMac.mm:
780         * platform/qt/ScrollViewQt.cpp:
781         * platform/win/ScrollViewWin.cpp:
782         * platform/wx/ScrollViewWx.cpp:
784 2008-09-25  David Hyatt  <hyatt@apple.com>
786         https://bugs.webkit.org/show_bug.cgi?id=21133
787         
788         Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()).  Make it
789         cross-platform.
791         Reviewed by Oliver Hunt
793         * loader/FrameLoader.cpp:
794         (WebCore::FrameLoader::begin):
795         * page/FrameView.cpp:
796         (WebCore::FrameView::adjustViewSize):
797         * platform/ScrollView.cpp:
798         (WebCore::ScrollView::setContentsSize):
799         * platform/ScrollView.h:
800         (WebCore::ScrollView::updateScrollbars):
801         * platform/gtk/ScrollViewGtk.cpp:
802         * platform/mac/ScrollViewMac.mm:
803         (WebCore::ScrollView::platformSetContentsSize):
804         * platform/qt/ScrollViewQt.cpp:
805         * platform/win/ScrollViewWin.cpp:
806         * platform/wx/ScrollViewWx.cpp:
807         (WebCore::ScrollView::platformSetContentsSize):
809 2008-09-25  David Hyatt  <hyatt@apple.com>
811         https://bugs.webkit.org/show_bug.cgi?id=21132
813         Clean up the methods that actually do the scrolling in ScrollView.
815         Reviewed by Oliver Hunt
817         * html/HTMLBodyElement.cpp:
818         (WebCore::HTMLBodyElement::setScrollLeft):
819         (WebCore::HTMLBodyElement::setScrollTop):
820         * loader/FrameLoader.cpp:
821         (WebCore::FrameLoader::restoreScrollPositionAndViewState):
822         * loader/ImageDocument.cpp:
823         (WebCore::ImageDocument::imageClicked):
824         * page/DOMWindow.cpp:
825         (WebCore::DOMWindow::scrollBy):
826         (WebCore::DOMWindow::scrollTo):
827         * page/FrameView.cpp:
828         (WebCore::FrameView::scrollTo):
829         (WebCore::FrameView::setScrollPosition):
830         * page/FrameView.h:
831         * platform/ScrollView.cpp:
832         (WebCore::ScrollView::maximumScrollPosition):
833         * platform/ScrollView.h:
834         (WebCore::ScrollView::contentsWidth):
835         (WebCore::ScrollView::contentsHeight):
836         (WebCore::ScrollView::scrollBy):
837         * platform/gtk/ScrollViewGtk.cpp:
838         (WebCore::ScrollView::setScrollPosition):
839         * platform/mac/ScrollViewMac.mm:
840         (WebCore::ScrollView::setScrollPosition):
841         * platform/qt/ScrollViewQt.cpp:
842         (WebCore::ScrollView::setScrollPosition):
843         (WebCore::ScrollView::scrollRectIntoViewRecursively):
844         * platform/win/ScrollViewWin.cpp:
845         (WebCore::ScrollView::setScrollPosition):
846         (WebCore::ScrollView::scrollRectIntoViewRecursively):
847         * platform/wx/ScrollViewWx.cpp:
848         (WebCore::ScrollView::setScrollPosition):
849         * rendering/RenderLayer.cpp:
850         (WebCore::RenderLayer::scrollByRecursively):
851         (WebCore::RenderLayer::scrollRectToVisible):
853 2008-09-25  Dan Bernstein  <mitz@apple.com>
855         - attempted Windows build fix
857         * platform/win/ScrollViewWin.cpp:
858         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
859         (WebCore::ScrollView::setContentsPos):
860         (WebCore::ScrollView::paint):
862 2008-09-25  Timothy Hatcher  <timothy@apple.com>
864         Revert the padding changes done in r36905 to prevent the
865         scrollbar from overlapping the URLs in the Console.
867         https://bugs.webkit.org/show_bug.cgi?id=21126
869         * page/inspector/inspector.css:
871 2008-09-25  David Hyatt  <hyatt@apple.com>
873         https://bugs.webkit.org/show_bug.cgi?id=21129
875         Refactor contents size and scroll offset to be cross-platform.  Reduce further the number
876         of platform-specific methods required of ScrollView implementations.
878         Reviewed by Tim Hatcher
880         * dom/MouseRelatedEvent.cpp:
881         (WebCore::contentsX):
882         (WebCore::contentsY):
883         * html/HTMLBodyElement.cpp:
884         (WebCore::HTMLBodyElement::scrollLeft):
885         (WebCore::HTMLBodyElement::setScrollLeft):
886         (WebCore::HTMLBodyElement::scrollTop):
887         (WebCore::HTMLBodyElement::setScrollTop):
888         * loader/FrameLoader.cpp:
889         (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
890         * page/DOMWindow.cpp:
891         (WebCore::DOMWindow::scrollX):
892         (WebCore::DOMWindow::scrollY):
893         * page/EventHandler.cpp:
894         (WebCore::EventHandler::hitTestResultAtPoint):
895         * page/FrameView.cpp:
896         (WebCore::FrameView::scrollTo):
897         (WebCore::FrameView::windowClipRect):
898         * platform/ScrollView.cpp:
899         (WebCore::ScrollView::visibleContentRect):
900         (WebCore::ScrollView::contentsSize):
901         (WebCore::ScrollView::platformContentsSize):
902         * platform/ScrollView.h:
903         (WebCore::ScrollView::scrollPosition):
904         (WebCore::ScrollView::scrollOffset):
905         (WebCore::ScrollView::scrollX):
906         (WebCore::ScrollView::scrollY):
907         (WebCore::ScrollView::contentsWidth):
908         (WebCore::ScrollView::contentsHeight):
909         * platform/gtk/ScrollViewGtk.cpp:
910         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
911         (WebCore::ScrollView::setGtkAdjustments):
912         (WebCore::ScrollView::resizeContents):
913         (WebCore::ScrollView::contentsWidth):
914         (WebCore::ScrollView::contentsHeight):
915         (WebCore::ScrollView::scrollOffset):
916         (WebCore::ScrollView::maximumScroll):
917         (WebCore::ScrollView::scrollBy):
918         (WebCore::ScrollView::suppressScrollbars):
919         (WebCore::ScrollView::setHScrollbarMode):
920         (WebCore::ScrollView::setVScrollbarMode):
921         (WebCore::ScrollView::setScrollbarsMode):
922         (WebCore::ScrollView::setFrameGeometry):
923         (WebCore::ScrollView::updateScrollbars):
924         * platform/mac/ScrollViewMac.mm:
925         (WebCore::ScrollView::platformContentsSize):
926         (WebCore::ScrollView::scrollBy):
927         * platform/mac/WidgetMac.mm:
928         (WebCore::Widget::convertFromContainingWindow):
929         (WebCore::Widget::convertToContainingWindow):
930         * platform/qt/ScrollViewQt.cpp:
931         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
932         (WebCore::ScrollView::resizeContents):
933         (WebCore::ScrollView::setFrameGeometry):
934         (WebCore::ScrollView::scrollOffset):
935         (WebCore::ScrollView::maximumScroll):
936         (WebCore::ScrollView::scrollBy):
937         (WebCore::ScrollView::setHScrollbarMode):
938         (WebCore::ScrollView::setVScrollbarMode):
939         (WebCore::ScrollView::setScrollbarsMode):
940         (WebCore::ScrollView::updateScrollbars):
941         * platform/win/ScrollViewWin.cpp:
942         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
943         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
944         (WebCore::ScrollView::resizeContents):
945         (WebCore::ScrollView::setFrameGeometry):
946         (WebCore::ScrollView::scrollOffset):
947         (WebCore::ScrollView::maximumScroll):
948         (WebCore::ScrollView::scrollBy):
949         (WebCore::ScrollView::setHScrollbarMode):
950         (WebCore::ScrollView::setVScrollbarMode):
951         (WebCore::ScrollView::setScrollbarsMode):
952         (WebCore::ScrollView::updateScrollbars):
953         * platform/wx/ScrollViewWx.cpp:
954         (WebCore::ScrollView::platformVisibleContentRect):
955         (WebCore::ScrollView::platformContentsSize):
956         * rendering/RenderBlock.cpp:
957         (WebCore::RenderBlock::nodeAtPoint):
958         * rendering/RenderLayer.cpp:
959         (WebCore::RenderLayer::scrollRectToVisible):
960         (WebCore::RenderLayer::calculateClipRects):
961         (WebCore::RenderLayer::calculateRects):
962         * rendering/RenderView.cpp:
963         (WebCore::RenderView::absolutePosition):
964         (WebCore::RenderView::computeAbsoluteRepaintRect):
966 2008-09-25  David Smith  <catfish.man@gmail.com>
968         Reviewed by Dave Hyatt.
970         Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
972         * dom/Element.cpp:
973         (WebCore::Element::rareData):
974         * dom/Element.h:
975         * dom/Node.cpp:
976         (WebCore::Node::rareData):
977         * dom/Node.h:
979 2008-09-25  David Smith  <catfish.man@gmail.com>
981         Reviewed by Darin Adler.
982         
983         https://bugs.webkit.org/show_bug.cgi?id=20980
984         Split off uncommonly used data from Node similar to ElementRareData
985         
986         Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
987         which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
988         for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
990         * WebCore.base.exp: 
991         * WebCore.xcodeproj/project.pbxproj:
992         * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
993         * dom/ContainerNode.cpp: Set isContainer to true
994         (WebCore::ContainerNode::ContainerNode):
995         * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
996         (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
997         (WebCore::Node::containerChildNode): ditto
998         (WebCore::Node::containerFirstChild): ditto
999         (WebCore::Node::containerLastChild): ditto
1000         * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
1001         (WebCore::Element::Element): 
1002         (WebCore::Element::~Element):
1003         (WebCore::Element::rareData):
1004         (WebCore::Element::ensureRareData): Renamed from createRareData
1005         (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
1006         (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
1007         (WebCore::Element::detach): ditto
1008         (WebCore::Element::recalcStyle): ditto
1009         (WebCore::Element::focus):
1010         (WebCore::Element::minimumSizeForResizing): ditto
1011         (WebCore::Element::setMinimumSizeForResizing): ditto
1012         (WebCore::Element::computedStyle):
1013         (WebCore::Element::cancelFocusAppearanceUpdate): ditto
1014         * dom/Element.h:
1015         * dom/ElementRareData.h: Added; everything copied from Element.cpp
1016         (WebCore::defaultMinimumSizeForResizing):
1017         (WebCore::ElementRareData::ElementRareData):
1018         (WebCore::ElementRareData::resetComputedStyle):
1019         * dom/EventTargetNode.cpp:
1020         (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
1021         * dom/EventTargetNode.h:
1022         * dom/Node.cpp:
1023         (WebCore::Node::Node):
1024         (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
1025         (WebCore::Node::rareData):
1026         (WebCore::Node::ensureRareData):
1027         (WebCore::Node::createRareData):
1028         (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
1029         (WebCore::Node::setTabIndexExplicitly):
1030         (WebCore::Node::childNodes): NodeLists are now in rareData
1031         (WebCore::Node::setFocus):
1032         (WebCore::Node::rareDataFocused):
1033         (WebCore::Node::isFocusable):
1034         (WebCore::Node::isKeyboardFocusable):
1035         (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
1036         (WebCore::Node::unregisterDynamicNodeList): ditto
1037         (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
1038         (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
1039         (WebCore::Node::getElementsByName): ditto
1040         (WebCore::Node::getElementsByClassName): ditto
1041         * dom/Node.h:
1042         (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
1043         (WebCore::Node::lastChild): ditto
1044         (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
1045         (WebCore::Node::focused): focus is in rareData if set
1046         (WebCore::Node::childTypeAllowed):
1047         (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
1048         (WebCore::Node::childNode): ditto
1049         (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
1050         * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
1051         (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
1052         (WebCore::NodeRareData::NodeRareData):
1053         (WebCore::NodeRareData::rareDataMap):
1054         (WebCore::NodeRareData::rareDataFromMap):
1055         (WebCore::NodeRareData::clearNodeLists):
1056         (WebCore::NodeRareData::setNodeLists):
1057         (WebCore::NodeRareData::nodeLists):
1058         (WebCore::NodeRareData::tabIndex):
1059         (WebCore::NodeRareData::setTabIndex):
1060         (WebCore::NodeRareData::tabIndexSetExplicitly):
1061         * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
1062         * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
1064 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1066         Reviewed by Simon Hausmann.
1068         [qt] ImageBuffer::toDataURL implementation
1070         There needs to be a Qt specific test result for the above mentioned
1071         implementation.
1073         * platform/graphics/qt/ImageBufferQt.cpp:
1074         (WebCore::ImageBuffer::toDataURL):
1076 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1078         Reviewed by Simon Hausmann.
1080         [qt] Implement SharedBuffer for Qt.
1082         * WebCore.pro:
1083         * platform/qt/SharedBufferQt.cpp: Added.
1084         (WebCore::SharedBuffer::createWithContentsOfFile):
1085         * platform/qt/TemporaryLinkStubs.cpp:
1087 2008-09-25  Feng Qian <feng@chromium.org>
1089         Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
1090         <rdar://problem/6243032>
1092         Reviewed by Dave Hyatt.
1094         Test: fast/dom/attribute-downcast-right.html
1096         Add isMappedAttribute function to Attribute for checking if an object
1097         is an instance of MappedAttribute. Removed attributeItem,
1098         getAttributeItem functions from NamedMappedAttrMap, and callers
1099         expecting MappedAttribute have to check isMappedAttribute before
1100         downcasting the return value to MappedAttribute.
1102         * css/CSSStyleSelector.cpp:
1103         (WebCore::CSSStyleSelector::styleForElement):
1104         * dom/Attribute.h:
1105         (WebCore::Attribute::isMappedAttribute):
1106         * dom/MappedAttribute.h:
1107         (WebCore::MappedAttribute::isMappedAttribute):
1108         * dom/NamedMappedAttrMap.cpp:
1109         (WebCore::NamedMappedAttrMap::declCount):
1110         (WebCore::NamedMappedAttrMap::mapsEquivalent):
1111         * dom/NamedMappedAttrMap.h:
1112         * dom/StyledElement.cpp:
1113         (WebCore::StyledElement::attributeChanged):
1114         * html/HTMLInputElement.cpp:
1115         (WebCore::HTMLInputElement::setInputType):
1116         * svg/SVGForeignObjectElement.cpp:
1117         (WebCore::addCSSPropertyAndNotifyAttributeMap):
1118         * svg/SVGStyledElement.cpp:
1119         (WebCore::SVGStyledElement::getPresentationAttribute):
1121 2008-09-25  David Hyatt  <hyatt@apple.com>
1123         https://bugs.webkit.org/show_bug.cgi?id=21120
1125         Make visibleContentRect cross-platform.  Note this does add new horizontal/verticalScrollbar accessors
1126         to a bunch of platforms.  This is a temporary evil until the scrollbars get made cross-platform (and I
1127         didn't want to mix that change in with this patch).
1129         Reviewed by Sam Weinig
1131         * page/Frame.cpp:
1132         (WebCore::Frame::markAllMatchesForText):
1133         * page/FrameView.cpp:
1134         (WebCore::FrameView::repaintContentRectangle):
1135         (WebCore::FrameView::windowClipRect):
1136         (WebCore::FrameView::updateControlTints):
1137         * platform/ScrollView.cpp:
1138         (WebCore::ScrollView::visibleContentRect):
1139         (WebCore::ScrollView::platformVisibleContentRect):
1140         * platform/ScrollView.h:
1141         (WebCore::ScrollView::visibleWidth):
1142         (WebCore::ScrollView::visibleHeight):
1143         * platform/gtk/ScrollViewGtk.cpp:
1144         (WebCore::ScrollView::horizontalScrollbar):
1145         (WebCore::ScrollView::verticalScrollbar):
1146         * platform/mac/ScrollViewMac.mm:
1147         (WebCore::ScrollView::horizontalScrollbar):
1148         (WebCore::ScrollView::verticalScrollbar):
1149         (WebCore::ScrollView::platformVisibleContentRect):
1150         * platform/qt/ScrollViewQt.cpp:
1151         (WebCore::ScrollView::horizontalScrollbar):
1152         (WebCore::ScrollView::verticalScrollbar):
1153         * platform/win/ScrollViewWin.cpp:
1154         (WebCore::ScrollView::horizontalScrollbar):
1155         (WebCore::ScrollView::verticalScrollbar):
1156         * platform/wx/ScrollViewWx.cpp:
1157         (WebCore::ScrollView::platformVisibleContentRect):
1158         (WebCore::ScrollView::horizontalScrollbar):
1159         (WebCore::ScrollView::verticalScrollbar):
1160         * rendering/RenderLayer.cpp:
1161         (WebCore::RenderLayer::scrollRectToVisible):
1162         (WebCore::frameVisibleRect):
1163         * rendering/RenderView.cpp:
1164         (WebCore::RenderView::viewRect):
1166 2008-09-25  David Smith  <catfish.man@gmail.com>
1168         Reviewed by Timothy Hatcher
1170         https://bugs.webkit.org/show_bug.cgi?id=21052
1171         Generalize id selector special case for querySelectorAll
1172         
1173         By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
1174         Changes results on http://native.khan.mozilla.org 
1175         from
1176             #title: 2ms
1177             h1#title: 55ms
1178             div #title: 55ms
1180         to:
1181             #title: 1ms
1182             h1#title: 2ms
1183             div #title: 5ms
1184         
1185         * dom/Node.cpp:
1186         (WebCore::Node::querySelector):
1187         * dom/SelectorNodeList.cpp:
1188         (WebCore::createSelectorNodeList):
1190 2008-09-25  David Hyatt  <hyatt@apple.com>
1192         https://bugs.webkit.org/show_bug.cgi?id=21118
1194         Make the concept of whether you can blit on scroll cross-platform on ScrollView.
1196         Reviewed by Sam Weinig
1198         * page/FrameView.cpp:
1199         (WebCore::FrameView::clear):
1200         (WebCore::FrameView::layout):
1201         (WebCore::FrameView::setUseSlowRepaints):
1202         (WebCore::FrameView::addSlowRepaintObject):
1203         (WebCore::FrameView::removeSlowRepaintObject):
1204         * platform/ScrollView.cpp:
1205         (WebCore::ScrollView::init):
1206         (WebCore::ScrollView::addChild):
1207         (WebCore::ScrollView::removeChild):
1208         (WebCore::ScrollView::setCanBlitOnScroll):
1209         * platform/ScrollView.h:
1210         (WebCore::ScrollView::canBlitOnScroll):
1211         * platform/gtk/ScrollViewGtk.cpp:
1212         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1213         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1214         (WebCore::ScrollView::ScrollView):
1215         * platform/mac/ScrollViewMac.mm:
1216         (WebCore::ScrollView::ScrollView):
1217         (WebCore::ScrollView::platformAddChild):
1218         (WebCore::ScrollView::platformRemoveChild):
1219         (WebCore::ScrollView::platformSetCanBlitOnScroll):
1220         * platform/qt/ScrollViewQt.cpp:
1221         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1222         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1223         (WebCore::ScrollView::ScrollView):
1224         * platform/win/ScrollViewWin.cpp:
1225         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1226         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1227         (WebCore::ScrollView::ScrollView):
1228         * platform/wx/ScrollViewWx.cpp:
1229         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1230         (WebCore::ScrollView::ScrollView):
1231         (WebCore::ScrollView::scrollBy):
1233 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
1235         Reviewed by Tim Hatcher.
1237         Bug 21109: Console should right-align urls
1239         * page/inspector/Console.js: Re-order the message elements so that when
1240         it overflows it doesn't get mixed in with the next message.
1241         * page/inspector/inspector.css:
1243 2008-09-25  David Hyatt  <hyatt@apple.com>
1245         https://bugs.webkit.org/show_bug.cgi?id=21113
1247         Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
1249         Reviewed by Darin Adler
1251         * css/CSSImportRule.cpp:
1252         (WebCore::CSSImportRule::insertedIntoParent):
1253         * css/CSSRule.cpp:
1254         (WebCore::CSSRule::parentStyleSheet):
1255         (WebCore::CSSRule::parentRule):
1256         * css/CSSStyleSheet.cpp:
1257         (WebCore::CSSStyleSheet::CSSStyleSheet):
1258         * css/CSSStyleSheet.h:
1260 2008-09-25  Darin Adler  <darin@apple.com>
1262         Reviewed by Adele Peterson.
1264         - fix https://bugs.webkit.org/show_bug.cgi?id=21115
1265           <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
1266           bundled documents
1268         * html/HTMLFormElement.cpp:
1269         (WebCore::HTMLFormElement::formData): Use files() instead of value()
1270         to get the path, since value() now returns just the basename.
1272 2008-09-25  Brady Eidson  <beidson@apple.com>
1274         Rubberstamped by Mark Rowe
1276         Roll out 36771 as it caused <rdar://problem/6246554>
1277         "nytimes.com doesn't display after returning to it with back/forward"
1279         * css/CSSImportRule.cpp:
1280         (WebCore::CSSImportRule::insertedIntoParent):
1281         * css/CSSRule.cpp:
1282         (WebCore::CSSRule::parentStyleSheet):
1283         (WebCore::CSSRule::parentRule):
1284         * css/CSSStyleSheet.cpp:
1285         (WebCore::CSSStyleSheet::CSSStyleSheet):
1286         (WebCore::CSSStyleSheet::docLoader):
1287         * css/CSSStyleSheet.h:
1288         (WebCore::CSSStyleSheet::doc):
1290 2008-09-25  Adam Roben  <aroben@apple.com>
1292         Windows build fix
1294         * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
1296 2008-09-25  Dan Bernstein  <mitz@apple.com>
1298         - Windows build fix
1300         * platform/win/ScrollViewWin.cpp:
1301         (WebCore::ScrollView::addChildPlatformWidget):
1302         (WebCore::ScrollView::removeChildPlatformWidget):
1304 2008-09-25  Timothy Hatcher  <timothy@apple.com>
1306         Fixes a leak of ConsoleMessage seen when repeated console
1307         messages occur.
1309         Reviewed by Mark Rowe.
1311         * page/InspectorController.cpp:
1312         (WebCore::InspectorController::addConsoleMessage): Delete the repeat
1313         since we don't add it to m_consoleMessages.
1315 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
1317         Reviewed by Dan Bernstein.
1319         Bug 21105: XHRs logged in the console may show the wrong URL for the
1320         source
1321         - Get the url at the time of the send() and pass it on to the XHR.
1323         * bindings/js/JSXMLHttpRequestCustom.cpp:
1324         (WebCore::JSXMLHttpRequest::send):
1325         * xml/XMLHttpRequest.cpp:
1326         (WebCore::XMLHttpRequest::didFinishLoading):
1327         * xml/XMLHttpRequest.h:
1328         (WebCore::XMLHttpRequest::setLastSendURL):
1330 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
1332         Reviewed by Geoff and Tim.
1334         Bug 20322: XHRs logged in the console do not have line numbers
1335         - Get the line number at the time of the send and pass it on to the XHR.
1337         * bindings/js/JSXMLHttpRequestCustom.cpp:
1338         (WebCore::JSXMLHttpRequest::send):
1339         * xml/XMLHttpRequest.cpp:
1340         (WebCore::XMLHttpRequest::XMLHttpRequest):
1341         (WebCore::XMLHttpRequest::didFinishLoading):
1342         * xml/XMLHttpRequest.h:
1343         (WebCore::XMLHttpRequest::setLastSendLineNumber):
1345 2008-09-25  Eric Carlson  <eric.carlson@apple.com>
1347         Reviewed by Eric Seidel.
1348         
1349         <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
1350         https://bugs.webkit.org/show_bug.cgi?id=21003
1352         * dom/EventNames.h: remove "begin" event
1353         * html/HTMLMediaElement.cpp:
1354         (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
1356 2008-09-25  Alexey Proskuryakov  <ap@webkit.org>
1358         Reviewed by Eric Seidel.
1360         https://bugs.webkit.org/show_bug.cgi?id=21097
1361         Calling a MessageChannel constructor from a destroyed document results in a crash
1363         Test: fast/events/message-port-constructor-for-deleted-document.html
1365         * bindings/js/JSMessageChannelConstructor.cpp:
1366         (WebCore::JSMessageChannelConstructor::construct):
1367         * bindings/js/JSMessageChannelConstructor.h:
1368         Made m_document a RefPtr.
1370 2008-09-24  Alexey Proskuryakov  <ap@webkit.org>
1372         Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
1374         https://bugs.webkit.org/show_bug.cgi?id=20879
1375         Implement HTML5 channel messaging
1377         Tests: fast/events/message-channel-gc.html
1378                fast/events/message-port-deleted-document.html
1379                fast/events/message-port-deleted-frame.html
1380                fast/events/message-port-inactive-document.html
1381                fast/events/message-port.html
1382                http/tests/security/MessagePort/event-listener-context.html
1384         * Configurations/WebCore.xcconfig:
1385         Removed unused  ENABLE_CROSS_DOCUMENT_MESSAGING macro.
1387         * DerivedSources.make:
1388         Added MessageChannel and MessagePort.
1390         * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
1391         turmed off anyway. Added new files.
1393         * GNUmakefile.am:
1394         * WebCore.pro:
1395         * WebCore.vcproj/WebCore.vcproj:
1396         * WebCore.xcodeproj/project.pbxproj:
1397         * WebCoreSources.bkl:
1398         Added new files.
1400         * bindings/js/JSDOMWindowBase.h:
1401         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
1402         Added suport for window.MessageChannel constructor.
1404         * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
1405         * page/DOMWindow.cpp:
1406         (WebCore::DOMWindow::postMessage):
1407         * page/DOMWindow.h:
1408         * page/DOMWindow.idl:
1409         Added support for three-argument postMessage (that posts a MessagePort).
1411         * dom/EventTarget.cpp:
1412         (WebCore::EventTarget::toMessagePort):
1413         * dom/EventTarget.h:
1414         * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
1415         EventTarget variant.
1417         * bindings/js/JSMessageChannelConstructor.h:
1418         * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
1419         take a browsing context (document) parameter.
1421         * bindings/js/JSMessageChannelCustom.cpp: Added.
1422         (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
1423         port1 and port2 that it owns.
1425         * bindings/js/JSMessagePortCustom.cpp: Added.
1426         (WebCore::JSMessagePort::startConversation):
1427         (WebCore::JSMessagePort::addEventListener):
1428         (WebCore::JSMessagePort::removeEventListener):
1429         (WebCore::JSMessagePort::dispatchEvent):
1430         (WebCore::JSMessagePort::setOnmessage):
1431         (WebCore::JSMessagePort::onmessage):
1432         (WebCore::JSMessagePort::setOnclose):
1433         (WebCore::JSMessagePort::onclose):
1434         (WebCore::JSMessagePort::mark):
1435         * dom/MessagePort.cpp: Added.
1436         * dom/MessagePort.h: Added.
1437         * dom/MessagePort.idl: Added.
1438         Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
1439         with Documents as contexts, but in the future, it will be used for communication with worker
1440         threads.
1442         * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
1443         really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
1444         needed for MessageEvent.
1446         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
1448         * dom/Document.cpp:
1449         (WebCore::MessagePortTimer::MessagePortTimer):
1450         (WebCore::MessagePortTimer::fired):
1451         (WebCore::Document::processMessagePortMessagesSoon):
1452         (WebCore::Document::~Document):
1453         (WebCore::Document::dispatchMessagePortEvents):
1454         (WebCore::Document::createdMessagePort):
1455         (WebCore::Document::destroyedMessagePort):
1456         * dom/Document.h:
1457         Document keeps track of all MessagePort objects that were created when it was fully active
1458         in its context.
1460         * dom/EventNames.h: Added closeEvent.
1462         * dom/MessageChannel.cpp: Added.
1463         (WebCore::MessageChannel::MessageChannel):
1464         (WebCore::MessageChannel::~MessageChannel):
1465         * dom/MessageChannel.h: Added.
1466         (WebCore::MessageChannel::create):
1467         (WebCore::MessageChannel::port1):
1468         (WebCore::MessageChannel::port2):
1469         * dom/MessageChannel.idl: Added.
1470         Addded JSMessageChannel implementation.
1472         * dom/MessageEvent.cpp:
1473         (WebCore::MessageEvent::MessageEvent):
1474         (WebCore::MessageEvent::initMessageEvent):
1475         * dom/MessageEvent.h:
1476         (WebCore::MessageEvent::create):
1477         (WebCore::MessageEvent::messagePort):
1478         * dom/MessageEvent.idl:
1479         MessageEvent has a MessagePort member now, making it possible to pass ports across
1480         documents.
1482 2008-09-25  David Smith  <catfish.man@gmail.com>
1484         Reviewed by Eric Seidel
1485         
1486         fix https://bugs.webkit.org/show_bug.cgi?id=21091
1487         Regression: querySelector matches tag names case sensitively
1488         
1489         Tests: fast/dom/SelectorAPI/caseTag.html
1490                fast/dom/SelectorAPI/caseTagX.xhtml
1492         * css/CSSParser.cpp:
1493         (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
1494         * css/CSSParser.h:
1495         * dom/Node.cpp:
1496         (WebCore::Node::querySelector):
1497         (WebCore::Node::querySelectorAll):
1499 2008-09-24  David Hyatt  <hyatt@apple.com>
1501         https://bugs.webkit.org/show_bug.cgi?id=21084
1503         Make the m_children member of ScrollView cross-platform.  Consolidate children add/remove
1504         functionality.  Add platform stubs for connecting/disconnecting the platform widgets.
1506         Reviewed by Sam Weinig
1508         * GNUmakefile.am:
1509         * WebCore.pro:
1510         * WebCore.vcproj/WebCore.vcproj:
1511         * WebCore.xcodeproj/project.pbxproj:
1512         * WebCoreSources.bkl:
1513         * platform/ScrollView.h:
1514         (WebCore::ScrollView::children):
1515         * platform/Widget.h:
1516         * platform/gtk/ScrollViewGtk.cpp:
1517         (WebCore::ScrollView::addChildPlatformWidget):
1518         (WebCore::ScrollView::removeChildPlatformWidget):
1519         (WebCore::ScrollView::geometryChanged):
1520         * platform/mac/ScrollViewMac.mm:
1521         (WebCore::ScrollView::addChildPlatformWidget):
1522         (WebCore::ScrollView::removeChildPlatformWidget):
1523         * platform/qt/ScrollViewQt.cpp:
1524         (WebCore::ScrollView::geometryChanged):
1525         (WebCore::ScrollView::addChildPlatformWidget):
1526         (WebCore::ScrollView::removeChildPlatformWidget):
1527         * platform/win/ScrollViewWin.cpp:
1528         (WebCore::ScrollView::geometryChanged):
1529         (WebCore::ScrollView::setParentVisible):
1530         (WebCore::ScrollView::show):
1531         (WebCore::ScrollView::hide):
1532         * platform/wx/ScrollViewWx.cpp:
1533         (WebCore::ScrollView::addChildPlatformWidget):
1534         (WebCore::ScrollView::removeChildPlatformWidget):
1536 2008-09-25  Dan Bernstein  <mitz@apple.com>
1538         Reviewed by Dave Hyatt.
1540         - fix https://bugs.webkit.org/show_bug.cgi?id=21024
1541           <rdar://problem/6240821> Scrollbar not painted until hovered
1543         * rendering/RenderWidget.cpp:
1544         (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
1545         this method, which sets both the location and the size.
1546         (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
1547         with a call to the new method setWidgetGeometry. Positioning the
1548         widget correctly ensures that the scroll bars invalidate correctly when
1549         they are created and resized.
1550         * rendering/RenderWidget.h:
1552 2008-09-24  Dan Bernstein  <mitz@apple.com>
1554         Rubber-stamped by Sam Weinig.
1556         - create a "style" subfolder under "rendering" and move style files to that folder
1558         * WebCore.vcproj/WebCore.vcproj:
1560 2008-09-24  Sam Weinig  <sam@webkit.org>
1562         Reviewed by Maciej Stachowiak.
1564         Remove staticFunctionGetter.  There is only one remaining user of
1565         staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
1567         * bindings/js/JSDOMWindowBase.cpp:
1568         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
1570 2008-09-24  Jeremy Moskovich  <jeremy@chromium.org>
1572         Reviewed by Dan Bernstein.
1574         Test: editing/spelling/inline_spelling_markers.html
1575         
1576         - https://bugs.webkit.org/show_bug.cgi?id=20092
1577         Spelling markers positioned incorrectly in RTL text
1579         Measure spelling markers with selectionRectForText() to fix RTL.
1581         This patch also fixes hit-testing for spelling marker tool tips,
1582         which used to work only on the first line.
1584         * rendering/InlineTextBox.cpp:
1585         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1587 2008-09-24  David Hyatt  <hyatt@apple.com>
1589         https://bugs.webkit.org/show_bug.cgi?id=21074
1591         Make sure the viewless scrollbar knows how to paint properly when transformed.
1593         Reviewed by Sam Weinig
1595         * platform/mac/ScrollbarThemeMac.mm:
1596         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1597         (WebCore::ScrollbarThemeMac::paint):
1599 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
1601         Not reviewed. Try to fix win build.
1603         * bindings/js/JSSVGElementInstanceCustom.cpp:
1604         (WebCore::toJS):
1605         * dom/ContainerNodeAlgorithms.h:
1606         (WebCore::removeAllChildrenInContainer):
1607         (WebCore::appendChildToContainer):
1608         (WebCore::Private::addChildNodesToDeletionQueue):
1610 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
1612         Reviewed by Oliver.
1614         Add ContainerNodeAlgorithms.h, as central place to share algorithms
1615         operating on TreeShared-derived classes with a Node-style interface.
1617         This allows SVGElementInstance & ContainerNode to share code.
1619         * dom/ContainerNode.cpp:
1620         (WebCore::ContainerNode::removeAllChildren):
1621         (WebCore::ContainerNode::addChild):
1622         * dom/ContainerNode.h:
1623         * dom/ContainerNodeAlgorithms.h: Added.
1624         (WebCore::removeAllChildrenInContainer):
1625         (WebCore::appendChildToContainer):
1626         (WebCore::Private::NodeRemovalDispatcher::dispatch):
1627         (WebCore::Private::addChildNodesToDeletionQueue):
1629 2008-09-24  Simon Fraser  <simon.fraser@apple.com>
1631         Reviewed by Dave Hyatt
1633         Wrap up dirtying the z-order list of the stacking context
1634         RenderLayer into a method.
1635         https://bugs.webkit.org/show_bug.cgi?id=21072
1637         * rendering/RenderLayer.cpp:
1638         (WebCore::RenderLayer::setHasVisibleContent):
1639         (WebCore::RenderLayer::addChild):
1640         (WebCore::RenderLayer::removeChild):
1641         (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
1642         (WebCore::RenderLayer::styleChanged):
1643         * rendering/RenderLayer.h:
1644         * rendering/RenderObject.cpp:
1645         (WebCore::RenderObject::setStyle):
1647 2008-09-24  Kevin McCullough  <kmccullough@apple.com>
1649         Reviewed by Tim.
1651         Bug 21070: REGRESSION Repeated messages with arguments are not repeated
1652         or displayed multiple times
1653         - The Insepctor Controller was comparing JSValue pointers so thought the
1654         message was not a repeat, but the JS of the inspector compared the
1655         strings and so knew it was the same message and so overwrote the old
1656         message.
1658         * page/InspectorController.cpp:
1659         (WebCore::ConsoleMessage::isEqual):
1660         (WebCore::InspectorController::addMessageToConsole):
1661         (WebCore::InspectorController::addConsoleMessage):
1662         (WebCore::InspectorController::startGroup):
1663         (WebCore::InspectorController::endGroup):
1664         * page/InspectorController.h:
1666 2008-09-24  David Hyatt  <hyatt@apple.com>
1668         Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
1669         arrow placement preference and the thumb jump preference).
1671         Reviewed by Adam Roben
1673         * platform/Scrollbar.cpp:
1674         (WebCore::Scrollbar::Scrollbar):
1675         (WebCore::Scrollbar::~Scrollbar):
1676         * platform/ScrollbarTheme.h:
1677         (WebCore::ScrollbarTheme::registerScrollbar):
1678         (WebCore::ScrollbarTheme::unregisterScrollbar):
1679         * platform/mac/ScrollbarThemeMac.h:
1680         * platform/mac/ScrollbarThemeMac.mm:
1681         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1682         (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
1683         (+[ScrollbarPrefsObserver registerAsObserver]):
1684         (WebCore::ScrollbarThemeMac::registerScrollbar):
1685         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1686         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1687         (WebCore::ScrollbarThemeMac::preferencesChanged):
1689 2008-09-24  Rob Buis  <buis@kde.org>
1691         Reviewed by Darin.
1693         https://bugs.webkit.org/show_bug.cgi?id=20557
1694         getScreenCTM() returns wrong values
1696         Use the absolute position of the svg root when
1697         determining the screen ctm.
1699         Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
1701         * svg/SVGSVGElement.cpp:
1702         (WebCore::SVGSVGElement::getScreenCTM):
1704 2008-09-24  David Hyatt  <hyatt@apple.com>
1706         Turn off support for CSS variables.
1708         * ChangeLog:
1709         * css/CSSParser.cpp:
1710         (WebCore::CSSParser::createVariablesRule):
1711         (WebCore::CSSParser::addVariable):
1712         (WebCore::CSSParser::addVariableDeclarationBlock):
1714 2008-09-24  David Hyatt  <hyatt@apple.com>
1716         Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
1718         * css/CSSGrammar.y:
1719         * css/CSSParserValues.cpp:
1720         (WebCore::CSSParserValue::isVariable):
1721         * css/CSSPrimitiveValue.cpp:
1722         (WebCore::CSSPrimitiveValue::cleanup):
1723         (WebCore::CSSPrimitiveValue::getStringValue):
1724         (WebCore::CSSPrimitiveValue::cssText):
1725         (WebCore::CSSPrimitiveValue::parserValue):
1726         * css/CSSPrimitiveValue.h:
1727         (WebCore::CSSPrimitiveValue::):
1728         (WebCore::CSSPrimitiveValue::isVariable):
1730 2008-09-24  Timothy Hatcher  <timothy@apple.com>
1732         Fixes a regression where the "incorrect MIME-type" warning would not
1733         show up correctly in the Console or the resources sidebar.
1735         Reviewed by Kevin McCullough.
1737         * page/inspector/Resource.js:
1738         (WebInspector.Resource.prototype._addTip): Add the repeat count argument
1739         to the WebInspector.ConsoleMessage constructor call.
1740         (WebInspector.Resource.prototype._checkWarning): Ditto.
1742 2008-09-23  Tor Arne Vestbø  <tavestbo@trolltech.com>
1744         Reviewed by Simon.
1746         Remove deprecated JS Qt bindings object call/construct code and fix autotests
1748         * bridge/qt/qt_instance.cpp:
1749         (JSC::Bindings::QtInstance::QtInstance):
1750         * bridge/qt/qt_instance.h:
1752 2008-09-23  Julien Chaffraix  <jchaffraix@pleyo.com>
1754         Reviewed by Alp Toker. Landed by Jan Alonzo.
1756         Bug 20883: [CURL] Add deferred loading
1757         https://bugs.webkit.org/show_bug.cgi?id=20883
1759         Implement deferred loading for the libcURL backend using curl_easy_pause.
1760         As the method was introduced in version 7.18.0, all the code checks for libcURL
1761         version.
1763         * platform/network/curl/ResourceHandleCurl.cpp:
1764         (WebCore::ResourceHandle::setDefersLoading):
1765         * platform/network/curl/ResourceHandleManager.cpp:
1766         (WebCore::writeCallback): Add an assertion that deferred loading is not
1767         activated.
1768         (WebCore::headerCallback): Ditto.
1769         (WebCore::readCallback): Ditto.
1770         (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
1771         defersLoading to be false in order to avoid triggering an assertion.
1772         (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
1773         activated, pause the easy handle.
1775 2008-09-23  Matt Lilek  <webkit@mattlilek.com>
1777         Reviewed by Tim Hatcher.
1779         Inspector search field style tweaks.
1781         * page/inspector/inspector.css:
1783 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
1785         Reviewed by Eric.
1787         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
1789         Fix missing negation in EventTargetNode::insertedIntoDocument.
1790         Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
1791         Remove code, that wasn't supposed to go in in dispatchGenericEvent().
1793         * dom/EventTargetNode.cpp:
1794         (WebCore::EventTargetNode::insertedIntoDocument):
1795         (WebCore::EventTargetNode::dispatchGenericEvent):
1796         * dom/EventTargetNode.h:
1798 2008-09-23  Timothy Hatcher  <timothy@apple.com>
1800         Adds search support to the Profiles panel.
1802         The Profiles panel supports a few types of queries:
1803          * Standard string matching for function names and file URLs.
1804          * Greater than and less than search for numeric columns.
1805            So a query of ">24" will match all rows that have calls
1806            greater than 24. Or "<=42" will match all 42 or less.
1807          * Percent and time units. Adding a unit of "s", "ms" or "%"
1808            is supported and will match only the Self and Total columns.
1809            So a query of ">1.25s" will match all rows that took longer
1810            than 1.25 seconds.
1812         Reviewed by Oliver Hunt.
1814         * page/inspector/ProfileView.js:
1815         (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
1816         it will start at the first result.
1817         (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
1818         (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
1819         data grid nodes.
1820         (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
1821         (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
1822         (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
1823         (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
1824         (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
1825         (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
1826         (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
1827         (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
1828         Expand all the ancestors first so the profile node will have a DataGridNode.
1829         (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
1830         (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
1831         have search matches.
1832         * page/inspector/ProfilesPanel.js:
1833         (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1834         (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
1835         (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
1836         (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
1837         (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView  to visibleView.
1838         (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
1839         (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
1840         (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
1841         (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
1842         * page/inspector/inspector.css: New style rules for the cell highlight color.
1844 2008-09-23  Timothy Hatcher  <timothy@apple.com>
1846         Adds search support to the Resources and Scripts panels.
1848         https://bugs.webkit.org/show_bug.cgi?id=21005
1850         Reviewed by Oliver Hunt.
1852         * page/inspector/Images/searchSmallBlue.png: Added.
1853         * page/inspector/Images/searchSmallBrightBlue.png: Added.
1854         * page/inspector/Images/searchSmallGray.png: Added.
1855         * page/inspector/Images/searchSmallWhite.png: Added.
1856         * page/inspector/ResourceView.js:
1857         (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
1858         or "script-resource-views" since one might not be created yet.
1859         * page/inspector/ResourcesPanel.js:
1860         (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
1861         are not this panel's current visible view. This can happen when a ResourceView is
1862         visible in the Scripts panel then switched to the this panel.
1863         (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
1864         visibleView first.
1865         (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
1866         that uses the current graph search function. So cycling through results will be in the order
1867         things appear in the sidebar.
1868         (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
1869         resource's sidebar tree element.
1870         (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
1871         in the sidebar. Calls the Panel prototype's searchCanceled.
1872         (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
1873         in the sidebar. Calls the Panel prototype's performSearch.
1874         (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1875         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
1876         if there is a current search query.
1877         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
1878         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
1879         (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
1880         (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
1881         (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
1882         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
1883         * page/inspector/ScriptView.js:
1884         (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
1885         (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
1886         it will start at the first result.
1887         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
1888         highlighting complete".
1889         (WebInspector.ScriptView.prototype): Share many methods with SourceView.
1890         * page/inspector/ScriptsPanel.js:
1891         (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
1892         This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
1893         (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
1894         (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1895         (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
1896         (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
1897         * page/inspector/SourceFrame.js:
1898         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
1899         * page/inspector/SourceView.js:
1900         (WebInspector.SourceView.prototype.hide):
1901         (WebInspector.SourceView.prototype.detach):
1902         (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
1903         (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
1904         (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
1905         (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
1906         store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
1907         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
1908         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
1909         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
1910         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
1911         (WebInspector.SourceView.prototype.showingFirstSearchResult):
1912         (WebInspector.SourceView.prototype.showingLastSearchResult):
1913         (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
1914         (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
1915         (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
1916         * page/inspector/inspector.css:
1918 2008-09-23  Timothy Hatcher  <timothy@apple.com>
1920         Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
1921         so future code can be shared.
1923         https://bugs.webkit.org/show_bug.cgi?id=21005
1925         Reviewed by Oliver Hunt.
1927         * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
1928         And visibleResourceView to visibleView.
1929         * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
1931 2008-09-23  Timothy Hatcher  <timothy@apple.com>
1933         Highlight all matched search results in the Elements panel DOM tree.
1935         https://bugs.webkit.org/show_bug.cgi?id=21005
1937         Reviewed by Oliver Hunt.
1939         * page/inspector/ElementsPanel.js:
1940         (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
1941         on all previous search results.
1942         (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
1943         on all new search results.
1944         * page/inspector/ElementsTreeOutline.js:
1945         (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
1946         (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
1947         the highlighted class on the listItemElement.
1948         (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
1949         if needed. Calls _updateTitle.
1950         (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
1951         class so it can be styled when the highlighted class is present.
1952         * page/inspector/inspector.css: New style rules for the hihglight.
1954 2008-09-23  Timothy Hatcher  <timothy@apple.com>
1956         Add search support to the Elements panel.
1958         https://bugs.webkit.org/show_bug.cgi?id=21005
1960         Reviewed by Oliver Hunt.
1962         * page/inspector/ElementsPanel.js:
1963         (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
1964         with a 0 match count to rest. Reset the other search properties.
1965         (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
1966         query and a CSS selector on all the Documents in the page. Remembers the found nodes
1967         and avoids duplicates. Focuses the first result.
1968         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
1969         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
1971 2008-09-23  Timothy Hatcher  <timothy@apple.com>
1973         Add support to Panel that allows easy searching of sub-views.
1975         https://bugs.webkit.org/show_bug.cgi?id=21005
1977         Reviewed by Oliver Hunt.
1979         * page/inspector/Panel.js:
1980         (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
1981         views in the search results and delete the currentQuery property. Call
1982         WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
1983         other search properties.
1984         (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
1985         reset everything we need before doing a new search. Get an array of searchableViews
1986         from the panel, implemented by sub-classes. Iterate over the views one-by-one
1987         with an interval to prevent blocking the UI for large lists of searchableViews.
1988         This keeps the interface really responsive. Pass a finishedCallback function to
1989         the performSearch on each view so it can notify the panel of results.
1990         (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
1991         searchResults of the visibleView, so we know where in the results we are.
1992         This is done every time incase the user manually navigates to a new view.
1993         If the view is showing the last result, jump to the next view and show it's
1994         first result. Otherwise jump to the next result in the current view.
1995         (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
1997 2008-09-23  Timothy Hatcher  <timothy@apple.com>
1999         Add support for asking the current panel to perform a search, find next/previous and clear.
2000         A search is performed on the new new current panel when switching between panels. The search
2001         label/placeholder in the toolbar now includes the panel name to make it clear that panel will
2002         be searched. The search field contents are selected when Command/Control-F or Enter/Return
2003         is pressed, so the user can easily type an entirely new query. The search match count shows
2004         up in the toolbar next to the search field.
2006         Also changed:
2007          * Rename lastQuery to currentQuery since it better matches the truth.
2008          * Set the search field "results" attribute to zero since results arn't saved for
2009            how we use the search field.
2010          * Make repeated presses of the Return key jump to the next search result instead
2011            of doing nothing.
2012          * Increased the search field width.
2014         https://bugs.webkit.org/show_bug.cgi?id=21005
2016         Reviewed by Oliver Hunt.
2018         * English.lproj/localizedStrings.js: New strings.
2019         * page/inspector/inspector.css: New styles.
2020         * page/inspector/inspector.html: Add the search-results-matches element. Add the
2021         incremental attribute to the search field and set the results attribute to zero.
2022         * page/inspector/inspector.js:
2023         (WebInspector.set currentPanel): perform the search on the new panel.
2024         (WebInspector.loaded): Change the event listeners and remove code that changes
2025         the search label text.
2026         (WebInspector.documentKeyDown): Add support for Command/Control-G and
2027         Command/Control-Shift-G. To jump to the next and previous search results.
2028         (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
2029         This does different things depending on the attached state.
2030         (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
2031         This prevents a "search" event from firing for key down. We handle the Enter key
2032         on key up in searchKeyUp. This stops performSearch from being called twice in a row.
2033         (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
2034         (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
2035         on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
2036         Call updateSearchMatchesCount to reset the matches count in the toolbar.
2037         (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
2039 2008-09-23  Timothy Hatcher  <timothy@apple.com>
2041         Remove the previous Inspector search code to make room for the new stuff.
2043         https://bugs.webkit.org/show_bug.cgi?id=21005
2045         Reviewed by Oliver Hunt.
2047         * page/inspector/inspector.css:
2048         * page/inspector/inspector.html:
2049         * page/inspector/inspector.js:
2050         (WebInspector.get/set showingSearchResults): Removed.
2051         (WebInspector.searchResultsKeyDown): Removed.
2052         (WebInspector.searchResultsResizerDragStart): Removed.
2053         (WebInspector.searchResultsResizerDragEnd): Removed.
2054         (WebInspector.searchResultsResizerDrag): Removed.
2055         (WebInspector.performSearch): Removed searching parts.
2057 2008-09-23  Timothy Hatcher  <timothy@apple.com>
2059         Use the Array.remove helper function in more places.
2061         https://bugs.webkit.org/show_bug.cgi?id=21037
2063         Reviewed by Kevin McCullough.
2065         * page/inspector/ResourceCategory.js:
2066         (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
2067         * page/inspector/ResourcesPanel.js:
2068         (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
2069         * page/inspector/inspector.js:
2070         (WebInspector.removeResource): Ditto.
2072 2008-09-23  Timothy Hatcher  <timothy@apple.com>
2074         Fixes a bug where inspecting a node after reloading the page
2075         would not reveal the node in the DOM tree. The TreeOutline
2076         was not being told to forget decendants of a removed child.
2077         So old TreeElements would be found that are not in the tree.
2079         https://bugs.webkit.org/show_bug.cgi?id=21036
2081         Reviewed by Kevin McCullough.
2083         * page/inspector/treeoutline.js:
2084         (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
2085         in addition to _forgetTreeElement.
2086         (TreeOutline._removeChildren): Call _forgetChildrenRecursive
2087         in addition to _forgetTreeElement.
2088         (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
2089         search for known elements.
2090         (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
2091         (TreeOutline._forgetChildrenRecursive): Recursively traverse the
2092         descendants and call _forgetTreeElement.
2093         * page/inspector/utilities.js:
2094         (Array.prototype.remove): Speed up this function by using Array.indexOf
2095         when onlyFirst is true.
2097 2008-09-23  Timothy Hatcher  <timothy@apple.com>
2099         Fixes a bug where inspecting some short text nodes does
2100         not reveal them in the Elements panel DOM tree.
2102         https://bugs.webkit.org/show_bug.cgi?id=21035
2104         Reviewed by Oliver Hunt.
2106         * page/inspector/ElementsTreeOutline.js:
2107         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2108         The revealAndSelectNode() method might find a different element
2109         if there is inlined text, and the select() call would change the
2110         focusedDOMNode and reenter this setter. So to avoid calling
2111         focusedNodeChanged() twice, first check if _focusedDOMNode is
2112         the same node as the one passed in.
2113         (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
2114         this.treeOutline, since this is the TreeOutline.
2115         (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
2116         Provides default functions for isAncestor, getParet and equal.
2117         Calls the base protoype's findTreeElement. If that returns null
2118         and the node is a text node, try finding it's parent.
2119         (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
2120         Renamed to revealAndSelectNode.
2121         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
2122         Selects and reveals the node passed in. Use the simple findTreeElement.
2123         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
2124         Remove use of this.treeOutline, since this is the TreeOutline.
2126 2008-09-23  Timothy Hatcher  <timothy@apple.com>
2128         Fixes an exception that happened when removing a Resource
2129         from the ResourcesPanel.
2131         https://bugs.webkit.org/show_bug.cgi?id=21034
2133         Reviewed by Kevin McCullough.
2135         * page/inspector/ResourcesPanel.js:
2136         (WebInspctor.ResourcesPanel.prototype.removeResource):
2137         Remove the graphElement.
2139 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
2141         Fixed "Time" to "Tim"
2143         * ChangeLog:
2145 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
2147         Reviewed by Oliver.
2149         Move mapInstanceToElement/removeInstanceMapping/instancesForElement
2150         from SVGDocumentExtensions to SVGElement. It's more useful to store
2151         the list of SVGElementInstances per SVGElement, instead of using
2152         a document-wide hash for this purpose.
2154         * svg/SVGAnimateMotionElement.cpp:
2155         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2156         * svg/SVGAnimateTransformElement.cpp:
2157         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2158         * svg/SVGAnimationElement.cpp:
2159         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2160         * svg/SVGDocumentExtensions.cpp:
2161         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
2162         * svg/SVGDocumentExtensions.h:
2163         * svg/SVGElement.cpp:
2164         (WebCore::SVGElement::mapInstanceToElement):
2165         (WebCore::SVGElement::removeInstanceMapping):
2166         (WebCore::SVGElement::instancesForElement):
2167         * svg/SVGElement.h:
2168         * svg/SVGElementInstance.cpp:
2169         (WebCore::SVGElementInstance::SVGElementInstance):
2170         (WebCore::SVGElementInstance::~SVGElementInstance):
2171         (WebCore::SVGElementInstance::updateAllInstancesOfElement):
2172         * svg/SVGElementInstance.h:
2173         * svg/SVGStyledElement.cpp:
2174         (WebCore::SVGStyledElement::svgAttributeChanged):
2175         (WebCore::SVGStyledElement::childrenChanged):
2176         * svg/SVGStyledElement.h:
2178 2008-09-23  Kevin Ollivier  <kevino@theolliviers.com>
2180         wx build fix.
2182         * WebCoreSources.bkl:
2184 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
2186         Rubber stamped by Sam.
2188         Move code from EventTarget to EventTargetNode.
2190         I refactored most parts to live in EventTarget, a year ago,
2191         though the implementation of EventTargetSVGElementInstance is
2192         done in another way, that obsoletes this.
2194         * dom/Document.cpp:
2195         (WebCore::Document::addListenerTypeIfNeeded):
2196         * dom/Document.h:
2197         * dom/EventTarget.cpp:
2198         * dom/EventTarget.h:
2199         (WebCore::allowEventDispatch):
2200         * dom/EventTargetNode.cpp:
2201         (WebCore::EventTargetNode::insertedIntoDocument):
2202         (WebCore::EventTargetNode::removedFromDocument):
2203         (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
2204         (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
2205         (WebCore::EventTargetNode::addEventListener):
2206         (WebCore::EventTargetNode::removeEventListener):
2207         (WebCore::EventTargetNode::removeAllEventListeners):
2208         (WebCore::EventTargetNode::handleLocalEvents):
2209         (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
2210         (WebCore::EventTargetNode::dispatchEvent):
2211         (WebCore::EventTargetNode::dispatchGenericEvent):
2212         (WebCore::EventTargetNode::dispatchWindowEvent):
2213         (WebCore::EventTargetNode::removeEventListenerForType):
2214         * dom/EventTargetNode.h:
2215         * svg/EventTargetSVGElementInstance.cpp:
2216         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
2217         * svg/SVGElement.cpp:
2218         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2219         * svg/SVGElement.h:
2220         (WebCore::SVGElement::supplementalTransform):
2222 2008-09-23  Dave Hyatt  <hyatt@apple.com>
2224         Fix for bug 21012.  The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme.  Make
2225         sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
2226         
2227         Reviewed by Sam Weinig
2229         * platform/mac/ScrollbarThemeMac.mm:
2230         (WebCore::ScrollbarThemeMac::trackRect):
2231         * platform/win/ScrollbarThemeSafari.cpp:
2232         (WebCore::ScrollbarTheme::nativeTheme):
2233         (WebCore::ScrollbarThemeSafari::trackRect):
2235 2008-09-23  Beth Dakin  <bdakin@apple.com>
2237         Reviewed by Sam Weinig.
2239         Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" 
2240         link at gmail does not support AXPress action
2241         and corresponding: <rdar://problem/6216178>
2243         I fixed this bug by making AccessibilityObject::anchorElement 
2244         support ARIA links.
2246         * page/AccessibilityImageMapLink.cpp:
2247         (WebCore::AccessibilityImageMapLink::anchorElement):
2248         * page/AccessibilityImageMapLink.h:
2249         * page/AccessibilityObject.cpp:
2250         (WebCore::AccessibilityObject::anchorElement):
2251         * page/AccessibilityObject.h:
2252         (WebCore::AccessibilityObject::isNativeAnchor):
2253         * page/AccessibilityRenderObject.cpp:
2254         (WebCore::AccessibilityRenderObject::isNativeAnchor):
2255         (WebCore::AccessibilityRenderObject::anchorElement):
2256         (WebCore::AccessibilityRenderObject::internalLinkElement):
2257         (WebCore::AccessibilityRenderObject::url):
2258         * page/AccessibilityRenderObject.h:
2259         * page/mac/AccessibilityObjectWrapper.mm:
2260         (AXLinkElementForNode):
2262 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
2264         Reviewed by Tim and Oliver.
2266         Bug 20949: Catch repeated messages in Inspector Controller to limit
2267         memory usage
2268         - Store the repeat count in the Console Message object, in the 
2269         Inspector Controller and JS ConsoleMessage object.
2271         * page/InspectorController.cpp:
2272         (WebCore::ConsoleMessage::ConsoleMessage):
2273         (WebCore::ConsoleMessage::operator==):
2274         (WebCore::InspectorController::InspectorController):
2275         (WebCore::InspectorController::addConsoleMessage):
2276         (WebCore::InspectorController::addScriptConsoleMessage):
2277         * page/InspectorController.h:
2278         * page/inspector/Console.js:
2279         * page/inspector/Resource.js:
2280         * page/inspector/ResourcesPanel.js:
2281         * page/inspector/SourceFrame.js:
2283 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
2285         Reviewed by Eric.
2287         Working on proper EventTarget support for SVGElementInstance.
2289         Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
2290         Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
2292         Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
2293         implementation. Let it use TreeShared directly.
2295         It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
2296         The transition to EventTargetSVGElementInstance will be done in a few individual patches.
2298         * GNUmakefile.am:
2299         * WebCore.pro:
2300         * WebCore.vcproj/WebCore.vcproj:
2301         * WebCore.xcodeproj/project.pbxproj:
2302         * bindings/js/JSEventTargetBase.cpp:
2303         (WebCore::retrieveEventTargetAndCorrespondingNode):
2304         (WebCore::toJS):
2305         * bindings/js/JSEventTargetBase.h:
2306         * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
2307         (WebCore::):
2308         (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
2309         (WebCore::JSEventTargetSVGElementInstance::createPrototype):
2310         (WebCore::JSEventTargetSVGElementInstance::setListener):
2311         (WebCore::JSEventTargetSVGElementInstance::getListener):
2312         (WebCore::toEventTargetSVGElementInstance):
2313         * bindings/js/JSEventTargetSVGElementInstance.h: Added.
2314         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
2315         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
2316         (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
2317         (WebCore::JSEventTargetSVGElementInstance::put):
2318         (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
2319         * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
2320         (WebCore::toJS):
2321         * bindings/objc/DOM.mm:
2322         (+[DOMNode _wrapEventTarget:WebCore::]):
2323         (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
2324         (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
2325         (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
2326         (-[DOMSVGElementInstance WebCore::]):
2327         (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
2328         (-[DOMSVGElementInstance addEventListener:::]):
2329         (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
2330         (-[DOMSVGElementInstance removeEventListener:::]):
2331         (-[DOMSVGElementInstance dispatchEvent:]):
2332         * bindings/objc/DOMEvents.h:
2333         * bindings/scripts/CodeGeneratorJS.pm:
2334         * bindings/scripts/CodeGeneratorObjC.pm:
2335         * svg/EventTargetSVGElementInstance.cpp: Added.
2336         (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
2337         (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
2338         (WebCore::EventTargetSVGElementInstance::addEventListener):
2339         (WebCore::EventTargetSVGElementInstance::removeEventListener):
2340         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
2341         * svg/EventTargetSVGElementInstance.h: Added.
2342         (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
2343         (WebCore::EventTargetSVGElementInstance::toNode):
2344         (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
2345         (WebCore::EventTargetSVGElementInstance::refEventTarget):
2346         (WebCore::EventTargetSVGElementInstance::derefEventTarget):
2347         (WebCore::EventTargetSVGElementInstanceCast):
2348         * svg/SVGElement.cpp:
2349         (WebCore::SVGElement::dispatchEvent):
2350         * svg/SVGElementInstance.cpp:
2351         (WebCore::SVGElementInstance::SVGElementInstance):
2352         (WebCore::SVGElementInstance::~SVGElementInstance):
2353         * svg/SVGElementInstance.h:
2354         (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
2355         * svg/SVGElementInstance.idl:
2357 2008-09-23  Dan Bernstein  <mitz@apple.com>
2359         Reviewed by Dave Hyatt.
2361         - https://bugs.webkit.org/show_bug.cgi?id=21040
2362           Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
2364         * platform/graphics/mac/SimpleFontDataMac.mm:
2365         (WebCore::SimpleFontData::getCTFont):
2367 2008-09-23  David Hyatt  <hyatt@apple.com>
2369         https://bugs.webkit.org/show_bug.cgi?id=21039
2371         Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
2373         Reviewed by Sam Weinig
2375         * platform/ScrollView.h:
2376         * platform/Scrollbar.cpp:
2377         (WebCore::Scrollbar::setFrameGeometry):
2378         * platform/Scrollbar.h:
2379         * platform/Widget.cpp:
2380         (WebCore::Widget::convertFromContainingWindow):
2381         * platform/Widget.h:
2382         * platform/mac/ScrollViewMac.mm:
2383         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2384         (WebCore::ScrollView::ScrollView):
2385         (WebCore::ScrollView::~ScrollView):
2386         (WebCore::ScrollView::windowResizerRect):
2387         (WebCore::ScrollView::resizerOverlapsContent):
2388         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
2389         (WebCore::ScrollView::setParent):
2390         * platform/mac/WidgetMac.mm:
2391         (WebCore::Widget::convertFromContainingWindow):
2393 2008-09-23  Dirk Schulze  <vbs85@gmx.de>
2395         Reviewed by Darin Adler. Landed by Jan Alonzo.
2397         Added support for getImageData() and putImageData()
2398         to Cairo.
2400         [CAIRO] needs getImageData and putImageData support
2401         https://bugs.webkit.org/show_bug.cgi?id=20838
2403         * platform/graphics/cairo/ImageBufferCairo.cpp:
2404         (WebCore::ImageBuffer::ImageBuffer):
2405         (WebCore::ImageBuffer::getImageData):
2406         (WebCore::ImageBuffer::putImageData):
2408 2008-09-23  Marco Barisione  <marco.barisione@collabora.co.uk>
2410         Reviewed by Holger Freyther.
2412         http://bugs.webkit.org/show_bug.cgi?id=18987
2413         [GTK] Implement SharedBuffer::createWithContentsOfFile and
2414         KURL::fileSystemPath
2416         * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
2417         * platform/gtk/KURLGtk.cpp: Added.
2418         (WebCore::KURL::fileSystemPath): Implemented.
2419         * platform/gtk/SharedBufferGtk.cpp: Added.
2420         (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
2421         * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
2423 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
2425         Reviewed by Oliver Hunt, okayed by Darin Adler.
2427         <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
2429         * rendering/InlineTextBox.cpp:
2430         (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
2432 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
2434         Reviewed by Darin Adler.
2436         https://bugs.webkit.org/show_bug.cgi?id=21023
2437         Don't use TEC for encodings supported by ICU
2439         * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
2440         x-mac-greek, and x-mac-turkish.
2442         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
2443         Register aliases for these encodings that are not registered automatically; updated comments.
2445 2008-09-23  Maciej Stachowiak  <mjs@apple.com>
2447         Reviewed by Darin.
2449         - speed up instanceof some more
2450         https://bugs.webkit.org/show_bug.cgi?id=20818
2452         ~2% speedup on EarleyBoyer
2454         (WebCore updates.)
2455         
2456         * bindings/js/JSQuarantinedObjectWrapper.h:
2457         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
2459 2008-09-22  Darin Adler  <darin@apple.com>
2461         Reviewed by Oliver Hunt.
2463         - fix https://bugs.webkit.org/show_bug.cgi?id=21008
2464           getting pixels by index from CanvasPixelArray is unnecessarily slow
2466         * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
2467         * WebCore.vcproj/WebCore.vcproj: Ditto.
2468         * WebCore.xcodeproj/project.pbxproj: Ditto.
2470         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
2471           indexSetter. These are now both inlined, so in the header.
2472         * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
2473           function is what's used for HasCustomIndexGetter. Also moved the
2474           indexSetter function here.
2476         * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
2477           to use a getByIndex member function rather than an indexGetter static
2478           member function in a property slot. This lets us avoid the property
2479           slot mechanism's rule where it turns numeric property names into
2480           strings in the identifier table, which is good because that's slow.
2481           Also added a new property CustomHeader that allows IDL files to
2482           introduce headers to be included -- useful when we have functions
2483           that we want to inline into the binding.
2485         * html/CanvasPixelArray.idl: Added CustomHeader attribute.
2487 2008-09-23  Eric Seidel  <eric@webkit.org>
2489         No review, build fix only.
2491         Another blind stab in the dark.
2493         * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
2495 2008-09-23  Eric Seidel  <eric@webkit.org>
2497         No review, build fix only.
2498         
2499         Third time's the charm, eh?  My local build is sadly still not done...
2501         * platform/graphics/AffineTransform.cpp: remove extra &
2502         * platform/graphics/AffineTransform.h: remove extra &
2504 2008-09-22  Eric Seidel  <eric@webkit.org>
2506         No review, build fix only.
2508         * platform/graphics/AffineTransform.cpp: remove extra ;
2510 2008-09-22  Eric Seidel  <eric@webkit.org>
2512         No review, build fix only.
2514         Speculative fix for the build while I wait for my compile to finish.
2516         * platform/graphics/AffineTransform.cpp:
2518 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
2520         Reviewed by eseidel.  Landed by eseidel.
2522         Moved makeMapBetweenRects from SVG/CG to AffineTransform
2523         Make SVGResourceClipper::applyClip more cross-platform
2525         * platform/graphics/AffineTransform.cpp:
2526         * platform/graphics/AffineTransform.h:
2527         * svg/graphics/cg/CgSupport.cpp:
2528         * svg/graphics/cg/CgSupport.h:
2529         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2530         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
2531         * svg/graphics/cg/SVGResourceClipperCg.cpp:
2532         (WebCore::SVGResourceClipper::applyClip):
2534 2008-09-22  Alp Toker  <alp@nuanti.com>
2536         Reviewed by David Hyatt.
2538         https://bugs.webkit.org/show_bug.cgi?id=16331
2539         [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
2541         Obey GTK+ focusing conventions for controls and anchor elements.
2543         It could be interesting to push these decisions up to Settings or
2544         ChromeClient some day but this gets things working.
2546         Right and middle click events still need some work to match GTK+
2547         conventions.
2549         * html/HTMLAnchorElement.cpp:
2550         (WebCore::HTMLAnchorElement::isMouseFocusable):
2551         * html/HTMLFormControlElement.cpp:
2552         (WebCore::HTMLFormControlElement::isMouseFocusable):
2553         * page/EventHandler.cpp:
2554         (WebCore::EventHandler::sendContextMenuEvent):
2556 2008-09-22  Darin Adler  <darin@apple.com>
2558         * page/mac/FrameMac.mm:
2559         (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
2561 2008-09-22  Sam Weinig  <sam@webkit.org>
2563         Reviewed by Dan Bernstein.
2565         Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
2566         Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
2567         and setSelectionRange.  This also allows us to remove the legacy JSHTMLInputElementBase
2568         class!
2570         - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
2571           non-selectable input types, but return undefined when accessed.
2573         * DerivedSources.make:
2574         * GNUmakefile.am:
2575         * WebCore.pro:
2576         * WebCore.vcproj/WebCore.vcproj:
2577         * WebCore.xcodeproj/project.pbxproj:
2578         * WebCoreSources.bkl:
2579         * bindings/js/JSHTMLInputElementBase.cpp: Removed.
2580         * bindings/js/JSHTMLInputElementBase.h: Removed.
2581         * bindings/js/JSHTMLInputElementCustom.cpp: Added.
2582         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
2583         (WebCore::JSHTMLInputElement::selectionStart):
2584         (WebCore::JSHTMLInputElement::selectionEnd):
2585         * bindings/js/JSHTMLInputElementCustom.h: Added.
2586         * html/HTMLInputElement.idl:
2588 2008-09-22  Dan Bernstein  <mitz@apple.com>
2590         Reviewed by Sam Weinig.
2592         - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
2594         Not testable in DumpRenderTree or in Safari
2596         * page/mac/FrameMac.mm:
2597         (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
2598         case that the selection start node is a block.
2600 2008-09-22  David Hyatt  <hyatt@apple.com>
2602         https://bugs.webkit.org/show_bug.cgi?id=21007
2604         Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
2606         Reviewed by Sam Weinig
2608         * page/EventHandler.cpp:
2609         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2611 2008-09-22  Eric Seidel  <eric@webkit.org>
2613         No review, rollback only.
2615         Roll out Peter's change (per his request)
2616         http://trac.webkit.org/changeset/36069
2617         https://bugs.webkit.org/show_bug.cgi?id=19663
2618         This change has been the source of numerous regressions
2619         (several of which were latent bugs revealed by this change,
2620         others were bugs in this change)
2622         * platform/graphics/BitmapImage.cpp:
2623         (WebCore::BitmapImage::BitmapImage):
2624         (WebCore::BitmapImage::startAnimation):
2625         (WebCore::BitmapImage::advanceAnimation):
2626         * platform/graphics/BitmapImage.h:
2627         * platform/graphics/cairo/ImageCairo.cpp:
2628         (WebCore::BitmapImage::draw):
2629         * platform/graphics/cg/ImageCG.cpp:
2630         (WebCore::BitmapImage::draw):
2631         * platform/graphics/qt/ImageQt.cpp:
2632         (WebCore::BitmapImage::draw):
2633         * platform/graphics/wx/ImageWx.cpp:
2634         (WebCore::BitmapImage::draw):
2636 2008-09-22  Dan Bernstein  <mitz@apple.com>
2638         Reviewed by Sam Weinig.
2640         - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
2642         Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
2643                platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
2645         * config.h: Use Core Text if not building for Leopard or Tiger.
2647 2008-09-22  David Hyatt  <hyatt@apple.com>
2649         https://bugs.webkit.org/show_bug.cgi?id=21006
2651         Add code that paints an NSView-less scroller using HIThemeDrawTrack.  This scrollbar is still not
2652         switched on.  There are still a few more refinements to make to the rendering and behavior.
2654         Reviewed by Darin Adler
2656         * platform/ScrollbarThemeComposite.cpp:
2657         (WebCore::ScrollbarThemeComposite::paint):
2658         * platform/ScrollbarThemeComposite.h:
2659         (WebCore::ScrollbarThemeComposite::paintTrack):
2660         (WebCore::ScrollbarThemeComposite::paintButton):
2661         (WebCore::ScrollbarThemeComposite::paintThumb):
2662         * platform/mac/ScrollbarThemeMac.h:
2663         * platform/mac/ScrollbarThemeMac.mm:
2664         (WebCore::ScrollbarThemeMac::backButtonRect):
2665         (WebCore::ScrollbarThemeMac::forwardButtonRect):
2666         (WebCore::scrollbarPartToHIPressedState):
2667         (WebCore::ScrollbarThemeMac::paint):
2668         * platform/mac/WidgetMac.mm:
2669         (WebCore::Widget::invalidateRect):
2671 2008-09-22  Chris Marrin  <cmarrin@apple.com>
2673         Reviewed by Sam Weinig
2675         transition end event when -webkit-transition-property: all puts wrong
2676         propertyName in event
2677         https://bugs.webkit.org/show_bug.cgi?id=20903
2678         
2679         * page/animation/ImplicitAnimation.cpp:
2680         (WebCore::ImplicitAnimation::sendTransitionEvent):
2682 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
2684         Reviewed by Darin Adler.
2686         <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
2688         Test: accessibility/table-one-cell.html
2690         * page/AccessibilityTable.cpp:
2691         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2693 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
2695         Reviewed by Darin Adler.
2697         <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
2699         Test: accessibility/textarea-selected-text-range.html
2701         * page/AccessibilityRenderObject.cpp:
2702         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2704 2008-09-22  David Hyatt  <hyatt@apple.com>
2706         Clean up some parent relationships in the back end stylesheet code.  Make sure parentStyleSheet
2707         properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
2708         parent.  Also fix the doc() method so that it is properly set when the parent of the sheet is an import
2709         rule.
2711         Reviewed by Sam Weinig
2713         Added fast/css/nested-rule-parent-sheet.html
2715          * css/CSSImportRule.cpp:
2716         (WebCore::CSSImportRule::insertedIntoParent):
2717         * css/CSSRule.cpp:
2718         (WebCore::CSSRule::parentStyleSheet):
2719         (WebCore::CSSRule::parentRule):
2720         * css/CSSStyleSheet.cpp:
2721         (WebCore::CSSStyleSheet::CSSStyleSheet):
2722         * css/CSSStyleSheet.h:
2724 2008-09-22  Dan Bernstein  <mitz@apple.com>
2726         Reviewed by Sam Weinig.
2728         - fix https://bugs.webkit.org/show_bug.cgi?id=21002
2729           Make the ATSUI code path respect spacingDisabled()
2731         Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
2733         * platform/graphics/mac/FontMacATSUI.mm:
2734         (WebCore::overrideLayoutOperation):
2736 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
2738         Reviewed by Cameron Zwarich.
2740         - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
2742         Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
2743         
2744         2.2% speedup on EarleyBoyer benchmark.
2746         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2747         * bindings/js/JSQuarantinedObjectWrapper.h:
2748         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
2749         * bindings/scripts/CodeGeneratorJS.pm:
2751 2008-09-22  Adam Roben  <aroben@apple.com>
2753         Windows build fix
2755         * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
2757 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
2759         Reviewed by Dave Hyatt.
2761         Based on initial work by Darin Adler.
2762         
2763         - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
2764         - use this to JIT inline code for eq_null and neq_null
2765         https://bugs.webkit.org/show_bug.cgi?id=20823
2766         
2767         * WebCore.xcodeproj/project.pbxproj:
2768         * WebCore.vcproj/WebCore.vcproj:
2769         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2770         (WebCore::JSCSSStyleDeclaration::nameGetter):
2771         * bindings/js/JSHTMLAllCollection.cpp: Added.
2772         (WebCore::):
2773         * bindings/js/JSHTMLAllCollection.h:
2774         (WebCore::JSHTMLAllCollection::createStructureID):
2775         (WebCore::JSHTMLAllCollection::toBoolean):
2777 2008-09-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
2779         Reviewed by Simon.
2781         Fix the QtWebKit build
2783         * bridge/qt/qt_instance.cpp:
2784         (JSC::Bindings::QtRuntimeObjectImp::construct):
2785         * bridge/qt/qt_runtime.cpp:
2787 2008-09-22  Alp Toker  <alp@nuanti.com>
2789         Suggested by David Hyatt.
2791         Build fix: ScrollView::update() is still used by Document.cpp on !MAC
2792         so make it public.
2794         * platform/ScrollView.h:
2796 2008-09-22  David Hyatt  <hyatt@apple.com>
2798         Fix a regression in Windows scrollbar painting.  (Also fix the same
2799         bug in my new viewless Mac scrollbar painting code).  The track rect
2800         was being improperly inflated when painting resulting in the scrollbar
2801         being too tall and painting in the border of overflow sections.
2803         Reviewed by Oliver Hunt
2805         * platform/mac/ScrollbarThemeMac.mm:
2806         (WebCore::ScrollbarThemeMac::trackRect):
2807         * platform/win/ScrollbarThemeSafari.cpp:
2808         (WebCore::ScrollbarThemeSafari::trackRect):
2810 2008-09-22  David Hyatt  <hyatt@apple.com>
2812         Fix a hit testing bug where events are mistakenly passed to subframes
2813         if the mouse is over the border or padding area of the frame.  Add
2814         a boolean flag, isOverWidget(), to hit test results so that EventHandler
2815         can check it to tell if the mouse is really over the content box of a
2816         RenderWidget and not just in the border/padding area.
2818         This is not testable, since the old code properly recovered when it detected
2819         that the mouse was outside the bounds of the view, but this prevents
2820         the extra passdown from even occurring (and is basically a nice cleanup).
2822         Reviewed by Oliver Hunt
2824         * page/EventHandler.cpp:
2825         (WebCore::EventHandler::handleMousePressEvent):
2826         (WebCore::EventHandler::hitTestResultAtPoint):
2827         (WebCore::subframeForHitTestResult):
2828         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2829         (WebCore::EventHandler::handleMouseMoveEvent):
2830         (WebCore::EventHandler::handleMouseReleaseEvent):
2831         (WebCore::EventHandler::handleWheelEvent):
2832         * page/MouseEventWithHitTestResults.h:
2833         (WebCore::MouseEventWithHitTestResults::isOverWidget):
2834         * rendering/HitTestResult.cpp:
2835         (WebCore::HitTestResult::HitTestResult):
2836         (WebCore::HitTestResult::operator=):
2837         * rendering/HitTestResult.h:
2838         (WebCore::HitTestResult::isOverWidget):
2839         (WebCore::HitTestResult::setIsOverWidget):
2840         * rendering/RenderWidget.cpp:
2841         (WebCore::RenderWidget::nodeAtPoint):
2842         * rendering/RenderWidget.h:
2844 2008-09-21  David Hyatt  <hyatt@apple.com>
2846         Rename FrameView's repaintRectangle method to repaintContentRectangle.  Make
2847         both it and ScrollView's updateContents method be off-limits to everyone in
2848         WebCore except for RenderView.
2850         Make repaintViewRectangle the only possible method for WebCore code to do
2851         an invalidation.  This ensures that all invalidates triggered by WebCore
2852         cross-platform code that cross ownerElement() boundaries are transform-aware.
2854         Make sure that iframes/frames contained inside objects that have transforms
2855         or reflections are not allowed to blit (this was already true for transparency).
2857         It is not possible to make a test for any of this, since iframe scrolling
2858         still doesn't work on Mac (since the invalidates are not being done
2859         through WebCore's cross-platform invalidation code but are instead going
2860         through NSScrollView's setNeedsDisplay still).
2862         Reviewed by Oliver Hunt
2864         * editing/SelectionController.cpp:
2865         (WebCore::SelectionController::recomputeCaretRect):
2866         (WebCore::SelectionController::invalidateCaretRect):
2867         (WebCore::SelectionController::focusedOrActiveStateChanged):
2868         * page/FrameView.cpp:
2869         (WebCore::FrameView::repaintContentRectangle):
2870         (WebCore::FrameView::endDeferredRepaints):
2871         * page/FrameView.h:
2872         * platform/ScrollView.h:
2873         * rendering/RenderBox.cpp:
2874         (WebCore::RenderBox::paintFillLayerExtended):
2875         * rendering/RenderLayer.cpp:
2876         (WebCore::RenderLayer::enclosingPositionedAncestor):
2877         (WebCore::RenderLayer::requiresSlowRepaints):
2878         * rendering/RenderLayer.h:
2879         (WebCore::RenderLayer::hasTransform):
2880         * rendering/RenderView.cpp:
2881         (WebCore::RenderView::paintBoxDecorations):
2882         (WebCore::RenderView::repaintViewRectangle):
2883         (WebCore::RenderView::setSelection):
2885 2008-09-21  Maciej Stachowiak  <mjs@apple.com>
2887         Reviewed by Darin.
2889         - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
2890         https://bugs.webkit.org/show_bug.cgi?id=20981
2891         
2892         * bindings/js/JSAudioConstructor.cpp:
2893         (WebCore::JSAudioConstructor::JSAudioConstructor):
2894         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2895         (WebCore::JSCSSStyleDeclaration::nameGetter):
2896         * bindings/js/JSDOMBinding.cpp:
2897         (WebCore::createDOMStructure):
2898         * bindings/js/JSDOMBinding.h:
2899         (WebCore::getDOMStructure):
2900         * bindings/js/JSDOMWindowShell.cpp:
2901         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2902         (WebCore::JSDOMWindowShell::setWindow):
2903         * bindings/js/JSEventTargetNode.cpp:
2904         (WebCore::JSEventTargetNode::createPrototype):
2905         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2906         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2907         * bindings/js/JSImageConstructor.cpp:
2908         (WebCore::JSImageConstructor::JSImageConstructor):
2909         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2910         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2911         * bindings/js/JSXSLTProcessorConstructor.cpp:
2912         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2913         * bindings/scripts/CodeGeneratorJS.pm:
2915 2008-09-21  Darin Adler  <darin@apple.com>
2917         Reviewed by Maciej Stachowiak.
2919         - fix problem Maciej noticed where every JSNamedNodesCollection
2920           gets its own StructureID
2922         * bindings/js/JSNamedNodesCollection.cpp:
2923         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
2924         getDOMStructure to get the structure.
2925         * bindings/js/JSNamedNodesCollection.h:
2926         (WebCore::JSNamedNodesCollection::createPrototype): Return the
2927         object prototype.
2929 2008-09-20  David Hyatt  <hyatt@apple.com>
2931         Make sure transformed scrollbars in overflow sections position
2932         properly.  This patch mimics the same behavior that works for
2933         iframes, namely making sure that the same code that dynamically
2934         adjusts iframe widget positions at paint time for fixed positioning
2935         and transforms also applies to scrollbars.  (This is as simple as passing
2936         in the current translation factor at paint time rather than crawling
2937         up the layer tree to compute a "false" absolute position.)
2939         An existing transform test covers this (although only a pixel result
2940         reveals the correct rendering).
2942         Reviewed by Darin Adler
2944         * rendering/RenderLayer.cpp:
2945         (WebCore::RenderLayer::updateLayerPositions):
2946         (WebCore::RenderLayer::positionOverflowControls):
2947         (WebCore::RenderLayer::paintOverflowControls):
2948         (WebCore::RenderLayer::paintLayer):
2949         * rendering/RenderLayer.h:
2951 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
2953         Removed unnecessary nested timer check.
2954         
2955         Rubber-stamped by Dan Bernstein.
2957         * platform/win/SharedTimerWin.cpp:
2958         (WebCore::TimerWindowWndProc):
2960 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
2962         Improve timer resolution on WinXP.
2963         https://bugs.webkit.org/show_bug.cgi?id=20979
2964         
2965         Removed last-chance timer. It should not be necessary.
2966         Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
2967         Remove Vista checks. We now run the same code on both XP and Vista.
2968         
2969         Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
2970         The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
2971         
2972         Reviewed by Maciej Stachowiak.
2974         * platform/win/SharedTimerWin.cpp:
2975         (WebCore::):
2976         (WebCore::TimerWindowWndProc):
2977         (WebCore::setSharedTimerFireTime):
2978         * platform/win/SystemTimeWin.cpp:
2979         (WebCore::currentTime):
2981 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
2983         Reviewed by eseidel.  Landed by eseidel.
2985         All platforms use the DashArray in the GraphicsContext.
2987         * svg/graphics/SVGPaintServer.h:
2988         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
2989         (WebCore::SVGPaintServerGradient::setup):
2990         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
2991         (WebCore::SVGPaintServerPattern::setup):
2992         * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
2993         (WebCore::SVGPaintServerSolid::setup):
2994         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
2995         (WebCore::SVGPaintServerGradient::setup):
2996         * svg/graphics/qt/SVGPaintServerQt.cpp:
2997         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
2998         (WebCore::SVGPaintServerSolid::setup):
3000 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
3002         Reviewed by eseidel.  Landed by eseidel.
3004         Moved DashArray to GraphicsContext.
3006         * GNUmakefile.am:
3007         * WebCore.vcproj/WebCore.vcproj:
3008         * WebCore.xcodeproj/project.pbxproj:
3009         * platform/graphics/DashArray.h: Added.
3010         * platform/graphics/GraphicsContext.h:
3011         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3012         (WebCore::GraphicsContext::setLineDash):
3013         * platform/graphics/cg/GraphicsContextCG.cpp:
3014         (WebCore::GraphicsContext::setLineDash):
3015         * platform/graphics/qt/GraphicsContextQt.cpp:
3016         (WebCore::GraphicsContext::setLineDash):
3017         * svg/graphics/SVGPaintServer.cpp:
3018         (WebCore::applyStrokeStyleToContext):
3019         * svg/graphics/SVGPaintServer.h:
3020         * svg/graphics/cg/CgSupport.cpp:
3021         * svg/graphics/cg/CgSupport.h:
3023 2008-09-21  Dan Bernstein  <mitz@apple.com>
3025         Reviewed by Mark Rowe.
3027         - fix linker warnings
3029         * WebCore.base.exp:
3031 2008-09-20  Darin Adler  <darin@apple.com>
3033         - another try at fixing Qt
3035         * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
3037 2008-09-20  Darin Adler  <darin@apple.com>
3039         - blind attempt to fix Qt build
3041         * bridge/qt/qt_runtime.cpp:
3042         (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
3043         of regExpPrototype to make a RegExpObject. There should really be
3044         some sort of public helper function for this. Same thing for
3045         DateInstance and dateStructure. For JSObject, use constructEmptyObject.
3046         (JSC::Bindings::):
3047         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
3048         It is not correct to do this inside the constructor because it could
3049         cause a garbage collect while the QtRuntimeMethod object is half-
3050         allocated, which could lead to a crash; note that RuntimeMethod,
3051         QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
3052         * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
3054 2008-09-20  Collin Jackson  <collinj@webkit.org>
3056         Prefetch DNS for hyperlinks that the user mouses over.
3058         https://bugs.webkit.org/show_bug.cgi?id=20931
3060         Reviewed by Sam Weinig.
3062         * page/Chrome.cpp:
3063         (WebCore::Chrome::mouseDidMoveOverElement):
3065 2008-09-20  Darin Adler  <darin@apple.com>
3067         Reviewed by Maciej Stachowiak.
3069         - finish https://bugs.webkit.org/show_bug.cgi?id=20858
3070           make each distinct C++ class get a distinct JSC::Structure
3072         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3073         (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
3074         ID. Note that this makes a new structure every time -- we could
3075         optimize this slightly be caching and reusing a single one.
3077         * bridge/runtime_method.cpp:
3078         (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
3079         getDOMStructure.
3080         * bridge/runtime_method.h:
3081         (JSC::RuntimeMethod::createPrototype): Added createPrototype so
3082         getDOMStructure will work.
3084         * bindings/js/JSDOMWindowShell.cpp:
3085         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
3086         0; needed in case garbage collection happens while creating the
3087         JSDOMWindow.
3089 2008-09-20  Dan Bernstein  <mitz@apple.com>
3091         Reviewed by Eric Seidel.
3093         - fix https://bugs.webkit.org/show_bug.cgi?id=20950
3094           <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
3096         * svg/SVGTextContentElement.cpp:
3097         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
3098         not include the first character in the extraCharsAvailable count.
3100 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
3102         Reviewed by Dan Bernstein.
3104         Fix memory leak.
3105         
3106         https://bugs.webkit.org/show_bug.cgi?id=20505
3108         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
3109         (GetTextExtent):
3111 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
3113         wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
3115         * WebCoreSources.bkl:
3116         * platform/ScrollView.h:
3117         * platform/wx/PopupMenuWx.cpp:
3118         (WebCore::PopupMenu::show):
3119         * platform/wx/RenderThemeWx.cpp:
3120         (WebCore::RenderThemeWx::paintButton):
3121         (WebCore::RenderThemeWx::paintTextField):
3122         (WebCore::RenderThemeWx::paintMenuList):
3123         (WebCore::RenderThemeWx::paintMenuListButton):
3124         * platform/wx/ScrollViewWx.cpp:
3125         (WebCore::ScrollView::setPlatformWidget):
3126         (WebCore::ScrollView::updateContents):
3127         (WebCore::ScrollView::update):
3128         (WebCore::ScrollView::visibleWidth):
3129         (WebCore::ScrollView::visibleHeight):
3130         (WebCore::ScrollView::scrollBy):
3131         (WebCore::ScrollView::resizeContents):
3132         (WebCore::ScrollView::contentsWidth):
3133         (WebCore::ScrollView::contentsHeight):
3134         (WebCore::ScrollView::isScrollViewScrollbar):
3135         (WebCore::ScrollView::adjustScrollbars):
3136         (WebCore::ScrollView::inWindow):
3137         (WebCore::ScrollView::removeChild):
3138         * platform/wx/WidgetWx.cpp:
3139         * plugins/wx/PluginViewWx.cpp:
3140         (WebCore::PluginView::setParentVisible):
3141         (WebCore::PluginView::updatePluginWidget):
3143 2008-09-20  Timothy Hatcher  <timothy@apple.com>
3145         Fix the new Node Search button image to not be blurry.
3147         * page/inspector/Images/nodeSearchButtons.png:
3149 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
3151         Reviewed by Tim Hatcher.
3153         Cut down some of the inspector javascript -> InspectorController glue code
3154         with two new macros. Also rearrange the exposed function list to be grouped
3155         by implementation and to all explicitly use the WebCore namespace.
3157         * page/InspectorController.cpp:
3158         (WebCore::InspectorController::windowScriptObjectAvailable):
3160 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
3162         Reviewed by Tim Hatcher.
3164         Fix regression from my previous patch where the breadcrumbs bar was not displayed.
3166         * page/inspector/inspector.css:
3168 2008-09-20  Nikolas Zimmermann  <zimmermann@kde.org>
3170         Reviewed by Eric.
3172         Refactor HTMLImageLoader/SVGImageLoader code.
3173         Move html/HTMLImageLoader.* to loader/ImageLoader.*
3175         Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
3176         SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
3178         * GNUmakefile.am:
3179         * WebCore.pro:
3180         * WebCore.vcproj/WebCore.vcproj:
3181         * WebCore.xcodeproj/project.pbxproj:
3182         * WebCoreSources.bkl:
3183         * dom/Document.cpp:
3184         (WebCore::Document::dispatchImageLoadEventSoon):
3185         (WebCore::Document::removeImage):
3186         (WebCore::Document::dispatchImageLoadEventsNow):
3187         * dom/Document.h:
3188         * html/HTMLImageLoader.cpp:
3189         (WebCore::HTMLImageLoader::HTMLImageLoader):
3190         (WebCore::HTMLImageLoader::~HTMLImageLoader):
3191         (WebCore::HTMLImageLoader::sourceURI):
3192         (WebCore::HTMLImageLoader::notifyFinished):
3193         * html/HTMLImageLoader.h:
3194         * loader/DocLoader.h:
3195         * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
3196         (WebCore::ImageLoader::ImageLoader):
3197         (WebCore::ImageLoader::~ImageLoader):
3198         (WebCore::ImageLoader::setImage):
3199         (WebCore::ImageLoader::setLoadingImage):
3200         (WebCore::ImageLoader::updateFromElement):
3201         (WebCore::ImageLoader::notifyFinished):
3202         * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
3203         * svg/SVGImageElement.cpp:
3204         (WebCore::SVGImageElement::attach):
3205         (WebCore::SVGImageElement::insertedIntoDocument):
3206         (WebCore::SVGImageElement::imageSourceAttributeName):
3207         * svg/SVGImageElement.h:
3208         * svg/SVGImageLoader.cpp:
3209         (WebCore::SVGImageLoader::SVGImageLoader):
3210         (WebCore::SVGImageLoader::dispatchLoadEvent):
3211         (WebCore::SVGImageLoader::sourceURI):
3212         * svg/SVGImageLoader.h:
3214 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
3216         Build fix.
3218         [qtwebkit] ScrollBar build fix after r36684.
3219         BackButtonPart was split into Start and End Part
3220         ForwardButtonPart was split into Start and End Part
3222         * platform/qt/ScrollbarThemeQt.cpp:
3223         (WebCore::scPart):
3224         (WebCore::scrollbarPart):
3225         (WebCore::styleOptionSlider):
3227 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
3229         Build fix.
3231         [qtwebkit] Make qt_instance.cpp compile.
3232         Revision of 36675 introduced getDOMStructure to give unique
3233         structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
3234         the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
3236         * bridge/qt/qt_instance.cpp:
3237         (JSC::Bindings::QtInstance::getRuntimeObject):
3239 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
3241         Reviewed by Nikolas Zimmermann.
3243         [svg] Change SVGLocatable to deal with a plain SVGElement
3244         There is no requirement in the code that we have to have a
3245         SVGStyledElement. Remove that artificial limitation and compile
3246         with SVGElement.
3248         * svg/SVGLocatable.cpp:
3249         * svg/SVGLocatable.h:
3251 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
3253         Reviewed by Nikolas Zimmermann.
3255         [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
3256         management.
3258         * dom/Document.cpp:
3259         (WebCore::Document::~Document):
3260         (WebCore::Document::svgExtensions):
3261         (WebCore::Document::accessSVGExtensions):
3262         * dom/Document.h:
3264 2008-09-19  David Hyatt  <hyatt@apple.com>
3266         Fix for crash in updateTransitions.  Make sure to test for a style
3267         being null when comparing two RenderStyles.
3269         Reviewed by Oliver Hunt
3271         * page/animation/AnimationBase.cpp:
3272         (WebCore::PropertyWrapperGetter::equals):
3274 2008-09-19  David Hyatt  <hyatt@apple.com>
3276         https://bugs.webkit.org/show_bug.cgi?id=20954
3278         Roll out r36628 since it has caused horrible regressions with
3279         animated GIF CPU usage.
3281         * platform/graphics/BitmapImage.cpp:
3282         (WebCore::BitmapImage::cacheFrame):
3283         (WebCore::BitmapImage::startAnimation):
3284         * platform/graphics/BitmapImage.h:
3285         (WebCore::FrameData::FrameData):
3286         * platform/graphics/cairo/ImageCairo.cpp:
3287         (WebCore::FrameData::clear):
3288         * platform/graphics/cg/ImageCG.cpp:
3289         (WebCore::FrameData::clear):
3290         * platform/graphics/qt/ImageQt.cpp:
3291         (WebCore::FrameData::clear):
3292         * platform/graphics/wx/ImageWx.cpp:
3293         (WebCore::FrameData::clear):
3295 2008-09-20  Alp Toker  <alp@nuanti.com>
3297         Reviewed by Timothy Hatcher.
3299         https://bugs.webkit.org/show_bug.cgi?id=20913
3300         Avoid redudant includes
3302         Document.h is included excessively such that a modification to Document.h (or
3303         any of the header it includes itself) triggers a rebuild of many files
3304         including the whole of SVG and a lot of the JS bindings.
3306         Some of these includes can be avoided by only including Document.h where
3307         necessary.
3309         * bindings/js/JSAttrCustom.cpp:
3310         * bindings/js/JSElementCustom.cpp:
3311         * bindings/js/JSEventTargetBase.cpp:
3312         * bindings/js/JSEventTargetBase.h:
3313         * bindings/js/JSEventTargetNode.cpp:
3314         * bindings/js/JSHTMLFrameElementCustom.cpp:
3315         * bindings/js/JSHTMLIFrameElementCustom.cpp:
3316         * bindings/scripts/CodeGeneratorJS.pm:
3317         * css/CSSCursorImageValue.cpp:
3318         * css/SVGCSSStyleSelector.cpp:
3319         * dom/make_names.pl:
3320         * svg/SVGAnimateElement.h:
3321         * svg/SVGAnimatedProperty.h:
3322         (WebCore::::baseValue):
3323         (WebCore::::setBaseValue):
3324         (WebCore::::startAnimation):
3325         (WebCore::::stopAnimation):
3326         * svg/SVGElement.cpp:
3327         (WebCore::SVGElement::accessDocumentSVGExtensions):
3328         * svg/SVGElement.h:
3329         * svg/SVGElementInstance.cpp:
3330         * svg/SVGFitToViewBox.cpp:
3331         * svg/SVGFontElement.cpp:
3332         * svg/SVGFontFaceElement.cpp:
3333         * svg/SVGLinearGradientElement.cpp:
3334         * svg/SVGMPathElement.cpp:
3335         * svg/SVGViewSpec.cpp:
3337 2008-09-19  Nikolas Zimmermann  <zimmermann@kde.org>
3339         Reviewed by Antti & Eric.
3341         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
3343         Finish HTMLScriptElement / SVGScriptElement unification.
3344         SVG <script> support is complete now, full SVGLoad event
3345         respecting the influence of the externalResourcesRequired attribute
3346         as well as SVGError event support. All other features shared with HTML.
3348         Tests: fast/dom/HTMLScriptElement/script-reexecution.html
3349                svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
3350                svg/dom/SVGScriptElement/script-load-and-error-events.svg
3351                svg/dom/SVGScriptElement/script-reexecution.svg
3352                svg/dom/SVGScriptElement/script-set-href.svg
3354         * dom/ScriptElement.cpp:
3355         (WebCore::ScriptElementData::ScriptElementData):
3356         (WebCore::ScriptElementData::requestScript):
3357         * dom/ScriptElement.h:
3358         (WebCore::ScriptElementData::haveFiredLoadEvent):
3359         (WebCore::ScriptElementData::setHaveFiredLoadEvent):
3360         * dom/XMLTokenizer.cpp:
3361         (WebCore::XMLTokenizer::notifyFinished):
3362         * html/HTMLScriptElement.cpp:
3363         (WebCore::HTMLScriptElement::dispatchLoadEvent):
3364         * svg/SVGScriptElement.cpp:
3365         (WebCore::SVGScriptElement::setCreatedByParser):
3366         (WebCore::SVGScriptElement::parseMappedAttribute):
3367         (WebCore::SVGScriptElement::svgAttributeChanged):
3368         (WebCore::SVGScriptElement::insertedIntoDocument):
3369         (WebCore::SVGScriptElement::removedFromDocument):
3370         (WebCore::SVGScriptElement::childrenChanged):
3371         (WebCore::SVGScriptElement::isURLAttribute):
3372         (WebCore::SVGScriptElement::finishParsingChildren):
3373         (WebCore::SVGScriptElement::type):
3374         (WebCore::SVGScriptElement::setType):
3375         (WebCore::SVGScriptElement::haveLoadedRequiredResources):
3376         (WebCore::SVGScriptElement::dispatchLoadEvent):
3377         (WebCore::SVGScriptElement::dispatchErrorEvent):
3378         * svg/SVGScriptElement.h:
3380 2008-09-19  Dan Bernstein  <mitz@apple.com>
3382         Reviewed by John Sullivan.
3384         - fix https://bugs.webkit.org/show_bug.cgi?id=20951
3385           Typo in Position::getInlineBoxAndOffset()
3386           and add an assertion
3388         Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
3390         * dom/Position.cpp:
3391         (WebCore::Position::getInlineBoxAndOffset):
3392         * rendering/InlineTextBox.cpp:
3393         (WebCore::InlineTextBox::positionForOffset):
3395 2008-09-19  David Hyatt  <hyatt@apple.com>
3397         Add support for hit testing of all five possible scrollbar button placements. 
3399         Reviewed by Sam Weinig
3401         * platform/ScrollbarThemeComposite.cpp:
3402         (WebCore::ScrollbarThemeComposite::paint):
3403         * platform/mac/ScrollbarThemeMac.mm:
3404         (WebCore::):
3405         (WebCore::ScrollbarThemeMac::backButtonRect):
3406         (WebCore::ScrollbarThemeMac::forwardButtonRect):
3407         (WebCore::ScrollbarThemeMac::trackRect):
3408         (WebCore::ScrollbarThemeMac::paintButton):
3410 2008-09-19  Darin Adler  <darin@apple.com>
3412         - try to fix Qt build
3414         * bridge/qt/qt_instance.cpp:
3415         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
3416         (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
3417         * bridge/runtime_object.cpp:
3418         (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
3419         * bridge/runtime_object.h: Ditto.
3421 2008-09-19  Chris Marrin  <cmarrin@apple.com>
3423         Reviewed by Dave Hyatt.
3425         Transition starts running when it shouldn't
3426         https://bugs.webkit.org/show_bug.cgi?id=20892
3428         When there is a transition and an animation on the
3429         same element, make sure the animation wins.
3431         The fix is to save the unanimated style when an animation is started.
3432         Then, when starting a transition, check to see if there is a current
3433         animation on the same prop. If so, use the unanimated style as the
3434         fromStyle rather than the current style.
3436         Test: animations/transition-and-animation-1.html
3438         * page/animation/CompositeAnimation.cpp:
3439         (WebCore::CompositeAnimation::updateTransitions):
3440         (WebCore::CompositeAnimation::updateKeyframeAnimations):
3441         (WebCore::CompositeAnimation::animate):
3442         (WebCore::CompositeAnimation::getAnimationForProperty):
3443         * page/animation/CompositeAnimation.h:
3444         * page/animation/ImplicitAnimation.cpp:
3445         (WebCore::ImplicitAnimation::reset):
3446         * page/animation/ImplicitAnimation.h:
3447         * page/animation/KeyframeAnimation.cpp:
3448         (WebCore::KeyframeAnimation::hasAnimationForProperty):
3449         * page/animation/KeyframeAnimation.h:
3450         (WebCore::KeyframeAnimation::KeyframeAnimation):
3451         (WebCore::KeyframeAnimation::unanimatedStyle):
3453 2008-09-19  David Hyatt  <hyatt@apple.com>
3455         Add support for painting/hit testing of four possible scrollbar buttons.
3456         The Windows themes simply ignore the two parts that they will never
3457         show.  The Mac theme also ignores the other two buttons for now.
3459         The cross-platform base for all three themes, ScrollbarThemeComposite,
3460         has all the proper support though.
3462         Reviewed by Sam Weinig
3464         * platform/ScrollbarThemeComposite.cpp:
3465         (WebCore::ScrollbarThemeComposite::hitTest):
3466         (WebCore::ScrollbarThemeComposite::invalidatePart):
3467         * platform/ScrollbarThemeComposite.h:
3468         * platform/mac/ScrollbarThemeMac.h:
3469         * platform/mac/ScrollbarThemeMac.mm:
3470         (WebCore::ScrollbarThemeMac::backButtonRect):
3471         (WebCore::ScrollbarThemeMac::forwardButtonRect):
3472         (WebCore::ScrollbarThemeMac::paintButton):
3473         * platform/win/ScrollbarThemeSafari.cpp:
3474         (WebCore::ScrollbarThemeSafari::backButtonRect):
3475         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
3476         (WebCore::ScrollbarThemeSafari::paintButton):
3477         * platform/win/ScrollbarThemeSafari.h:
3478         * platform/win/ScrollbarThemeWin.cpp:
3479         (WebCore::ScrollbarThemeWin::backButtonRect):
3480         (WebCore::ScrollbarThemeWin::forwardButtonRect):
3481         (WebCore::ScrollbarThemeWin::paintButton):
3482         * platform/win/ScrollbarThemeWin.h:
3484 2008-09-19  Matt Lilek  <webkit@mattlilek.com>
3486         Reviewed by Tim Hatcher.
3488         Bug 17772: Inspector should support point-and-click to select a node to inspect
3489         https://bugs.webkit.org/show_bug.cgi?id=17772
3490         <rdar://problem/5792395>
3492         * English.lproj/localizedStrings.js:
3493         * page/Chrome.cpp:
3494         (WebCore::Chrome::mouseDidMoveOverElement):
3495         * page/EventHandler.cpp:
3496         (WebCore::EventHandler::handleMousePressEvent):
3497         * page/InspectorController.cpp:
3498         (WebCore::toggleNodeSearch):
3499         (WebCore::searchingForNode):
3500         (WebCore::InspectorController::InspectorController):
3501         (WebCore::InspectorController::toggleSearchForNodeInPage):
3502         (WebCore::InspectorController::mouseDidMoveOverElement):
3503         (WebCore::InspectorController::handleMousePressOnNode):
3504         (WebCore::InspectorController::windowScriptObjectAvailable):
3505         * page/InspectorController.h:
3506         (WebCore::InspectorController::searchingForNodeInPage):
3507         * page/inspector/ElementsPanel.js:
3508         * page/inspector/Images/nodeSearchButtons.png: Added.
3509         * page/inspector/inspector.css:
3511 2008-09-19  David Hyatt  <hyatt@apple.com>
3513         Add new scrollbar parts to be able to represent back and forward buttons
3514         at either end of the scrollbar.  The current scrollbar still just draws
3515         a single button at either end, but the parts now exist.
3517         Reviewed by Sam Weinig
3519         * platform/ScrollTypes.h:
3520         (WebCore::):
3521         * platform/Scrollbar.cpp:
3522         (WebCore::Scrollbar::autoscrollTimerFired):
3523         (WebCore::Scrollbar::pressedPartScrollDirection):
3524         (WebCore::Scrollbar::pressedPartScrollGranularity):
3525         (WebCore::Scrollbar::handleMouseMoveEvent):
3526         * platform/ScrollbarTheme.h:
3527         (WebCore::ScrollbarTheme::buttonsPlacement):
3528         (WebCore::ScrollbarTheme::invalidateParts):
3529         * platform/ScrollbarThemeComposite.cpp:
3530         (WebCore::ScrollbarThemeComposite::paint):
3531         (WebCore::ScrollbarThemeComposite::hitTest):
3532         (WebCore::ScrollbarThemeComposite::invalidatePart):
3533         * platform/ScrollbarThemeComposite.h:
3535 2008-09-19  Beth Dakin  <bdakin@apple.com>
3537         Reviewed by Dave Hyatt.
3539         Fix for <rdar://problem/6231308> crash in AutoTableLayout
3541         The code assumes later on that a TableSection's grid's row vector 
3542         will never be empty. So make 1 the minimum number of columns.
3544         * rendering/RenderTableSection.cpp:
3545         (WebCore::RenderTableSection::ensureRows):
3547 2008-09-19  David Hyatt  <hyatt@apple.com>
3549         Add a new ScrollbarButtonsPlacement type for specifying where
3550         the button arrows are in a scrollbar.
3552         Read in the placement settings for Mac.  Nothing is done with the
3553         setting yet.
3555         Add a new buttonsPlacement() method to ScrollbarTheme composite
3556         so that the arrow settings can be obtained.
3558         Reviewed by Sam Weinig
3560         * platform/ScrollTypes.h:
3561         (WebCore::):
3562         * platform/ScrollbarThemeComposite.h:
3563         (WebCore::ScrollbarThemeComposite::buttonsPlacement):
3564         * platform/mac/ScrollbarThemeMac.mm:
3565         (WebCore::updateArrowPlacement):
3566         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3568 2008-09-19  Steve Falkenburg  <sfalken@apple.com>
3570         Roll out r36626. It is causing variance in SunSpider numbers on XP.
3571         
3572         Rubber stamped by Mark Rowe.
3574         * platform/win/SharedTimerWin.cpp:
3575         (WebCore::isRunningOnVistaOrLater):
3576         (WebCore::setSharedTimerFireTime):
3578 2008-09-19  Kevin McCullough  <kmccullough@apple.com>
3580         Reviewed by Tim.
3582         https://bugs.webkit.org/show_bug.cgi?id=20942
3583         Bug 20942: Repeated messages in resources don't collapse
3584         - Now repeated messages in a resource's view are collapsed and a message
3585         says how many were repeated.
3587         * English.lproj/localizedStrings.js:
3588         * manual-tests/inspector/multiple-console-messages.html:
3589         * page/inspector/Console.js: Send all the messages to the resource's
3590         view before possibly returning early if the message is a repeat.
3591         * page/inspector/SourceFrame.js: Add the text about the message being
3592         repeated, if it is, and increment it when necessary.
3594 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
3596         Removed unnecessary #if
3598         * page/mac/AccessibilityObjectWrapper.mm:
3600 2008-09-19  David Hyatt  <hyatt@apple.com>
3602         Read in prefs for the scroll delay repeat values for buttons.  Also
3603         honor the option-click pref for jumping to the thumb when clicking in
3604         the track.
3606         Reviewed by Sam Weinig
3608         * platform/mac/ScrollbarThemeMac.h:
3609         * platform/mac/ScrollbarThemeMac.mm:
3610         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3611         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
3612         (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
3613         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
3615 2008-09-19  David Hyatt  <hyatt@apple.com>
3617         Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
3618         Set the initial button repeat delay to 0.5 for Mac.
3620         Reviewed by Sam Weinig
3622         * WebCore.xcodeproj/project.pbxproj:
3623         * platform/mac/ScrollbarThemeMac.cpp: Removed.
3624         * platform/mac/ScrollbarThemeMac.h:
3625         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
3626         * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
3628 2008-09-19  Darin Adler  <darin@apple.com>
3630         Reviewed by Sam Weinig.
3632         - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
3633           make each distinct C++ class get a distinct JSC::Structure
3635           + Fixed all cases where we were using a shared structure for multiple
3636             C++ classes in WebCore. This still has to be done in JavaScriptCore.
3638           + Got rid of cacheGlobalObject.
3640           + Improved use of PassRefPtr in bindings code.
3642           + Removed a couple cases where we were potentially allocating prototypes
3643             inside a JSObject's construction process -- this can lead to trouble if
3644             we do a garbage collection while an object is only partly constructed.
3646         * bindings/js/JSAudioConstructor.cpp:
3647         (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
3648         so we don't implicitly share the structure with other objects that use the object
3649         prototype.
3651         * bindings/js/JSDOMBinding.cpp:
3652         (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
3653         don't need cacheGlobalObject any more.
3654         (WebCore::cacheDOMConstructor): Ditto.
3656         * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
3657         Added functions and a function template for getting cached DOM constructors.
3658         Removed cacheGlobalObject function template.
3660         * bindings/js/JSDOMWindowBase.cpp:
3661         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
3662         we're taking ownership.
3663         * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
3664         we're taking ownership. Added constructor map.
3665         * bindings/js/JSDOMWindowCustom.cpp:
3666         (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
3668         * bindings/js/JSDOMWindowShell.cpp:
3669         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
3670         we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
3671         this is now done in only that one place.
3672         (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
3673         the passed-in DOMWindow. Code was moved here and changed to allocate unique
3674         structures for both the window prototype and the window.
3675         * bindings/js/JSDOMWindowShell.h: Ditto.
3677         * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
3678         have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
3679         private/friend in JSEventTargetBase. Removed comments referring to defunct
3680         macros. Changed JSEventTargetBasePrototype to get the prototype with the new
3681         rather than its own copy of cacheGlobalObject (I missed this during pass 1).
3682         Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
3684         * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
3685         for caching structures and prototypes.
3686         (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
3687         (WebCore::JSEventTargetNode::createPrototype): Added.
3688         * bindings/js/JSEventTargetNode.h: Updated for above changes.
3690         * bindings/js/JSHTMLAllCollection.h:
3691         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
3692         * bindings/js/JSHTMLCollectionCustom.cpp:
3693         (WebCore::getNamedItems): Pass ExecState instead of prototype.
3694         * bindings/js/JSHTMLFormElementCustom.cpp:
3695         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
3696         * bindings/js/JSHTMLInputElementBase.cpp:
3697         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
3698         * bindings/js/JSHTMLInputElementBase.h: Ditto.
3699         * bindings/js/JSHTMLOptionElementConstructor.cpp:
3700         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3701         Create a unique structure instead of sharing.
3702         * bindings/js/JSImageConstructor.cpp:
3703         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
3705         * bindings/js/JSInspectedObjectWrapper.cpp:
3706         (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
3707         a prototype rather than a structure. Made the use of inheritorID() here
3708         explicit.
3709         * bindings/js/JSInspectedObjectWrapper.h: Ditto.
3710         * bindings/js/JSInspectorCallbackWrapper.cpp:
3711         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
3712         * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
3714         * bindings/js/JSNamedNodesCollection.cpp:
3715         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
3716         take an ExecState argument instead of a prototype. Create a unique
3717         StructureID instead of sharing.
3718         * bindings/js/JSNamedNodesCollection.h: Ditto.
3720         * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
3721         constructor that takes a prototype instead of a structure.
3722         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
3724         * bindings/js/JSRGBColor.cpp:
3725         (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
3726         prototype; create a unique structure.
3727         (WebCore::getJSRGBColor): Ditto.
3728         * bindings/js/JSRGBColor.h: Ditto.
3730         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3731         (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
3732         of explicit coding the idiom for making a new object.
3734         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3735         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3736         Create a unique structure instead of the shared one.
3737         * bindings/js/JSXSLTProcessorConstructor.cpp:
3738         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
3739         Ditto.
3741         * bindings/js/ScriptController.cpp:
3742         (WebCore::ScriptController::clearWindowShell): Let the window shell's
3743         setWindow function create the JSDOMWindow instead of doing it here.
3745         * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
3746         the structure and the wrapped object when creating wrappers.
3747         Simplified some of the special cases for DOMWindow so they are
3748         different only in ways the need to be. Eliminated the
3749         JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
3750         functions. Moved responsibility for creating the structure and
3751         parent prototype out of the prototype constructor into the
3752         createPrototype function. Removed the unused "DoNotCache" flag for
3753         objects other than DOMWindow. Use getDOMConstructor instead of
3754         cacheGlobalObject for constructors. Make each constructor have
3755         a unique structure ID.
3757         * bridge/objc/objc_runtime.h: Added createPrototype and changed the
3758         name of the info member to s_info so we can use the standard DOM
3759         binding macros to handl the prototype.
3760         * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
3761         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3762         Create a unique structure using getDOMStructure.
3764         * bridge/runtime_array.cpp: Fixed namespacing a bit.
3765         (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
3766         getDOMStructure.
3767         * bridge/runtime_array.h: Added createPrototype so getDOMStructure
3768         will work.
3770         * bridge/runtime_object.cpp:
3771         (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
3772         getDOMStructure.
3773         * bridge/runtime_object.h: Added createPrototype so getDOMStructure
3774         will work.
3776         * history/CachedPage.cpp:
3777         (WebCore::CachedPage::restore): Let the window shell's
3778         setWindow function create the JSDOMWindow instead of doing it here.
3780         * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
3782 2008-09-19  Dan Bernstein  <mitz@apple.com>
3784         Reviewed by Dave Hyatt.
3786         This optimization was suggested by Daniel Fenwick
3788         - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
3790         Specifying LTR paragraph directionality when measuring runs of RTL text
3791         resulted in typically two CTRuns being generated for every run instead
3792         of one, due to the leading space being reordered to the left.
3794         * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
3795         getCFStringAttributes() and changed m_CFStringAttributes from an array
3796         to a single value.
3797         * platform/graphics/mac/CoreTextController.cpp:
3798         (WebCore::CoreTextController::CoreTextController): Added a
3799         mayUseNaturalWritingDirection parameter.
3800         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
3801         to force the bidi embedding level whenever 
3802         m_mayUseNaturalWritingDirectrion is false. Since this is now a common
3803         case, made the typesetter options dictionaries static.
3804         * platform/graphics/mac/CoreTextController.h:
3805         * platform/graphics/mac/FontMacCoreText.cpp:
3806         (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
3807         (WebCore::Font::floatWidthForComplexText): Changed to allow the
3808         CoreTextController to not set the writing direction.
3809         * platform/graphics/mac/SimpleFontDataMac.mm:
3810         (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
3811         parameter and the paragraph style attribute.
3813 2008-09-19  David Hyatt  <hyatt@apple.com>
3815         Reviewed by Sam Weinig
3817         https://bugs.webkit.org/show_bug.cgi?id=20941
3819         Incorrect height calculation for replaced element inside nested
3820         positioned elements (where the inner has a percentage height and
3821         the outer implicitly has a fixed height because of explicit top/bottom
3822         values).
3824         Added fast/block/positioning/replaced-inside-top-bottom.html
3826         * rendering/RenderBox.cpp:
3827         (WebCore::RenderBox::availableHeightUsing):
3829 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
3831         Fix Tiger bustage
3833         * page/mac/AccessibilityObjectWrapper.mm:
3835 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
3837         Reviewed by Darin Adler.
3839         <rdar://problem/6211041> Expose legend tag in accessibility
3841         Exposes the legend tag as the titleUIElement of a fieldset
3843         Test: accessibility/legend.html
3845         * page/AccessibilityObject.h:
3846         (WebCore::AccessibilityObject::isFieldset):
3847         * page/AccessibilityRenderObject.cpp:
3848         (WebCore::AccessibilityRenderObject::isFieldset):
3849         (WebCore::AccessibilityRenderObject::titleUIElement):
3850         * page/AccessibilityRenderObject.h:
3851         * rendering/RenderFieldset.h:
3853 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
3855         Reviewed by Darin Adler.
3857         <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
3859         Implement a few AX API methods that will be called by AppKit, which will 
3860         speed up access to accessibility objects
3862         * page/mac/AccessibilityObjectWrapper.mm:
3863         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
3864         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
3865         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
3867 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
3869         Reviewed by Simon Hausmann.
3871         [qtwebkit] Set the m_should* flags to their proper value on entry
3872         With plugins it was possible that we finished a job twice. This was
3873         some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
3874         setting the flag to (m_loadMode == LoadDeferred) they will always have
3875         the right value and we will not send responses twice.
3877         * platform/network/qt/QNetworkReplyHandler.cpp:
3879 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
3881         Reviewed by Simon Hausmann.
3883         [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
3884         Handle text decoding errors before instructing the parser to parse. We
3885         have converted the text to QString and all encoding errors are gone and
3886         the parser will not be able to detect them. So handle them before parsing.
3888         * dom/XMLTokenizerQt.cpp:
3889         (WebCore::XMLTokenizer::doWrite):
3891 2008-09-18  Darin Adler  <darin@apple.com>
3893         Reviewed by Maciej Stachowiak.
3895         - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
3896           make each distinct C++ class get a distinct JSC::Structure
3898         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3899         (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
3900         instead of DOMExceptionTranslator.
3902         * bindings/js/JSDOMBinding.cpp:
3903         (WebCore::getCachedDOMObjectWrapper): Updated function name.
3904         (WebCore::cacheDOMObjectWrapper): Ditto.
3905         (WebCore::forgetDOMObject): Ditto.
3906         (WebCore::getCachedDOMNodeWrapper): Ditto.
3907         (WebCore::forgetDOMNode): Ditto.
3908         (WebCore::cacheDOMNodeWrapper): Ditto.
3909         (WebCore::forgetAllDOMNodesForDocument): Ditto.
3910         (WebCore::markDOMNodesForDocument): Ditto.
3911         (WebCore::updateDOMNodeDocument): Ditto.
3912         (WebCore::getCachedDOMStructure): Added.
3913         (WebCore::createDOMStructure): Ditto.
3915         * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
3916         class and replace the static member functions with non-member
3917         functions. Added many other functions for getting at structures,
3918         prototypes, wrappers, and creating them. Also moved the
3919         cacheGlobalObject function here from JavaScriptCore; eventually
3920         I'll remove that once I get rid of the remaining callers. Also
3921         removed the DOMExceptionTranslator class.
3923         * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
3924         and put one of those maps in each window.
3926         * bindings/js/JSDOMWindowCustom.cpp:
3927         (WebCore::markDOMObjectWrapper): Updated for function name change.
3928         (WebCore::JSDOMWindow::mark): Added code to mark all the structures
3929         in the structure map.
3931         * bindings/js/JSEventTargetNode.cpp:
3932         (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
3933         a structure instead of a prototype.
3934         * bindings/js/JSEventTargetNode.h: Ditto.
3935         * bindings/js/JSHTMLAllCollection.h:
3936         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
3938         * bindings/js/JSHTMLInputElementBase.cpp:
3939         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
3940         use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
3941         structure instead of a prototype.
3942         * bindings/js/JSHTMLInputElementBase.h: Removed use of the
3943         JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
3944         to take a structure instead of a prototype. Created a dummy prototype
3945         class that causes the HTMLInputElement prototype to have the
3946         HTMLElement prototype.
3948         * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
3949         structures instead of prototypes. Changed the prototype self function
3950         to use the getDOMPrototype function -- later we can eliminate it and
3951         have callers invoke getDOMPrototype directly instead. Updated other
3952         functions that have name changes. Added code to generate the
3953         createPrototype member function. Changed use of cacheGlobalObject to
3954         get it from the WebCore namespace instead of the JSC namespace.
3955         Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
3957         * dom/Document.cpp:
3958         (WebCore::Document::~Document): Updated for name change and also
3959         removed unnecessary JSLock use -- there's no need to lock around this.
3960         * dom/Node.cpp:
3961         (WebCore::Node::setDocument): Ditto.
3963         * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
3964         instead of calling new directly.
3966         * bindings/js/JSCSSRuleCustom.cpp:
3967         (WebCore::toJS): Updated for function name changes and used the
3968         CREATE_DOM_OBJECT_WRAPPER macro.
3969         * bindings/js/JSCSSValueCustom.cpp:
3970         (WebCore::toJS): Ditto.
3971         * bindings/js/JSCanvasPixelArrayCustom.cpp:
3972         (WebCore::toJS): Ditto.
3973         * bindings/js/JSDocumentCustom.cpp:
3974         (WebCore::JSDocument::mark): Ditto.
3975         (WebCore::toJS): Ditto.
3976         * bindings/js/JSElementCustom.cpp:
3977         (WebCore::toJSNewlyCreated): Ditto.
3978         * bindings/js/JSEventCustom.cpp:
3979         (WebCore::toJS): Ditto.
3980         * bindings/js/JSEventTargetBase.cpp:
3981         (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
3982         of DOMExceptionTranslator.
3983         (WebCore::toJS): Updated for function name changes and used the
3984         CREATE_DOM_OBJECT_WRAPPER macro.
3985         * bindings/js/JSHTMLCollectionCustom.cpp:
3986         (WebCore::toJS): Ditto.
3987         * bindings/js/JSNodeCustom.cpp:
3988         (WebCore::JSNode::mark): Ditto.
3989         (WebCore::createWrapper): Ditto.
3990         (WebCore::toJS): Ditto.
3991         * bindings/js/JSSVGPathSegCustom.cpp:
3992         (WebCore::toJS): Ditto.
3993         * bindings/js/JSStyleSheetCustom.cpp:
3994         (WebCore::toJS): Ditto.
3995         (WebCore::JSStyleSheet::mark): Ditto.
3996         * bindings/js/JSTextCustom.cpp:
3997         (WebCore::toJSNewlyCreated): Ditto.
3998         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3999         (WebCore::constructXMLHttpRequest): Ditto.
4000         * bindings/js/JSXMLHttpRequestCustom.cpp:
4001         (WebCore::JSXMLHttpRequest::mark): Ditto.
4002         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4003         (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
4004         * bindings/js/JSXSLTProcessorConstructor.cpp:
4005         (WebCore::constructXSLTProcessor): Ditto.
4006         * bindings/js/ScriptController.cpp:
4007         (WebCore::ScriptController::finishedWithEvent): Ditto.
4008         * xml/XMLHttpRequest.cpp:
4009         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
4010         (WebCore::XMLHttpRequest::dropProtection): Ditto.
4012 2008-09-18  David Hyatt  <hyatt@apple.com>
4014         This patch gets a viewless scrollbar working on Mac. It is turned off
4015         by default.  Hit testing works.  For now the scrollbar just paints ugly
4016         debug rects in the place of the buttons, track and thumb.  It does match
4017         Aqua metrics though.
4019         Reviewed by Sam Weinig
4021         * WebCore.xcodeproj/project.pbxproj:
4022         * page/mac/EventHandlerMac.mm:
4023         (WebCore::EventHandler::passMousePressEventToScrollbar):
4024         * platform/ScrollbarThemeComposite.cpp:
4025         (WebCore::ScrollbarThemeComposite::paint):
4026         (WebCore::ScrollbarThemeComposite::trackPosition):
4027         * platform/ScrollbarThemeComposite.h:
4028         * platform/mac/ScrollViewMac.mm:
4029         (WebCore::ScrollView::addChild):
4030         * platform/mac/ScrollbarThemeMac.cpp:
4031         (WebCore::):
4032         (WebCore::ScrollbarThemeMac::hasButtons):
4033         (WebCore::ScrollbarThemeMac::hasThumb):
4034         (WebCore::buttonRepaintRect):
4035         (WebCore::ScrollbarThemeMac::backButtonRect):
4036         (WebCore::ScrollbarThemeMac::forwardButtonRect):
4037         (WebCore::trackRepaintRect):
4038         (WebCore::ScrollbarThemeMac::trackRect):
4039         (WebCore::ScrollbarThemeMac::minimumThumbLength):
4040         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
4041         (WebCore::ScrollbarThemeMac::paintTrack):
4042         (WebCore::ScrollbarThemeMac::paintButton):
4043         (WebCore::ScrollbarThemeMac::paintThumb):
4044         * platform/mac/ScrollbarThemeMac.h:
4045         (WebCore::ScrollbarThemeMac::supportsControlTints):
4046         * platform/qt/ScrollbarThemeQt.cpp:
4047         (WebCore::ScrollbarThemeQt::trackPosition):
4049 2008-09-18  Collin Jackson  <collinj@webkit.org>
4051         Build fix; added missing header file to GNUmakefile.am
4053         * GNUmakefile.am:
4055 2008-09-18  Sam Weinig  <sam@webkit.org>
4057         Reviewed by David "the Hair" Hyatt.
4059         Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
4061         * GNUmakefile.am:
4062         * WebCore.pro:
4063         * WebCore.vcproj/WebCore.vcproj:
4064         * WebCore.xcodeproj/project.pbxproj:
4065         * rendering/DataRef.h: Removed.
4066         * rendering/SVGRenderStyle.cpp: Removed.
4067         * rendering/SVGRenderStyle.h: Removed.
4068         * rendering/SVGRenderStyleDefs.cpp: Removed.
4069         * rendering/SVGRenderStyleDefs.h: Removed.
4070         * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
4071         * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
4072         * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
4073         * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
4074         * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
4076 2008-09-18  Mark Rowe  <mrowe@apple.com>
4078         Reviewed by Dan Bernstein.
4080         Add a means of clearing a FrameTree's name.
4082         * WebCore.base.exp:
4083         * page/FrameTree.cpp:
4084         (WebCore::FrameTree::clearName):
4085         * page/FrameTree.h:
4087 2008-09-18  David Hyatt  <hyatt@apple.com>
4089         Eliminate addToSuperview from Widget, since it was only called
4090         by ScrollViewMac's addChild method.  Just shift the original body
4091         of addToSuperView into addChild.
4093         Reviewed by Sam Weinig
4095         * platform/Widget.h:
4096         * platform/mac/ScrollViewMac.mm:
4097         (WebCore::ScrollView::addChild):
4098         * platform/mac/WidgetMac.mm:
4100 2008-09-18  Collin Jackson  <collinj@webkit.org>
4102         Reviewed by Antti Koivisto and Mark Rowe.
4104         Test: http/tests/misc/dns-prefetch-control.html
4106         https://bugs.webkit.org/show_bug.cgi?id=20690
4108         Invoke WebCore::prefetchDNS() on host names that appear in
4109         in the href of hyperlinks and <link rel="dns-prefetch">. This 
4110         can be used to implement DNS prefetching.
4112         * WebCore.vcproj/WebCore.vcproj:
4113         * WebCore.xcodeproj/project.pbxproj:
4114         * dom/Document.cpp:
4115         (WebCore::Document::Document):
4116         (WebCore::Document::processHttpEquiv):
4117         (WebCore::Document::setSecurityOrigin):
4118         (WebCore::Document::initDNSPrefetch):
4119         (WebCore::Document::parseDNSPrefetchControlHeader):
4120         * dom/Document.h:
4121         (WebCore::Document::isDNSPrefetchEnabled):
4122         * html/HTMLAnchorElement.cpp:
4123         (WebCore::HTMLAnchorElement::parseMappedAttribute):
4124         * html/HTMLLinkElement.cpp:
4125         (WebCore::HTMLLinkElement::HTMLLinkElement):
4126         (WebCore::HTMLLinkElement::parseMappedAttribute):
4127         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
4128         (WebCore::HTMLLinkElement::process):
4129         * html/HTMLLinkElement.h:
4130         * html/PreloadScanner.cpp:
4131         (WebCore::PreloadScanner::processAttribute):
4132         * loader/FrameLoader.cpp:
4133         (WebCore::FrameLoader::begin):
4134         * platform/gtk/TemporaryLinkStubs.cpp:
4135         (WebCore::prefetchDNS):
4136         * platform/network/DNS.h: Added.
4137         * platform/network/cf/DNSCFNet.cpp: Added.
4138         (WebCore::prefetchDNS):
4139         * platform/qt/TemporaryLinkStubs.cpp:
4140         (WebCore::prefetchDNS):
4141         * platform/wx/TemporaryLinkStubs.cpp:
4142         (WebCore::prefetchDNS):
4144 2008-09-18  David Hyatt  <hyatt@apple.com>
4146         Eliminate the convertToScreenCoordinate method on Widget, since
4147         ScrollView has redundant methods that already do the same thing.
4149         Reviewed by Sam Weinig
4151         * editing/mac/SelectionControllerMac.mm:
4152         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
4153         * platform/Widget.h:
4154         * platform/mac/WidgetMac.mm:
4155         (WebCore::Widget::containingWindow):
4157 2008-09-18  David Hyatt  <hyatt@apple.com>
4159         Move to only one constructor for Widgets.  Rename data to m_data and make
4160         it have an #ifdef only for platforms that have platform-specific data (Mac
4161         and Gtk).
4163         Reviewed by Sam Weinig
4165         * WebCore.base.exp:
4166         * platform/Widget.cpp:
4167         (WebCore::Widget::init):
4168         * platform/Widget.h:
4169         * platform/gtk/WidgetGtk.cpp:
4170         (WebCore::Widget::Widget):
4171         (WebCore::Widget::~Widget):
4172         (WebCore::Widget::cursor):
4173         (WebCore::Widget::setCursor):
4174         * platform/mac/WidgetMac.mm:
4175         (WebCore::Widget::Widget):
4176         (WebCore::Widget::~Widget):
4177         (WebCore::Widget::addToSuperview):
4178         (WebCore::Widget::removeFromSuperview):
4179         (WebCore::Widget::beforeMouseDown):
4180         (WebCore::Widget::afterMouseDown):
4181         * platform/qt/WidgetQt.cpp:
4182         (WebCore::Widget::Widget):
4183         * platform/win/WidgetWin.cpp:
4184         (WebCore::Widget::Widget):
4185         * platform/wx/WidgetWx.cpp:
4186         (WebCore::Widget::Widget):
4188 2008-09-18  David Hyatt  <hyatt@apple.com>
4190         Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
4191         was no reason for it to be on Widget.  This change eliminates Qt ifdefs
4192         from Widget.
4194         Reviewed by Sam Weinig
4196         * bindings/js/ScriptControllerQt.cpp:
4197         (WebCore::ScriptController::createScriptInstanceForWidget):
4198         * platform/qt/WidgetQt.cpp:
4199         (WebCore::WidgetPrivate::WidgetPrivate):
4200         (WebCore::WidgetPrivate::~WidgetPrivate):
4201         (WebCore::Widget::Widget):
4202         (WebCore::Widget::~Widget):
4203         * plugins/PluginView.cpp:
4204         (WebCore::PluginView::PluginView):
4205         * plugins/PluginView.h:
4206         (WebCore::PluginView::isNPAPIPlugin):
4207         (WebCore::PluginView::setIsNPAPIPlugin):
4209 2008-09-18  David Hyatt  <hyatt@apple.com>
4211         Make geometryChanged() cross-platform on Widget.  GTK and WIN platform
4212         ifdefs are now gone from Widget!
4214         Reviewed by Sam Weinig
4216         * platform/Widget.h:
4217         (WebCore::Widget::geometryChanged):
4218         * platform/gtk/WidgetGtk.cpp:
4219         * platform/qt/WidgetQt.cpp:
4221 2008-09-18  David Hyatt  <hyatt@apple.com>
4223         Consolidate convertTo/FromContainingWindow methods so that all platforms
4224         but Mac share the same code.
4226         Move convertSelfToChild and convertChildToSelf to ScrollView, since
4227         Widget should know nothing about children.  Make the methods cross-platform
4228         on ScrollView.
4230         Reviewed by Sam Weinig
4232         * platform/ScrollView.h:
4233         (WebCore::ScrollView::convertChildToSelf):
4234         (WebCore::ScrollView::convertSelfToChild):
4235         * platform/Widget.cpp:
4236         (WebCore::Widget::convertToContainingWindow):
4237         (WebCore::Widget::convertFromContainingWindow):
4238         * platform/Widget.h:
4239         (WebCore::Widget::geometryChanged):
4240         * platform/gtk/ScrollViewGtk.cpp:
4241         (WebCore::ScrollView::isScrollViewScrollbar):
4242         * platform/gtk/WidgetGtk.cpp:
4243         * platform/mac/ScrollViewMac.mm:
4244         (WebCore::ScrollView::isScrollViewScrollbar):
4245         * platform/mac/WidgetMac.mm:
4246         * platform/qt/ScrollViewQt.cpp:
4247         (WebCore::ScrollView::isScrollViewScrollbar):
4248         * platform/qt/WidgetQt.cpp:
4249         * platform/win/ScrollViewWin.cpp:
4250         (WebCore::ScrollView::isScrollViewScrollbar):
4251         * platform/win/WidgetWin.cpp:
4253 2008-09-18  David Hyatt  <hyatt@apple.com>
4255         Make the conversion methods that go to and from some containingWindow
4256         cross-platform.  Implement them on Mac.
4258         Reviewed by Sam Weinig
4260         * platform/Widget.h:
4261         (WebCore::Widget::setContainingWindow):
4262         * platform/mac/WidgetMac.mm:
4263         (WebCore::Widget::convertFromContainingWindow):
4264         (WebCore::Widget::convertToContainingWindow):
4266 2008-09-18  Sam Weinig  <sam@webkit.org>
4268         Rubber-stamped by David "Yeah-yeah" Hyatt.
4270         Cleanup RenderStyle.
4272         * WebCore.xcodeproj/project.pbxproj:
4273         * rendering/style/CounterContent.h:
4274         * rendering/style/RenderStyle.cpp:
4275         * rendering/style/RenderStyle.h:
4277 2008-09-18  Chris Marrin  <cmarrin@apple.com>
4279         Reviewed by Sam Weinig
4281         Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
4282         Now TransformOperations and AnimationList no longer
4283         inherit from Vector<> but rather have API to access.
4285         * css/CSSComputedStyleDeclaration.cpp:
4286         (WebCore::computedTransform):
4287         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4288         * css/CSSStyleSelector.cpp:
4289         (WebCore::CSSStyleSelector::createTransformOperations):
4290         * page/animation/AnimationBase.cpp:
4291         (WebCore::blendFunc):
4292         * page/animation/CompositeAnimation.cpp:
4293         (WebCore::CompositeAnimation::updateTransitions):
4294         (WebCore::CompositeAnimation::updateKeyframeAnimations):
4295         (WebCore::CompositeAnimation::animate):
4296         * page/animation/ImplicitAnimation.cpp:
4297         (WebCore::ImplicitAnimation::validateTransformFunctionList):
4298         * page/animation/KeyframeAnimation.cpp:
4299         (WebCore::KeyframeAnimation::validateTransformFunctionList):
4300         * rendering/RenderLayer.cpp:
4301         (WebCore::RenderLayer::updateReflectionStyle):
4302         * rendering/style/AnimationList.cpp:
4303         (WebCore::AnimationList::operator==):
4304         * rendering/style/AnimationList.h:
4305         (WebCore::AnimationList::operator!=):
4306         (WebCore::AnimationList::size):
4307         (WebCore::AnimationList::isEmpty):
4308         (WebCore::AnimationList::resize):
4309         (WebCore::AnimationList::remove):
4310         (WebCore::AnimationList::append):
4311         (WebCore::AnimationList::animation):
4312         * rendering/style/RenderStyle.cpp:
4313         (WebCore::StyleRareNonInheritedData::updateKeyframes):
4314         (WebCore::RenderStyle::applyTransform):
4315         (WebCore::RenderStyle::adjustAnimations):
4316         (WebCore::RenderStyle::adjustTransitions):
4317         (WebCore::RenderStyle::transitionForProperty):
4318         * rendering/style/RenderStyle.h:
4319         (WebCore::RenderStyle::hasTransform):
4320         * rendering/style/TransformOperations.cpp:
4321         (WebCore::TransformOperations::TransformOperations):
4322         (WebCore::TransformOperations::operator==):
4323         * rendering/style/TransformOperations.h:
4324         (WebCore::TransformOperations::apply):
4325         (WebCore::TransformOperations::operations):
4327 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
4329         Build fix.
4331         [qt] Build fixes after the Widget/ScrollView cleanup
4332         topLevel() is now root()
4335         * platform/qt/ScrollViewQt.cpp:
4336         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4337         (WebCore::ScrollView::addChild):
4338         (WebCore::ScrollView::removeChild):
4340 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
4342         Reviewed by Mark Rowe.
4344         https://bugs.webkit.org/show_bug.cgi?id=20437
4346         XMLTokenizer.cpp used to contain two different implementations. One was using
4347         libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
4348         separating the two implementations from each other.
4349         Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
4350         was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
4351         XMLTokenizerLibxml2.cpp. There should be no functional changes.
4353         Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
4354         to work.
4356         * GNUmakefile.am:
4357         * WebCore.pro:
4358         * WebCore.vcproj/WebCore.vcproj:
4359         * WebCore.xcodeproj/project.pbxproj:
4360         * WebCoreSources.bkl:
4361         * dom/XMLTokenizer.cpp:
4362         (WebCore::isScriptElement):
4363         (WebCore::castToScriptElement):
4364         (WebCore::XMLTokenizer::setCurrentNode):
4365         (WebCore::XMLTokenizer::write):
4366         (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
4367         (WebCore::XMLTokenizer::enterText):
4368         (WebCore::toString):
4369         (WebCore::XMLTokenizer::exitText):
4370         (WebCore::XMLTokenizer::end):
4371         (WebCore::XMLTokenizer::insertErrorMessageBlock):
4372         * dom/XMLTokenizer.h:
4373         (WebCore::XMLTokenizer::wellFormed):
4374         * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
4375         (WebCore::createMemoryParser):
4376         (WebCore::XMLTokenizer::XMLTokenizer):
4377         (WebCore::XMLTokenizer::~XMLTokenizer):
4378         (WebCore::XMLTokenizer::doWrite):
4379         (WebCore::ignorableWhitespaceHandler):
4380         (WebCore::XMLTokenizer::initializeParserContext):
4381         (WebCore::XMLTokenizer::doEnd):
4382         (WebCore::XMLTokenizer::lineNumber):
4383         (WebCore::XMLTokenizer::columnNumber):
4384         (WebCore::XMLTokenizer::stopParsing):
4385         (WebCore::XMLTokenizer::resumeParsing):
4386         (WebCore::parseXMLDocumentFragment):
4387         (WebCore::attributesStartElementNsHandler):
4388         (WebCore::parseAttributes):
4389         * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
4390         (WebCore::EntityResolver::resolveUndeclaredEntity):
4391         (WebCore::XMLTokenizer::XMLTokenizer):
4392         (WebCore::XMLTokenizer::~XMLTokenizer):
4393         (WebCore::XMLTokenizer::doWrite):
4394         (WebCore::XMLTokenizer::initializeParserContext):
4395         (WebCore::XMLTokenizer::doEnd):
4396         (WebCore::XMLTokenizer::lineNumber):
4397         (WebCore::XMLTokenizer::columnNumber):
4398         (WebCore::XMLTokenizer::stopParsing):
4399         (WebCore::XMLTokenizer::resumeParsing):
4400         (WebCore::parseXMLDocumentFragment):
4401         (WebCore::attributesStartElementNsHandler):
4402         (WebCore::parseAttributes):
4403         (WebCore::):
4405 2008-09-18  Beth Dakin  <bdakin@apple.com>
4407         Reviewed by Geoff Garen.
4409         Build fix for non-Mac builds.
4411         * css/CSSPrimitiveValue.cpp:
4412         (WebCore::CSSPrimitiveValue::cssText):
4414 2008-09-18  Peter Kasting  <pkasting@google.com>
4416         Reviewed by hyatt.  Landed by eseidel.
4418         https://bugs.webkit.org/show_bug.cgi?id=20745
4419         Animated GIFs do not animate properly with (at least) CG.
4421         * WebCore\platform\graphics\BitmapImage.cpp:
4422         * WebCore\platform\graphics\BitmapImage.h:
4423         * WebCore\platform\graphics\cairo\ImageCairo.cpp:
4424         * WebCore\platform\graphics\cg\ImageCG.cpp:
4425         * WebCore\platform\graphics\qt\ImageQt.cpp:
4426         * WebCore\platform\graphics\wx\ImageWx.cpp:
4428 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
4430         Reviewed by Beth Dakin
4432         <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA 
4433         role specifies otherwise
4435         If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
4437         Test: accessibility/table-with-aria-role.html
4439         * page/AccessibilityTable.cpp:
4440         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
4441         (WebCore::AccessibilityTable::addChildren):
4442         (WebCore::AccessibilityTable::roleValue):
4443         (WebCore::AccessibilityTable::accessibilityIsIgnored):
4444         (WebCore::AccessibilityTable::title):
4445         * page/AccessibilityTableCell.cpp:
4446         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
4447         (WebCore::AccessibilityTableCell::isTableCell):
4448         (WebCore::AccessibilityTableCell::roleValue):
4449         * page/AccessibilityTableCell.h:
4450         * page/AccessibilityTableRow.cpp:
4451         (WebCore::AccessibilityTableRow::roleValue):
4452         (WebCore::AccessibilityTableRow::isTableRow):
4453         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
4454         * page/AccessibilityTableRow.h:
4456 2008-09-18  Steve Falkenburg  <sfalken@apple.com>
4458         Use higher-resolution timers on all variants of Windows.
4459         
4460         Reviewed by Darin Adler.
4462         * platform/win/SharedTimerWin.cpp:
4463         (WebCore::setSharedTimerFireTime):
4466 2008-09-18  David Hyatt  <hyatt@apple.com>
4468         Make containingWindow() and setContainingWindow() cross-platform.
4469         Add a root() function cross-platform so Qt doesn't have to
4470         define its own.
4472         Reviewed by Darin Adler
4474         * platform/Widget.cpp:
4475         (WebCore::Widget::root):
4476         * platform/Widget.h:
4477         (WebCore::Widget::setContainingWindow):
4478         * platform/gtk/WidgetGtk.cpp:
4479         (WebCore::Widget::Widget):
4480         (WebCore::Widget::containingWindow):
4481         * platform/mac/ScrollViewMac.mm:
4482         (WebCore::ScrollView::addChild):
4483         (WebCore::ScrollView::removeChild):
4484         * platform/mac/WidgetMac.mm:
4485         (WebCore::Widget::containingWindow):
4486         * platform/qt/WidgetQt.cpp:
4487         (WebCore::Widget::invalidateRect):
4488         (WebCore::Widget::containingWindow):
4489         * platform/win/WidgetWin.cpp:
4490         (WebCore::Widget::Widget):
4491         (WebCore::Widget::~Widget):
4492         (WebCore::Widget::containingWindow):
4494 2008-09-18  Beth Dakin  <bdakin@apple.com>
4496         Reviewed by Dave Hyatt.
4498         Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon 
4499         parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
4500         dashboard-region=
4501         and corresponding: <rdar://problem/6174100>
4503         This patch makes CSSParserValue::createCSSValue handle unknown 
4504         identifiers.
4506         * css/CSSParserValues.cpp:
4507         (WebCore::CSSParserValue::createCSSValue): If we have an identifier 
4508         with no id (an unknown identifier) create a CSSPrimitiveValue of 
4509         type CSS_PARSER_IDENTIFIER
4510         * css/CSSPrimitiveValue.cpp:
4511         (WebCore::CSSPrimitiveValue::cssText):
4512         (WebCore::CSSPrimitiveValue::parserValue):
4513         * css/CSSPrimitiveValue.h:
4514         (WebCore::CSSPrimitiveValue::):
4516 2008-09-18  Sam Weinig  <sam@webkit.org>
4518         Rubber-stamped by David "I'd prefer not" Hyatt.
4520         More the remaining class out of RenderStyle.h/cpp
4522         * GNUmakefile.am:
4523         * WebCore.pro:
4524         * WebCore.vcproj/WebCore.vcproj:
4525         * WebCore.xcodeproj/project.pbxproj:
4526         * WebCoreSources.bkl:
4527         * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
4528         (WebCore::CursorData::CursorData):
4529         (WebCore::CursorData::operator==):
4530         (WebCore::CursorData::operator!=):
4531         * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
4532         (WebCore::CursorList::operator[]):
4533         (WebCore::CursorList::CursorList):
4534         * rendering/style/RenderStyle.cpp:
4535         * rendering/style/RenderStyle.h:
4536         (WebCore::RenderStyle::deref):
4537         (WebCore::RenderStyle::hasOneRef):
4538         (WebCore::RenderStyle::InheritedFlags::operator!=):
4539         (WebCore::RenderStyle::NonInheritedFlags::operator!=):
4540         (WebCore::RenderStyle::hasBackground):
4541         (WebCore::RenderStyle::outlineWidth):
4542         (WebCore::RenderStyle::autoWrap):
4543         (WebCore::RenderStyle::preserveNewline):
4544         (WebCore::RenderStyle::collapseWhiteSpace):
4545         (WebCore::RenderStyle::isCollapsibleWhiteSpace):
4546         (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
4547         (WebCore::RenderStyle::breakWords):
4548         (WebCore::RenderStyle::outlineOffset):
4549         (WebCore::RenderStyle::setLeft):
4550         (WebCore::RenderStyle::setRight):
4551         (WebCore::RenderStyle::setTop):
4552         (WebCore::RenderStyle::setBottom):
4553         (WebCore::RenderStyle::setDashboardRegion):
4554         (WebCore::RenderStyle::setBackgroundColor):
4555         (WebCore::RenderStyle::setBorderImage):
4556         (WebCore::RenderStyle::setBorderRadius):
4557         (WebCore::RenderStyle::setFontDescription):
4558         (WebCore::RenderStyle::adjustBackgroundLayers):
4559         (WebCore::RenderStyle::adjustMaskLayers):
4560         (WebCore::RenderStyle::deleteBindingURIs):
4561         (WebCore::RenderStyle::inheritBindingURIs):
4562         (WebCore::RenderStyle::isDisplayReplacedType):
4563         (WebCore::RenderStyle::isDisplayInlineType):
4564         (WebCore::RenderStyle::isOriginalDisplayInlineType):
4565         * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4566         * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
4567         (WebCore::StyleInheritedData::operator!=):
4568         * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4569         * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
4570         (WebCore::StyleRareInheritedData::operator!=):
4571         * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4572         * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
4573         * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
4575 2008-09-18  David Hyatt  <hyatt@apple.com>
4577         Move the concept of suppression invalidation on Widgets to Scrollbar
4578         instead.  Since this is only used by Scrollbars, there is no need for
4579         it to be on Widget.
4581         Reviewed by Sam Weinig
4583         * platform/Scrollbar.cpp:
4584         (WebCore::Scrollbar::Scrollbar):
4585         (WebCore::Scrollbar::invalidateRect):
4586         * platform/Scrollbar.h:
4587         (WebCore::Scrollbar::suppressInvalidation):
4588         (WebCore::Scrollbar::setSuppressInvalidation):
4589         * platform/Widget.h:
4590         * platform/gtk/WidgetGtk.cpp:
4591         (WebCore::Widget::Widget):
4592         (WebCore::Widget::invalidateRect):
4593         * platform/qt/WidgetQt.cpp:
4594         (WebCore::WidgetPrivate::WidgetPrivate):
4595         (WebCore::Widget::invalidateRect):
4596         * platform/win/WidgetWin.cpp:
4597         (WebCore::Widget::Widget):
4598         (WebCore::Widget::invalidateRect):
4600 2008-09-18  David Hyatt  <hyatt@apple.com>
4602         Make invalidate() on Widget non-virtual and make it just call
4603         invalidateRect() on the boundsGeometry() of the Widget.
4605         Reviewed by Dan Bernstein
4607         * platform/Widget.h:
4608         (WebCore::Widget::boundsGeometry):
4609         (WebCore::Widget::invalidate):
4610         * platform/gtk/WidgetGtk.cpp:
4611         * platform/mac/WidgetMac.mm:
4612         * platform/qt/WidgetQt.cpp:
4613         * platform/win/WidgetWin.cpp:
4614         * platform/wx/WidgetWx.cpp:
4616 2008-09-18  Sam Weinig  <sam@webkit.org>
4618         Rubber-stamped in exile by David Hyatt.
4620         Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
4621         KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
4622         RenderStyle.h/cpp
4624         * GNUmakefile.am:
4625         * WebCore.pro:
4626         * WebCore.vcproj/WebCore.vcproj:
4627         * WebCore.xcodeproj/project.pbxproj:
4628         * WebCoreSources.bkl:
4629         * css/CSSStyleSelector.cpp:
4630         * css/CSSStyleSelector.h:
4631         * page/animation/CompositeAnimation.cpp:
4632         * page/animation/KeyframeAnimation.cpp:
4633         * page/animation/KeyframeAnimation.h:
4634         * rendering/RenderCounter.h:
4635         * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
4636         (WebCore::Animation::~Animation):
4637         (WebCore::Animation::animationsMatch):
4638         (WebCore::Animation::keyframeList):
4639         (WebCore::Animation::setAnimationKeyframe):
4640         * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
4641         * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
4642         * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
4643         * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
4644         * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
4645         (WebCore::BindingURI::operator!=):
4646         * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
4647         * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
4648         (WebCore::ContentData::ContentData):
4649         (WebCore::ContentData::~ContentData):
4650         * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
4651         (WebCore::CounterContent::CounterContent):
4652         * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
4653         * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
4654         (WebCore::CounterDirectives::CounterDirectives):
4655         * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
4656         (WebCore::KeyframeList::insert):
4657         * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
4658         (WebCore::KeyframeValue::KeyframeValue):
4659         (WebCore::KeyframeList::create):
4660         (WebCore::KeyframeList::KeyframeList):
4661         * rendering/style/RenderStyle.cpp:
4662         * rendering/style/RenderStyle.h:
4663         * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
4664         * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
4665         (WebCore::ShadowData::ShadowData):
4666         (WebCore::ShadowData::~ShadowData):
4667         (WebCore::ShadowData::operator!=):
4668         * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
4669         * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
4670         (WebCore::StyleFlexibleBoxData::operator!=):
4671         * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
4672         (WebCore::TimingFunction::TimingFunction):
4673         (WebCore::TimingFunction::operator==):
4675 2008-09-18  Adele Peterson  <adele@apple.com>
4677         Reviewed by Dan Bernstein.
4679         Fix RenderStyle leaks.
4681         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
4683 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
4685         Accidentally checked in code.
4687         * html/HTMLElementFactory.cpp:
4688         (WebCore::frameConstructor):
4689         (WebCore::iframeConstructor):
4691 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
4693         Reviewed by Tim.
4695         <rdar://problem/5722310> gracefully handle too many console messages
4696         (20904)
4697         - Keep track of the most previous message and then compare it to the 
4698         subsequent messages as they come in.  If there are multiple of the same
4699         message create a count that indicates the current number.
4701         * manual-tests/inspector/multiple-console-messages.html: Added.
4702         * page/inspector/Console.js:
4703         * page/inspector/inspector.css:
4705 2008-09-18  Jonathon Jongsma  <jonathon@quotidian.org>
4707         Reviewed by Alp Toker
4709         https://bugs.webkit.org/show_bug.cgi?id=20830
4710         [GTK] Don't use deprecated pango API
4712         Replace deprecated pango functions with non-deprecated ones for newer
4713         versions of pango
4715         * platform/graphics/gtk/FontGtk.cpp:
4716         (WebCore::getDefaultPangoLayout):
4717         * platform/graphics/gtk/FontPlatformDataPango.cpp:
4718         (WebCore::FontPlatformData::FontPlatformData):
4720 2008-09-18  Alp Toker  <alp@nuanti.com>
4722         Build fix for r36587. Add new sources (and sort the lists).
4724         * GNUmakefile.am:
4726 2008-09-17  Sam Weinig  <sam@webkit.org>
4728         Fix Windows build.
4730         * WebCore.vcproj/WebCore.vcproj:
4732 2008-09-17  David Hyatt  <hyatt@apple.com>
4734         Switch back to having frameGeometry be virtual in order to keep Mac
4735         the way it used to be.
4737         Reviewed by Sam Weinig
4739         * WebCore.base.exp:
4740         * platform/Widget.cpp:
4741         (WebCore::Widget::setParent):
4742         * platform/Widget.h:
4743         * platform/gtk/WidgetGtk.cpp:
4744         (WebCore::Widget::frameGeometry):
4745         (WebCore::Widget::setFrameGeometry):
4746         * platform/mac/WidgetMac.mm:
4747         (WebCore::Widget::frameGeometry):
4748         (WebCore::Widget::setFrameGeometry):
4749         * platform/qt/WidgetQt.cpp:
4750         (WebCore::Widget::frameGeometry):
4751         (WebCore::Widget::setFrameGeometry):
4752         * platform/win/WidgetWin.cpp:
4753         (WebCore::Widget::frameGeometry):
4754         (WebCore::Widget::setFrameGeometry):
4755         * platform/wx/WidgetWx.cpp:
4756         (WebCore::Widget::frameGeometry):
4757         (WebCore::Widget::setFrameGeometry):
4758         * plugins/PluginView.cpp:
4759         (WebCore::PluginView::setFrameGeometry):
4760         (WebCore::PluginView::geometryChanged):
4761         * plugins/PluginView.h:
4762         * plugins/gtk/PluginViewGtk.cpp:
4763         (WebCore::PluginView::updatePluginWidget):
4764         * plugins/qt/PluginViewQt.cpp:
4765         (WebCore::PluginView::updatePluginWidget):
4766         * plugins/win/PluginViewWin.cpp:
4767         (WebCore::PluginView::updatePluginWidget):
4769 2008-09-17  Sam Weinig  <sam@webkit.org>
4771         Reviewed by Mark Rowe.
4773         Fix assertion in DOMWindow::adjustWindowRect where we were passing
4774         in garbage values and were getting lucky that they were a not Nan.
4776         * bindings/js/JSDOMWindowBase.cpp:
4777         (WebCore::windowProtoFuncOpen):
4779 2008-09-17  Sam Weinig  <sam@webkit.org>
4781         Fix gtk build.
4783         * rendering/style/MatrixTransformOperation.cpp:
4785 2008-09-17  Sam Weinig  <sam@webkit.org>
4787         Rubber-stamped with love by David Hyatt.
4789         Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, 
4790         ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
4791         TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
4793         * GNUmakefile.am:
4794         * WebCore.pro:
4795         * WebCore.vcproj/WebCore.vcproj:
4796         * WebCore.xcodeproj/project.pbxproj:
4797         * WebCoreSources.bkl:
4798         * css/CSSStyleSelector.cpp:
4799         * page/animation/AnimationBase.cpp:
4800         (WebCore::solveEpsilon):
4801         * rendering/RenderLayer.cpp:
4802         * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4803         * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4804         * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4805         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
4806         * rendering/style/RenderStyle.cpp:
4807         * rendering/style/RenderStyle.h:
4808         * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4809         * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4810         (WebCore::RotateTransformOperation::RotateTransformOperation):
4811         * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4812         * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4813         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
4814         * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4815         * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4816         (WebCore::SkewTransformOperation::SkewTransformOperation):
4817         * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
4818         * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
4819         (WebCore::StyleTransformData::operator!=):
4820         * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
4821         (WebCore::TransformOperation::):
4822         * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
4823         (WebCore::TransformOperations::TransformOperations):
4824         * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
4825         (WebCore::TransformOperations::operator!=):
4826         * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4827         * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4828         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
4830 2008-09-17  Mark Rowe  <mrowe@apple.com>
4832         Build fix.
4834         * rendering/style/StyleDashboardRegion.h:  PlatformString.h rather than String.h.
4836 2008-09-17  David Hyatt  <hyatt@apple.com>
4838         (1) Inline a bunch of methods for accessing frame geometry.
4839         (2) Make sure frameGeometry() works even when you have no underlying
4840         native widget.
4841         (3) Cache a frame geometry rect cross-platform (even for widgets that
4842         have underlying native widgets.
4843         (4) PluginView's updateWindow call is now a virtual function on Widget.
4845         Reviewed by Sam Weinig
4847         * ChangeLog:
4848         * WebCore.base.exp:
4849         * platform/Widget.cpp:
4850         (WebCore::Widget::setFrameGeometry):
4851         * platform/Widget.h:
4852         (WebCore::Widget::x):
4853         (WebCore::Widget::y):
4854         (WebCore::Widget::width):
4855         (WebCore::Widget::height):
4856         (WebCore::Widget::size):
4857         (WebCore::Widget::pos):
4858         (WebCore::Widget::frameGeometry):
4859         (WebCore::Widget::resize):
4860         (WebCore::Widget::move):
4861         (WebCore::Widget::isFrameView):
4862         (WebCore::Widget::windowClipRect):
4863         * platform/mac/WidgetMac.mm:
4864         (WebCore::Widget::~Widget):
4865         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
4866         * platform/win/WidgetWin.cpp:
4867         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
4868         * plugins/PluginView.cpp:
4869         (WebCore::PluginView::setFrameGeometry):
4870         (WebCore::PluginView::geometryChanged):
4871         * plugins/PluginView.h:
4872         * plugins/gtk/PluginViewGtk.cpp:
4873         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4874         * plugins/qt/PluginViewQt.cpp:
4875         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4876         * plugins/win/PluginViewWin.cpp:
4877         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4878         * plugins/wx/PluginViewWx.cpp:
4880 2008-09-17  Sam Weinig  <sam@webkit.org>
4882         Reviewed by David "Waterman" Hyatt.
4884         Fix a leak of NSViews in WidgetMac.mm.
4886         * platform/mac/WidgetMac.mm:
4887         (WebCore::Widget::~Widget):
4889 2008-09-17  Sam Weinig  <sam@webkit.org>
4891         Rubber-stamped by David Waterman Hyatt.
4893         Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
4894         StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
4896         * GNUmakefile.am:
4897         * WebCore.pro:
4898         * WebCore.vcproj/WebCore.vcproj:
4899         * WebCore.xcodeproj/project.pbxproj:
4900         * WebCoreSources.bkl:
4901         * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
4902         * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
4903         (WebCore::FillLayer::operator!=):
4904         (WebCore::FillLayer::hasImage):
4905         (WebCore::FillLayer::hasFixedImage):
4906         * rendering/style/RenderStyle.cpp:
4907         * rendering/style/RenderStyle.h:
4908         * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
4909         (WebCore::StyleBackgroundData::StyleBackgroundData):
4910         * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
4911         (WebCore::StyleBackgroundData::~StyleBackgroundData):
4912         (WebCore::StyleBackgroundData::operator!=):
4913         * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
4914         * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
4915         (WebCore::StyleBoxData::operator!=):
4916         * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
4917         (WebCore::StyleDashboardRegion::operator!=):
4918         * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
4919         * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
4920         (WebCore::StyleMarqueeData::operator!=):
4921         * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
4922         * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
4923         (WebCore::StyleMultiColData::operator!=):
4924         (WebCore::StyleMultiColData::ruleWidth):
4925         * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
4926         * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
4927         (WebCore::StyleVisualData::operator==):
4929 2008-09-17  David Hyatt  <hyatt@apple.com>
4931         Remove WidgetClient from Widget.
4933         Reviewed by Sam Weinig
4935         * WebCore.xcodeproj/project.pbxproj:
4936         * platform/Widget.h:
4937         (WebCore::Widget::setClient):
4938         (WebCore::Widget::client):
4939         * platform/WidgetClient.h: Removed.
4940         * platform/gtk/WidgetGtk.cpp:
4941         * platform/mac/WidgetMac.mm:
4942         (WebCore::Widget::Widget):
4943         (WebCore::Widget::show):
4944         (WebCore::Widget::hide):
4945         * platform/qt/WidgetQt.cpp:
4946         (WebCore::WidgetPrivate::WidgetPrivate):
4947         * platform/win/WidgetWin.cpp:
4948         (WebCore::Widget::Widget):
4949         * platform/wx/WidgetWx.cpp:
4950         (WebCore::Widget::Widget):
4952 2008-09-17  David Hyatt  <hyatt@apple.com>
4954         Remove isEnabled/setEnabled from Widget.  The concept of being enabled now
4955         only applies to Scrollbars so the method has been moved there and made
4956         cross-platform.  Scrollbar subclasses that have a corresponding native
4957         widget can subclass setEnabled to change the enabled state of the native
4958         widget.
4960         Reviewed by Sam Weinig & Darin Adler
4962         * WebCore.base.exp:
4963         * platform/Scrollbar.cpp:
4964         (WebCore::Scrollbar::Scrollbar):
4965         * platform/Scrollbar.h:
4966         (WebCore::Scrollbar::enabled):
4967         (WebCore::Scrollbar::setEnabled):
4968         * platform/Widget.h:
4969         * platform/gtk/ScrollbarGtk.cpp:
4970         (ScrollbarGtk::setEnabled):
4971         * platform/gtk/ScrollbarGtk.h:
4972         * platform/gtk/WidgetGtk.cpp:
4973         * platform/mac/ScrollbarMac.h:
4974         * platform/mac/ScrollbarMac.mm:
4975         (WebCore::ScrollbarMac::scrollbarHit):
4976         (WebCore::ScrollbarMac::setEnabled):
4977         * platform/mac/WidgetMac.mm:
4978         * platform/qt/WidgetQt.cpp:
4979         (WebCore::WidgetPrivate::WidgetPrivate):
4980         * platform/win/WidgetWin.cpp:
4981         (WebCore::Widget::Widget):
4982         * platform/wx/WidgetWx.cpp:
4984 2008-09-17  Sam Weinig  <sam@webkit.org>
4986         Rubber-stamped by David Hyatt.
4988         Split all RenderStyle enums into their own file.
4990         * GNUmakefile.am:
4991         * WebCore.vcproj/WebCore.vcproj:
4992         * WebCore.xcodeproj/project.pbxproj:
4993         * rendering/style/BorderValue.h:
4994         * rendering/style/CollapsedBorderValue.h:
4995         * rendering/style/RenderStyle.h:
4996         * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
4997         (WebCore::):
4998         * rendering/style/StyleCachedImage.h:
4999         * rendering/style/StyleGeneratedImage.h:
5000         * rendering/style/StyleImage.h:
5002 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
5004         Add back isFrameView check to fix failed assertion during scroll bar teardown.
5005         
5006         Reviewed by Dave Hyatt.
5008         * platform/Scrollbar.cpp:
5009         (WebCore::Scrollbar::setParent):
5011 2008-09-17  Brady Eidson  <beidson@apple.com>
5013         Reviewed by Mac build fix
5015         * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
5017 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
5019         Fix build.
5021         * platform/win/ScrollViewWin.cpp:
5022         (WebCore::ScrollView::setParentVisible):
5023         * plugins/win/PluginViewWin.cpp:
5024         (WebCore::PluginView::init):
5026 2008-09-17  Holger Hans Peter Freyther  <zecke@selfish.org>
5028         Reviewed by Simon.
5030         [QtWebKit] Implement error handling in TextCodecQt::decode
5031         Use the QTextCodec parsing state to set the sawError out variable. This
5032         is needed to pass Test 70 of acid3. The test case for this bug is
5033         fast/encoding/invalid-xml.html that is now partially passed. To pass
5034         it completely the Qt text codecs need to be adjusted to have proper
5035         error handling.
5037         * platform/text/qt/TextCodecQt.cpp:
5038         (WebCore::TextCodecQt::decode):
5040 2008-09-17  Sam Weinig  <sam@webkit.org>
5042         Rubber-stamped by Dave Hyatt.
5044         Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
5045         out of RenderStyle.h/cpp
5047         * GNUmakefile.am:
5048         * WebCore.pro:
5049         * WebCore.vcproj/WebCore.vcproj:
5050         * WebCore.xcodeproj/project.pbxproj:
5051         * WebCoreSources.bkl:
5052         * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
5053         (WebCore::BorderData::hasBorderRadius):
5054         (WebCore::BorderData::borderLeftWidth):
5055         (WebCore::BorderData::borderRightWidth):
5056         (WebCore::BorderData::borderTopWidth):
5057         (WebCore::BorderData::borderBottomWidth):
5058         (WebCore::BorderData::operator!=):
5059         * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
5060         (WebCore::):
5061         (WebCore::BorderValue::BorderValue):
5062         (WebCore::BorderValue::nonZero):
5063         (WebCore::BorderValue::isTransparent):
5064         (WebCore::BorderValue::isVisible):
5065         * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
5066         (WebCore::):
5067         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
5068         (WebCore::CollapsedBorderValue::operator==):
5069         * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
5070         (WebCore::OutlineValue::OutlineValue):
5071         * rendering/style/RenderStyle.cpp:
5072         * rendering/style/RenderStyle.h:
5073         * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
5074         * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
5075         (WebCore::StyleSurroundData::operator!=):
5077 2008-09-17  Beth Dakin  <bdakin@apple.com>
5079         Reviewed by Darin Adler.
5081         This is a better fix for: Invalid CSS code crashes Safari
5082         https://bugs.webkit.org/show_bug.cgi?id=20512
5084         The spec indicates that the only valid input for a counter is a 
5085         number or an identifier. So that is exactly what we allow.
5087         * css/CSSParser.cpp:
5088         (WebCore::CSSParser::parseCounterContent):
5090 2008-09-17  Alp Toker  <alp@nuanti.com>
5092         GTK+ build fix. Adapt to use PlatformWidget functions.
5094         * platform/gtk/ScrollViewGtk.cpp:
5095         (WebCore::ScrollViewScrollbar::geometryChanged):
5096         (WebCore::ScrollView::addChild):
5097         (WebCore::ScrollView::removeChild):
5098         * platform/gtk/ScrollbarGtk.cpp:
5099         (ScrollbarGtk::ScrollbarGtk):
5100         (ScrollbarGtk::~ScrollbarGtk):
5101         (ScrollbarGtk::geometryChanged):
5103 2008-09-17  Sam Weinig  <sam@webkit.org>
5105         Reviewed by Adele Peterson.
5107         Patch for <rdar://problem/6133884> 
5108         Calling window.resizeTo() on a subframe shouldn't change the window size
5110         Test: fast/dom/Window/window-resize-and-move-sub-frame.html
5112         * page/DOMWindow.cpp:
5113         (WebCore::DOMWindow::moveBy):
5114         (WebCore::DOMWindow::moveTo):
5115         (WebCore::DOMWindow::resizeBy):
5116         (WebCore::DOMWindow::resizeTo):
5118 2008-09-17  Beth Dakin  <bdakin@apple.com>
5120         Reviewed by Adam Roben.
5122         Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS 
5123         code crashes Safari 
5124         and corresponding: <rdar://problem/6173832>
5126         Reading through the spec, it seems like a function is not valid 
5127         input for a counter. So this patch checks for that and bails in the 
5128         case of invalid input. 
5130         * css/CSSParser.cpp:
5131         (WebCore::CSSParser::parseCounterContent):
5133 2008-09-17  Greg Bolsinga  <bolsinga@apple.com>
5135         Reviewed by Antti Koivisto.
5137         Fix <rdar://problem/6227089> 
5138         Crash in WebCore::Frame::setNeedsReapplyStyles()
5139         
5140         View is null checked elsewhere too.
5142         * page/Frame.cpp:
5143         (WebCore::Frame::setNeedsReapplyStyles):
5145 2008-09-17  David Hyatt  <hyatt@apple.com>
5147         Make the notion of having a native widget backing a Widget cross-platform.
5148         The PlatformWidget abstraction (which already existed) is used for this.
5149              Windows = HWND
5150              Qt = QWidget
5151              Mac = NSView
5152              wx = wxWindow
5153              Gtk = GtkWidget
5155         There are new cross-platform methods that replace all of the unique
5156         platform-specific methods.
5157              platformWidget()
5158              setPlatformWidget()
5160         For plugins, on every platform except Qt on Windows, the plugin's native
5161         widget is now stored in the Widget base class.  Since Qt on Windows uses
5162         HWNDs for plugins instead of QWidget, it is the only platform to keep the
5163         m_window variable in PluginView.
5165         Reviewed by Sam Weinig
5167         * WebCore.base.exp:
5168         * bindings/js/ScriptControllerMac.mm:
5169         (WebCore::ScriptController::createScriptInstanceForWidget):
5170         * page/mac/AccessibilityObjectWrapper.mm:
5171         (-[AccessibilityObjectWrapper attachmentView]):
5172         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
5173         * page/mac/EventHandlerMac.mm:
5174         (WebCore::EventHandler::passMouseDownEventToWidget):
5175         (WebCore::EventHandler::mouseDownViewIfStillGood):
5176         (WebCore::EventHandler::passWheelEventToWidget):
5177         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
5178         * platform/Widget.cpp:
5179         (WebCore::Widget::init):
5180         (WebCore::Widget::setParent):
5181         (WebCore::Widget::releasePlatformWidget):
5182         (WebCore::Widget::retainPlatformWidget):
5183         * platform/Widget.h:
5184         (WebCore::Widget::platformWidget):
5185         (WebCore::Widget::setPlatformWidget):
5186         * platform/gtk/WidgetGtk.cpp:
5187         (WebCore::Widget::Widget):
5188         (WebCore::Widget::setFocus):
5189         (WebCore::gdkDrawable):
5190         (WebCore::Widget::setCursor):
5191         (WebCore::Widget::show):
5192         (WebCore::Widget::hide):
5193         (WebCore::Widget::setEnabled):
5194         (WebCore::Widget::isEnabled):
5195         (WebCore::Widget::paint):
5196         * platform/mac/PlatformScreenMac.mm:
5197         (WebCore::screenRect):
5198         (WebCore::screenAvailableRect):
5199         * platform/mac/ScrollViewMac.mm:
5200         (WebCore::ScrollView::scrollView):
5201         (WebCore::ScrollView::update):
5202         (WebCore::ScrollView::inWindow):
5203         * platform/mac/ScrollbarMac.mm:
5204         (WebCore::ScrollbarMac::ScrollbarMac):
5205         (WebCore::ScrollbarMac::~ScrollbarMac):
5206         (WebCore::ScrollbarMac::updateThumbPosition):
5207         (WebCore::ScrollbarMac::updateThumbProportion):
5208         (WebCore::ScrollbarMac::scrollbarHit):
5209         * platform/mac/WidgetMac.mm:
5210         (WebCore::Widget::Widget):
5211         (WebCore::Widget::setEnabled):
5212         (WebCore::Widget::isEnabled):
5213         (WebCore::Widget::setFocus):
5214         (WebCore::Widget::getOuterView):
5215         (WebCore::Widget::paint):
5216         (WebCore::Widget::invalidate):
5217         (WebCore::Widget::invalidateRect):
5218         (WebCore::Widget::setIsSelected):
5219         (WebCore::Widget::releasePlatformWidget):
5220         (WebCore::Widget::retainPlatformWidget):
5221         * platform/qt/WidgetQt.cpp:
5222         (WebCore::WidgetPrivate::WidgetPrivate):
5223         (WebCore::Widget::Widget):
5224         (WebCore::Widget::setFrameGeometry):
5225         (WebCore::Widget::show):
5226         (WebCore::Widget::hide):
5227         (WebCore::Widget::isEnabled):
5228         (WebCore::Widget::setEnabled):
5229         (WebCore::Widget::invalidateRect):
5230         (WebCore::Widget::containingWindow):
5231         * platform/win/WidgetWin.cpp:
5232         (WebCore::Widget::Widget):
5233         * platform/wx/WidgetWx.cpp:
5234         (WebCore::Widget::Widget):
5235         (WebCore::Widget::frameGeometry):
5236         (WebCore::Widget::setFocus):
5237         (WebCore::Widget::setCursor):
5238         (WebCore::Widget::show):
5239         (WebCore::Widget::hide):
5240         (WebCore::Widget::setFrameGeometry):
5241         (WebCore::Widget::setEnabled):
5242         (WebCore::Widget::isEnabled):
5243         (WebCore::Widget::invalidate):
5244         (WebCore::Widget::invalidateRect):
5245         (WebCore::Widget::paint):
5246         * plugins/PluginView.cpp:
5247         (WebCore::PluginView::PluginView):
5248         * plugins/PluginView.h:
5249         (WebCore::PluginView::platformPluginWidget):
5250         * plugins/gtk/PluginViewGtk.cpp:
5251         (WebCore::PluginView::updateWindow):
5252         (WebCore::PluginView::setFocus):
5253         (WebCore::PluginView::show):
5254         (WebCore::PluginView::hide):
5255         (WebCore::PluginView::setParent):
5256         (WebCore::PluginView::setNPWindowRect):
5257         (WebCore::PluginView::setParentVisible):
5258         (WebCore::PluginView::getValue):
5259         (WebCore::PluginView::forceRedraw):
5260         (WebCore::PluginView::init):
5261         * plugins/qt/PluginViewQt.cpp:
5262         (WebCore::PluginView::updateWindow):
5263         (WebCore::PluginView::setFocus):
5264         (WebCore::PluginView::show):
5265         (WebCore::PluginView::hide):
5266         (WebCore::PluginView::setParent):
5267         (WebCore::PluginView::setNPWindowRect):
5268         (WebCore::PluginView::setParentVisible):
5269         (WebCore::PluginView::getValue):
5270         (WebCore::PluginView::~PluginView):
5271         (WebCore::PluginView::init):
5272         * plugins/win/PluginViewWin.cpp:
5273         (WebCore::PluginView::updateWindow):
5274         (WebCore::PluginView::setFocus):
5275         (WebCore::PluginView::show):
5276         (WebCore::PluginView::hide):
5277         (WebCore::PluginView::paint):
5278         (WebCore::PluginView::setParent):
5279         (WebCore::PluginView::setParentVisible):
5280         (WebCore::PluginView::setNPWindowRect):
5281         (WebCore::PluginView::stop):
5282         (WebCore::PluginView::invalidateRect):
5283         (WebCore::PluginView::forceRedraw):
5284         (WebCore::PluginView::~PluginView):
5285         (WebCore::PluginView::init):
5287 2008-09-17  Sam Weinig  <sam@webkit.org>
5289         Fix assert.
5291         * platform/Widget.cpp:
5292         (WebCore::Widget::setParent):
5294 2008-09-17  David Hyatt  <hyatt@apple.com>
5296         Beginnings of Widget refactoring (in order to make the mixing of
5297         widgets with and without corresponding native widgets more cross-platform).
5299         This first patch makes the concept of a parent ScrollView cross-platform.
5301         Note the similarity of the show/hide methods on the three PluginViews.  This
5302         will be refactored better in a later patch so that they can all share
5303         a base class Widget show/hide method.  For now the changes were made
5304         simply to be able to bring WidgetWin's setParent method up into Widget.
5306         Reviewed by Sam Weinig
5308         * WebCore.base.exp:
5309         * platform/ScrollView.h:
5310         * platform/Widget.cpp:
5311         (WebCore::Widget::init):
5312         (WebCore::Widget::setParent):
5313         * platform/Widget.h:
5314         (WebCore::Widget::isSelfVisible):
5315         (WebCore::Widget::isParentVisible):
5316         (WebCore::Widget::isVisible):
5317         (WebCore::Widget::setParentVisible):
5318         (WebCore::Widget::isPluginView):
5319         (WebCore::Widget::parent):
5320         (WebCore::Widget::handleEvent):
5321         (WebCore::Widget::geometryChanged):
5322         * platform/gtk/WidgetGtk.cpp:
5323         (WebCore::Widget::Widget):
5324         * platform/mac/ScrollViewMac.mm:
5325         (WebCore::ScrollView::addChild):
5326         (WebCore::ScrollView::removeChild):
5327         * platform/mac/ScrollbarMac.mm:
5328         (WebCore::ScrollbarMac::~ScrollbarMac):
5329         * platform/mac/WidgetMac.mm:
5330         (WebCore::Widget::Widget):
5331         (WebCore::Widget::~Widget):
5332         * platform/qt/WidgetQt.cpp:
5333         (WebCore::WidgetPrivate::WidgetPrivate):
5334         (WebCore::Widget::Widget):
5335         (WebCore::Widget::topLevel):
5336         * platform/win/ScrollViewWin.cpp:
5337         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5338         (WebCore::ScrollView::setAncestorVisible):
5339         (WebCore::ScrollView::show):
5340         (WebCore::ScrollView::hide):
5341         * platform/win/WidgetWin.cpp:
5342         (WebCore::Widget::Widget):
5343         (WebCore::Widget::setParent):
5344         * platform/wx/WidgetWx.cpp:
5345         (WebCore::Widget::Widget):
5346         * plugins/PluginView.cpp:
5347         (WebCore::PluginView::PluginView):
5348         * plugins/PluginView.h:
5349         * plugins/gtk/PluginViewGtk.cpp:
5350         (WebCore::PluginView::show):
5351         (WebCore::PluginView::hide):
5352         (WebCore::PluginView::setParentVisible):
5353         * plugins/qt/PluginViewQt.cpp:
5354         (WebCore::PluginView::show):
5355         (WebCore::PluginView::hide):
5356         (WebCore::PluginView::setParentVisible):
5357         * plugins/win/PluginViewWin.cpp:
5358         (WebCore::PluginView::show):
5359         (WebCore::PluginView::hide):
5360         (WebCore::PluginView::setParentVisible):
5362 2008-09-17  Alexey Proskuryakov  <ap@webkit.org>
5364         Reviewed by Adam Roben.
5366         <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
5368         * platform/text/TextCodecICU.cpp:
5369         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
5371 2008-09-17  Tor Arne Vestbø  <tavestbo@trolltech.com>
5373         Fix the QtWebKit/Mac build
5375         * platform/qt/ScrollViewQt.cpp: add include
5377 2008-09-17  David Hyatt  <hyatt@apple.com>
5379         Add a #define to control whether or not to use an NSScroller on Mac.
5380         This ifdef will allow the new NSView-less NSScroller on Mac to be
5381         developed side by side with the current one.
5383         The new scroller paints a debug red if turned on (although due to
5384         Widget issues you won't see anything paint yet).
5386         Reviewed by olliej
5388         * platform/Scrollbar.cpp:
5389         * platform/Scrollbar.h:
5390         * platform/mac/ScrollbarMac.h:
5391         * platform/mac/ScrollbarMac.mm:
5392         * platform/mac/ScrollbarThemeMac.cpp:
5393         (WebCore::ScrollbarThemeMac::paint):
5394         * platform/mac/ScrollbarThemeMac.h:
5396 2008-09-16  Marco Barisione  <marco.barisione@collabora.co.uk>
5398         Reviewed by Alp Toker.
5400         http://bugs.webkit.org/show_bug.cgi?id=20854
5401         [GTK] Windows can be not realized in ScrollView::update
5403         Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
5405         * platform/gtk/ScrollViewGtk.cpp:
5406         (WebCore::ScrollView::update):
5408 2008-09-16  Alp Toker  <alp@nuanti.com>
5410         Suggested by Dave Hyatt.
5412         Build fix and cleanup. Rename ScrollBar to Scrollbar.
5414         * GNUmakefile.am:
5415         * WebCore.pro:
5416         * WebCore.vcproj/WebCore.vcproj:
5417         * WebCore.xcodeproj/project.pbxproj:
5418         * WebCoreSources.bkl:
5419         * editing/EditorCommand.cpp:
5420         * page/EventHandler.cpp:
5421         * page/gtk/EventHandlerGtk.cpp:
5422         * page/mac/EventHandlerMac.mm:
5423         * page/mac/FrameMac.mm:
5424         * page/qt/EventHandlerQt.cpp:
5425         * page/wx/EventHandlerWx.cpp:
5426         * platform/PopupMenu.h:
5427         * platform/ScrollBar.cpp: Removed.
5428         * platform/ScrollBar.h: Removed.
5429         * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
5430         * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
5431         * platform/gtk/ScrollbarGtk.cpp:
5432         (ScrollbarGtk::ScrollbarGtk):
5433         * platform/gtk/ScrollbarGtk.h:
5434         * platform/mac/ScrollbarMac.h:
5435         * platform/qt/ScrollViewQt.cpp:
5436         * platform/qt/ScrollbarQt.cpp:
5437         * platform/qt/ScrollbarThemeQt.cpp:
5438         * platform/win/PlatformScrollBar.h:
5439         * platform/win/PopupMenuWin.cpp:
5440         * platform/win/ScrollViewWin.cpp:
5441         * platform/win/ScrollbarThemeWin.cpp:
5442         * platform/wx/ScrollViewWx.cpp:
5443         * platform/wx/TemporaryLinkStubs.cpp:
5444         * rendering/HitTestResult.cpp:
5445         * rendering/RenderLayer.cpp:
5446         * rendering/RenderTextControl.cpp:
5448 2008-09-16  David Hyatt  <hyatt@apple.com>
5450         Fix Qt build bustage by making moveThumb a member of Scrollbar so that
5451         it can be called from ScrollbarQt.
5453         * platform/ScrollBar.cpp:
5454         (WebCore::Scrollbar::moveThumb):
5455         (WebCore::Scrollbar::handleMouseMoveEvent):
5456         (WebCore::Scrollbar::handleMousePressEvent):
5457         * platform/ScrollBar.h:
5458         * platform/qt/ScrollViewQt.cpp:
5459         * platform/qt/ScrollbarQt.cpp:
5460         (WebCore::Scrollbar::handleContextMenuEvent):
5462 2008-09-16  David Hyatt  <hyatt@apple.com>
5464         Eliminate PlatformScrollbar.  Mac and Gtk now have subclasses for their
5465         native-widget scrollbars (ScrollbarMac and ScrollbarGtk).  Other platforms
5466         now just use Scrollbar.
5468         Reviewed by Sam Weinig
5470         * GNUmakefile.am:
5471         * WebCore.pro:
5472         * WebCore.vcproj/WebCore.vcproj:
5473         * WebCore.xcodeproj/project.pbxproj:
5474         * page/mac/FrameMac.mm:
5475         * platform/PopupMenu.h:
5476         (WebCore::PopupMenu::scrollbar):
5477         * platform/ScrollBar.cpp:
5478         (WebCore::createNativeScrollbar):
5479         * platform/ScrollBar.h:
5480         * platform/gtk/PlatformScrollBar.h: Removed.
5481         * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
5482         * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
5483         (gtkScrollEventCallback):
5484         (ScrollbarGtk::ScrollbarGtk):
5485         (ScrollbarGtk::~ScrollbarGtk):
5486         (ScrollbarGtk::updateThumbPosition):
5487         (ScrollbarGtk::updateThumbProportion):
5488         (ScrollbarGtk::setFrameGeometry):
5489         (ScrollbarGtk::geometryChanged):
5490         (ScrollbarGtk::gtkValueChanged):
5491         * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
5492         * platform/mac/PlatformScrollBar.h: Removed.
5493         * platform/mac/PlatformScrollBarMac.mm: Removed.
5494         * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
5495         * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
5496         (-[WebCoreScrollBar initWithScrollbarMac:]):
5497         (-[WebCoreScrollBar detachScrollbarMac]):
5498         (WebCore::Scrollbar::createNativeScrollbar):
5499         (WebCore::ScrollbarMac::ScrollbarMac):
5500         (WebCore::ScrollbarMac::~ScrollbarMac):
5501         (WebCore::ScrollbarMac::updateThumbPosition):
5502         (WebCore::ScrollbarMac::updateThumbProportion):
5503         (WebCore::ScrollbarMac::scrollbarHit):
5504         * platform/qt/PlatformScrollBar.h: Removed.
5505         * platform/qt/PlatformScrollBarQt.cpp: Removed.
5506         * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
5507         (WebCore::Scrollbar::handleContextMenuEvent):
5508         * rendering/HitTestResult.cpp:
5509         * rendering/RenderLayer.cpp:
5510         (WebCore::RenderLayer::createScrollbar):
5511         (WebCore::RenderLayer::destroyScrollbar):
5512         * rendering/RenderLayer.h:
5513         * rendering/RenderListBox.cpp:
5514         (WebCore::RenderListBox::~RenderListBox):
5515         (WebCore::RenderListBox::updateFromElement):
5516         (WebCore::RenderListBox::isPointInOverflowControl):
5517         * rendering/RenderObject.h:
5518         * rendering/RenderTextControl.cpp:
5520 2008-09-16  David Hyatt  <hyatt@apple.com>
5522         Make the scrollbar resizer-dodging logic cross-platform in the
5523         Scrollbar class.
5525         Reviewed by Sam Weinig
5527         * platform/ScrollBar.cpp:
5528         (WebCore::Scrollbar::setFrameGeometry):
5529         (WebCore::Scrollbar::setParent):
5530         (WebCore::Scrollbar::windowClipRect):
5531         * platform/ScrollBar.h:
5532         * platform/ScrollView.h:
5533         (WebCore::ScrollView::windowResizerRect):
5534         (WebCore::ScrollView::resizerOverlapsContent):
5535         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
5536         * platform/Widget.h:
5537         (WebCore::Widget::setParent):
5538         * platform/mac/WidgetMac.mm:
5539         (WebCore::Widget::convertToContainingWindow):
5540         * platform/win/PlatformScrollBar.h:
5541         * platform/win/PlatformScrollBarWin.cpp:
5543 2008-09-16  Dan Bernstein  <mitz@apple.com>
5545         Reviewed by Darin Adler.
5547         - fix https://bugs.webkit.org/show_bug.cgi?id=15129
5548           <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
5550         Covered by fast/repaint/4776765.html
5552         * rendering/RenderBlock.cpp:
5553         (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
5554         did not have layout in the beginning.
5555         (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
5556         layout in the beginning, repaint it in its new position, to compensate
5557         for the above (regardless of whether it "moved").
5558         * rendering/RenderObject.cpp:
5559         (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
5560         about generalizing this fix in the future.
5562 2008-09-16  Dan Bernstein  <mitz@apple.com>
5564         Reviewed by Dave Hyatt.
5566         - fix https://bugs.webkit.org/show_bug.cgi?id=15384
5567           Div does not notice when grandparent changes height
5569         Test: fast/block/basic/quirk-percent-height-grandchild.html
5571         - fix https://bugs.webkit.org/show_bug.cgi?id=20714
5572           Resizing Gmail inbox vertically results in whitespace at the bottom of the window
5574         Test: fast/replaced/percent-height-in-anonymous-block.html
5576         Added a two-way mapping between boxes with percentage heights and
5577         their non-parent ancestors up to the one the height is computed relative
5578         to. In quirks mode (the first bug), this can be any number of containing
5579         block with auto height. In strict mode (the second bug) this can be
5580         the containing block of an anonymous block containing a replaced
5581         element.
5583         * rendering/RenderBlock.cpp:
5584         (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
5585         mapping to/from this block to percentage-height descendants.
5586         (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
5587         percentage-height descendants (and their containing block ancestry chain
5588         up to this block) for layout. This ensures that those descendants whose
5589         height depends on the height of this block (or an ancestor) are updated.
5590         (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
5591         a two-way mapping between this block and the given box.
5592         (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
5593         all the mapping to/from this box.
5594         * rendering/RenderBlock.h:
5595         * rendering/RenderBox.cpp:
5596         (WebCore::RenderBox::setStyle): Added calls to
5597         removePercentHeightDescendant() when style changes and the box
5598         previously had a percentage height. An exception is when the style
5599         change does not require layout, in which case the box still has
5600         a percentage height and the mappings are valid. In all other cases,
5601         any required mappings will be (re-)established during layout.
5602         (WebCore::RenderBox::destroy): Added a call to
5603         removePercentHeightDescendant.
5604         (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
5605         mode, if a higher-than-parent containing block is affecting the box's
5606         height, creates a mapping between the box and that block.
5607         (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
5608         anonymous containing blocks, if any, and when that happens, use
5609         addPercentHeightDescendant() to ensure that the non-anonymous block
5610         is aware of the dependent percent-height box.
5612 2008-09-16  Dirk Schulze  <vbs85@gmx.de>
5614         Reviewed by Oliver Hunt and Alp Toker.
5616         Implemented toDataURL in Cairo. Only PNG support
5617         at the moment.
5619         Qt, Cairo and wx require toDataURL implementations
5620         https://bugs.webkit.org/show_bug.cgi?id=17719
5622         * platform/MIMETypeRegistry.cpp:
5623         (WebCore::initializeSupportedImageMIMETypesForEncoding):
5624         * platform/graphics/cairo/ImageBufferCairo.cpp:
5625         (WebCore::ImageBuffer::ImageBuffer):
5626         (WebCore::writeFunction):
5627         (WebCore::ImageBuffer::toDataURL):
5629 2008-09-16  Tor Arne Vestbø  <tavestbo@trolltech.com>
5631         Reviewed by Simon.
5633         Hide unused media element controls in the QtWebKit port
5635         * platform/qt/html4-adjustments-qt.css
5637 2008-09-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
5639         Reviewed by Simon.
5641         Fix compilation of the Qt scrollbar code.
5643         * platform/qt/PlatformScrollBarQt.cpp:
5644         (WebCore::scPart):
5645         (WebCore::styleOptionSlider):
5646         (WebCore::thumbLength):
5647         (WebCore::pixelPosToRangeValue):
5648         (WebCore::PlatformScrollbar::handleContextMenuEvent):
5650 2008-09-16  Adam Treat  <treat@kde.org>
5652         Reviewed by Anders Carlsson.
5654         Prevent accesses off of the end of the buffer introduced in r36450
5655         and when checking for descriptions of mime. Also, coding style fix.
5657         * plugins/qt/PluginPackageQt.cpp:
5658         (WebCore::PluginPackage::fetchInfo):
5660 2008-09-15  Rob Buis  <buis@kde.org>
5662         Reviewed by Eric.
5664         https://bugs.webkit.org/show_bug.cgi?id=20634
5665         SVG transform attribute is ignored by <use> in <clipPath>
5667         Transform the paths with the local transform when part
5668         of a clip path.
5670         Test: svg/custom/use-clipped-transform.svg
5672         * svg/SVGClipPathElement.cpp:
5673         (WebCore::SVGClipPathElement::canvasResource):
5674         * svg/SVGStyledTransformableElement.cpp:
5675         (WebCore::SVGStyledTransformableElement::toClipPath):
5676         * svg/SVGStyledTransformableElement.h:
5678 2008-09-15  Dave Hyatt  <hyatt@apple.com>
5680         Convert Qt over to its ScrollbarTheme.  Add cross-platform support for jumping the thumb location directly
5681         to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
5682       
5683         Reviewed by Sam Weinig
5685         * platform/ScrollBar.cpp:
5686         (WebCore::thumbUnderMouse):
5687         (WebCore::Scrollbar::autoscrollPressedPart):
5688         (WebCore::Scrollbar::startTimerIfNeeded):
5689         (WebCore::moveThumb):
5690         (WebCore::Scrollbar::handleMouseMoveEvent):
5691         (WebCore::Scrollbar::handleMousePressEvent):
5692         * platform/ScrollBar.h:
5693         (WebCore::Scrollbar::pressedPos):
5694         (WebCore::Scrollbar::pixelStep):
5695         (WebCore::Scrollbar::setPressedPos):
5696         * platform/ScrollbarTheme.h:
5697         (WebCore::ScrollbarTheme::thumbPosition):
5698         (WebCore::ScrollbarTheme::thumbLength):
5699         (WebCore::ScrollbarTheme::trackPosition):
5700         (WebCore::ScrollbarTheme::trackLength):
5701         * platform/ScrollbarThemeComposite.cpp:
5702         (WebCore::ScrollbarThemeComposite::trackPosition):
5703         * platform/ScrollbarThemeComposite.h:
5704         * platform/qt/PlatformScrollBarQt.cpp:
5705         (WebCore::PlatformScrollbar::PlatformScrollbar):
5706         (WebCore::):
5707         * platform/qt/ScrollbarThemeQt.cpp:
5708         (WebCore::styleOptionSlider):
5709         (WebCore::ScrollbarThemeQt::hitTest):
5710         (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
5711         (WebCore::ScrollbarThemeQt::invalidatePart):
5712         (WebCore::ScrollbarThemeQt::thumbPosition):
5713         (WebCore::):
5714         * platform/qt/ScrollbarThemeQt.h:
5715         * platform/win/ScrollbarThemeSafari.cpp:
5716         (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
5717         * platform/win/ScrollbarThemeSafari.h:
5718         * platform/win/ScrollbarThemeWin.cpp:
5719         (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
5720         * platform/win/ScrollbarThemeWin.h:
5722 2008-09-15  David Smith  <catfish.man@gmail.com>
5724         Reviewed by Sam Weinig.
5725         
5726         https://bugs.webkit.org/show_bug.cgi?id=20180
5727         
5728         Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
5730         * GNUmakefile.am: Add CSSNthSelector
5731         * WebCore.pro: Add CSSNthSelector
5732         * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
5733         * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
5734         * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
5735         * css/CSSNthSelector.cpp: Added.
5736         (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
5737         (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
5738         * css/CSSNthSelector.h: Added.
5739         (WebCore::CSSNthSelector::CSSNthSelector):
5740         (WebCore::CSSNthSelector::~CSSNthSelector):
5741         * css/CSSParser.cpp:
5742         (WebCore::CSSParser::createFloatingNthSelector):
5743         * css/CSSParser.h:
5744         * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
5745         (WebCore::CSSSelector::CSSSelector):
5746         * css/CSSStyleSelector.cpp:
5747         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
5749 2008-09-15  Matt Lilek  <webkit@mattlilek.com>
5751         Reviewed by Tim Hatcher.
5753         Clean up some inspector JS callbacks to remove an extra return.
5755         * page/InspectorController.cpp:
5756         (WebCore::hideDOMNodeHighlight):
5757         (WebCore::loaded):
5758         (WebCore::unloading):
5759         (WebCore::attach):
5760         (WebCore::detach):
5761         (WebCore::startDebuggingAndReloadInspectedPage):
5762         (WebCore::stopDebugging):
5763         (WebCore::debuggerAttached):
5764         (WebCore::pauseOnExceptions):
5765         (WebCore::pauseInDebugger):
5766         (WebCore::resumeDebugger):
5767         (WebCore::stepOverStatementInDebugger):
5768         (WebCore::stepIntoStatementInDebugger):
5769         (WebCore::stepOutOfFunctionInDebugger):
5770         (WebCore::isWindowVisible):
5771         (WebCore::closeWindow):
5773 2008-09-15  Dave Hyatt  <hyatt@apple.com>
5775         Completely switch Windows scrollbars over to ScrollbarTheme.  The Aqua windows scrollbar and native scrollbar
5776         now share most of their code.
5777        
5778         Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
5779         also is never used in our code anyway.
5780        
5781         Reviewed by Sam Weinig
5783         * WebCore.vcproj/WebCore.vcproj:
5784         * platform/ScrollTypes.h:
5785         (WebCore::):
5786         * platform/ScrollbarThemeComposite.cpp:
5787         (WebCore::ScrollbarThemeComposite::splitTrack):
5788         (WebCore::ScrollbarThemeComposite::thumbLength):
5789         (WebCore::ScrollbarThemeComposite::minimumThumbLength):
5790         * platform/ScrollbarThemeComposite.h:
5791         * platform/mac/PlatformScrollBarMac.mm:
5792         (NSControlSizeForScrollBarControlSize):
5793         * platform/win/PlatformScrollBar.h:
5794         * platform/win/PlatformScrollBarSafari.cpp: Removed.
5795         * platform/win/PlatformScrollBarWin.cpp:
5796         (WebCore::PlatformScrollbar::PlatformScrollbar):
5797         * platform/win/ScrollbarThemeSafari.cpp:
5798         (WebCore::ScrollbarTheme::nativeTheme):
5799         (WebCore::):
5800         (WebCore::scrollbarControlStateFromThemeState):
5801         (WebCore::ScrollbarThemeSafari::hasButtons):
5802         (WebCore::ScrollbarThemeSafari::hasThumb):
5803         (WebCore::buttonRepaintRect):
5804         (WebCore::ScrollbarThemeSafari::backButtonRect):
5805         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
5806         (WebCore::trackRepaintRect):
5807         (WebCore::ScrollbarThemeSafari::trackRect):
5808         (WebCore::ScrollbarThemeSafari::minimumThumbLength):
5809         (WebCore::ScrollbarThemeSafari::paintTrack):
5810         (WebCore::ScrollbarThemeSafari::paintButton):
5811         (WebCore::ScrollbarThemeSafari::paintThumb):
5812         * platform/win/ScrollbarThemeSafari.h:
5813         * platform/win/ScrollbarThemeWin.cpp:
5814         * platform/win/ScrollbarThemeWin.h:
5816 2008-09-15  Chris Fleizach  <cfleizach@apple.com>
5818         Reviewed by Darin Adler, Beth Dakin
5820         <rdar://problem/4003789> Expose lists as AXList
5821         <rdar://problem/5707399> VO: Definition lists not announced in Safari
5823         Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
5824         AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
5825         Inside the definition list, each <dt> "term" has an accessibility description ("term"), 
5826         as does each <dd> tag ("definition")
5828         Test: accessibility/lists.html
5830         * GNUmakefile.am:
5831         * WebCore.pro:
5832         * WebCore.vcproj/WebCore.vcproj:
5833         * WebCore.xcodeproj/project.pbxproj:
5834         * WebCoreSources.bkl:
5835         * page/AXObjectCache.cpp:
5836         * page/AccessibilityList.cpp: Added.
5837         * page/AccessibilityList.h: Added.
5838         * page/AccessibilityObject.h:
5839         * page/AccessibilityRenderObject.cpp:
5840         * page/AccessibilityTable.cpp:
5841         * page/mac/AccessibilityObjectWrapper.mm:
5842         * page/mac/WebCoreViewFactory.h:
5843         * platform/LocalizedStrings.h:
5844         * platform/mac/LocalizedStringsMac.mm:
5845         * platform/qt/Localizations.cpp:
5847 2008-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
5849         Reviewed by Eric.
5851         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
5852         Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
5854         Several renames:
5855         dispatchHTMLEvent -> dispatchEventForType
5856         setHTMLEventListener -> setEventListenerForType
5857         getHTMLEventListener -> eventListenerForType
5858         removeHTMLEventListener -> removeEventListenerForType
5859         isHTMLEventListener -> isAttachedToEventTargetNode
5860         ...
5862         Similar renames for the dispatch/get/set/*Window*Event functions.
5863         Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
5865         Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
5866         as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
5868         setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
5869         SVG is able to use the code as well now. This affects most files in html/.
5871         No functional changes.
5873         * GNUmakefile.am:
5874         * WebCore.pro:
5875         * WebCore.vcproj/WebCore.vcproj:
5876         * WebCore.xcodeproj/project.pbxproj:
5877         * bindings/js/JSDOMWindowBase.cpp:
5878         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
5879         (WebCore::JSDOMWindowBase::setListener):
5880         (WebCore::JSDOMWindowBase::getListener):
5881         (WebCore::JSDOMWindowBase::findJSEventListener):
5882         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
5883         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
5884         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
5885         (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
5886         (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
5887         * bindings/js/JSDOMWindowBase.h:
5888         * bindings/js/JSEventListener.cpp:
5889         (WebCore::JSAbstractEventListener::handleEvent):
5890         (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
5891         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
5892         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
5893         (WebCore::JSEventListener::JSEventListener):
5894         (WebCore::JSEventListener::~JSEventListener):
5895         (WebCore::JSLazyEventListener::JSLazyEventListener):
5896         (WebCore::eventParameterName):
5897         (WebCore::JSLazyEventListener::parseCode):
5898         (WebCore::getNodeEventListener):
5899         * bindings/js/JSEventListener.h:
5900         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
5901         (WebCore::JSUnprotectedEventListener::create):
5902         (WebCore::JSEventListener::create):
5903         (WebCore::JSLazyEventListener::):
5904         (WebCore::JSLazyEventListener::create):
5905         * bindings/js/JSEventTargetNode.cpp:
5906         (WebCore::JSEventTargetNode::setListener):
5907         (WebCore::JSEventTargetNode::getListener):
5908         * bindings/js/JSSVGLazyEventListener.cpp: Removed.
5909         * bindings/js/JSSVGLazyEventListener.h: Removed.
5910         * bindings/js/ScriptController.cpp:
5911         (WebCore::ScriptController::createHTMLEventHandler):
5912         (WebCore::ScriptController::createSVGEventHandler):
5913         * dom/Document.cpp:
5914         (WebCore::Document::setFocusedNode):
5915         (WebCore::Document::handleWindowEvent):
5916         (WebCore::Document::setWindowEventListenerForType):
5917         (WebCore::Document::windowEventListenerForType):
5918         (WebCore::Document::removeWindowEventListenerForType):
5919         (WebCore::Document::addWindowEventListener):
5920         (WebCore::Document::hasWindowEventListener):
5921         (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
5922         (WebCore::Document::createEventListener):
5923         (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
5924         * dom/Document.h:
5925         * dom/EventListener.h:
5926         (WebCore::EventListener::isAttachedToEventTargetNode):
5927         * dom/EventTargetNode.cpp:
5928         (WebCore::EventTargetNode::dispatchFocusEvent):
5929         (WebCore::EventTargetNode::dispatchBlurEvent):
5930         (WebCore::EventTargetNode::dispatchEventForType):
5931         (WebCore::EventTargetNode::removeEventListenerForType):
5932         (WebCore::EventTargetNode::setEventListenerForType):
5933         (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
5934         (WebCore::EventTargetNode::eventListenerForType):
5935         * dom/EventTargetNode.h:
5936         * dom/XMLTokenizer.cpp:
5937         (WebCore::XMLTokenizer::notifyFinished):
5938         * editing/ReplaceSelectionCommand.cpp:
5939         (WebCore::ReplacementFragment::ReplacementFragment):
5940         * html/HTMLBodyElement.cpp:
5941         (WebCore::HTMLBodyElement::parseMappedAttribute):
5942         * html/HTMLButtonElement.cpp:
5943         (WebCore::HTMLButtonElement::parseMappedAttribute):
5944         * html/HTMLElement.cpp:
5945         (WebCore::HTMLElement::parseMappedAttribute):
5946         (WebCore::HTMLElement::checkDTD):
5947         * html/HTMLElement.h:
5948         * html/HTMLFormControlElement.cpp:
5949         (WebCore::HTMLFormControlElement::onChange):
5950         * html/HTMLFormElement.cpp:
5951         (WebCore::HTMLFormElement::prepareSubmit):
5952         (WebCore::HTMLFormElement::reset):
5953         (WebCore::HTMLFormElement::parseMappedAttribute):
5954         * html/HTMLFrameElementBase.cpp:
5955         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
5956         * html/HTMLFrameSetElement.cpp:
5957         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
5958         * html/HTMLImageElement.cpp:
5959         (WebCore::HTMLImageElement::parseMappedAttribute):
5960         * html/HTMLImageLoader.cpp:
5961         (WebCore::HTMLImageLoader::dispatchLoadEvent):
5962         * html/HTMLInputElement.cpp:
5963         (WebCore::HTMLInputElement::parseMappedAttribute):
5964         (WebCore::HTMLInputElement::setValueFromRenderer):
5965         (WebCore::HTMLInputElement::onSearch):
5966         * html/HTMLMediaElement.cpp:
5967         (WebCore::HTMLMediaElement::asyncEventTimerFired):
5968         (WebCore::HTMLMediaElement::load):
5969         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
5970         (WebCore::HTMLMediaElement::setReadyState):
5971         (WebCore::HTMLMediaElement::seek):
5972         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
5973         (WebCore::HTMLMediaElement::willSaveToCache):
5974         * html/HTMLObjectElement.cpp:
5975         (WebCore::HTMLObjectElement::parseMappedAttribute):
5976         * html/HTMLScriptElement.cpp:
5977         (WebCore::HTMLScriptElement::parseMappedAttribute):
5978         (WebCore::HTMLScriptElement::dispatchLoadEvent):
5979         (WebCore::HTMLScriptElement::dispatchErrorEvent):
5980         * html/HTMLSelectElement.cpp:
5981         (WebCore::HTMLSelectElement::parseMappedAttribute):
5982         * html/HTMLTextAreaElement.cpp:
5983         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
5984         * html/HTMLTokenizer.cpp:
5985         (WebCore::HTMLTokenizer::notifyFinished):
5986         * page/AccessibilityRenderObject.cpp:
5987         (WebCore::AccessibilityRenderObject::mouseButtonListener):
5988         * page/EventHandler.cpp:
5989         (WebCore::EventHandler::canMouseDownStartSelect):
5990         (WebCore::EventHandler::canMouseDragExtendSelect):
5991         * page/Frame.cpp:
5992         (WebCore::Frame::sendScrollEvent):
5993         * page/Page.cpp:
5994         (WebCore::networkStateChanged):
5995         * rendering/RenderListBox.cpp:
5996         (WebCore::RenderListBox::valueChanged):
5997         * rendering/RenderTextControl.cpp:
5998         (WebCore::RenderTextControl::selectionChanged):
5999         * svg/SVGDocumentExtensions.cpp:
6000         * svg/SVGDocumentExtensions.h:
6001         * svg/SVGElement.cpp:
6002         (WebCore::SVGElement::parseMappedAttribute):
6003         (WebCore::SVGElement::finishParsingChildren):
6004         * svg/SVGElement.h:
6005         * svg/SVGSVGElement.cpp:
6006         (WebCore::SVGSVGElement::parseMappedAttribute):
6007         * svg/SVGSVGElement.h:
6009 2008-09-15  Dave Hyatt  <hyatt@apple.com>
6011         Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing.  PlatformScrollbarQt/Gtk still
6012         need to be converted.
6013         
6014         Reviewed by Sam Weinig
6016         * platform/ScrollBar.cpp:
6017         (WebCore::Scrollbar::Scrollbar):
6018         (WebCore::Scrollbar::updateThumbPosition):
6019         (WebCore::Scrollbar::updateThumbProportion):
6020         (WebCore::Scrollbar::autoscrollPressedPart):
6021         (WebCore::Scrollbar::startTimerIfNeeded):
6022         * platform/ScrollBar.h:
6023         * platform/ScrollbarTheme.h:
6024         (WebCore::ScrollbarTheme::invalidateParts):
6025         * platform/ScrollbarThemeComposite.cpp:
6026         (WebCore::ScrollbarThemeComposite::hitTest):
6027         (WebCore::ScrollbarThemeComposite::invalidatePart):
6028         (WebCore::ScrollbarThemeComposite::thumbPosition):
6029         (WebCore::ScrollbarThemeComposite::thumbLength):
6030         (WebCore::ScrollbarThemeComposite::trackLength):
6031         * platform/ScrollbarThemeComposite.h:
6032         * platform/win/PlatformScrollBarSafari.cpp:
6033         (WebCore::PlatformScrollbar::PlatformScrollbar):
6034         * platform/win/PlatformScrollBarWin.cpp:
6035         (WebCore::PlatformScrollbar::PlatformScrollbar):
6037 2008-09-15  David Smith  <catfish.man@gmail.com>
6039         "Just do it"'d by Mark Rowe
6041         https://bugs.webkit.org/show_bug.cgi?id=20856
6042         Add missing license header
6044         * dom/NodeRenderStyle.h:
6046 2008-09-15  Dean Jackson  <dino@apple.com>
6048         Reviewed by Tim Hatcher.
6050         Add default constructor for ShadowData
6051         https://bugs.webkit.org/show_bug.cgi?id=20757
6053         Test: transitions/shadow.html
6055         * rendering/style/RenderStyle.h:
6057 2008-09-15  Dean Jackson  <dino@apple.com>
6059         Reviewed by Tim Hatcher.
6061         RenderStyle should update keyframes.
6062         http://bugs.webkit.org/show_bug.cgi?id=20756
6064         * rendering/style/RenderStyle.cpp:
6065         (WebCore::StyleRareNonInheritedData::updateKeyframes):
6067 2008-09-15  Dean Jackson  <dino@apple.com>
6069         Reviewed by Tim Hatcher.
6071         Unnecessary ASSERT in ImplicitAnimation destructor.
6072         https://bugs.webkit.org/show_bug.cgi?id=20817
6074         * page/animation/ImplicitAnimation.cpp:
6075         (WebCore::ImplicitAnimation::~ImplicitAnimation):
6077 2008-09-15  Adam Treat  <treat@kde.org>
6079         Reviewed by Simon.
6081         Fix plugin extension info. It was returning the mimetype where the
6082         extension was given.
6084         * plugins/qt/PluginPackageQt.cpp:
6085         (WebCore::PluginPackage::fetchInfo):
6087 2008-09-15  Dean Jackson  <dino@apple.com>
6089         Reviewed by Tim Hatcher
6091         Coding style violation!!!! Cleanup AnimationBase.cpp
6093         * page/animation/AnimationBase.cpp:
6094         (WebCore::blendFunc):
6096 2008-09-15  David Hyatt  <hyatt@apple.com>
6098         Move all hit testing code for scrollbars into the base class.  Refactor
6099         it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
6100         functions.
6102         No platform is using this code yet.  Although it has been moved and compiles
6103         (even on Mac), it is not being used on any platform.
6105         Reviewed by Sam Weinig
6107         * platform/ScrollBar.cpp:
6108         (WebCore::Scrollbar::autoscrollPressedPart):
6109         (WebCore::Scrollbar::startTimerIfNeeded):
6110         (WebCore::Scrollbar::handleMouseMoveEvent):
6111         (WebCore::Scrollbar::handleMouseOutEvent):
6112         (WebCore::Scrollbar::handleMouseReleaseEvent):
6113         (WebCore::Scrollbar::handleMousePressEvent):
6114         * platform/ScrollBar.h:
6115         (WebCore::Scrollbar::handleContextMenuEvent):
6116         * platform/ScrollbarTheme.h:
6117         (WebCore::ScrollbarTheme::hitTest):
6118         (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
6119         (WebCore::ScrollbarTheme::invalidatePart):
6120         (WebCore::ScrollbarTheme::shouldCenterOnThumb):
6121         (WebCore::ScrollbarTheme::centerOnThumb):
6122         (WebCore::ScrollbarTheme::thumbPosition):
6123         (WebCore::ScrollbarTheme::thumbLength):
6124         (WebCore::ScrollbarTheme::trackLength):
6125         (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
6126         (WebCore::ScrollbarTheme::autoscrollTimerDelay):
6127         * platform/Widget.h:
6128         (WebCore::Widget::parent):
6129         * platform/mac/PlatformScrollBar.h:
6130         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
6131         (WebCore::PlatformScrollbar::handleMouseOutEvent):
6132         (WebCore::PlatformScrollbar::handleMousePressEvent):
6133         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
6134         * platform/mac/WidgetMac.mm:
6135         (WebCore::Widget::convertFromContainingWindow):
6136         * platform/win/ScrollbarThemeWin.cpp:
6137         (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
6138         * platform/win/ScrollbarThemeWin.h:
6140 2008-09-15  Dan Bernstein  <mitz@apple.com>
6142         Reviewed by Sam Weinig.
6144         - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
6146         Cache the next breakable position for text nodes in InlineIterator.
6148         * rendering/bidi.cpp:
6149         (WebCore::InlineIterator::InlineIterator):
6150         (WebCore::InlineIterator::increment):
6151         (WebCore::RenderBlock::findNextLineBreak):
6153 2008-09-15  Simon Fraser  <simon.fraser@apple.com>
6155         Reviewed by Dan Bernstein
6157         Fix assertion and integral pixel issue when creating subimages.
6158         https://bugs.webkit.org/show_bug.cgi?id=20786
6160         * platform/graphics/cg/ImageCG.cpp:
6161         (WebCore::BitmapImage::draw):
6163 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
6165         Reviewed by Simon.
6167         Implment seek() and clean up and improve debugging output
6169         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6170         (debugMediaObject):
6171         (WebCore::MediaPlayerPrivate::seek):
6172         (WebCore::MediaPlayerPrivate::setVolume):
6173         (WebCore::MediaPlayerPrivate::setMuted):
6174         (WebCore::MediaPlayerPrivate::updateStates):
6175         (WebCore::MediaPlayerPrivate::naturalSize):
6176         (WebCore::MediaPlayerPrivate::paint):
6177         (WebCore::MediaPlayerPrivate::stateChanged):
6178         (WebCore::MediaPlayerPrivate::tick):
6180 2008-09-15  Holger Hans Peter Freyther  <zecke@selfish.org>
6182         Reviewed by Simon.
6184         Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
6186         m_mediaObject, m_audioOutput, m_videoWidget get created in the
6187         c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
6188         only check if we use the MediaPlayerPrivate after it has been deleted.
6190         Acked-by: Tor Arne Vestbø  <tavestbo@trolltech.com>
6192         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6193         (WebCore::MediaPlayerPrivate::play):
6194         (WebCore::MediaPlayerPrivate::setVolume):
6195         (WebCore::MediaPlayerPrivate::updateStates):
6197 2008-09-15  Anders Carlsson  <andersca@apple.com>
6199         Reviewed by Maciej.
6201         <rdar://problem/6163988> 
6202         https://bugs.webkit.org/show_bug.cgi?id=20457
6203         Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
6204         
6205         Check the width and height and throw an exception if any of them are 0.
6206         
6207         * html/CanvasRenderingContext2D.cpp:
6208         (WebCore::CanvasRenderingContext2D::createPattern):
6210 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
6212         Reviewed by Simon.
6214         Render media element controls with antialiasing enabled
6216         * platform/qt/RenderThemeQt.cpp:
6217         (WebCore::RenderThemeQt::paintMediaMuteButton):
6218         (WebCore::RenderThemeQt::paintMediaPlayButton):
6219         (WebCore::RenderThemeQt::paintMediaSliderTrack):
6220         (WebCore::RenderThemeQt::paintMediaSliderThumb):
6222 2008-09-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
6224         Reviewed by Simon.
6226         Upon non fatal error, switch to the pause state (so that playback can continue)
6228         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6229         (WebCore::MediaPlayerPrivate::updateStates):
6231 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
6233         Reviewed by Simon.
6235         Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
6237         * WebCore.pro:
6239 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
6241         Reviewed by Simon.
6243         Make QtInstance::create() private and fix caching
6245         * bindings/js/ScriptControllerQt.cpp:
6246         (WebCore::ScriptController::createScriptInstanceForWidget):
6247         * bridge/qt/qt_instance.cpp:
6248         (JSC::Bindings::QtInstance::getQtInstance):
6249         (JSC::Bindings::QtInstance::getRuntimeObject):
6250         * bridge/qt/qt_instance.h:
6251         (JSC::Bindings::QtInstance::create):
6252         * bridge/qt/qt_runtime.cpp:
6253         (JSC::Bindings::convertQVariantToValue):
6254         (JSC::Bindings::QtConnectionObject::execute):
6256 2008-09-15  David Smith  <catfish.man@gmail.com>
6258         Reviewed by Dave Hyatt.
6260         https://bugs.webkit.org/show_bug.cgi?id=20180
6261         
6262         >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
6263         With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
6264         querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
6265         
6266         * css/CSSStyleSelector.cpp:
6267         (WebCore::CSSStyleSelector::CSSStyleSelector):
6268         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
6269         * css/CSSStyleSelector.h:
6271 2008-09-14  Dave Hyatt  <hyatt@apple.com>
6273         Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin.  PlatformScrollbarSafari
6274         is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
6275        
6276         Reviewed by Sam Weinig
6278         * platform/ScrollBar.h:
6279         (WebCore::Scrollbar::client):
6280         (WebCore::Scrollbar::currentPos):
6281         (WebCore::Scrollbar::totalSize):
6282         * platform/ScrollbarTheme.h:
6283         * platform/ScrollbarThemeComposite.cpp:
6284         (WebCore::pageForScrollView):
6285         (WebCore::ScrollbarThemeComposite::paint):
6286         * platform/ScrollbarThemeComposite.h:
6287         (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
6288         * platform/win/PlatformScrollBar.h:
6289         * platform/win/PlatformScrollBarSafari.cpp:
6290         * platform/win/PlatformScrollBarWin.cpp:
6291         * platform/win/ScrollbarThemeSafari.h:
6292         (WebCore::ScrollbarThemeSafari::hasButtons):
6293         (WebCore::ScrollbarThemeSafari::hasThumb):
6294         (WebCore::ScrollbarThemeSafari::backButtonRect):
6295         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
6296         (WebCore::ScrollbarThemeSafari::trackRect):
6297         (WebCore::ScrollbarThemeSafari::splitTrack):
6298         (WebCore::ScrollbarThemeSafari::paintTrack):
6299         (WebCore::ScrollbarThemeSafari::paintButton):
6300         (WebCore::ScrollbarThemeSafari::paintThumb):
6301         * platform/win/ScrollbarThemeWin.cpp:
6302         (WebCore::isRunningOnVistaOrLater):
6303         (WebCore::checkAndInitScrollbarTheme):
6304         (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
6305         (WebCore::ScrollbarThemeWin::themeChanged):
6306         (WebCore::ScrollbarThemeWin::hasThumb):
6307         (WebCore::ScrollbarThemeWin::backButtonRect):
6308         (WebCore::ScrollbarThemeWin::forwardButtonRect):
6309         (WebCore::ScrollbarThemeWin::trackRect):
6310         (WebCore::ScrollbarThemeWin::splitTrack):
6311         (WebCore::ScrollbarThemeWin::paintTrack):
6312         (WebCore::ScrollbarThemeWin::paintButton):
6313         (WebCore::gripperRect):
6314         (WebCore::paintGripper):
6315         (WebCore::ScrollbarThemeWin::paintThumb):
6316         (WebCore::ScrollbarThemeWin::thumbPosition):
6317         (WebCore::ScrollbarThemeWin::thumbLength):
6318         (WebCore::ScrollbarThemeWin::trackLength):
6319         * platform/win/ScrollbarThemeWin.h:
6320         (WebCore::ScrollbarThemeWin::hasButtons):
6321         (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
6323 2008-09-14  Anthony Ricaud  <rik24d@gmail.com>
6325         Moving all resource graphs under the same container for future scalable feature.
6326         This is a speedup on resize but maybe a loss on changing the sorting function.
6328         https://bugs.webkit.org/show_bug.cgi?id=20555
6330         Reviewed by Timothy Hatcher.
6332         * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
6333         Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
6334         * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
6336 2008-09-14  Alexey Proskuryakov  <ap@webkit.org>
6338         Reviewed by Maciej Stachowiak.
6340         https://bugs.webkit.org/show_bug.cgi?id=20738
6341         compareBoundaryPoints gives incorrect results
6343         Test: fast/dom/Range/compareBoundaryPoints-2.html
6345         * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
6346         and END_TO_START.
6347         * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
6349 2008-09-14  Maciej Stachowiak  <mjs@apple.com>
6351         Unreviewed build fix.
6353         Trying again.
6355         * bindings/js/JSQuarantinedObjectWrapper.cpp:
6356         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
6358 2008-09-14  Maciej Stachowiak  <mjs@apple.com>
6360         Unreviewed build fix.
6362         Blind attempt to fix build. Correct parameters for hasInstance.
6364         * bindings/js/JSQuarantinedObjectWrapper.cpp:
6365         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
6366         * bindings/js/JSQuarantinedObjectWrapper.h:
6368 2008-09-14  Dan Bernstein  <mitz@apple.com>
6370         Rubber-stamped by Sam Weinig.
6372         - revert <http://trac.webkit.org/changeset/36382> because it exposed
6373           <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
6374           on Tiger.
6376         * platform/graphics/mac/FontCacheMac.mm:
6377         (WebCore::FontCache::getFontDataForCharacters):
6378         (WebCore::FontCache::getLastResortFallbackFont):
6380 2008-09-14  Dave Hyatt  <hyatt@apple.com>
6382         Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
6383         ScrollbarThemeWin.  Any scrollbar that wants to render by ScrollbarPart can subclass from this
6384         theme.
6385         
6386         Reviewed by Sam Weinig
6388         * WebCore.vcproj/WebCore.vcproj:
6389         * platform/win/ScrollbarThemeSafari.h:
6390         * platform/win/ScrollbarThemeWin.h:
6392 2008-09-14  Alp Toker  <alp@nuanti.com>
6394         https://bugs.webkit.org/show_bug.cgi?id=20320
6395         [GTK] A white rectangle is visible behind widgets with rounded corners
6397         Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
6398         style exempt).
6400         Requested by Michael Monreal.
6402         * platform/gtk/RenderThemeGtk.cpp:
6403         (WebCore::RenderThemeGtk::RenderThemeGtk):
6404         * platform/gtk/gtk2drawing.c:
6405         (moz_gtk_set_widget_name):
6406         (ensure_window_widget):
6407         (setup_widget_prototype):
6408         (ensure_button_arrow_widget):
6409         (moz_gtk_get_combo_box_inner_button):
6410         (moz_gtk_get_combo_box_button_inner_widgets):
6411         (ensure_combo_box_widgets):
6412         (moz_gtk_get_combo_box_entry_inner_widgets):
6413         (moz_gtk_get_combo_box_entry_arrow):
6414         (ensure_combo_box_entry_widgets):
6415         (ensure_toolbar_widget):
6416         (ensure_tooltip_widget):
6417         (ensure_menu_bar_widget):
6418         (ensure_menu_bar_item_widget):
6419         (ensure_menu_popup_widget):
6420         (ensure_menu_item_widget):
6421         (ensure_image_menu_item_widget):
6422         (ensure_menu_separator_widget):
6423         (ensure_check_menu_item_widget):
6424         (ensure_tree_header_cell_widget):
6425         (ensure_scrolled_window_widget):
6426         (moz_gtk_button_paint):
6427         (moz_gtk_init):
6428         (moz_gtk_button_get_inner_border):
6429         (moz_gtk_toggle_paint):
6430         (calculate_button_inner_rect):
6431         (calculate_arrow_rect):
6432         (moz_gtk_scrollbar_button_paint):
6433         (moz_gtk_scrollbar_thumb_paint):
6434         (moz_gtk_caret_paint):
6435         (moz_gtk_entry_paint):
6436         (moz_gtk_treeview_paint):
6437         (moz_gtk_tree_header_cell_paint):
6438         (moz_gtk_combo_box_paint):
6439         (moz_gtk_downarrow_paint):
6440         (moz_gtk_combo_box_entry_button_paint):
6441         (moz_gtk_toolbar_paint):
6442         (moz_gtk_tab_scroll_arrow_paint):
6443         (moz_gtk_menu_bar_paint):
6444         (moz_gtk_menu_item_paint):
6445         (moz_gtk_get_widget_border):
6446         (moz_gtk_get_combo_box_entry_button_size):
6447         (moz_gtk_get_tab_scroll_arrow_size):
6448         (moz_gtk_get_downarrow_size):
6449         (moz_gtk_images_in_menus):
6450         (moz_gtk_widget_paint):
6451         (moz_gtk_shutdown):
6452         * platform/gtk/gtkdrawing.h:
6454 2008-09-14  David Hyatt  <hyatt@apple.com>
6456         Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
6457         painting.  Mac and Gtk themes don't do anything and just let the
6458         underlying widget paint.  Qt now uses the theme to paint.  wx doesn't
6459         do anything yet.
6461         Reviewed by Sam Weinig
6463         * platform/ScrollBar.cpp:
6464         (WebCore::Scrollbar::paint):
6465         * platform/ScrollBar.h:
6466         (WebCore::Scrollbar::value):
6467         (WebCore::Scrollbar::visibleSize):
6468         (WebCore::Scrollbar::maximum):
6469         (WebCore::Scrollbar::lineStep):
6470         (WebCore::Scrollbar::pageStep):
6471         (WebCore::Scrollbar::pixelStep):
6472         (WebCore::Scrollbar::pressedPart):
6473         (WebCore::Scrollbar::hoveredPart):
6474         (WebCore::Scrollbar::theme):
6475         * platform/ScrollbarTheme.h:
6476         (WebCore::ScrollbarTheme::paint):
6477         (WebCore::ScrollbarTheme::scrollbarThickness):
6478         (WebCore::ScrollbarTheme::supportsControlTints):
6479         (WebCore::ScrollbarTheme::themeChanged):
6480         * platform/gtk/PlatformScrollBar.h:
6481         * platform/gtk/PlatformScrollBarGtk.cpp:
6482         * platform/mac/PlatformScrollBar.h:
6483         * platform/mac/PlatformScrollBarMac.mm:
6484         * platform/qt/PlatformScrollBar.h:
6485         * platform/qt/PlatformScrollBarQt.cpp:
6486         * platform/qt/ScrollbarThemeQt.cpp:
6487         (WebCore::styleOptionSlider):
6488         * platform/qt/ScrollbarThemeQt.h:
6489         (WebCore::ScrollbarThemeQt::paint):
6490         * platform/win/PlatformScrollBarSafari.cpp:
6491         (WebCore::PlatformScrollbar::paint):
6492         * platform/win/ScrollbarThemeSafari.h:
6493         (WebCore::ScrollbarThemeSafari::supportsControlTints):
6494         * platform/wx/PlatformScrollBar.h:
6495         * platform/wx/TemporaryLinkStubs.cpp:
6496         (PlatformScrollbar::~PlatformScrollbar):
6498 2008-09-14  Sam Weinig  <sam@webkit.org>
6500         Qt build fix.
6502         * platform/qt/PlatformScrollBarQt.cpp:
6504 2008-09-14  Sam Weinig  <sam@webkit.org>
6506         Reviewed by Mark Rowe.
6508         Remove extraneous semicolons.
6510         * bindings/scripts/CodeGeneratorObjC.pm:
6511         * html/HTMLLinkElement.cpp:
6512         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
6513         * html/HTMLScriptElement.cpp:
6514         (WebCore::HTMLScriptElement::charsetAttributeValue):
6515         (WebCore::HTMLScriptElement::typeAttributeValue):
6516         * platform/graphics/qt/GradientQt.cpp:
6517         (WebCore::Gradient::platformGradient):
6518         * platform/qt/ScrollViewQt.cpp:
6519         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
6520         * platform/win/ScrollViewWin.cpp:
6521         (WebCore::ScrollView::updateScrollbars):
6522         * rendering/RenderBlock.cpp:
6523         (WebCore::RenderBlock::paintEllipsisBoxes):
6524         * svg/SVGPathSegList.cpp:
6525         (WebCore::SVGPathSegList::toPathData):
6527 2008-09-14  Sam Weinig  <sam@webkit.org>
6529         Qt build fix.
6531         * platform/qt/ScrollViewQt.cpp:
6532         (WebCore::ScrollView::updateScrollbars):
6534 2008-09-14  Sam Weinig  <sam@webkit.org>
6536         Qt build fix.
6538         * platform/qt/PlatformScrollBarQt.cpp:
6539         (WebCore::PlatformScrollbar::PlatformScrollbar):
6540         (WebCore::PlatformScrollbar::paint):
6542 2008-09-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
6544         Gtk build fix, not reviewed.
6546         * platform/gtk/PlatformScrollBarGtk.cpp:
6547         (PlatformScrollbar::PlatformScrollbar):
6548         * platform/gtk/ScrollViewGtk.cpp:
6549         (WebCore::ScrollView::updateScrollbars):
6551 2008-09-13  Dave Hyatt  <hyatt@apple.com>
6553         Remove scrollbar's setRect method.  Clients can now just call setFrameGeometry (the corresponding Widget) method
6554         to set the dimensions of a scrollbar.
6555         
6556         Reviewed by Sam Weinig
6558         * platform/ScrollBar.h:
6559         * platform/gtk/PlatformScrollBar.h:
6560         * platform/gtk/PlatformScrollBarGtk.cpp:
6561         (PlatformScrollbar::setFrameGeometry):
6562         * platform/gtk/ScrollViewGtk.cpp:
6563         (WebCore::ScrollView::updateScrollbars):
6564         * platform/mac/PlatformScrollBarMac.mm:
6565         * platform/qt/PlatformScrollBarQt.cpp:
6566         * platform/qt/ScrollViewQt.cpp:
6567         (WebCore::ScrollView::updateScrollbars):
6568         * platform/win/PlatformScrollBar.h:
6569         * platform/win/PlatformScrollBarSafari.cpp:
6570         (WebCore::PlatformScrollbar::PlatformScrollbar):
6571         (WebCore::PlatformScrollbar::setFrameGeometry):
6572         * platform/win/PlatformScrollBarWin.cpp:
6573         (WebCore::PlatformScrollbar::PlatformScrollbar):
6574         (WebCore::PlatformScrollbar::setFrameGeometry):
6575         * platform/win/PopupMenuWin.cpp:
6576         (WebCore::PopupWndProc):
6577         * platform/win/ScrollViewWin.cpp:
6578         (WebCore::ScrollView::updateScrollbars):
6579         * platform/wx/PlatformScrollBar.h:
6580         * platform/wx/TemporaryLinkStubs.cpp:
6581         (PlatformScrollbar::updateThumbProportion):
6582         * rendering/RenderLayer.cpp:
6583         (WebCore::RenderLayer::positionOverflowControls):
6584         * rendering/RenderListBox.cpp:
6585         (WebCore::RenderListBox::paintScrollbar):
6587 2008-09-13  Dave Hyatt  <hyatt@apple.com>
6589         Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
6590        
6591         Reviewed by Sam Weinig
6593         * platform/ScrollBar.h:
6594         * platform/gtk/PlatformScrollBar.h:
6595         * platform/gtk/PlatformScrollBarGtk.cpp:
6596         * platform/mac/PlatformScrollBar.h:
6597         * platform/mac/PlatformScrollBarMac.mm:
6598         * platform/win/PlatformScrollBar.h:
6599         * platform/win/PlatformScrollBarSafari.cpp:
6600         * platform/win/PlatformScrollBarWin.cpp:
6601         * platform/wx/PlatformScrollBar.h:
6602         * platform/wx/TemporaryLinkStubs.cpp:
6603         (PlatformScrollbar::~PlatformScrollbar):
6605 2008-09-13  Dave Hyatt  <hyatt@apple.com>
6607         Remove width()/height() from Scrollbar now that it derives from Widget.  Remove width()/height() from
6608         all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
6610         Reviewed by Sam Weinig
6612         * platform/ScrollBar.h:
6613         * platform/gtk/PlatformScrollBar.h:
6614         * platform/gtk/PlatformScrollBarGtk.cpp:
6615         * platform/mac/PlatformScrollBar.h:
6616         * platform/mac/PlatformScrollBarMac.mm:
6617         * platform/win/PlatformScrollBarSafari.cpp:
6618         * platform/win/PlatformScrollBarWin.cpp:
6619         * platform/wx/PlatformScrollBar.h:
6620         * platform/wx/TemporaryLinkStubs.cpp:
6621         (PlatformScrollbar::~PlatformScrollbar):
6623 2008-09-13  Dave Hyatt  <hyatt@apple.com>
6625         Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
6627         Reviewed by Sam Weinig
6629         * platform/ScrollBar.cpp:
6630         (WebCore::Scrollbar::~Scrollbar):
6631         * platform/ScrollBar.h:
6632         * platform/qt/PlatformScrollBarQt.cpp:
6633         (WebCore::PlatformScrollbar::~PlatformScrollbar):
6634         * platform/win/PlatformScrollBarSafari.cpp:
6635         (WebCore::PlatformScrollbar::~PlatformScrollbar):
6636         * platform/win/PlatformScrollBarWin.cpp:
6637         (WebCore::PlatformScrollbar::~PlatformScrollbar):
6639 2008-09-13  David Hyatt  <hyatt@apple.com>
6641         Move maximum() from Qt's PlatformScrollbar to be a cross-platform
6642         function on Scrollbar.  Fixes Qt build bustage.
6644         Reviewed by Sam Weinig
6646         * platform/ScrollBar.h:
6647         (WebCore::Scrollbar::orientation):
6648         (WebCore::Scrollbar::value):
6649         (WebCore::Scrollbar::maximum):
6650         * platform/qt/PlatformScrollBar.h:
6652 2008-09-13  Dan Bernstein  <mitz@apple.com>
6654         Reviewed by Sam Weinig.
6656         - use the LastResort font for missing glyphs instead of showing the
6657           primary font's missing glyph
6659         Test: platform/mac/fast/text/last-resort-font.html
6661         * platform/graphics/mac/FontCacheMac.mm:
6662         (WebCore::FontCache::getFontDataForCharacters): Changed to return the
6663         last resort font if a substitute font cannot be found.
6664         (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
6665         comment (the user's preferred standard font is included in the search
6666         thanks to code in FontCache::getFontData()) and changed to return the
6667         LastResort font.  
6669 2008-09-13  Dave Hyatt  <hyatt@apple.com>
6671         This patch adds ScrollbarTheme to the build.  ScrollbarTheme is similar to RenderTheme (but for
6672         scrollbars only).  For now ScrollbarTheme just handles returning the size of scrollbars.  Subsequent
6673         patches will move rendering and hit testing functionality into this class.
6674         
6675         Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt).  The wxWidgets port does not
6676         implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
6677        
6678         Reviewed by Sam Weinig
6680         * GNUmakefile.am:
6681         * WebCore.pro:
6682         * WebCore.vcproj/WebCore.vcproj:
6683         * platform/ScrollBar.cpp:
6684         (WebCore::Scrollbar::Scrollbar):
6685         * platform/ScrollBar.h:
6686         * platform/ScrollbarTheme.h: Added.
6687         (WebCore::ScrollbarTheme::~ScrollbarTheme):
6688         (WebCore::ScrollbarTheme::scrollbarThickness):
6689         (WebCore::ScrollbarTheme::themeChanged):
6690         * platform/gtk/ScrollbarThemeGtk.cpp: Added.
6691         (WebCore::ScrollbarTheme::nativeTheme):
6692         (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
6693         (WebCore::ScrollbarThemeGtk::scrollbarThickness):
6694         * platform/gtk/ScrollbarThemeGtk.h: Added.
6695         * platform/mac/PlatformScrollBar.h:
6696         * platform/mac/ScrollbarThemeMac.cpp: Added.
6697         (WebCore::ScrollbarTheme::nativeTheme):
6698         (WebCore::):
6699         (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
6700         (WebCore::ScrollbarThemeMac::scrollbarThickness):
6701         * platform/mac/ScrollbarThemeMac.h: Added.
6702         * platform/qt/PlatformScrollBarQt.cpp:
6703         * platform/qt/ScrollbarThemeQt.cpp: Added.
6704         (WebCore::ScrollbarTheme::nativeTheme):
6705         (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
6706         (WebCore::ScrollbarThemeQt::scrollbarThickness):
6707         * platform/qt/ScrollbarThemeQt.h: Added.
6708         * platform/win/PlatformScrollBar.h:
6709         * platform/win/PlatformScrollBarSafari.cpp:
6710         * platform/win/PlatformScrollBarWin.cpp:
6711         * platform/win/PopupMenuWin.cpp:
6712         (WebCore::PopupMenu::calculatePositionAndSize):
6713         * platform/win/ScrollViewWin.cpp:
6714         (WebCore::ScrollView::updateScrollbars):
6715         (WebCore::ScrollView::themeChanged):
6716         * platform/win/ScrollbarThemeSafari.cpp: Added.
6717         (WebCore::ScrollbarTheme::nativeTheme):
6718         (WebCore::):
6719         (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
6720         (WebCore::ScrollbarThemeSafari::scrollbarThickness):
6721         * platform/win/ScrollbarThemeSafari.h: Added.
6722         * platform/win/ScrollbarThemeWin.cpp: Added.
6723         (WebCore::ScrollbarTheme::nativeTheme):
6724         (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
6725         (WebCore::ScrollbarThemeWin::scrollbarThickness):
6726         (WebCore::ScrollbarThemeWin::themeChanged):
6727         * platform/win/ScrollbarThemeWin.h: Added.
6728         * platform/wx/TemporaryLinkStubs.cpp:
6729         (ScrollbarTheme::nativeTheme):
6730         * rendering/RenderLayer.cpp:
6731         (WebCore::scrollCornerRect):
6732         * rendering/RenderTextControl.cpp:
6733         (WebCore::RenderTextControl::calcHeight):
6734         (WebCore::RenderTextControl::calcPrefWidths):
6736 2008-09-13  Chris Fleizach  <cfleizach@apple.com>
6738         Reviewed by Timothy Hatcher.
6740         <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
6742         * page/mac/AccessibilityObjectWrapper.mm:
6743         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
6745 2008-09-13  Dan Bernstein  <mitz@apple.com>
6747         Reviewed by Timothy Hatcher.
6749         - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
6751         No regression test because the back/forward cache is disabled in DumpRenderTree
6753         * rendering/RenderContainer.cpp:
6754         (WebCore::RenderContainer::invalidateCounters): Bail out if the document
6755         is being destroyed.
6757 2008-09-13  Kevin Ollivier  <kevino@theolliviers.com>
6759         wx build fixes for new methods recently introduced.
6761         * platform/graphics/wx/AffineTransformWx.cpp:
6762         (WebCore::AffineTransform::AffineTransform):
6763         (WebCore::AffineTransform::setMatrix):
6764         (WebCore::AffineTransform::setA):
6765         (WebCore::AffineTransform::setB):
6766         (WebCore::AffineTransform::setC):
6767         (WebCore::AffineTransform::setD):
6768         (WebCore::AffineTransform::setE):
6769         (WebCore::AffineTransform::setF):
6770         * platform/wx/LocalizedStringsWx.cpp:
6771         (WebCore::AXDefinitionListTermText):
6772         (WebCore::AXDefinitionListDefinitionText):
6774 2008-09-12  Dave Hyatt  <hyatt@apple.com>
6776         Move the member variables of PlatformScrollbar up into Scrollbar.  Move autoscroll timer handling
6777         up into scrollbar.  Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
6778         "PlatformScrollbar."
6779         
6780         Reviewed by Sam Weinig
6782         * WebCore.vcproj/WebCore.vcproj:
6783         * editing/EditorCommand.cpp:
6784         * page/EventHandler.cpp:
6785         (WebCore::EventHandler::selectCursor):
6786         (WebCore::EventHandler::handleMousePressEvent):
6787         (WebCore::EventHandler::handleMouseMoveEvent):
6788         * page/EventHandler.h:
6789         * page/MouseEventWithHitTestResults.cpp:
6790         (WebCore::MouseEventWithHitTestResults::scrollbar):
6791         * page/MouseEventWithHitTestResults.h:
6792         * page/gtk/EventHandlerGtk.cpp:
6793         (WebCore::EventHandler::passMousePressEventToScrollbar):
6794         * page/mac/EventHandlerMac.mm:
6795         (WebCore::EventHandler::passMousePressEventToScrollbar):
6796         * page/qt/EventHandlerQt.cpp:
6797         (WebCore::EventHandler::passMousePressEventToScrollbar):
6798         * page/win/EventHandlerWin.cpp:
6799         (WebCore::EventHandler::passMousePressEventToScrollbar):
6800         * page/wx/EventHandlerWx.cpp:
6801         (WebCore::EventHandler::passMousePressEventToScrollbar):
6802         * platform/PopupMenu.h:
6803         * platform/ScrollBar.cpp:
6804         (WebCore::Scrollbar::Scrollbar):
6805         (WebCore::Scrollbar::autoscrollTimerFired):
6806         (WebCore::Scrollbar::autoscrollPressedPart):
6807         (WebCore::Scrollbar::startTimerIfNeeded):
6808         (WebCore::Scrollbar::stopTimerIfNeeded):
6809         (WebCore::Scrollbar::pressedPartScrollDirection):
6810         (WebCore::Scrollbar::pressedPartScrollGranularity):
6811         * platform/ScrollBar.h:
6812         (WebCore::Scrollbar::handleMousePressEvent):
6813         (WebCore::Scrollbar::invalidatePart):
6814         (WebCore::Scrollbar::thumbUnderMouse):
6815         * platform/ScrollView.h:
6816         * platform/ScrollbarClient.h: Added.
6817         (WebCore::ScrollbarClient::~ScrollbarClient):
6818         * platform/gtk/ScrollViewGtk.cpp:
6819         (WebCore::ScrollView::scrollbarUnderMouse):
6820         * platform/qt/PlatformScrollBar.h:
6821         * platform/qt/PlatformScrollBarQt.cpp:
6822         (WebCore::PlatformScrollbar::PlatformScrollbar):
6823         (WebCore::scrollbarPart):
6824         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
6825         (WebCore::PlatformScrollbar::handleMouseOutEvent):
6826         (WebCore::PlatformScrollbar::handleMousePressEvent):
6827         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
6828         * platform/qt/ScrollViewQt.cpp:
6829         (WebCore::ScrollView::scrollbarUnderMouse):
6830         (WebCore::ScrollView::wheelEvent):
6831         * platform/win/PlatformScrollBar.h:
6832         * platform/win/PlatformScrollBarSafari.cpp:
6833         (WebCore::PlatformScrollbar::PlatformScrollbar):
6834         * platform/win/PlatformScrollBarWin.cpp:
6835         (WebCore::PlatformScrollbar::PlatformScrollbar):
6836         * platform/win/ScrollViewWin.cpp:
6837         (WebCore::ScrollView::scrollbarUnderMouse):
6838         * rendering/HitTestResult.cpp:
6839         (WebCore::HitTestResult::setScrollbar):
6840         * rendering/HitTestResult.h:
6841         (WebCore::HitTestResult::scrollbar):
6842         * rendering/RenderLayer.cpp:
6843         (WebCore::RenderLayer::hitTestOverflowControls):
6844         * rendering/RenderLayer.h:
6845         * rendering/RenderListBox.h:
6847 2008-09-12  Steve Falkenburg  <sfalken@apple.com>
6849         Fix Mac build.
6851         * css/CSSStyleSelector.cpp:
6852         (WebCore::getTransformOperationType):
6854 2008-09-12  Chris Marrin  <cmarrin@apple.com>
6856         Reviewed by Dave Hyatt.
6858         Make transform animation behavior match spec
6859         https://bugs.webkit.org/show_bug.cgi?id=20770
6861         Tests: transitions/transform-op-list-match.html
6862                transitions/transform-op-list-no-match.html
6864         * css/CSSStyleSelector.cpp:
6865         * css/CSSStyleSelector.h:
6866         * page/animation/AnimationBase.cpp:
6867         * page/animation/AnimationBase.h:
6868         * page/animation/ImplicitAnimation.cpp:
6869         * page/animation/ImplicitAnimation.h:
6870         * page/animation/KeyframeAnimation.cpp:
6871         * page/animation/KeyframeAnimation.h:
6872         * rendering/RenderLayer.cpp:
6873         * rendering/style/RenderStyle.cpp:
6874         * rendering/style/RenderStyle.h:
6876 2008-09-12  Ojan Vafai  <ojan@chromium.org>
6878         Properly escape contents of links added to the inspector.
6879         For now, just build the link with the DOM and get the
6880         outerHTML. Eventually, we probably just want to do
6881         this entirely with the DOM.
6883         Reviewed by Timothy Hatcher.
6885         https://bugs.webkit.org/show_bug.cgi?id=20684
6887         * manual-tests/inspector/escape-links.html: Added.
6888         * page/inspector/StylesSidebarPane.js:
6889         * page/inspector/inspector.js:
6890         * page/inspector/utilities.js:
6892 2008-09-12  Adele Peterson  <adele@apple.com>
6894         Reviewed by John Sullivan and Kevin McCullough.
6896         Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
6898         * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
6899         Hit testing again on the main frame will only work if we aren't already on the main frame.  If we are already on the main frame, that will
6900         cause infinite recursion.  This change checks that we're not already on the main frame before hit testing again. 
6902 2008-09-12  Kevin McCullough  <kmccullough@apple.com>
6904         RS by Tim .
6906         Re-introducing the code since it was not the cause of the crash.
6907         See r36343.
6909         * rendering/RenderObject.cpp:
6910         (WebCore::RenderObject::canBeProgramaticallyScrolled):
6911         * rendering/RenderObject.h:
6913 2008-09-12  Chris Marrin  <cmarrin@apple.com>
6915         Reviewed by Dave Hyatt.
6917         When changing one animation in a list, don't reset other animations
6918         https://bugs.webkit.org/show_bug.cgi?id=20675
6920         Test: animations/change-one-anim.html
6922         * page/animation/AnimationBase.cpp:
6923         (WebCore::AnimationBase::getNumProperties):
6924         * page/animation/AnimationBase.h:
6925         * page/animation/AnimationController.cpp:
6926         * page/animation/CompositeAnimation.cpp:
6927         (WebCore::CompositeAnimation::updateKeyframeAnimations):
6928         * page/animation/CompositeAnimation.h:
6929         * page/animation/ImplicitAnimation.cpp:
6930         * page/animation/KeyframeAnimation.cpp:
6931         * page/animation/KeyframeAnimation.h:
6932         (WebCore::KeyframeAnimation::setIndex):
6934 2008-09-12  Brady Eidson  <beidson@apple.com>
6936         Reviewed by Mitz Pettel
6938         Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
6940         * loader/DocumentLoader.cpp:
6941         (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
6942           Subresources can never be created from nil data, but there is always a MainResource, whether
6943           or not there's any data.  So in the case where the main resource has no data, fake it for the
6944           sake of creating the ArchiveResource.
6946 2008-09-12  Dave Hyatt  <hyatt@apple.com>
6948         Preparation for major scrollbar rearchitecture.  Eliminate the concept of non-widget based
6949         scrollbars (which we never supported anyway).  Make Scrollbar derive from Widget directly.
6950         Remove all the isWidget and hasPlatformScrollbars guards.
6951         
6952         Reviewed by Tim Hatcher
6954         * platform/ScrollBar.h:
6955         * platform/gtk/PlatformScrollBar.h:
6956         * platform/mac/PlatformScrollBar.h:
6957         * platform/qt/PlatformScrollBar.h:
6958         * platform/win/PlatformScrollBar.h:
6959         * platform/win/ScrollViewWin.cpp:
6960         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
6961         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
6962         * platform/wx/PlatformScrollBar.h:
6963         * rendering/RenderLayer.cpp:
6964         (WebCore::RenderLayer::horizontalScrollbarWidget):
6965         (WebCore::RenderLayer::verticalScrollbarWidget):
6966         (WebCore::RenderLayer::createScrollbar):
6967         (WebCore::RenderLayer::destroyScrollbar):
6968         * rendering/RenderListBox.cpp:
6969         (WebCore::RenderListBox::~RenderListBox):
6970         (WebCore::RenderListBox::updateFromElement):
6971         (WebCore::RenderListBox::isPointInOverflowControl):
6973 2008-09-12  Dan Bernstein  <mitz@apple.com>
6975         Reviewed by Sam Weinig.
6977         - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
6979         * page/animation/AnimationController.cpp:
6980         * page/animation/AnimationController.h:
6981         * page/animation/CompositeAnimation.cpp:
6982         * page/animation/CompositeAnimation.h:
6983         * page/animation/ImplicitAnimation.cpp:
6984         * page/animation/ImplicitAnimation.h:
6985         * page/animation/KeyframeAnimation.cpp:
6986         * page/animation/KeyframeAnimation.h:
6988 2008-09-11  Timothy Hatcher  <timothy@apple.com>
6990         Add a renderedImage method to DOMNode to get an image
6991         of the rendering for the node and it's descendants.
6993         <rdar://problem/5849349> Would like API to create
6994         an image for a DOM node
6996         Reviewed by Oliver Hunt.
6998         * bindings/objc/DOM.mm:
6999         (-[DOMNode renderedImage]): Call Frame::nodeImage.
7000         * bindings/objc/DOMPrivate.h:
7001         * page/Frame.h:
7002         * page/mac/FrameMac.mm:
7003         (WebCore::Frame::nodeImage):
7005 2008-09-08  Chris Marrin  <cmarrin@apple.com>
7007         Reviewed by Dave Hyatt
7009         Need to support comma separated list of key times in keyframes selectors
7010         https://bugs.webkit.org/show_bug.cgi?id=20680
7012         Test: animations/keyframes-comma-separated.html
7014         * css/CSSGrammar.y:
7015         * css/CSSParser.cpp:
7016         (WebCore::CSSParser::createKeyframeRule):
7017         * css/CSSParser.h:
7018         * css/CSSStyleSelector.cpp:
7019         (WebCore::CSSStyleSelector::addKeyframeStyle):
7020         * css/WebKitCSSKeyframeRule.cpp:
7021         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
7022         (WebCore::WebKitCSSKeyframeRule::cssText):
7023         (WebCore::WebKitCSSKeyframeRule::parseKeyString):
7024         * css/WebKitCSSKeyframeRule.h:
7025         (WebCore::WebKitCSSKeyframeRule::keyText):
7026         (WebCore::WebKitCSSKeyframeRule::setKeyText):
7027         (WebCore::WebKitCSSKeyframeRule::getKeys):
7028         * css/WebKitCSSKeyframesRule.cpp:
7029         (WebCore::WebKitCSSKeyframesRule::append):
7030         (WebCore::WebKitCSSKeyframesRule::insertRule):
7031         (WebCore::WebKitCSSKeyframesRule::deleteRule):
7032         (WebCore::WebKitCSSKeyframesRule::findRule):
7033         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
7034         * css/WebKitCSSKeyframesRule.h:
7035         * page/animation/AnimationBase.cpp:
7036         (WebCore::AnimationBase::blendProperties):
7038 2008-09-11  Kevin McCullough  <kmccullough@apple.com>
7040         RS by Tim.
7042         Reverting because this caused a crash.
7044         * rendering/RenderObject.cpp:
7045         (WebCore::RenderObject::canBeProgramaticallyScrolled):
7046         (WebCore::RenderObject::hasScrollableView):
7047         * rendering/RenderObject.h:
7049 2008-09-11  Dean Jackson  <dino@apple.com>
7051         Reviewed by Dan Bernstein.
7053         Fix assertion on transition property "none"
7054         https://bugs.webkit.org/show_bug.cgi?id=20751
7056         Test: transitions/transition-end-event-set-none.html
7058         * page/animation/CompositeAnimation.cpp:
7059         (WebCore::CompositeAnimation::updateTransitions):
7061 2008-09-11  David Smith  <catfish.man@gmail.com>
7063         Rubber-stamped by mitzpettel.
7065         Remove an accidentally added extra file.
7067         * WebCore: Removed.
7069 2008-09-11  David Smith  <catfish.man@gmail.com>
7071         Reviewed by Darin
7073         https://bugs.webkit.org/show_bug.cgi?id=20180
7074         
7075         This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
7077         * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
7078         * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
7079         * dom/Element.cpp: include NodeRenderStyle.h
7080         * dom/Node.cpp: Remove the definition of renderStyle()
7081         (WebCore::Node::nonRendererRenderStyle):
7082         * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
7083         * dom/NodeRenderStyle.h: Added.
7084         (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
7085         * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
7086         * html/HTMLOptGroupElement.h:
7087         (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
7088         * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
7089         * html/HTMLOptionElement.h:
7090         (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
7091         * rendering/RenderListBox.cpp: include NodeRenderStyle.h
7092         * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
7093         * svg/SVGUseElement.cpp: include NodeRenderStyle.h
7095 2008-09-11  Kevin McCullough  <kmccullough@apple.com>
7097         Reviewed by Adele and Tim.
7099         <rdar://problem/6100597> REGRESSION: clicking on search results in Web
7100         Inspector does not scroll to the line of the results (20167)
7101         - This was put in by Max to fix auto scrolling but is not correct for
7102         the whole web: rdar://problem/6213098
7104         * rendering/RenderObject.cpp:
7105         (WebCore::RenderObject::canBeProgramaticallyScrolled):
7106         * rendering/RenderObject.h:
7108 2008-09-11  Chris Fleizach  <cfleizach@apple.com>
7110         Reviewed by Beth Dakin
7112         <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
7114         Test: accessibility/frame-with-title.html
7116         * page/AccessibilityRenderObject.cpp:
7117         (WebCore::AccessibilityRenderObject::accessibilityDescription):
7119 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
7121         Reviewed by Simon.
7123         Fixed stroke() and strokeRect() to support gradients
7124         and patterns on Qt.
7126         [Qt] Canvas stroke don't work for gradients and patterns
7127         [https://bugs.webkit.org/show_bug.cgi?id=20749]
7129         * platform/graphics/qt/GraphicsContextQt.cpp:
7130         (WebCore::GraphicsContext::strokePath):
7131         (WebCore::GraphicsContext::strokeRect):
7133 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
7135         Reviewed by Simon.
7137         https://bugs.webkit.org/show_bug.cgi?id=20729
7139         Fixed canvas gradients for Qt
7141         [Qt] Canvas gradients don't work as expected
7142         [https://bugs.webkit.org/show_bug.cgi?id=20729]
7144         * platform/graphics/qt/GradientQt.cpp:
7145         (WebCore::Gradient::platformGradient):
7147 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
7149         Reviewed by Simon.
7151         https://bugs.webkit.org/show_bug.cgi?id=20568
7153         Add support for patterns to Qt.
7155         * platform/graphics/qt/PatternQt.cpp:
7156         (WebCore::Pattern::createPlatformPattern):
7158 2008-09-10  Dan Bernstein  <mitz@apple.com>
7160         Reviewed by Sam Weinig.
7162         - clean up AnimationBase
7164         * page/animation/AnimationBase.cpp:
7165         * page/animation/AnimationBase.h:
7166         * page/animation/CompositeAnimation.cpp:
7167         * page/animation/ImplicitAnimation.cpp:
7168         * page/animation/ImplicitAnimation.h:
7169         * page/animation/KeyframeAnimation.cpp:
7170         * page/animation/KeyframeAnimation.h:
7172 2008-09-10  Alexey Proskuryakov  <ap@webkit.org>
7174         Reviewed by Darin Adler.
7176         https://bugs.webkit.org/show_bug.cgi?id=20741
7177         REGRESSION: ISO-8859-8-I encoding is registered incorrectly
7179         Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
7180         check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
7181         tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
7183         I also found and fixed a potential crasher for non-Mac ports.
7185         Tests: fast/encoding/hebrew/8859-8-e.html
7186                fast/encoding/hebrew/8859-8-i.html
7187                fast/encoding/hebrew/8859-8.html
7188                fast/encoding/hebrew/csISO88598I.html
7189                fast/encoding/hebrew/hebrew.html
7190                fast/encoding/hebrew/iso-ir-138.html
7191                fast/encoding/hebrew/logical.html
7193         * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
7194         (case-insensitively, because different versions of ICU report this MIME name in different
7195         case).
7197         * platform/text/TextCodecICU.cpp:
7198         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
7199         (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
7200         There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
7201         with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
7202         we also support these via TEC (which we should stop doing), but on Windows, this would
7203         likely crash.
7205 2008-09-09  Dave Hyatt  <hyatt@apple.com
7207         Resurrect PlatformScrollbarWin.
7208         
7209         Reviewed by Adam Roben
7211         * WebCore.vcproj/WebCore.vcproj:
7212         * platform/win/PlatformScrollBarWin.cpp:
7213         (WebCore::isRunningOnVistaOrLater):
7214         (WebCore::checkAndInitScrollbarTheme):
7215         (WebCore::PlatformScrollbar::PlatformScrollbar):
7216         (WebCore::PlatformScrollbar::invalidateTrack):
7217         (WebCore::PlatformScrollbar::invalidatePart):
7218         (WebCore::PlatformScrollbar::paint):
7219         (WebCore::PlatformScrollbar::hasButtons):
7220         (WebCore::PlatformScrollbar::hasThumb):
7221         (WebCore::PlatformScrollbar::backButtonRect):
7222         (WebCore::PlatformScrollbar::forwardButtonRect):
7223         (WebCore::PlatformScrollbar::trackRect):
7224         (WebCore::PlatformScrollbar::gripperRect):
7225         (WebCore::PlatformScrollbar::thumbLength):
7226         (WebCore::PlatformScrollbar::paintButton):
7227         (WebCore::PlatformScrollbar::paintTrack):
7228         (WebCore::PlatformScrollbar::paintThumb):
7229         (WebCore::PlatformScrollbar::paintGripper):
7230         (WebCore::PlatformScrollbar::hitTest):
7231         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
7232         (WebCore::PlatformScrollbar::handleMouseOutEvent):
7233         (WebCore::PlatformScrollbar::themeChanged):
7235 2008-09-09  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
7237         Reviewed by Maciej Stachowiak.
7239         Bug 20759: Remove MacroAssembler
7240         <https://bugs.webkit.org/show_bug.cgi?id=20759>
7242         Make the necessary changes to ForwardingHeaders to remove
7243         MacroAssembler.
7245         * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
7246         * ForwardingHeaders/masm/MacroAssembler.h: Removed.
7247         * ForwardingHeaders/masm/X86Assembler.h: Added.
7249 2008-09-09  Alp Toker  <alp@nuanti.com>
7251         Reviewed by Dave Hyatt.
7253         https://bugs.webkit.org/show_bug.cgi?id=16792
7254         [GTK] Fails to render Japanese/Chinese text with simple path
7256         https://bugs.webkit.org/show_bug.cgi?id=16942
7257         [GTK] Oddities in font selection and fall back
7259         https://bugs.webkit.org/show_bug.cgi?id=16862
7260         [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
7262         GTK+ font fixes and enhancements.
7264         Implement font fallback for the simple FontConfig-based text path and
7265         improve the Pango-based complex text path to make use of requested
7266         font properties and available font selection.
7268         Add text shadow support to the complex path.
7270         * platform/graphics/gtk/FontCacheGtk.cpp:
7271         (WebCore::FontCache::getFontDataForCharacters):
7272         (WebCore::FontCache::getSimilarFontPlatformData):
7273         * platform/graphics/gtk/FontGtk.cpp:
7274         (WebCore::setPangoAttributes):
7275         (WebCore::Font::drawComplexText):
7276         (WebCore::getDefaultPangoLayout):
7277         (WebCore::Font::floatWidthForComplexText):
7278         (WebCore::Font::offsetForPositionForComplexText):
7279         (WebCore::Font::selectionRectForComplexText):
7280         * platform/graphics/gtk/FontPlatformData.h:
7281         (WebCore::FontPlatformData::FontPlatformData):
7282         (WebCore::FontPlatformData::hash):
7283         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
7284         (WebCore::FontPlatformData::FontPlatformData):
7285         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
7286         (WebCore::SimpleFontData::platformDestroy):
7288 2008-09-09  Dave Hyatt  <hyatt@apple.com>
7290         Make the Windows classic case work again.  Overlap in slider constants and other constants broke
7291         the push state for buttons and checkboxes.  Make sure to check the RenderObject's appearance
7292         value to make sure it's really a slider thumb to resolve this conflict.
7293        
7294         Reviewed by Adam Roben
7296         * rendering/RenderThemeWin.cpp:
7297         (WebCore::drawControl):
7299 2008-09-05  Chris Marrin  <cmarrin@apple.com>
7301         Reviewed by Sam Weinig.
7303         Need to handle the case when 0% or 100% keyframe is omitted
7304         https://bugs.webkit.org/show_bug.cgi?id=20679
7306         Tests: animations/keyframes-from-missing.html
7307                animations/keyframes-to-missing.html
7309         * css/CSSStyleSelector.cpp:
7310         (WebCore::CSSStyleSelector::addKeyframeStyle):
7312 2008-09-09  Dave Hyatt  <hyatt@apple.com>
7314         Resurrect Safari's original RenderThemeWin and bring it up to date with ToT.  Having a current
7315         RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
7316         merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
7317         what changes have been made as compared with the old RenderThemeWin).
7318         
7319         Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
7320         text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
7321         vs. printer advancement rounding).
7322     
7323         Reviewed by Adam/Sam
7325         * css/CSSStyleSelector.cpp:
7326         (WebCore::CSSStyleSelector::applyProperty):
7327         * platform/graphics/Icon.h:
7328         (WebCore::Icon::create):
7329         * rendering/RenderThemeWin.cpp:
7330         (WebCore::RenderThemeWin::RenderThemeWin):
7331         (WebCore::RenderThemeWin::~RenderThemeWin):
7332         (WebCore::RenderThemeWin::buttonTheme):
7333         (WebCore::RenderThemeWin::textFieldTheme):
7334         (WebCore::RenderThemeWin::menuListTheme):
7335         (WebCore::RenderThemeWin::sliderTheme):
7336         (WebCore::RenderThemeWin::close):
7337         (WebCore::RenderThemeWin::themeChanged):
7338         (WebCore::RenderThemeWin::supportsHover):
7339         (WebCore::fillFontDescription):
7340         (WebCore::RenderThemeWin::systemFont):
7341         (WebCore::RenderThemeWin::supportsFocus):
7342         (WebCore::RenderThemeWin::determineClassicState):
7343         (WebCore::RenderThemeWin::determineState):
7344         (WebCore::RenderThemeWin::determineSliderThumbState):
7345         (WebCore::RenderThemeWin::getClassicThemeData):
7346         (WebCore::RenderThemeWin::getThemeData):
7347         (WebCore::drawControl):
7348         (WebCore::RenderThemeWin::paintButton):
7349         (WebCore::RenderThemeWin::paintTextField):
7350         (WebCore::RenderThemeWin::paintMenuList):
7351         (WebCore::RenderThemeWin::adjustMenuListStyle):
7352         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
7353         (WebCore::RenderThemeWin::paintMenuListButton):
7354         (WebCore::RenderThemeWin::paintSliderTrack):
7355         (WebCore::RenderThemeWin::paintSliderThumb):
7356         (WebCore::RenderThemeWin::adjustSliderThumbSize):
7357         (WebCore::RenderThemeWin::paintSearchField):
7358         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
7359         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
7360         (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
7361         (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
7362         (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
7363         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
7364         (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
7365         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
7366         * rendering/RenderThemeWin.h:
7367         (WebCore::ThemeData::ThemeData):
7368         (WebCore::RenderThemeWin::paintSearchFieldDecoration):
7369         (WebCore::RenderThemeWin::adjustButtonStyle):
7370         (WebCore::RenderThemeWin::adjustTextFieldStyle):
7371         (WebCore::RenderThemeWin::adjustTextAreaStyle):
7373 2008-09-09  Dean Jackson  <dino@apple.com>
7375         Reviewed by Sam Weinig.
7377         Document::createEvent missing cases for animation and
7378         transition events.
7379         https://bugs.webkit.org/show_bug.cgi?id=20734
7381         Test: transitions/transition-end-event-create.html
7382         Test: animations/animation-events-create.html
7384         * dom/Document.cpp:
7385         (WebCore::Document::createEvent):
7386             - add the two cases
7388 2008-09-09  Dan Bernstein  <mitz@apple.com>
7390         - Tiger build fix
7392         * WebCore.Tiger.exp:
7393         * WebCore.base.exp:
7394         * platform/mac/WebCoreSystemInterface.h:
7395         * platform/mac/WebCoreSystemInterface.mm:
7397 2008-09-09  Dan Bernstein  <mitz@apple.com>
7399         Reviewed by Darin Adler.
7401         - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
7403         * WebCore.Tiger.exp:
7404         * WebCore.base.exp:
7405         * platform/graphics/SimpleFontData.h:
7406         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
7407         (WebCore::GlyphPage::fill):
7408         * platform/graphics/mac/SimpleFontDataMac.mm:
7409         (WebCore::initFontData):
7410         (WebCore::SimpleFontData::platformInit):
7411         (WebCore::SimpleFontData::platformDestroy):
7412         * platform/mac/WebCoreSystemInterface.h:
7413         * platform/mac/WebCoreSystemInterface.mm:
7415 2008-09-09  Kevin McCullough  <kmccullough@apple.com>
7417         Reviewed by Tim.
7419         <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
7420         breakpoints inside eval.
7422         * page/inspector/inspector.js:
7424 2008-09-09  Joerg Bornemann  <joerg.bornemann@trolltech.com>
7426         Reviewed by Simon.
7428         Fix compilation of the Qt port with disabled plugins on Windows
7430         * WebCore.pro:
7431         * plugins/PluginView.cpp:
7432         (WebCore::PluginView::PluginView):
7433         * plugins/PluginView.h:
7435 2008-09-09  Jungshik Shin  <jungshik.shin@gmail.com>
7437         Reviewed by Alexey Proskuryakov.
7439         Try MIME charset names before trying IANA names 
7440         ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
7442         With this change, shorter and more widely used names (preferred MIME
7443         names) are returned by document.charset, document.characterSet,
7444         document.inputEncoding rather than IANA names. This  helps
7445         fixing bug 18085 in addition to web developers who are more familiar
7446         with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
7447         returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese, 
7448         ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx. 
7449         Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
7450         used, the former is still recognized as aliases to the latter so that
7451         there's very little, if any, to worry about.
7453         * platform/text/TextCodecICU.cpp:
7454         (WebCore::TextCodecICU::registerExtendedEncodingNames):
7456 2008-09-08  Sam Weinig  <sam@webkit.org>
7458         Reviewed by Maciej Stachowiak and Oliver Hunt.
7460         Add forwarding headers.
7462         * ForwardingHeaders/wtf/HashFunctions.h: Added.
7464 2008-09-05  Dean Jackson  <dino@apple.com>
7466         Reviewed by Dan Bernstein.
7468         Update grammar so that we can add a keyframe rule via the DOM.
7469         https://bugs.webkit.org/show_bug.cgi?id=20613
7471         * css/CSSGrammar.y:
7472         * css/tokenizer.flex:
7474 2008-09-08  Antti Koivisto  <antti@apple.com>
7476         Reviewed by Dan Bernstein.
7478         Allow <br> for simple UA stylesheet. Editing code generates them. It does not
7479         actually show up in any of the default stylesheets.
7481         * css/CSSStyleSelector.cpp:
7482         (WebCore::elementCanUseSimpleDefaultStyle):
7484 2008-09-08  Dimitri Glazkov  <dglazkov@google.com>
7486         Reviewed by Dan Bernstein.
7488         - fix https://bugs.webkit.org/show_bug.cgi?id=20237
7489           Zero width and space characters are displayed incorrectly if not contained in a fallback font
7491         Adds an extra check for Object Replacement Character (U+FFFC) to address
7492         the issue with fast/text/zero-width-characters.html test when run
7493         with Windows system default fonts.
7495         * platform/graphics/Font.h:
7496         (WebCore::Font::treatAsZeroWidthSpace):
7498 2008-09-08  Dean Jackson  <dino@apple.com>
7500         Reviewed by Sam Weinig.
7502         Code style issue I forgot to fix from previous commit.
7504         * platform/graphics/AffineTransform.cpp:
7505         (WebCore::AffineTransform::blend):
7507 2008-09-08  Chris Marrin  <cmarrin@apple.com>
7509         Reviewed by Sam Weinig
7511         - Animation of -webkit-transform matrix() function should not do linear interpolation
7512           https://bugs.webkit.org/show_bug.cgi?id=20667
7514         Test: animations/matrix-anim.html
7516         * ChangeLog:
7517         * platform/graphics/AffineTransform.cpp:
7518         (WebCore::affineTransformDecompose):
7519         (WebCore::affineTransformCompose):
7520         (WebCore::AffineTransform::blend):
7521         * platform/graphics/AffineTransform.h:
7522         * rendering/style/RenderStyle.cpp:
7523         (WebCore::MatrixTransformOperation::blend):
7525 2008-09-08  Alexey Proskuryakov  <ap@webkit.org>
7527         Reviewed by Darin Adler.
7529         https://bugs.webkit.org/show_bug.cgi?id=20668
7530         multipart/form-data does not always include Content-type for submitted files
7532         Cannot be tested with DRT or manual tests.
7534         * platform/MIMETypeRegistry.cpp:
7535         (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
7536         (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
7537         unknown extensions, not just missing ones.
7539 2008-09-08  Simon Hausmann  <hausmann@webkit.org>
7541         Build fix for the Qt/Windows build, define USE_JSC to
7542         enable the WebCore::String -> JSC::UString operator that
7543         MSVC insists on seeing
7545         * WebCore.pro:
7547 2008-09-08  Anders Carlsson  <andersca@apple.com>
7549         Reviewed by Maciej.
7551         <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
7552         
7553         In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
7554         page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
7555         
7556         Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
7557         
7558         * bindings/js/JSDOMWindowBase.h:
7559         * loader/FrameLoader.cpp:
7560         (WebCore::FrameLoader::commitProvisionalLoad):
7562 2008-09-07  Antti Koivisto  <antti@apple.com>
7564         Reviewed by Dave Hyatt.
7566         Don't leak the simple stylesheet.
7567         Also call RenderTheme::adjustDefaultStyleSheet() in right place.
7569         * css/CSSStyleSelector.cpp:
7570         (WebCore::loadFullDefaultStyle):
7571         (WebCore::loadSimpleDefaultStyle):
7572         (WebCore::CSSStyleSelector::styleForElement):
7574 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
7576         Reviewed by Oliver Hunt.
7578         Bug 20711: Change KJS prefix on preprocessor macros to JSC
7579         <https://bugs.webkit.org/show_bug.cgi?id=20711>
7581         * bindings/js/JSEventTargetBase.h:
7582         * bindings/js/JSHTMLInputElementBase.cpp:
7583         * bindings/js/JSHTMLInputElementBase.h:
7584         * bindings/scripts/CodeGeneratorJS.pm:
7586 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
7588         Reviewed by Maciej Stachowiak.
7590         Bug 20704: Replace the KJS namespace
7591         <https://bugs.webkit.org/show_bug.cgi?id=20704>
7593         Rename the KJS namespace to JSC. There are still some uses of KJS in the
7594         names of JNI functions, and I will check if these are safe to change
7595         as well.
7597         * WebCore.base.exp:
7598         * bindings/js/GCController.cpp:
7599         * bindings/js/JSAttrCustom.cpp:
7600         * bindings/js/JSAudioConstructor.cpp:
7601         * bindings/js/JSAudioConstructor.h:
7602         (WebCore::JSAudioConstructor::classInfo):
7603         * bindings/js/JSCSSRuleCustom.cpp:
7604         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7605         * bindings/js/JSCSSValueCustom.cpp:
7606         * bindings/js/JSCanvasPixelArrayCustom.cpp:
7607         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
7608         * bindings/js/JSClipboardCustom.cpp:
7609         * bindings/js/JSConsoleCustom.cpp:
7610         * bindings/js/JSCustomSQLStatementCallback.cpp:
7611         (WebCore::JSCustomSQLStatementCallback::handleEvent):
7612         * bindings/js/JSCustomSQLStatementCallback.h:
7613         (WebCore::JSCustomSQLStatementCallback::create):
7614         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7615         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
7616         * bindings/js/JSCustomSQLStatementErrorCallback.h:
7617         (WebCore::JSCustomSQLStatementErrorCallback::create):
7618         * bindings/js/JSCustomSQLTransactionCallback.cpp:
7619         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
7620         * bindings/js/JSCustomSQLTransactionCallback.h:
7621         (WebCore::JSCustomSQLTransactionCallback::create):
7622         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7623         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
7624         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
7625         (WebCore::JSCustomSQLTransactionErrorCallback::create):
7626         * bindings/js/JSCustomVoidCallback.cpp:
7627         (WebCore::JSCustomVoidCallback::handleEvent):
7628         * bindings/js/JSCustomVoidCallback.h:
7629         (WebCore::JSCustomVoidCallback::create):
7630         * bindings/js/JSCustomXPathNSResolver.cpp:
7631         (WebCore::JSCustomXPathNSResolver::create):
7632         * bindings/js/JSCustomXPathNSResolver.h:
7633         * bindings/js/JSDOMApplicationCacheCustom.cpp:
7634         (WebCore::JSDOMApplicationCache::dispatchEvent):
7635         * bindings/js/JSDOMBinding.cpp:
7636         (WebCore::jsOwnedStringOrNull):
7637         * bindings/js/JSDOMBinding.h:
7638         (WebCore::DOMObject::DOMObject):
7639         (WebCore::cacheDOMObject):
7640         (WebCore::cacheSVGDOMObject):
7641         (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
7642         (WebCore::toJS):
7643         * bindings/js/JSDOMWindowBase.cpp:
7644         * bindings/js/JSDOMWindowBase.h:
7645         (WebCore::JSDOMWindowBase::classInfo):
7646         (WebCore::JSDOMWindowBase::d):
7647         * bindings/js/JSDOMWindowCustom.cpp:
7648         (WebCore::JSDOMWindow::getPropertyAttributes):
7649         * bindings/js/JSDOMWindowCustom.h:
7650         (WebCore::asJSDOMWindow):
7651         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
7652         (WebCore::JSDOMWindow::customPut):
7653         (WebCore::JSDOMWindowBase::allowsAccessFrom):
7654         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
7655         * bindings/js/JSDOMWindowShell.cpp:
7656         (WebCore::JSDOMWindowShell::getPropertyAttributes):
7657         * bindings/js/JSDOMWindowShell.h:
7658         (WebCore::JSDOMWindowShell::classInfo):
7659         * bindings/js/JSDatabaseCustom.cpp:
7660         * bindings/js/JSDocumentCustom.cpp:
7661         * bindings/js/JSDocumentFragmentCustom.cpp:
7662         * bindings/js/JSElementCustom.cpp:
7663         * bindings/js/JSEventCustom.cpp:
7664         * bindings/js/JSEventListener.cpp:
7665         * bindings/js/JSEventListener.h:
7666         (WebCore::JSUnprotectedEventListener::create):
7667         (WebCore::JSEventListener::create):
7668         * bindings/js/JSEventTargetBase.cpp:
7669         * bindings/js/JSEventTargetBase.h:
7670         (WebCore::JSEventTargetBase::getValueProperty):
7671         (WebCore::JSEventTargetBase::putValueProperty):
7672         (WebCore::JSEventTargetBase::getOwnPropertySlot):
7673         (WebCore::JSEventTargetBase::put):
7674         (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
7675         (WebCore::JSEventTargetPrototype::self):
7676         (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
7677         (WebCore::JSEventTargetPrototype::classInfo):
7678         * bindings/js/JSEventTargetNode.cpp:
7679         * bindings/js/JSEventTargetNode.h:
7680         (WebCore::JSEventTargetNode::getOwnPropertySlot):
7681         (WebCore::JSEventTargetNode::getValueProperty):
7682         (WebCore::JSEventTargetNode::put):
7683         (WebCore::JSEventTargetNode::putValueProperty):
7684         * bindings/js/JSHTMLAllCollection.h:
7685         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
7686         (WebCore::JSHTMLAllCollection::toBoolean):
7687         * bindings/js/JSHTMLAppletElementCustom.cpp:
7688         * bindings/js/JSHTMLCollectionCustom.cpp:
7689         * bindings/js/JSHTMLDocumentCustom.cpp:
7690         * bindings/js/JSHTMLElementCustom.cpp:
7691         * bindings/js/JSHTMLEmbedElementCustom.cpp:
7692         * bindings/js/JSHTMLFormElementCustom.cpp:
7693         * bindings/js/JSHTMLFrameElementCustom.cpp:
7694         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
7695         * bindings/js/JSHTMLIFrameElementCustom.cpp:
7696         * bindings/js/JSHTMLInputElementBase.cpp:
7697         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
7698         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
7699         * bindings/js/JSHTMLInputElementBase.h:
7700         (WebCore::JSHTMLInputElementBase::classInfo):
7701         * bindings/js/JSHTMLObjectElementCustom.cpp:
7702         * bindings/js/JSHTMLOptionElementConstructor.cpp:
7703         * bindings/js/JSHTMLOptionElementConstructor.h:
7704         (WebCore::JSHTMLOptionElementConstructor::classInfo):
7705         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
7706         * bindings/js/JSHTMLSelectElementCustom.cpp:
7707         (WebCore::selectIndexSetter):
7708         (WebCore::JSHTMLSelectElement::indexSetter):
7709         * bindings/js/JSHTMLSelectElementCustom.h:
7710         * bindings/js/JSHistoryCustom.cpp:
7711         * bindings/js/JSImageConstructor.cpp:
7712         * bindings/js/JSImageConstructor.h:
7713         (WebCore::JSImageConstructor::classInfo):
7714         * bindings/js/JSInspectedObjectWrapper.cpp:
7715         * bindings/js/JSInspectedObjectWrapper.h:
7716         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
7717         (WebCore::JSInspectedObjectWrapper::classInfo):
7718         * bindings/js/JSInspectorCallbackWrapper.cpp:
7719         * bindings/js/JSInspectorCallbackWrapper.h:
7720         (WebCore::JSInspectorCallbackWrapper::classInfo):
7721         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
7722         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
7723         * bindings/js/JSLocationCustom.cpp:
7724         * bindings/js/JSMimeTypeArrayCustom.cpp:
7725         * bindings/js/JSNSResolver.cpp:
7726         * bindings/js/JSNSResolver.h:
7727         (WebCore::JSNSResolver::create):
7728         * bindings/js/JSNamedNodeMapCustom.cpp:
7729         * bindings/js/JSNamedNodesCollection.cpp:
7730         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
7731         * bindings/js/JSNamedNodesCollection.h:
7732         (WebCore::JSNamedNodesCollection::classInfo):
7733         * bindings/js/JSNavigatorCustom.cpp:
7734         * bindings/js/JSNodeCustom.cpp:
7735         * bindings/js/JSNodeFilterCondition.cpp:
7736         (WebCore::JSNodeFilterCondition::acceptNode):
7737         * bindings/js/JSNodeFilterCondition.h:
7738         (WebCore::JSNodeFilterCondition::create):
7739         * bindings/js/JSNodeFilterCustom.cpp:
7740         * bindings/js/JSNodeIteratorCustom.cpp:
7741         * bindings/js/JSNodeListCustom.cpp:
7742         * bindings/js/JSPluginArrayCustom.cpp:
7743         * bindings/js/JSPluginCustom.cpp:
7744         * bindings/js/JSPluginElementFunctions.cpp:
7745         (WebCore::getRuntimeObject):
7746         * bindings/js/JSPluginElementFunctions.h:
7747         * bindings/js/JSQuarantinedObjectWrapper.cpp:
7748         (WebCore::JSQuarantinedObjectWrapper::construct):
7749         (WebCore::JSQuarantinedObjectWrapper::call):
7750         * bindings/js/JSQuarantinedObjectWrapper.h:
7751         (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
7752         (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
7753         (WebCore::JSQuarantinedObjectWrapper::className):
7754         * bindings/js/JSRGBColor.cpp:
7755         * bindings/js/JSRGBColor.h:
7756         (WebCore::JSRGBColor::classInfo):
7757         * bindings/js/JSSQLResultSetRowListCustom.cpp:
7758         * bindings/js/JSSQLTransactionCustom.cpp:
7759         * bindings/js/JSSVGLazyEventListener.cpp:
7760         * bindings/js/JSSVGLazyEventListener.h:
7761         * bindings/js/JSSVGLengthCustom.cpp:
7762         * bindings/js/JSSVGMatrixCustom.cpp:
7763         (WebCore::JSSVGMatrix::inverse):
7764         (WebCore::JSSVGMatrix::rotateFromVector):
7765         * bindings/js/JSSVGPathSegCustom.cpp:
7766         * bindings/js/JSSVGPathSegListCustom.cpp:
7767         (WebCore::JSSVGPathSegList::initialize):
7768         (WebCore::JSSVGPathSegList::getItem):
7769         (WebCore::JSSVGPathSegList::insertItemBefore):
7770         (WebCore::JSSVGPathSegList::replaceItem):
7771         (WebCore::JSSVGPathSegList::removeItem):
7772         (WebCore::JSSVGPathSegList::appendItem):
7773         * bindings/js/JSSVGPointListCustom.cpp:
7774         * bindings/js/JSSVGTransformListCustom.cpp:
7775         * bindings/js/JSStorageCustom.cpp:
7776         * bindings/js/JSStyleSheetCustom.cpp:
7777         * bindings/js/JSStyleSheetListCustom.cpp:
7778         * bindings/js/JSTextCustom.cpp:
7779         * bindings/js/JSTreeWalkerCustom.cpp:
7780         * bindings/js/JSXMLHttpRequestConstructor.cpp:
7781         * bindings/js/JSXMLHttpRequestConstructor.h:
7782         (WebCore::JSXMLHttpRequestConstructor::classInfo):
7783         * bindings/js/JSXMLHttpRequestCustom.cpp:
7784         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7785         * bindings/js/JSXSLTProcessorConstructor.cpp:
7786         * bindings/js/JSXSLTProcessorConstructor.h:
7787         (WebCore::JSXSLTProcessorConstructor::classInfo):
7788         * bindings/js/JSXSLTProcessorCustom.cpp:
7789         * bindings/js/ScheduledAction.cpp:
7790         * bindings/js/ScheduledAction.h:
7791         * bindings/js/ScriptController.cpp:
7792         (WebCore::ScriptController::attachDebugger):
7793         (WebCore::ScriptController::windowScriptNPObject):
7794         * bindings/js/ScriptController.h:
7795         * bindings/js/ScriptControllerGtk.cpp:
7796         (WebCore::ScriptController::createScriptInstanceForWidget):
7797         * bindings/js/ScriptControllerMac.mm:
7798         (WebCore::ScriptController::createScriptInstanceForWidget):
7799         (WebCore::ScriptController::windowScriptObject):
7800         (WebCore::ScriptController::clearPlatformScriptObjects):
7801         (WebCore::updateRenderingForBindings):
7802         (WebCore::ScriptController::initJavaJSBindings):
7803         * bindings/js/ScriptControllerQt.cpp:
7804         (WebCore::ScriptController::createScriptInstanceForWidget):
7805         * bindings/js/ScriptControllerWin.cpp:
7806         (WebCore::ScriptController::createScriptInstanceForWidget):
7807         * bindings/js/ScriptControllerWx.cpp:
7808         (WebCore::ScriptController::createScriptInstanceForWidget):
7809         * bindings/js/StringSourceProvider.h:
7810         (WebCore::StringSourceProvider::getRange):
7811         * bindings/objc/DOM.mm:
7812         (-[DOMNode JSC::Bindings::]):
7813         * bindings/objc/DOMInternal.h:
7814         * bindings/objc/DOMInternal.mm:
7815         (-[WebScriptObject _initializeScriptDOMNodeImp]):
7816         * bindings/objc/DOMUtility.mm:
7817         (JSC::createDOMWrapper):
7818         (WebCore::createDOMWrapper):
7819         * bindings/objc/WebScriptObject.mm:
7820         (WebCore::createJSWrapper):
7821         (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
7822         * bindings/objc/WebScriptObjectPrivate.h:
7823         * bindings/scripts/CodeGeneratorJS.pm:
7824         * bridge/NP_jsobject.cpp:
7825         * bridge/NP_jsobject.h:
7826         * bridge/c/c_class.cpp:
7827         * bridge/c/c_class.h:
7828         * bridge/c/c_instance.cpp:
7829         * bridge/c/c_instance.h:
7830         * bridge/c/c_runtime.cpp:
7831         * bridge/c/c_runtime.h:
7832         * bridge/c/c_utility.cpp:
7833         * bridge/c/c_utility.h:
7834         * bridge/jni/jni_class.cpp:
7835         * bridge/jni/jni_class.h:
7836         * bridge/jni/jni_instance.cpp:
7837         * bridge/jni/jni_instance.h:
7838         * bridge/jni/jni_jsobject.h:
7839         * bridge/jni/jni_jsobject.mm:
7840         (JavaJSObject::call):
7841         (JavaJSObject::convertJObjectToValue):
7842         * bridge/jni/jni_objc.mm:
7843         (JSC::Bindings::dispatchJNICall):
7844         * bridge/jni/jni_runtime.cpp:
7845         * bridge/jni/jni_runtime.h:
7846         * bridge/jni/jni_utility.cpp:
7847         * bridge/jni/jni_utility.h:
7848         * bridge/npruntime.cpp:
7849         (_NPN_GetStringIdentifier):
7850         * bridge/objc/WebScriptObject.h:
7851         * bridge/objc/objc_class.h:
7852         * bridge/objc/objc_class.mm:
7853         * bridge/objc/objc_instance.h:
7854         * bridge/objc/objc_instance.mm:
7855         * bridge/objc/objc_runtime.h:
7856         * bridge/objc/objc_runtime.mm:
7857         * bridge/objc/objc_utility.h:
7858         * bridge/objc/objc_utility.mm:
7859         * bridge/qt/qt_class.cpp:
7860         * bridge/qt/qt_class.h:
7861         * bridge/qt/qt_instance.cpp:
7862         * bridge/qt/qt_instance.h:
7863         * bridge/qt/qt_runtime.cpp:
7864         (JSC::Bindings::convertQVariantToValue):
7865         (JSC::Bindings::):
7866         * bridge/qt/qt_runtime.h:
7867         * bridge/runtime.cpp:
7868         * bridge/runtime.h:
7869         * bridge/runtime_array.cpp:
7870         * bridge/runtime_array.h:
7871         * bridge/runtime_method.cpp:
7872         * bridge/runtime_method.h:
7873         * bridge/runtime_object.cpp:
7874         * bridge/runtime_object.h:
7875         * bridge/runtime_root.cpp:
7876         (JSC::Bindings::RootObject::invalidate):
7877         (JSC::Bindings::RootObject::gcProtect):
7878         (JSC::Bindings::RootObject::gcUnprotect):
7879         * bridge/runtime_root.h:
7880         * bridge/testbindings.cpp:
7881         * bridge/testbindings.mm:
7882         * bridge/testqtbindings.cpp:
7883         * dom/Document.cpp:
7884         (WebCore::Document::~Document):
7885         * dom/NSResolver.h:
7886         * dom/Node.cpp:
7887         (WebCore::Node::setDocument):
7888         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
7889         (WebCore::resolveNamespacesForSelector):
7890         (WebCore::Node::querySelector):
7891         (WebCore::Node::querySelectorAll):
7892         * dom/Node.h:
7893         * dom/NodeFilter.cpp:
7894         * dom/NodeFilter.h:
7895         * dom/NodeFilterCondition.cpp:
7896         * dom/NodeFilterCondition.h:
7897         * dom/NodeIterator.cpp:
7898         * dom/NodeIterator.h:
7899         * dom/Traversal.cpp:
7900         * dom/Traversal.h:
7901         * dom/TreeWalker.cpp:
7902         * dom/TreeWalker.h:
7903         * dom/make_names.pl:
7904         * history/CachedPage.cpp:
7905         * history/CachedPage.h:
7906         * html/HTMLPlugInElement.cpp:
7907         (WebCore::HTMLPlugInElement::getInstance):
7908         * html/HTMLPlugInElement.h:
7909         * loader/FrameLoader.cpp:
7910         * loader/FrameLoader.h:
7911         * loader/icon/IconDatabase.cpp:
7912         (WebCore::iconDatabase):
7913         * page/Console.cpp:
7914         * page/Console.h:
7915         * page/InspectorController.cpp:
7916         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
7917         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
7918         (WebCore::InspectorResource::setXMLHttpRequestProperties):
7919         (WebCore::InspectorResource::sourceString):
7920         (WebCore::getResourceDocumentNode):
7921         (WebCore::search):
7922         (WebCore::InspectorController::focusNode):
7923         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
7924         (WebCore::InspectorController::addDatabaseScriptResource):
7925         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
7926         * page/InspectorController.h:
7927         (WebCore::InspectorController::profiles):
7928         * page/JavaScriptCallFrame.cpp:
7929         (WebCore::JavaScriptCallFrame::scopeChain):
7930         * page/JavaScriptCallFrame.h:
7931         (WebCore::JavaScriptCallFrame::create):
7932         (WebCore::JavaScriptCallFrame::update):
7933         * page/JavaScriptDebugListener.h:
7934         * page/JavaScriptDebugServer.cpp:
7935         (WebCore::dispatchDidParseSource):
7936         * page/JavaScriptDebugServer.h:
7937         * page/JavaScriptProfile.cpp:
7938         * page/JavaScriptProfile.h:
7939         * page/JavaScriptProfileNode.cpp:
7940         (WebCore::getTotalTime):
7941         (WebCore::getSelfTime):
7942         (WebCore::getTotalPercent):
7943         (WebCore::getSelfPercent):
7944         (WebCore::getNumberOfCalls):
7945         (WebCore::getChildren):
7946         (WebCore::getVisible):
7947         * page/JavaScriptProfileNode.h:
7948         * page/Page.cpp:
7949         (WebCore::Page::setDebuggerForAllPages):
7950         (WebCore::Page::setDebugger):
7951         * page/Page.h:
7952         (WebCore::Page::debugger):
7953         * page/mac/FrameMac.mm:
7954         * platform/KURL.h:
7955         (WebCore::KURL::operator JSC::UString):
7956         * platform/text/AtomicString.cpp:
7957         (WebCore::AtomicString::add):
7958         (WebCore::AtomicString::find):
7959         * platform/text/AtomicString.h:
7960         (WebCore::AtomicString::AtomicString):
7961         * platform/text/PlatformString.h:
7962         * platform/text/String.cpp:
7963         (WebCore::charactersToDouble):
7964         * platform/win/BString.cpp:
7965         * platform/win/BString.h:
7966         * plugins/MimeTypeArray.h:
7967         * plugins/Plugin.h:
7968         * plugins/PluginArray.h:
7969         * plugins/PluginView.cpp:
7970         (WebCore::PluginView::start):
7971         (WebCore::PluginView::performRequest):
7972         (WebCore::PluginView::bindingInstance):
7973         * plugins/PluginView.h:
7974         * plugins/gtk/PluginViewGtk.cpp:
7975         (WebCore::PluginView::paint):
7976         (WebCore::PluginView::handleKeyboardEvent):
7977         (WebCore::PluginView::handleMouseEvent):
7978         (WebCore::PluginView::setNPWindowRect):
7979         (WebCore::PluginView::stop):
7980         (WebCore::PluginView::init):
7981         * plugins/qt/PluginViewQt.cpp:
7982         (WebCore::PluginView::setNPWindowRect):
7983         (WebCore::PluginView::stop):
7984         (WebCore::PluginView::init):
7985         * plugins/win/PluginViewWin.cpp:
7986         (WebCore::PluginView::dispatchNPEvent):
7987         (WebCore::PluginView::handleKeyboardEvent):
7988         (WebCore::PluginView::handleMouseEvent):
7989         (WebCore::PluginView::setNPWindowRect):
7990         (WebCore::PluginView::stop):
7991         * storage/Database.cpp:
7992         (WebCore::Database::Database):
7993         * xml/XMLHttpRequest.cpp:
7994         (WebCore::XMLHttpRequest::responseText):
7995         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
7996         (WebCore::XMLHttpRequest::clearResponse):
7997         (WebCore::XMLHttpRequest::dropProtection):
7998         (WebCore::XMLHttpRequest::didFinishLoading):
7999         (WebCore::XMLHttpRequest::didReceiveData):
8000         * xml/XMLHttpRequest.h:
8002 2008-09-07  Adam Barth  <abarth@webkit.org>
8004         Reviewed by Sam Weinig.
8006         Adopt opener restriction on frame navigation.
8007           https://bugs.webkit.org/show_bug.cgi?id=20642
8009         This restriction helps prevent an attacker from navigating top-level
8010         windows that were created by another web site.
8012         Tests: http/tests/security/frameNavigation/not-opener.html
8013                http/tests/security/frameNavigation/opener.html
8015         * loader/FrameLoader.cpp:
8016         (WebCore::canAccessAncestor):
8017         (WebCore::FrameLoader::shouldAllowNavigation):
8019 2008-09-07  Dan Bernstein  <mitz@apple.com>
8021         Reviewed by Maciej Stachowiak.
8023         - use the correct sign for vertical offsets of combining marks
8025         * platform/graphics/win/UniscribeController.cpp:
8026         (WebCore::UniscribeController::shapeAndPlaceItem):
8028 2008-09-07  Dan Bernstein  <mitz@apple.com>
8030         Reviewed by Dave Hyatt.
8032         - add the combining mark offsets in two places where I forgot them
8034         * platform/graphics/win/FontCGWin.cpp:
8035         (WebCore::Font::drawGlyphs):
8037 2008-09-07  Dan Bernstein  <mitz@apple.com>
8039         Reviewed by Dave Hyatt.
8041         - correct glyph advances in complex text using web fonts rendered with
8042           Core Graphics
8044         * platform/graphics/win/FontCustomPlatformData.cpp:
8045         (WebCore::FontCustomPlatformData::fontPlatformData):
8047 2008-09-07  Keishi Hattori  <casey.hattori@gmail.com>
8049         Adds console.dirxml support to the Web Inspector.
8051         https://bugs.webkit.org/show_bug.cgi?id=19156
8053         Reviewed by Timothy Hatcher.
8055         * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
8056         * bindings/js/JSConsoleCustom.cpp:
8057         (WebCore::JSConsole::dirxml):
8058         * page/Console.cpp:
8059         (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
8060         * page/Console.h:
8061         (WebCore::): Added NodeMessageLevel.
8062         * page/Console.idl: Added console.dirxml.
8063         * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
8064         * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline 
8065         in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
8066         * page/inspector/ElementsTreeOutline.js: Added.
8067         (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
8068         (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
8069         * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
8070         * page/inspector/inspector.css:
8071         * page/inspector/inspector.html: Added ElementsTreeOutline.js.
8072         * page/inspector/inspector.js: Moved hover related methods to WebInspector.
8073         (WebInspector.altKeyDown):
8074         (WebInspector.forceHoverHighlight):
8075         (WebInspector.hoveredDOMNode):
8076         (WebInspector._updateHoverHighlightSoon):
8077         (WebInspector._updateHoverHighlight):
8078         (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
8079         (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
8080         * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
8081         isAncestorIncludingParentFrames.
8083 2008-09-06  Mark Rowe  <mrowe@apple.com>
8085         Qt build fix.
8087         * bridge/qt/qt_runtime.cpp:
8088         (KJS::Bindings::convertQVariantToValue):
8090 === End merge of squirrelfish-extreme ===
8092 2008-09-05  Oliver Hunt  <oliver@apple.com>
8094         Start bringing up SFX on windows.
8096         Reviewed by Mark Rowe and Sam Weinig
8098         Start doing the work to bring up SFX on windows.  Initially
8099         just working on WREC, as it does not make any calls so reduces
8100         the amount of code that needs to be corrected.
8102         Add forwarding headers
8104         * ChangeLog:
8105         * ForwardingHeaders/masm/MacroAssembler.h: Added.
8106         * WebCore.vcproj/WebCore.vcproj:
8108 2008-08-27  Mark Rowe  <mrowe@apple.com>
8110         Reviewed by Oliver Hunt.
8112         Fix the build of the full WebKit stack.
8114         Add forwarding headers.
8116         * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
8117         * ForwardingHeaders/wrec/WREC.h: Added.
8119 === Start merge of squirrelfish-extreme ===
8121 2008-09-06  Antti Koivisto  <antti@apple.com>
8123         Reviewed by Dave Hyatt.
8125         <rdar://problem/6187043> 
8126         Don't parse full HTML user agent style sheet unless it is actually needed
8127         <rdar://problem/6131889> 
8128         WebView is significantly more expensive to create recently
8129         
8130         Parsing the html4.css takes significant amount of time and memory (~50kb) on application
8131         startup. Some clients may never use most of the rules.
8132         
8133         With this patch we use simplified UA stylesheet until we hit something it can't handle. 
8134         This avoids full stylesheet parsing on application startup (due to empty document construction)
8135         and also makes it possible for clients with very simple demands (divs and spans only) never to load 
8136         the full style.
8137         
8138         It also delays view source style parsing until it is used.
8140         * css/CSSStyleSelector.cpp:
8141         (WebCore::elementCanUseSimpleDefaultStyle):
8142         (WebCore::CSSStyleSelector::CSSStyleSelector):
8143         (WebCore::loadFullDefaultStyle):
8144         (WebCore::loadSimpleDefaultStyle):
8145         (WebCore::loadViewSourceStyle):
8146         (WebCore::CSSStyleSelector::matchUARules):
8147         (WebCore::CSSStyleSelector::styleForElement):
8149 2008-09-06  Kevin Ollivier  <kevino@theolliviers.com>
8151         wx build fix.
8153         * WebCoreSources.bkl:
8155 2008-09-06  Antti Koivisto  <antti@apple.com>
8157         Reverting r35953 which was causing problems on Windows which relies on
8158         WebCore timers in nested event loops. r36132 did alternative fix.
8160         * page/Chrome.cpp:
8161         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
8162         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
8164 2008-09-06  Antti Koivisto  <antti@apple.com>
8166         Reviewed by Dan Bernstein.
8168         Fix <rdar://problem/6201644>
8169         https://bugs.webkit.org/show_bug.cgi?id=20493
8170         Crash after OK in dialog box and reloading page in secure mode
8171         
8172         Limited loader only fix since the general timer fix is causing problems on Windows.
8174         * loader/loader.cpp:
8175         (WebCore::Loader::servePendingRequests):
8176         (WebCore::Loader::Host::Host):
8177         (WebCore::Loader::Host::didFinishLoading):
8178         (WebCore::Loader::Host::didFail):
8179         (WebCore::Loader::Host::didReceiveData):
8180         * loader/loader.h:
8181         (WebCore::Loader::Host::processingResource):
8183 2008-09-06  Dan Bernstein  <mitz@apple.com>
8185         Reviewed by Dave Hyatt.
8187         The initial Core Text adoption prototype was made by Daniel Fenwick.
8189         - <rdar://problem/5158514> Add a Core Text-based complex text code path
8191         Currently the Core Text code path is not used in any configuration.
8193         * WebCore.xcodeproj/project.pbxproj: Added files.
8194         * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
8195         * platform/graphics/Font.cpp:
8196         (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
8197         of the loop.
8198         * platform/graphics/GlyphBuffer.h:
8199         (WebCore::GlyphBuffer::add): Added this version that takes an advance.
8200         * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
8201         Added getCTFont() and getCFStringAttributes() and corresponding data
8202         members for Core Text.
8203         * platform/graphics/mac/CoreTextController.cpp: Added.
8204         (WebCore::roundCGFloat): Helper function.
8205         (WebCore::ceilCGFloat): Helper function.
8206         (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
8207         (WebCore::CoreTextController::CoreTextController):
8208         (WebCore::CoreTextController::offsetForPosition):
8209         (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
8210         run into subruns as necessary such that each subrun can be rendered with
8211         a single font. Also separates out soft hyphens and replaces them with
8212         real hyphens, because Core Text does not emit a glyph for soft hyphens.
8213         Then calls collectCoreTextRunsForCharacters() on each subrun.
8214         (WebCore::CoreTextController::advance):
8215         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
8216         a CTLine from the given subrun and collects its CoreTextRuns.
8217         (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
8218         rounding hacks, letter- and word-spacing and glyph substitutions and
8219         stores the resulting adjusted glyphs and advances.
8220         * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
8221         (WebCore::CoreTextController::totalWidth):
8222         (WebCore::CoreTextController::finalRoundingWidth):
8223         (WebCore::CoreTextController::CoreTextRun::ctRun):
8224         (WebCore::CoreTextController::CoreTextRun::glyphCount):
8225         (WebCore::CoreTextController::CoreTextRun::fontData):
8226         (WebCore::CoreTextController::CoreTextRun::characters):
8227         (WebCore::CoreTextController::CoreTextRun::stringLocation):
8228         (WebCore::CoreTextController::CoreTextRun::stringLength):
8229         (WebCore::CoreTextController::CoreTextRun::indexAt):
8230         * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
8231         FontMacATSUI.mm.
8232         * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
8233         (WebCore::disableLigatures): Changed to call
8234         FontPlatformData::allowsLigatures().
8235         (WebCore::overrideLayoutOperation): Changed to call
8236         FontPlatformData::roundsGlyphAdvances().
8237         * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
8238         (WebCore::Font::selectionRectForComplexText): Changed to use
8239         totalWidth() instead of advancing to the end and using runWidthSoFar().
8240         (WebCore::Font::drawComplexText):
8241         (WebCore::Font::floatWidthForComplexText): Ditto.
8242         (WebCore::Font::offsetForPositionForComplexText):
8243         * platform/graphics/mac/FontPlatformData.h:
8244         * platform/graphics/mac/FontPlatformDataMac.mm:
8245         (WebCore::FontPlatformData::setFont):
8246         (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
8247         AppKit rendering mode.
8248         (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
8249         heuristic that allows ligatures in fonts that do not have a glyph for
8250         'a', based on the assumption that such fonts are only used in complex
8251         text.
8252         * platform/graphics/mac/SimpleFontDataMac.mm:
8253         (WebCore::SimpleFontData::platformInit):
8254         (WebCore::SimpleFontData::platformDestroy):
8255         (WebCore::SimpleFontData::getCTFont): Added.
8256         (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
8257         returns an attributes dictionary.
8258         * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
8259         * platform/text/mac/ShapeArabic.h: Ditto.
8261 2008-09-06  Dan Bernstein  <mitz@apple.com>
8263         Reviewed by Dave Hyatt.
8265         - make combining mark offsets work in CG text on Windows
8267         * platform/graphics/win/FontCGWin.cpp:
8268         (WebCore::Font::drawGlyphs): The old code tried to translate the text
8269         matrix, but failed for two reasons: it did not actually change the
8270         matrix, and even if it did, CGContextSetTextPosition overwrites the
8271         translation values in the text matrix. Instead, just added the
8272         translation to the anchor point.
8274 2008-09-05  Gustavo Noronha Silva  <gns@gnome.org>
8276         Reviewed by Alp Toker.
8278         https://bugs.webkit.org/show_bug.cgi?id=18346
8279         [GTK] Remove build warnings
8281         Applied some casts, and removed an unused typedef to make the
8282         compiler happy, printing less warnings when building.
8284         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
8285         * platform/graphics/gtk/SimpleFontDataPango.cpp:
8286         (WebCore::SimpleFontData::containsCharacters):
8287         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
8288         (webkit_video_sink_set_caps):
8289         * platform/network/soup/ResourceHandleSoup.cpp:
8291 2008-09-05  Eric Seidel  <eric@webkit.org>
8293         Reviewed by Adam Roben.
8295         Build fix for WebKitWin and Chromium
8297         * platform/FileSystem.h:
8299 2008-09-05  Eric Seidel  <eric@webkit.org>
8301         Reviewed by Darin Adler.
8303         Try to make Chromium compile with ToT:
8304         - Wrap a few places which depend on KJS:: in #if USE(JSC)
8305         - Include some windows forward declarations
8307         * dom/Node.h:
8308         * page/Console.h:
8309         * page/animation/CompositeAnimation.h:
8310         * platform/FileSystem.h:
8311         * platform/graphics/Image.h:
8312         * platform/text/AtomicString.h:
8313         * platform/text/String.cpp:
8314         * rendering/style/RenderStyle.h:
8316 2008-09-05  Dave Hyatt  <hyatt@apple.com>
8318         Add support for runtime switchability of the Aqua look and the native look on Windows.
8319         Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
8321         Reviewed by Adam Roben
8323         * WebCore.vcproj/WebCore.vcproj:
8324         * page/Settings.cpp:
8325         (WebCore::Settings::setShouldPaintNativeControls):
8326         * page/Settings.h:
8327         (WebCore::Settings::shouldPaintNativeControls):
8328         * rendering/RenderThemeSafari.cpp:
8329         (WebCore::theme):
8330         * rendering/RenderThemeWin.cpp:
8332 2008-09-05  Antti Koivisto  <antti@apple.com>
8334         Qt build fix.
8336         * svg/SVGFEImageElement.cpp:
8337         (WebCore::SVGFEImageElement::build):
8339 2008-09-05  Dirk Schulze  <vbs85@gmx.de>
8341         Gtk build fix
8343         * GNUmakefile.am:
8345 2008-09-05  Antti Koivisto  <antti@apple.com>
8347         Another build fix.
8349         * svg/SVGFEImageElement.cpp:
8350         (WebCore::SVGFEImageElement::notifyFinished):
8352 2008-09-05  Antti Koivisto  <antti@apple.com>
8354         Build fixes.
8355         
8356         * WebCore.xcodeproj/project.pbxproj:
8357         * svg/graphics/filters/SVGFEImage.cpp:
8358         (WebCore::FEImage::cachedImage):
8360 2008-09-05  Antti Koivisto  <antti@apple.com>
8362         Reviewed by Darin Adler.
8364         Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
8365         When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
8367         Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
8368         not yet enable it for the biggest use case, reloading. However it is good for general browsing as
8369         well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
8370         we avoid re-decoding resources, especially images. 
8371         
8372         To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
8373         CacheControl: max-age=0 header. That would be added in reload case.
8374         
8375         The approach for revalidation is to kick the original resource out from the memory cache
8376         and create a new CachedResource that represents the revalidation request. In case
8377         we get 304 back for the request we put the original resource back to the cache, update 
8378         its expiration date and switch the clients registered to revalidation resource to be
8379         clients of the original resource.
8380         
8381         All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
8382         This allows updating the handles to point to the original resource when the revalidation succeeds. It
8383         also acts as refcounting smart pointer.
8385         * WebCore.pro:
8386         * WebCore.vcproj/WebCore.vcproj:
8387         * WebCore.xcodeproj/project.pbxproj:
8388         * css/CSSFontFaceSource.h:
8389         * css/CSSImportRule.h:
8390         * dom/Clipboard.h:
8391         (WebCore::Clipboard::dragImage):
8392         * dom/ProcessingInstruction.h:
8393         * dom/ScriptElement.h:
8394         * dom/XMLTokenizer.cpp:
8395         (WebCore::XMLTokenizer::isWaitingForScripts):
8396         * dom/XMLTokenizer.h:
8397         * html/HTMLImageLoader.cpp:
8398         (WebCore::HTMLImageLoader::setImage):
8399         (WebCore::HTMLImageLoader::updateFromElement):
8400         (WebCore::HTMLImageLoader::notifyFinished):
8401         * html/HTMLImageLoader.h:
8402         (WebCore::HTMLImageLoader::image):
8403         * html/HTMLLinkElement.h:
8404         * html/HTMLTokenizer.cpp:
8405         (WebCore::HTMLTokenizer::reset):
8406         (WebCore::HTMLTokenizer::scriptHandler):
8407         (WebCore::HTMLTokenizer::notifyFinished):
8408         * html/HTMLTokenizer.h:
8409         * loader/Cache.cpp:
8410         (WebCore::Cache::revalidateResource):
8411         (WebCore::Cache::revalidationSucceeded):
8412         (WebCore::Cache::revalidationFailed):
8413         * loader/Cache.h:
8414         * loader/CachedResource.cpp:
8415         (WebCore::CachedResource::CachedResource):
8416         (WebCore::CachedResource::~CachedResource):
8417         (WebCore::CachedResource::isExpired):
8418         (WebCore::CachedResource::setResponse):
8419         (WebCore::CachedResource::deleteIfPossible):
8420         (WebCore::CachedResource::setResourceToRevalidate):
8421         (WebCore::CachedResource::clearResourceToRevalidate):
8422         (WebCore::CachedResource::switchClientsToRevalidatedResource):
8423         (WebCore::CachedResource::canUseCacheValidator):
8424         (WebCore::CachedResource::mustRevalidate):
8425         * loader/CachedResource.h:
8426         (WebCore::CachedResource::canDelete):
8427         (WebCore::CachedResource::registerHandle):
8428         (WebCore::CachedResource::unregisterHandle):
8429         (WebCore::CachedResource::isCacheValidator):
8430         (WebCore::CachedResource::resourceToRevalidate):
8431         (WebCore::CachedResource::setExpirationDate):
8432         * loader/CachedResourceHandle.cpp: Added.
8433         (WebCore::CachedResourceHandleBase::setResource):
8434         * loader/CachedResourceHandle.h: Added.
8435         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
8436         (WebCore::CachedResourceHandleBase::get):
8437         (WebCore::CachedResourceHandleBase::operator!):
8438         (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
8439         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
8440         (WebCore::CachedResourceHandleBase::operator=):
8441         (WebCore::CachedResourceHandle::CachedResourceHandle):
8442         (WebCore::CachedResourceHandle::get):
8443         (WebCore::CachedResourceHandle::operator->):
8444         (WebCore::CachedResourceHandle::operator=):
8445         (WebCore::CachedResourceHandle::operator==):
8446         (WebCore::CachedResourceHandle::operator!=):
8447         (WebCore::operator==):
8448         (WebCore::operator!=):
8449         * loader/DocLoader.cpp:
8450         (WebCore::DocLoader::checkForReload):
8451         * loader/UserStyleSheetLoader.h:
8452         * loader/loader.cpp:
8453         (WebCore::Loader::Host::servePendingRequests):
8454         (WebCore::Loader::Host::didFinishLoading):
8455         (WebCore::Loader::Host::didFail):
8456         (WebCore::Loader::Host::didReceiveResponse):
8457         (WebCore::Loader::Host::didReceiveData):
8458         * page/EventHandler.cpp:
8459         (WebCore::EventHandler::selectCursor):
8460         * rendering/RenderImage.cpp:
8461         (WebCore::RenderImage::setCachedImage):
8462         (WebCore::RenderImage::imageChanged):
8463         * rendering/RenderImage.h:
8464         (WebCore::RenderImage::cachedImage):
8465         (WebCore::RenderImage::imagePtr):
8466         * rendering/style/RenderStyle.h:
8467         * rendering/style/StyleCachedImage.h:
8468         (WebCore::StyleCachedImage::data):
8469         (WebCore::StyleCachedImage::cachedImage):
8470         * svg/SVGFEImageElement.h:
8471         * svg/graphics/filters/SVGFEImage.h:
8472         * xml/XSLImportRule.h:
8474 2008-09-04  Brady Eidson  <beidson@apple.com>
8476         Reviewed by Mitz
8478         <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
8480         A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt 
8481         to model default NSURLRequest behavior in a cross-platform manner.  
8483         Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit 
8484         client that wished to enforce a much larger default timeout using NSURLRequest API.
8486         Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
8487         behavior on the web and this restores previous Safari/WebKit behavior.
8489         It would be easy to write a layout test for this, but to be effective it would have
8490         to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
8492         * manual-tests/timeout-test.html: Added.
8493         * manual-tests/timeout-test.php: Added.
8495         * platform/network/ResourceRequestBase.h:
8496         (WebCore::ResourceRequestBase::ResourceRequestBase):  Rename the constant to "unspecifiedTimeoutInterval"
8497           and make it UINT_MAX so platforms that do set it have an effective "no timeout."  (Windows, for example)
8498         * platform/network/mac/ResourceRequestMac.mm:
8499         (WebCore::ResourceRequest::doUpdatePlatformRequest):  If the timeout for this request is 
8500           "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
8501           WebKit applications to enforce their own default timeout.
8503 2008-09-04  Dan Bernstein  <mitz@apple.com>
8505         Reviewed by Beth Dakin.
8507         - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
8509         Test: fast/repaint/button-spurious-layout-hint.html
8511         * rendering/RenderButton.cpp:
8512         (WebCore::RenderButton::setStyle): Reset the inner block's style box
8513         flex to 0 to avoid getting a spurious layout hint. 
8515 2008-09-04  Kevin Ollivier  <kevino@theolliviers.com>
8517         wx build fixes.
8519         * WebCoreSources.bkl:
8520         * bindings/js/ScriptControllerWx.cpp: Added.
8521         (WebCore::ScriptController::createScriptInstanceForWidget):
8522         * page/wx/AccessibilityObjectWx.cpp: Added.
8523         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
8524         * platform/graphics/wx/GraphicsContextWx.cpp:
8525         * webcore-base.bkl:
8526         * webcore-wx.bkl:
8528 2008-09-04  Dan Bernstein  <mitz@apple.com>
8530         Reviewed by Mark Rowe.
8532         - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
8533           and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
8534           require a different approach
8536         * css/CSSGrammar.y:
8538 2008-09-04  Mark Rowe  <mrowe@apple.com>
8540         Reviewed by Eric Seidel.
8542         Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
8543         Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
8545         * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
8546         * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
8547         for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
8549 2008-09-04  Mark Rowe  <mrowe@apple.com>
8551         Mac build fix.
8553         * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
8555 2008-09-04  Eric Seidel  <eric@webkit.org>
8557         Build fix only, no review.
8559         * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
8561 2008-09-04  Marco Barisione  <marco.barisione@collabora.co.uk>
8563         Reviewed by Eric Seidel.
8565         http://bugs.webkit.org/show_bug.cgi?id=20380
8566         [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
8568         * config.h: Include the configuration header generated by autotools if
8569         available.
8571 2008-09-04  Dan Bernstein  <mitz@apple.com>
8573         Rubber-stamped by Dave Hyatt.
8575         - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
8577         * loader/CachedFont.cpp:
8578         (WebCore::CachedFont::allClientsRemoved):
8579         * loader/CachedFont.h:
8580         * loader/CachedImage.cpp:
8581         (WebCore::CachedImage::allClientsRemoved):
8582         * loader/CachedImage.h:
8583         * loader/CachedResource.cpp:
8584         (WebCore::CachedResource::removeClient):
8585         * loader/CachedResource.h:
8586         (WebCore::CachedResource::allClientsRemoved):
8588 2008-09-04  Adam Roben  <aroben@apple.com>
8590         Windows build fix after r36071
8592         We were getting these errors:
8594         error C2356: initialization segment must not change during translation
8595         unit
8597         This was happening because multiple files #included by
8598         DerivedSources.cpp were themselves #including StaticConstructors.h. I
8599         fixed the error by adding header guards to StaticConstructors.h so its
8600         contents will only be included once.
8602         But it's also not a good idea for StaticConstructors.h to end up in
8603         DerivedSources.cpp, since it ends up "polluting" all the source files
8604         we have in there. So I removed all the files that include
8605         StaticConstructors.h and added some preprocessor directives to
8606         DerivedSources.cpp to catch this error in the future.
8608         * DerivedSources.cpp: Removed the *Names.cpp files, which include
8609         StaticConstructors.h, and added some preprocessor directives to make
8610         sure we don't end up accidentally including StaticConstructors.h in
8611         the future.
8612         * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
8613         * platform/StaticConstructors.h: Added header guards.
8615 2008-09-04  Adam Roben  <aroben@apple.com>
8617         Windows build fix
8619         * platform/graphics/win/FontPlatformData.h: Added a missing #include
8620         of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
8621         * platform/text/PlatformString.h: Added a missing #include of
8622         PassRefPtr.h.
8624 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
8626         Reviewed by Simon.
8628         Fix the QtWebKit build to match changes in r36016
8630         * WebCore.pro:
8631         * bridge/qt/qt_instance.cpp:
8632         (KJS::Bindings::QtInstance::getRuntimeObject):
8633         * bridge/qt/qt_runtime.cpp:
8634         (KJS::Bindings::convertQVariantToValue):
8635         (KJS::Bindings::QtConnectionObject::execute):
8637 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
8639         Reviewed by Simon.
8641         Re-enable support for user stylesheets in QtWebKit
8642         
8643         QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
8644         code path, which allows us to keep API support for
8645         loading user style sheets from remote URLs.
8646         
8647         As part of the change UserStyleSheetLoader.cpp/h was
8648         moved from WebCore/loader/mac to WebCore/loader.
8650         * WebCore.pro:
8651         * WebCore.xcodeproj/project.pbxproj:
8652         * dom/Document.h:
8653         * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
8654         (UserStyleSheetLoader::UserStyleSheetLoader):
8655         (UserStyleSheetLoader::~UserStyleSheetLoader):
8656         * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
8657         * page/qt/FrameQt.cpp:
8658         (WebCore::Frame::setUserStyleSheetLocation):
8659         (WebCore::Frame::setUserStyleSheet):
8661 2008-09-04  Alp Toker  <alp@nuanti.com>
8663         Reviewed by Eric.
8665         Remove left-over QT and CAIRO platform checks.
8667         * html/CanvasRenderingContext2D.cpp:
8669 2008-09-04  Eric Seidel  <eric@webkit.org>
8671         Reviewed by Mark Rowe.
8673         Fix leak of TextMetrics due to over-ref as see on buildbot.
8675         * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
8677 2008-09-04  Dan Bernstein  <mitz@apple.com>
8679         Reviewed by Dave Hyatt.
8681         - fix https://bugs.webkit.org/show_bug.cgi?id=19717
8682           <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
8684         * rendering/RenderBlock.cpp:
8685         (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
8686         positioned movement only case, call
8687         tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
8688         layout if that fails.
8689         (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
8690         * rendering/RenderBox.h:
8691         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
8692         layoutDoingPositionedMovementOnly to this, and made this function
8693         check if the width changed. If it did, return, leaving the object
8694         dirty. The caller can then call layout(). The width can change even
8695         in the "positioned movement only" case if the object is shrink-to-fit
8696         and the available width constraint is met. (This was the case in the
8697         bug).
8698         * rendering/RenderObject.h:
8699         (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
8700         Renamed layoutDoingPositionedMovementOnly() to this.
8702 2008-09-03  Eric Seidel  <eric@webkit.org>
8704         No review, build fix only.
8706         Attempt to fix the Qt build.
8708         * WebCore.pro: add page/animation to include path
8710 2008-09-03  Mark Rowe  <mrowe@apple.com>
8712         Mac build fix.  Correctly detect whether dashboard support is enabled.
8714         * DerivedSources.make:
8716 2008-09-03  Eric Seidel  <eric@webkit.org>
8718         Reviewed by Sam.
8720         Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
8722         * Configurations/WebCore.xcconfig: add missing ENABLE_*
8723         * config.h: add rules for V8_BINDINGS
8725 2008-09-03  Eric Seidel  <eric@webkit.org>
8727         Reviewed by Sam.
8729         https://bugs.webkit.org/show_bug.cgi?id=20620
8731         Add #if USE(JSC) around KJS dependencies
8732         Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
8733         1. Most platforms have it on anyway
8734         2. V8 is going to want to share some of that code
8735         3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
8737         * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
8738         * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
8739         * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8740         * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8741         * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8742         * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8743         * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8744         * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8745         * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
8746         * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
8747         * platform/text/AtomicString.cpp: add USE(JSC)
8748         * platform/text/AtomicString.h: add USE(JSC)
8749         * platform/text/PlatformString.h: add USE(JSC)
8750         * platform/text/String.cpp: add USE(JSC)
8751         * platform/text/StringImpl.cpp: add USE(JSC)
8752         * platform/text/StringImpl.h: add USE(JSC)
8754 2008-09-03  Dean McNamee  <deanm@chromium.org>
8756         Reviewed by Darin Adler.
8758         Fix https://bugs.webkit.org/show_bug.cgi?id=20511
8759         Bug 20511: Remove static initializers on Windows
8761         Avoid static initializers on Windows by forcing Visual C++ to put
8762         all static initializers in a code segment that is never executed.
8764         * config.h:
8765         * css/MediaFeatureNames.cpp:
8766         * dom/EventNames.cpp:
8767         * dom/QualifiedName.cpp:
8768         * dom/make_names.pl:
8769         * platform/StaticConstructors.h:
8770         * platform/text/AtomicString.cpp:
8772 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
8774         Reviewed by Dave Hyatt.
8776         Make FontCairo draw TextStroke and TextFill separately.
8778         [CAIRO] draw TextFill and TextStroke separately.
8779         [https://bugs.webkit.org/show_bug.cgi?id=20631]
8781         * platform/graphics/cairo/FontCairo.cpp:
8782         (WebCore::Font::drawGlyphs):
8784 2008-09-03  Peter Kasting  <pkasting@google.com>
8786         Reviewed by Dave Hyatt.
8788         https://bugs.webkit.org/show_bug.cgi?id=19663
8789         Account for paint and timer lag when animating images.  Also pretend
8790         that images whose animations were paused (by becoming invisible)
8791         continued to animate, by "catching up" to the correct frame when they're
8792         shown again.
8794         * platform/graphics/BitmapImage.cpp:
8795         (WebCore::BitmapImage::BitmapImage):
8796         (WebCore::BitmapImage::startAnimation):
8797         (WebCore::BitmapImage::advanceAnimation):
8798         (WebCore::BitmapImage::internalAdvanceAnimation):
8799         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
8800         * platform/graphics/BitmapImage.h:
8801         * platform/graphics/cairo/ImageCairo.cpp:
8802         (WebCore::BitmapImage::draw):
8803         * platform/graphics/cg/ImageCG.cpp:
8804         (WebCore::BitmapImage::draw):
8805         * platform/graphics/qt/ImageQt.cpp:
8806         (WebCore::BitmapImage::draw):
8807         * platform/graphics/wx/ImageWx.cpp:
8808         (WebCore::BitmapImage::draw):
8810 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
8812         Reviewed by Tim.
8814         Remove the rest of the "zombie" code from the profiler.
8815         - There is no longer a need for the ProfilerClient callback mechanism.
8817         * page/Console.cpp: 
8818         (WebCore::Console::Console):
8819         (WebCore::Console::profile):
8820         (WebCore::Console::profileEnd): Move the variables from the header to
8821         here since we don't have to wait for a callback to use them.
8822         * page/Console.h:
8823         * page/InspectorController.cpp:
8824         (WebCore::InspectorController::startUserInitiatedProfiling):
8825         (WebCore::InspectorController::stopUserInitiatedProfiling):
8826         * page/InspectorController.h:
8828 2008-09-03  Ada Chan  <adachan@apple.com>
8830         Windows build fix.
8832         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
8834 2008-09-01  Dean Jackson  <dino@apple.com>
8836         Reviewed by Dave Hyatt.
8838         https://bugs.webkit.org/show_bug.cgi?id=20594
8839         Add DOM interfaces for WebKitCSSKeyframeRule
8840         and WebKitCSSKeyframesRule.
8842         TEST: LayoutTests/css3/keyframes-rule.html
8844         * css/WebKitCSSKeyframeRule.idl: Added
8845         * css/WebKitCSSKeyframesRule.idl: Added
8847         * bindings/js/JSCSSRuleCustom.cpp:
8848         (WebCore::toJS):
8849             Add return of new JS Keyframe rules
8850         * bindings/objc/DOMInternal.h:
8851             Include new internal header
8853         * DerivedSources.make:
8854         * GNUmakefile.am:
8855         * WebCore.pro:
8856         * WebCore.vcproj/WebCore.vcproj:
8857         * WebCore.xcodeproj/project.pbxproj:
8858         * WebCoreSources.bkl:
8859             Build configs for new files
8861 2008-09-03  Adam Roben  <aroben@apple.com>
8863         Windows build fix
8865         * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
8866         * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
8867         convenience/consistency.
8869 2008-09-03  Adele Peterson  <adele@apple.com>
8871         Build fix.
8873         * WebCore.vcproj/WebCore.vcproj:
8875 2008-09-03  David Hyatt  <hyatt@apple.com>
8877         Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
8879         Reviewed by Darin (ages ago)
8881         Added fast/block/float/clamped-right-float.html
8883         * rendering/RenderBlock.cpp:
8884         (WebCore::RenderBlock::positionNewFloats):
8886 2008-09-02  David Hyatt  <hyatt@apple.com>
8888         Add support for canvas text drawing APIs.
8890         Reviewed by olliej
8892         Tests added as fast/canvas/canvas-text-*.html
8894         * DerivedSources.make:
8895         * WebCore.xcodeproj/project.pbxproj:
8896         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
8897         (WebCore::JSCanvasRenderingContext2D::fillText):
8898         (WebCore::JSCanvasRenderingContext2D::strokeText):
8899         * css/CSSStyleSelector.cpp:
8900         (WebCore::CSSStyleSelector::initForStyleResolve):
8901         (WebCore::CSSStyleSelector::applyPropertyToStyle):
8902         * css/CSSStyleSelector.h:
8903         * html/CanvasRenderingContext2D.cpp:
8904         (WebCore::CanvasRenderingContext2D::State::State):
8905         (WebCore::CanvasRenderingContext2D::font):
8906         (WebCore::CanvasRenderingContext2D::setFont):
8907         (WebCore::CanvasRenderingContext2D::textAlign):
8908         (WebCore::CanvasRenderingContext2D::setTextAlign):
8909         (WebCore::CanvasRenderingContext2D::textBaseline):
8910         (WebCore::CanvasRenderingContext2D::setTextBaseline):
8911         (WebCore::CanvasRenderingContext2D::fillText):
8912         (WebCore::CanvasRenderingContext2D::strokeText):
8913         (WebCore::CanvasRenderingContext2D::measureText):
8914         (WebCore::CanvasRenderingContext2D::drawTextInternal):
8915         (WebCore::CanvasRenderingContext2D::accessFont):
8916         * html/CanvasRenderingContext2D.h:
8917         * html/CanvasRenderingContext2D.idl:
8918         * html/TextMetrics.h: Added.
8919         (WebCore::TextMetrics::create):
8920         (WebCore::TextMetrics::width):
8921         (WebCore::TextMetrics::setWidth):
8922         (WebCore::TextMetrics::TextMetrics):
8923         * html/TextMetrics.idl: Added.
8924         * platform/graphics/Font.cpp:
8925         (WebCore::Font::lineGap):
8926         * platform/graphics/Font.h:
8927         * platform/graphics/GraphicsContext.cpp:
8928         (WebCore::GraphicsContext::drawBidiText):
8929         * platform/graphics/GraphicsContext.h:
8930         * platform/graphics/GraphicsTypes.cpp:
8931         (WebCore::textAlignName):
8932         (WebCore::parseTextAlign):
8933         (WebCore::textBaselineName):
8934         (WebCore::parseTextBaseline):
8935         * platform/graphics/GraphicsTypes.h:
8936         (WebCore::):
8938 2008-09-03  John Sullivan  <sullivan@apple.com>
8940         Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
8942         Fixed by Darin, reviewed by me
8944         * page/animation/AnimationBase.cpp:
8945         (WebCore::AnimationBase::propertiesEqual):
8946         added ensurePropertyMap() to this static function
8947         (WebCore::AnimationBase::getPropertyAtIndex):
8948         ditto
8949         (WebCore::AnimationBase::getNumProperties):
8950         ditto
8952 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
8954         Reviewed by Darin and Tim.
8956         Remove most of the "zombie" mode from the profiler.  Next we will need
8957         to remove the client callback mechanism in profiles.
8958         - These changes are a result of changes to JSCore.
8960         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
8961         * page/Console.cpp:
8962         (WebCore::retrieveLastCaller):
8963         (WebCore::Console::profileEnd):
8964         * page/InspectorController.cpp:
8965         (WebCore::InspectorController::stopUserInitiatedProfiling):
8967 2008-09-03  Adele Peterson  <adele@apple.com>
8969         Reviewed by Darin Adler.
8971         Test: fast/forms/search-display-none-cancel-button.html
8973         Allow display:none to work on a search field's cancel button.  Prepare for adding more style-ability for the results button too.
8975         * css/html4.css: Set display:inline-block for these buttons.  Now they can be overridden by a web author.
8977         * rendering/RenderTextControl.cpp:
8978         (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
8979         (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly.  This is now done in html4.css.
8980         (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
8981         (WebCore::RenderTextControl::createSubtreeIfNeeded):
8982         Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
8983         (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
8984         (WebCore::RenderTextControl::subtreeHasChanged): ditto.
8985         (WebCore::RenderTextControl::calcHeight): ditto.
8986         (WebCore::RenderTextControl::nodeAtPoint): ditto.
8987         (WebCore::RenderTextControl::layout): ditto.
8988         (WebCore::RenderTextControl::calcPrefWidths): ditto.
8989         (WebCore::RenderTextControl::clientPaddingLeft): ditto.
8990         (WebCore::RenderTextControl::clientPaddingRight): ditto.
8992         * rendering/TextControlInnerElements.cpp:
8993         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
8994         (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
8995         (WebCore::TextControlInnerElement::attachInnerElement): Added.
8996          This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
8997         (WebCore::TextControlInnerTextElement::createRenderer): Added.  Creates a RenderTextControlInnerBlock.
8998         * rendering/TextControlInnerElements.h:
9000 2008-08-28  Alexey Proskuryakov  <ap@webkit.org>
9002         Reviewed by Maciej.
9004         Elminate SQLiteAuthorizer class.
9006         * WebCore.xcodeproj/project.pbxproj:
9007         * WebCore.vcproj/WebCore.vcproj:
9008         * GNUmakefile.am
9009         Removed SQLiteAuthorizer.h.
9011         * platform/sql/SQLiteAuthorizer.cpp:
9012         * platform/sql/SQLiteAuthorizer.h: Removed.
9013         * platform/sql/SQLiteDatabase.cpp:
9014         (WebCore::SQLiteDatabase::authorizerFunction):
9015         (WebCore::SQLiteDatabase::setAuthorizer):
9016         * platform/sql/SQLiteDatabase.h:
9017         * storage/DatabaseAuthorizer.h:
9018         (WebCore::DatabaseAuthorizer::create):
9019         (WebCore::DatabaseAuthorizer::createView):
9020         (WebCore::DatabaseAuthorizer::createTempView):
9021         (WebCore::DatabaseAuthorizer::dropView):
9022         (WebCore::DatabaseAuthorizer::dropTempView):
9023         (WebCore::DatabaseAuthorizer::allowSelect):
9024         (WebCore::DatabaseAuthorizer::allowReindex):
9025         Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
9027 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
9029         Reviewed by Mark Rowe.
9031         WebKitGtk build fix.
9033         * GNUmakefile.am:
9034         * page/animation/AnimationController.h:
9036 2008-09-02  Robert Blaut  <webkit@blaut.biz>
9038         Reviewed by Geoff Garen.
9040         Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
9041         Misplaced elements should not close DL lists.
9043         Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
9045         * html/HTMLParser.cpp:
9046         (WebCore::HTMLParser::handleError):
9048 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
9050         Reviewed by Darin Adler.
9052         Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
9053         Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
9055         We would inappropriately interpret and apply an invalid CSS "color" property
9056         when the value is a predefined color preceded by a '#' symbol.  For example,
9057         style="color:#gray;" would apply the color gray when it should not.
9059         In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
9060         This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be 
9061         interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
9062         an ignorable token.
9064         To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
9065         '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
9066         CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
9068         Test: css1/color_and_background/invalid_color.html
9070         * css/CSSGrammar.y:
9072 2008-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
9074         Reviewed by Darin Adler.
9076         Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
9077         Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
9079         Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
9081         Test: css3/khtml-background-size-0x0-bmp.html
9083         * rendering/RenderBox.cpp:
9084         (WebCore::RenderBox::repaintLayerRectsForImage):
9086 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
9088         Reviewed by Eric Seidel.
9090         Fix https://bugs.webkit.org/show_bug.cgi?id=20397
9091         Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
9093         The function checkForOrphanedUnits() would change the length of a list whose size was
9094         was already determined before the call to checkForOrphanedUnits was made.  Later in
9095         the caller, the old size was being used for boundary management.
9097         This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
9098         calling function, before the size of the list is determined.
9100         Test: fast/css/orphaned_units_crash.html
9102         * css/CSSParser.cpp:
9103         (WebCore::CSSParser::parseValue):  Moved call to checkForOrphanedUnits() earlier in the function.
9105 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
9107         Reviewed by Darin Adler.
9109         Fallback on invalid fill or stroke styles in Canvas was
9110         transparent black. Changed it to last valid style.
9112         Canvas fillStyle() and strokeStyle() needs fallback
9113         https://bugs.webkit.org/show_bug.cgi?id=20474
9115         Tests: fast/canvas/canvas-invalid-fillstyle.html
9116                fast/canvas/canvas-invalid-strokestyle.html
9118         * html/CanvasStyle.cpp:
9119         (WebCore::CanvasStyle::applyStrokeColor):
9120         (WebCore::CanvasStyle::applyFillColor):
9122 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
9124         Reviewed by Darin Adler.
9126         Fix https://bugs.webkit.org/show_bug.cgi?id=20468
9127         Updated drawImage() in canvas to match the current specification.
9129         Test: fast/canvas/drawImage-with-negative-source-destination.html
9131         * html/CanvasRenderingContext2D.cpp:
9132         (WebCore::normalizeRect):
9133         (WebCore::CanvasRenderingContext2D::drawImage):
9135 2008-08-26  Mark Rowe  <mrowe@apple.com>
9137         Reviewed by Darin Adler.
9139         <rdar://problem/5768210> Switch back to the system version of SQLite
9141         Use the system version of SQLite when it is new enough to provide the functionality
9142         that WebCore requires.
9144         * Configurations/Base.xcconfig:
9145         * Configurations/DebugRelease.xcconfig:
9146         * Configurations/WebCore.xcconfig:
9148 2008-09-02  Dan Bernstein  <mitz@apple.com>
9150         - build fix
9152         * page/animation/AnimationBase.h:
9154 2008-09-02  Chris Marrin  <cmarrin@apple.com>
9156         Reviewed by Dave Hyatt.
9158         AnimationController.cpp should be split into separate files
9159         https://bugs.webkit.org/show_bug.cgi?id=20604
9160         
9161         Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
9162         recommendation of Dave Hyatt.
9164         * GNUmakefile.am:
9165         * WebCore.pro:
9166         * WebCore.vcproj/WebCore.vcproj:
9167         * WebCore.xcodeproj/project.pbxproj:
9168         * WebCoreSources.bkl:
9169             Build files.
9170         
9171         * page/AnimationController.cpp: Removed.
9172         * page/AnimationController.h: Removed.
9173         * page/animation: Added.
9174         * page/animation/AnimationBase.cpp: Added.
9175         * page/animation/AnimationBase.h: Added.
9176         * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
9177         * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
9178         * page/animation/CompositeAnimation.cpp: Added.
9179         * page/animation/CompositeAnimation.h: Added.
9180         * page/animation/ImplicitAnimation.cpp: Added.
9181         * page/animation/ImplicitAnimation.h: Added.
9182         * page/animation/KeyframeAnimation.cpp: Added.
9183         * page/animation/KeyframeAnimation.h: Added.
9185 2008-09-02  Dan Bernstein  <mitz@apple.com>
9187         - release build fix
9189         * platform/graphics/cg/GraphicsContextCG.cpp:
9190         (WebCore::calculateDrawingMode):
9192 2008-09-02  Timothy Hatcher  <timothy@apple.com>
9194         Make console functions log the correct resource URL and
9195         line number for where the call originated.
9197         https://bugs.webkit.org/show_bug.cgi?id=17234
9198         <rdar://problem/5732837>
9200         Reviewed by Kevin McCullough.
9202         Test: manual-tests/inspector/console-call-line-numbers.html
9204         * bindings/js/JSConsoleCustom.cpp:
9205         (WebCore::JSConsole::count): Call the impl.
9206         (WebCore::JSConsole::timeEnd): Ditto.
9207         * manual-tests/inspector/console-call-line-numbers.html: Added.
9208         * manual-tests/inspector/resources/script-console-calls.js: Added.
9209         * page/Console.cpp:
9210         (WebCore::retrieveLastCaller): Helper to get the URL and line.
9211         (WebCore::Console::error): Call retrieveLastCaller to get the URL and
9212         line number to pass to addMessageToConsole.
9213         (WebCore::Console::info): Ditto.
9214         (WebCore::Console::log): Ditto.
9215         (WebCore::Console::assertCondition): Ditto.
9216         (WebCore::Console::count): Ditto.
9217         (WebCore::Console::timeEnd): Ditto.
9218         (WebCore::Console::warn): Ditto.
9219         * page/Console.h:
9220         * page/Console.idl: Make count and timeEnd custom.
9222 2008-09-02  Timothy Hatcher  <timothy@apple.com>
9224         Removed IDL files from WebCore's framework resources.
9226         * WebCore.xcodeproj/project.pbxproj:
9228 2008-09-02  Dan Bernstein  <mitz@apple.com>
9230         Reviewed by Dave Hyatt.
9232         - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
9234         * html/HTMLParser.cpp:
9235         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
9236         cap on the number of consecutive identical residual style tags to
9237         reopen.
9238         (WebCore::HTMLParser::popBlock): Ditto.
9240 2008-09-02  Alexey Proskuryakov  <ap@webkit.org>
9242         Reviewed by Adam Roben.
9244         A little database quota management cleanup.
9246         * storage/OriginQuotaManager.cpp:
9247         (WebCore::OriginQuotaManager::OriginQuotaManager):
9248         (WebCore::OriginQuotaManager::lock):
9249         (WebCore::OriginQuotaManager::unlock):
9250         (WebCore::OriginQuotaManager::trackOrigin):
9251         (WebCore::OriginQuotaManager::tracksOrigin):
9252         (WebCore::OriginQuotaManager::addDatabase):
9253         (WebCore::OriginQuotaManager::removeDatabase):
9254         (WebCore::OriginQuotaManager::removeOrigin):
9255         (WebCore::OriginQuotaManager::markDatabase):
9256         (WebCore::OriginQuotaManager::diskUsage):
9257         * storage/OriginQuotaManager.h:
9258         Changed to assert that a lock is taken more directly and reliably. Removed comments about
9259         main/background threads, as this is likely to stop being true with synchronous Database calls
9260         being made on worker threads.
9262         * storage/OriginUsageRecord.cpp:
9263         (WebCore::OriginUsageRecord::OriginUsageRecord):
9264         (WebCore::OriginUsageRecord::addDatabase):
9265         (WebCore::OriginUsageRecord::removeDatabase):
9266         (WebCore::OriginUsageRecord::markDatabase):
9267         (WebCore::OriginUsageRecord::diskUsage):
9268         * storage/OriginUsageRecord.h:
9269         (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
9270         Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
9271         can be replaced with a single boolean for OriginUsageRecord.
9272         Added assertions for string parameters being unshared.
9275 2008-09-01  Adam Barth  <abarth@webkit.org>
9277         Reviewed by Sam Weinig.
9279         https://bugs.webkit.org/show_bug.cgi?id=19760
9281         Make granting LoadLocalResources conditional on a policy.
9283         * WebCore.base.exp:
9284         * dom/Document.cpp:
9285         (WebCore::Document::initSecurityContext):
9286         * loader/FrameLoader.cpp:
9287         (WebCore::FrameLoader::setLocalLoadPolicy):
9288         (WebCore::FrameLoader::restrictAccessToLocal):
9289         * loader/FrameLoader.h:
9290         (WebCore::FrameLoader::):
9291         * platform/SecurityOrigin.cpp:
9292         (WebCore::SecurityOrigin::grantLoadLocalResources):
9293         * platform/SecurityOrigin.h:
9295 2008-09-01  Dean Jackson  <dino@apple.com>
9297         Reviewed by Sam Weinig.
9299         https://bugs.webkit.org/show_bug.cgi?id=20571
9300         Make sure Window object can assign Animation/Transition event
9301         listeners via attributes.
9303         Also added a bunch of transition event tests, although
9304         only transition-end-event-window is directly relevant to this patch.
9306         (WebCore::JSDOMWindowBase::put):
9308         Tests: transitions/transition-end-event-all-properties.html
9309                transitions/transition-end-event-attributes.html
9310                transitions/transition-end-event-container.html
9311                transitions/transition-end-event-left.html
9312                transitions/transition-end-event-multiple-01.html
9313                transitions/transition-end-event-multiple-02.html
9314                transitions/transition-end-event-multiple-03.html
9315                transitions/transition-end-event-multiple-04.html
9316                transitions/transition-end-event-nested.html
9317                transitions/transition-end-event-transform.html
9318                transitions/transition-end-event-window.html
9320 2008-09-01  Dean Jackson  <dino@apple.com>
9322         Reviewed by Sam Weinig
9324         Code styling cleanup.
9326         * bindings/js/JSDOMWindowBase.cpp:
9327         (WebCore::JSDOMWindowBase::getValueProperty):
9328         (WebCore::JSDOMWindowBase::put):
9330 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
9332         Reviewed by Darin Adler.
9334         First cut at inline caching for access to vanilla JavaScript properties.
9336         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
9337         to WebCore classes, and PutPropertySlot& arguments to put functions.
9339         (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
9340         inline caching for global properties, so global assignment can be optimized.
9342         * ForwardingHeaders/kjs/StructureID.h: Added.
9343         * bindings/js/JSDOMBinding.h:
9344         (WebCore::DOMObject::DOMObject):
9345         * bindings/js/JSDOMWindowBase.cpp:
9346         (WebCore::JSDOMWindowBase::put):
9347         * bindings/js/JSDOMWindowBase.h:
9348         * bindings/js/JSDOMWindowCustom.h:
9349         (WebCore::JSDOMWindow::customPut):
9350         * bindings/js/JSDOMWindowShell.cpp:
9351         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
9352         (WebCore::JSDOMWindowShell::put):
9353         * bindings/js/JSDOMWindowShell.h:
9354         * bindings/js/JSEventTargetBase.h:
9355         (WebCore::JSEventTargetBase::put):
9356         * bindings/js/JSEventTargetNode.h:
9357         (WebCore::JSEventTargetNode::put):
9358         * bindings/js/JSHTMLAppletElementCustom.cpp:
9359         (WebCore::JSHTMLAppletElement::customPut):
9360         * bindings/js/JSHTMLEmbedElementCustom.cpp:
9361         (WebCore::JSHTMLEmbedElement::customPut):
9362         * bindings/js/JSHTMLInputElementBase.cpp:
9363         (WebCore::JSHTMLInputElementBase::put):
9364         * bindings/js/JSHTMLInputElementBase.h:
9365         * bindings/js/JSHTMLObjectElementCustom.cpp:
9366         (WebCore::JSHTMLObjectElement::customPut):
9367         * bindings/js/JSHistoryCustom.cpp:
9368         (WebCore::JSHistory::customPut):
9369         * bindings/js/JSInspectedObjectWrapper.cpp:
9370         (WebCore::JSInspectedObjectWrapper::wrap):
9371         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
9372         * bindings/js/JSInspectedObjectWrapper.h:
9373         * bindings/js/JSInspectorCallbackWrapper.cpp:
9374         (WebCore::JSInspectorCallbackWrapper::wrap):
9375         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
9376         * bindings/js/JSInspectorCallbackWrapper.h:
9377         * bindings/js/JSLocationCustom.cpp:
9378         (WebCore::JSLocation::customPut):
9379         * bindings/js/JSPluginElementFunctions.cpp:
9380         (WebCore::runtimeObjectCustomPut):
9381         * bindings/js/JSPluginElementFunctions.h:
9382         * bindings/js/JSQuarantinedObjectWrapper.cpp:
9383         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
9384         (WebCore::JSQuarantinedObjectWrapper::put):
9385         * bindings/js/JSQuarantinedObjectWrapper.h:
9386         * bindings/js/JSStorageCustom.cpp:
9387         (WebCore::JSStorage::customPut):
9388         * bindings/objc/WebScriptObject.mm:
9389         (-[WebScriptObject setValue:forKey:]):
9390         * bindings/scripts/CodeGeneratorJS.pm:
9391         * bridge/NP_jsobject.cpp:
9392         (_NPN_SetProperty):
9393         * bridge/jni/jni_jsobject.mm:
9394         (JavaJSObject::setMember):
9395         * bridge/objc/objc_class.mm:
9396         (KJS::Bindings::ObjcClass::fallbackObject):
9397         * bridge/objc/objc_runtime.h:
9398         * bridge/objc/objc_runtime.mm:
9399         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
9400         (ObjcFallbackObjectImp::put):
9401         * bridge/runtime.cpp:
9402         (KJS::Bindings::Instance::createRuntimeObject):
9403         * bridge/runtime_array.cpp:
9404         (RuntimeArray::put):
9405         * bridge/runtime_array.h:
9406         * bridge/runtime_object.cpp:
9407         (RuntimeObjectImp::RuntimeObjectImp):
9408         (RuntimeObjectImp::put):
9409         * bridge/runtime_object.h:
9411 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
9413         Reviewed by Eric Seidel.
9415         Fixed border-radius for Cairo.
9417         * platform/graphics/cairo/GraphicsContextCairo.cpp:
9418         (WebCore::GraphicsContext::strokeArc):
9420 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
9422         Reviewed by Eric Seidel.
9424         Added canvas's globalAlpha to cairo.
9426         * platform/graphics/GraphicsContext.h:
9427         * platform/graphics/cairo/GraphicsContextCairo.cpp:
9428         (WebCore::GraphicsContext::fillPath):
9429         (WebCore::GraphicsContext::strokePath):
9430         (WebCore::GraphicsContext::setAlpha):
9431         (WebCore::GraphicsContext::getAlpha):
9432         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
9433         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
9434         * platform/graphics/cairo/ImageCairo.cpp:
9435         (WebCore::BitmapImage::draw):
9437 2008-08-31  Simon Hausmann  <hausmann@webkit.org>
9439         Unreviewed Qt build fix.
9441         * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
9442         the .h file
9444 2008-08-30  Darin Adler  <darin@apple.com>
9446         Reviewed by Maciej.
9448         - adopt some new JavaScriptCore functions where appropriate
9450         * bindings/js/JSDOMWindowBase.cpp:
9451         (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
9452         (WebCore::windowProtoFuncBToA): Ditto.
9453         * bindings/js/JSEventListener.cpp:
9454         (WebCore::JSLazyEventListener::eventParameterName): Adopted
9455         jsNontrivialString.
9456         * bindings/js/JSSVGLazyEventListener.cpp:
9457         (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
9459 2008-08-29  Brady Eidson  <beidson@apple.com>
9461         Reviewed by Anders' rubberstamp
9463         Style cleanup to match MediaTokenizer::writeRawData()
9465         * loader/PluginDocument.cpp:
9466         (WebCore::PluginTokenizer::writeRawData):
9468 2008-08-29  Brady Eidson  <beidson@apple.com>
9470         Reviewed by Anders
9472         https://bugs.webkit.org/show_bug.cgi?id=20556
9473         <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
9475         Fix regression I introducted in 35946
9476         Already covered by media/video-click-dlbclick-standalone.html
9478         * loader/MediaDocument.cpp:
9479         (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
9480         (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called.  Also add
9481           an ASSERT signifying that this method should only be called once, to more closely follow the
9482           PluginDocument case.
9484 2008-08-29  Beth Dakin  <bdakin@apple.com>
9486         Reviewed by Sam Weinig.
9488         Fix for <rdar://problem/6181588>
9490         This patch makes hit testing take into account the new concept of a 
9491         disconnected frame, in which some of the content may not be 
9492         visible. The current hit testing mechanism starts at a target frame 
9493         and drills down for a HitTestResult. In some cases, drilling down 
9494         will find a non-visible result. When this happens, we need to try 
9495         again, starting at a higher level -- namely, starting at the main 
9496         frame.
9498         * editing/Editor.cpp:
9499         (WebCore::Editor::insideVisibleArea): New function that tests if a 
9500         point is inside the visible area for a disconnected frame.
9501         * editing/Editor.h:
9502         * page/EventHandler.cpp:
9503         (WebCore::EventHandler::hitTestResultAtPoint):
9505 2008-08-29  Adele Peterson  <adele@apple.com>
9507         Reviewed by Adam Roben. 
9509         Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
9511         * GNUmakefile.am:
9512         * WebCore.pro:
9513         * WebCore.vcproj/WebCore.vcproj:
9514         * WebCore.xcodeproj/project.pbxproj:
9515         * WebCoreSources.bkl:
9516         * html/HTMLTextFieldInnerElement.cpp: Removed.
9517         * html/HTMLTextFieldInnerElement.h: Removed.
9518         * rendering/RenderTextControl.cpp:
9519         (WebCore::RenderTextControl::createSubtreeIfNeeded):
9520         * rendering/RenderTextControl.h:
9521         * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
9522         (WebCore::TextControlInnerElement::TextControlInnerElement):
9523         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
9524         (WebCore::TextControlInnerTextElement::defaultEventHandler):
9525         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
9526         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
9527         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
9528         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
9529         * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
9531 2008-08-29  Eric Seidel  <eric@webkit.org>
9533         Rubber-stamped by aroben.
9535         Add GraphicsContext.h include to GraphcisContextPrivate.h
9537         GraphicsContextPrivate uses StrokeStyle which is defined
9538         in GraphicsContext.h but it doesn't include that header.
9539         CoreGraphics build doesn't fail here due to the order
9540         it happens to include files.
9542         * platform/graphics/GraphicsContextPrivate.h:
9544 2008-08-29  Eric Seidel  <eric@webkit.org>
9546         Reviewed by hyatt.
9548         Fix GeneratedImage to respect Image's refcounting
9549         Fixing potential crashers (future if not current)
9550         https://bugs.webkit.org/show_bug.cgi?id=20567
9551         
9552         I don't know if it's possible to make the current code
9553         crash, thus I've not made a test.
9555         * css/CSSGradientValue.cpp:
9556         (WebCore::CSSGradientValue::image):
9557         * css/CSSImageGeneratorValue.cpp:
9558         (WebCore::CSSImageGeneratorValue::removeClient):
9559         (WebCore::CSSImageGeneratorValue::getImage):
9560         * css/CSSImageGeneratorValue.h:
9561         * platform/graphics/GeneratedImage.h:
9562         (WebCore::GeneratedImage::GeneratedImage):
9563         * rendering/style/RenderStyle.cpp:
9564         (WebCore::RenderStyle::setContent):
9565         * rendering/style/RenderStyle.h:
9567 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
9569         Reviewed by Adele.
9571         Fix for <rdar://problem/6093767>
9572         https://bugs.webkit.org/show_bug.cgi?id=20526
9574         Don't allow video to render until unsupported track types have been disabled.
9576         * platform/graphics/win/QTMovieWin.cpp:
9577         (QTMovieWinPrivate::task):
9578         (QTMovieWinPrivate::drawingComplete):
9579         (QTMovieWinPrivate::clearGWorld):
9581 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
9583         Reviewed by Adele.
9585         Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
9586         <rdar://problem/6169301>
9587         
9588         Return the size of the movie data instead of 1000.
9589         
9590         Test: media/progress-event-total.html
9592         * platform/graphics/win/QTMovieWin.cpp:
9593         (QTMovieWin::dataSize):
9595 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
9597         Reviewed by Eric Seidel.
9599         [janitor/qt] Start replacing port specific getters with the generic native getter
9600         To get the native presentation of an image we currently have platform
9601         specific #ifdef's and a generic getter using NativeImagePtr. This patch
9602         extends this to the ImageBuffer and updates the Qt platform to get rid
9603         of the special #ifdefs.
9605         https://bugs.webkit.org/attachment.cgi?id=22861
9607         * platform/graphics/BitmapImage.h:
9608         * platform/graphics/Image.h:
9609         * platform/graphics/qt/ImageQt.cpp:
9610         * platform/graphics/qt/StillImageQt.cpp:
9611         * platform/graphics/qt/StillImageQt.h:
9612         * platform/qt/ClipboardQt.cpp:
9613         (WebCore::ClipboardQt::createDragImage):
9614         (WebCore::ClipboardQt::declareAndWriteDragImage):
9615         * platform/qt/CursorQt.cpp:
9616         * platform/qt/PasteboardQt.cpp:
9617         (WebCore::Pasteboard::writeImage):
9619 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
9621         Reviewed by Simon.
9623         [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
9625         * svg/graphics/qt/SVGPaintServerQt.cpp:
9626         (WebCore::SVGPaintServer::renderPath):
9627         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
9628         (WebCore::SVGPaintServerSolid::setup):
9630 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
9632         Reviewed by Simon.
9634         [network/qt] Implement defering of loading ResourceHandle's
9635         This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
9636         implementation is simply not forwarding anything to the
9637         ResourceHandleClient until we are allowed to. This might lead to a deadlock
9638         in Qt as we do not empty the QNetworkReply input buffer and wait until we
9639         are allowed to read. If that happens we are forced to buffer the data
9640         within QNetworkReplyHandler, for now this is not done.
9642         Manual test:
9643         - Open http://acid3.acidtests.org
9644         - Wait for the test to complete
9645         - Click on the Reference Rendering link
9646         - Be fast and see the results of acid3
9647         => assert
9649         * platform/network/qt/QNetworkReplyHandler.cpp:
9650         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
9651         (WebCore::QNetworkReplyHandler::setLoadMode):
9652         (WebCore::QNetworkReplyHandler::finish):
9653         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
9654         (WebCore::QNetworkReplyHandler::forwardData):
9655         (WebCore::QNetworkReplyHandler::start):
9656         (WebCore::QNetworkReplyHandler::resetState):
9657         (WebCore::QNetworkReplyHandler::sendQueuedItems):
9658         * platform/network/qt/QNetworkReplyHandler.h:
9659         (WebCore::QNetworkReplyHandler::):
9660         * platform/network/qt/ResourceHandleQt.cpp:
9661         (WebCore::ResourceHandle::start):
9662         (WebCore::ResourceHandle::loadResourceSynchronously):
9663         (WebCore::ResourceHandle::setDefersLoading):
9665 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
9667         Reviewed by Holger.
9669         Don't crash when drawing patterns with the HTML canvas. Patterns
9670         remain unimplemented but at least they don't crash anymore. This is
9671         done by changing the PlatformPatternPtr to be a brush for the Qt
9672         platform.
9674         * platform/graphics/Pattern.h:
9675         * platform/graphics/qt/GraphicsContextQt.cpp:
9676         (WebCore::GraphicsContext::fillPath):
9677         (WebCore::GraphicsContext::strokePath):
9678         (WebCore::GraphicsContext::fillRect):
9679         * platform/graphics/qt/PatternQt.cpp:
9680         (WebCore::Pattern::createPlatformPattern):
9682 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
9684         Fix the Qt build, fontSelector() is not used by the Qt port yet
9685         and we just return 0 in Font::fontSelector().
9687         * platform/graphics/Font.h:
9689 2008-08-28  Alp Toker  <alp@nuanti.com>
9691         GTK+ dist/build fix. List newly added header files.
9693         * GNUmakefile.am:
9695 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
9697         Reviewed by Dave Hyatt
9699         Various WebKitCSSTransformValue-related fixes
9700         https://bugs.webkit.org/show_bug.cgi?id=20562
9702         Test: css3/transform-value-types.html
9704         * bindings/js/JSCSSValueCustom.cpp:
9705         (WebCore::toJS):
9706         * css/CSSValue.h:
9707         * css/WebKitCSSTransformValue.cpp:
9708         (WebCore::WebKitCSSTransformValue::cssText):
9709         * css/WebKitCSSTransformValue.h:
9710         (WebCore::WebKitCSSTransformValue::):
9711         * css/WebKitCSSTransformValue.idl:
9713 2008-08-28  Dan Bernstein  <mitz@apple.com>
9715         Reviewed by Steve Falkenburg.
9717         - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
9719         * platform/win/SharedTimerWin.cpp:
9720         (WebCore::TimerWindowWndProc):
9722 2008-08-28  David Hyatt  <hyatt@apple.com>
9724         RenderStyle cleanup.
9726         Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
9728         Reviewed by Adam
9730         * css/CSSImageGeneratorValue.cpp:
9731         * css/CSSImageValue.cpp:
9732         * css/CSSStyleSelector.cpp:
9733         * rendering/RenderImageGeneratedContent.cpp:
9734         * rendering/style/NinePieceImage.cpp: Added.
9735         * rendering/style/NinePieceImage.h: Added.
9736         * rendering/style/RenderStyle.cpp:
9737         (WebCore::FillLayer::operator==):
9738         (WebCore::FillLayer::containsImage):
9739         (WebCore::StyleInheritedData::operator==):
9740         (WebCore::RenderStyle::contentDataEquivalent):
9741         * rendering/style/RenderStyle.h:
9742         * rendering/style/StyleCachedImage.cpp: Added.
9743         * rendering/style/StyleCachedImage.h: Added.
9744         * rendering/style/StyleGeneratedImage.cpp: Added.
9745         * rendering/style/StyleGeneratedImage.h: Added.
9746         * rendering/style/StyleImage.h: Added.
9748 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
9750         Reviewed by Dave Hyatt
9752         Make all the 'isFoo()' methods on CSSValue const,
9753         and fix the subclasses.
9754         
9755         https://bugs.webkit.org/show_bug.cgi?id=20561
9756         
9757         * css/CSSTimingFunctionValue.h:
9758         * css/CSSValue.h:
9759         (WebCore::CSSValue::isFontValue):
9760         (WebCore::CSSValue::isImageGeneratorValue):
9761         (WebCore::CSSValue::isImageValue):
9762         (WebCore::CSSValue::isImplicitInitialValue):
9763         * css/CSSValueList.h:
9764         * css/FontValue.h:
9766 2008-08-28  David Hyatt  <hyatt@apple.com>
9768         The great RenderStyle cleanup begins!
9770         Move LengthBox and LengthSize out of RenderStyle and into Length.
9772         Reviewed by Adam
9774         * rendering/Length.h:
9775         (WebCore::):
9776         (WebCore::Length::Length):
9777         (WebCore::Length::operator==):
9778         (WebCore::Length::operator!=):
9779         (WebCore::Length::value):
9780         (WebCore::Length::rawValue):
9781         (WebCore::Length::percent):
9782         (WebCore::Length::type):
9783         (WebCore::Length::quirk):
9784         (WebCore::Length::setValue):
9785         (WebCore::Length::setRawValue):
9786         (WebCore::Length::calcValue):
9787         (WebCore::Length::calcMinValue):
9788         (WebCore::Length::calcFloatValue):
9789         (WebCore::Length::isUndefined):
9790         (WebCore::Length::isZero):
9791         (WebCore::Length::isPositive):
9792         (WebCore::Length::isNegative):
9793         (WebCore::Length::isAuto):
9794         (WebCore::Length::isRelative):
9795         (WebCore::Length::isPercent):
9796         (WebCore::Length::isFixed):
9797         (WebCore::Length::isStatic):
9798         (WebCore::Length::isIntrinsicOrAuto):
9799         (WebCore::Length::blend):
9800         (WebCore::LengthBox::LengthBox):
9801         (WebCore::LengthBox::operator=):
9802         (WebCore::LengthBox::operator==):
9803         (WebCore::LengthBox::operator!=):
9804         (WebCore::LengthBox::nonZero):
9805         (WebCore::LengthSize::LengthSize):
9806         * rendering/style/RenderStyle.h:
9808 2008-08-28  David Hyatt  <hyatt@apple.com>
9810         Reviewed by Darin
9812         https://bugs.webkit.org/show_bug.cgi?id=18091
9814         font-size should be animatable using -webkit-transition.
9816         * page/AnimationController.cpp:
9817         (WebCore::AnimationControllerPrivate::ensurePropertyMap):
9818         * rendering/style/RenderStyle.h:
9819         (WebCore::RenderStyle::setFontSize):
9821 2008-08-28  Brad Garcia  <bgarcia@google.com>
9823         Reviewed by Dan Bernstein.
9825         https://bugs.webkit.org/show_bug.cgi?id=20549
9826         Correctly determine when cursor is over a resizable border within
9827         a nested frameset.
9829         * rendering/RenderFrameSet.cpp:
9830         (WebCore::RenderFrameSet::canResizeRow):
9831         (WebCore::RenderFrameSet::canResizeColumn):
9833 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
9835         Reviewed by Eric Seidel
9837         Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
9838         https://bugs.webkit.org/show_bug.cgi?id=20552
9840         Test: animations/animation-css-rule-types.html
9842         * css/CSSRule.idl:
9844 2008-08-28  Anders Carlsson  <andersca@apple.com>
9846         Reviewed by Kevin and Darin.
9848         <rdar://problem/6182541>
9849         https://bugs.webkit.org/show_bug.cgi?id=20202
9850         Missing http status line from the http headers.
9851         
9852         Add a status line to the header string.
9853         
9854         * plugins/PluginStream.cpp:
9855         (WebCore::PluginStream::startStream):
9857 2008-08-28  Holger Hans Peter Freyther  <zecke@selfish.org>
9859         Rubber-stamped by Darin Adler.
9861         https://bugs.webkit.org/show_bug.cgi?id=17261
9863         Make it possible to theme the default Url icon and enable this for
9864         the Qt port. To have a minimal usage of #ifdef in the code the setting
9865         of the icon was moved to a new method which comes in two flavors.
9867         * loader/icon/IconDatabase.cpp:
9868         (WebCore::loadDefaultIconRecord): Load or set the default icon
9869         (WebCore::IconDatabase::defaultIcon):
9871 2008-08-28  Holger Hans Peter Freyther <zecke@selfish.org>
9873         Unreviewed compile fix
9875         * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
9877 2008-08-28  Adam Roben  <aroben@apple.com>
9879         Windows (and others?) build fix
9881         * page/Chrome.cpp: Added a missing #include.
9882         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
9884 2008-08-27  Eric Seidel  <eric@webkit.org>
9886         Reviewed by Oliver Hunt.
9888         Qt and Cairo support from krit (and blind stab @ wx compile support)
9889         https://bugs.webkit.org/show_bug.cgi?id=20373
9891         * platform/graphics/cairo/GraphicsContextCairo.cpp:
9892         (WebCore::GraphicsContext::fillPath):
9893         (WebCore::GraphicsContext::strokePath):
9894         (WebCore::GraphicsContext::drawPath):
9895         (WebCore::GraphicsContext::fillRect):
9896         (WebCore::GraphicsContext::setPlatformFillColor):
9897         (WebCore::GraphicsContext::setPlatformStrokeColor):
9898         (WebCore::GraphicsContext::setPlatformStrokeStyle):
9899         (WebCore::GraphicsContext::strokeRect):
9900         (WebCore::GraphicsContext::setImageInterpolationQuality):
9901         (WebCore::GraphicsContext::imageInterpolationQuality):
9902         (WebCore::GraphicsContext::setPlatformFillPattern):
9903         (WebCore::GraphicsContext::setPlatformStrokePattern):
9904         (WebCore::GraphicsContext::setPlatformFillGradient):
9905         (WebCore::GraphicsContext::setPlatformStrokeGradient):
9906         * platform/graphics/qt/GraphicsContextQt.cpp:
9907         (WebCore::GraphicsContext::fillPath):
9908         (WebCore::GraphicsContext::strokePath):
9909         (WebCore::GraphicsContext::fillRect):
9910         (WebCore::GraphicsContext::strokeRect):
9911         (WebCore::GraphicsContext::clipToImageBuffer):
9912         (WebCore::GraphicsContext::setPlatformFillPattern):
9913         (WebCore::GraphicsContext::setPlatformStrokePattern):
9914         (WebCore::GraphicsContext::setPlatformFillGradient):
9915         (WebCore::GraphicsContext::setPlatformStrokeGradient):
9916         (WebCore::GraphicsContext::setImageInterpolationQuality):
9917         (WebCore::GraphicsContext::imageInterpolationQuality):
9918         * platform/graphics/wx/GraphicsContextWx.cpp:
9919         (WebCore::GraphicsContext::clipToImageBuffer):
9920         (WebCore::GraphicsContext::setImageInterpolationQuality):
9921         (WebCore::GraphicsContext::imageInterpolationQuality):
9922         (WebCore::GraphicsContext::fillPath):
9923         (WebCore::GraphicsContext::strokePath):
9924         (WebCore::GraphicsContext::drawPath):
9925         (WebCore::GraphicsContext::fillRect):
9926         (WebCore::GraphicsContext::setPlatformFillPattern):
9927         (WebCore::GraphicsContext::setPlatformStrokePattern):
9928         (WebCore::GraphicsContext::setPlatformFillGradient):
9930 2008-08-27  Eric Seidel  <eric@webkit.org>
9932         Reviewed by Oliver Hunt.
9934         Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
9935         https://bugs.webkit.org/show_bug.cgi?id=20373
9937         Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
9938         
9939         Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
9940         have to store large Gradient objects in the GraphicsContextState
9941         
9942         Made Pattern RefCounted for the same reason.
9943         
9944         Many updates to GraphicsContext to support easier drawing with
9945         Patterns and Gradients.
9947         * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
9948         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
9949         (WebCore::toJS):
9950         * css/CSSGradientValue.cpp:
9951         (WebCore::CSSGradientValue::createGradient):
9952         * css/CSSGradientValue.h:
9953         * html/CanvasGradient.cpp:
9954         (WebCore::CanvasGradient::CanvasGradient):
9955         * html/CanvasGradient.h:
9956         (WebCore::CanvasGradient::gradient):
9957         (WebCore::CanvasGradient::addColorStop):
9958         (WebCore::CanvasGradient::getColor):
9959         * html/CanvasPattern.cpp:
9960         * html/CanvasPattern.h:
9961         (WebCore::CanvasPattern::pattern):
9962         (WebCore::CanvasPattern::originClean):
9963         * html/CanvasRenderingContext2D.cpp:
9964         (WebCore::CanvasRenderingContext2D::State::State):
9965         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
9966         (WebCore::CanvasRenderingContext2D::setFillStyle):
9967         (WebCore::CanvasRenderingContext2D::fill):
9968         (WebCore::CanvasRenderingContext2D::stroke):
9969         (WebCore::CanvasRenderingContext2D::fillRect):
9970         (WebCore::CanvasRenderingContext2D::strokeRect):
9971         * html/CanvasRenderingContext2D.h:
9972         * html/CanvasStyle.cpp:
9973         (WebCore::CanvasStyle::applyStrokeColor):
9974         (WebCore::CanvasStyle::applyFillColor):
9975         * html/CanvasStyle.h:
9976         * platform/graphics/GeneratedImage.h:
9977         (WebCore::GeneratedImage::GeneratedImage):
9978         * platform/graphics/Generator.h:
9979         * platform/graphics/Gradient.h:
9980         (WebCore::Gradient::create):
9981         * platform/graphics/GraphicsContext.cpp:
9982         (WebCore::GraphicsContext::fillRule):
9983         (WebCore::GraphicsContext::setFillRule):
9984         (WebCore::GraphicsContext::setStrokePattern):
9985         (WebCore::GraphicsContext::setFillPattern):
9986         (WebCore::GraphicsContext::setStrokeGradient):
9987         (WebCore::GraphicsContext::setFillGradient):
9988         * platform/graphics/GraphicsContext.h:
9989         * platform/graphics/GraphicsContextPrivate.h:
9990         (WebCore::):
9991         (WebCore::GraphicsContextState::GraphicsContextState):
9992         * platform/graphics/GraphicsTypes.h:
9993         * platform/graphics/Path.h:
9994         * platform/graphics/Pattern.h:
9995         (WebCore::Pattern::create):
9996         (WebCore::Pattern::tileImage):
9997         * platform/graphics/cg/GraphicsContextCG.cpp:
9998         (WebCore::GraphicsContext::drawRect):
9999         (WebCore::GraphicsContext::drawEllipse):
10000         (WebCore::GraphicsContext::drawConvexPolygon):
10001         (WebCore::calculateDrawingMode):
10002         (WebCore::GraphicsContext::drawPath):
10003         (WebCore::fillPathWithFillRule):
10004         (WebCore::GraphicsContext::fillPath):
10005         (WebCore::GraphicsContext::strokePath):
10006         (WebCore::GraphicsContext::fillRect):
10007         (WebCore::GraphicsContext::fillRoundedRect):
10008         (WebCore::GraphicsContext::setPlatformStrokePattern):
10009         (WebCore::GraphicsContext::setPlatformFillPattern):
10010         (WebCore::GraphicsContext::setPlatformStrokeGradient):
10011         (WebCore::GraphicsContext::setPlatformFillGradient):
10013 2008-08-20  Eric Seidel  <eric@webkit.org>
10015         Reviewed by Darin and Alexey.
10017         Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
10018         with timeouts paused.
10019         https://bugs.webkit.org/show_bug.cgi?id=20469
10020         
10021         I attempted to clean up the memory management of PausedTimeouts, I'm not
10022         sure the solution I came up with is "cleaner", but it's in some ways
10023         "safer", since it no longer uses raw pointers and manual new/delete.
10024         
10025         This also now prevents CachedPage from needlessly creating Window
10026         objects when caching pages which didn't already have one. :)
10027         
10028         I also made Chrome.cpp no longer depend on the JavaScript bindings
10029         (aka JSDOMWindowBase.h), since there was no real reason for it to.
10031         * bindings/js/JSDOMWindowBase.cpp:
10032         (WebCore::JSDOMWindowBase::pauseTimeouts):
10033         (WebCore::JSDOMWindowBase::resumeTimeouts):
10034         * bindings/js/JSDOMWindowBase.h:
10035         * bindings/js/ScriptController.cpp:
10036         (WebCore::ScriptController::pauseTimeouts):
10037         (WebCore::ScriptController::resumeTimeouts):
10038         * bindings/js/ScriptController.h:
10039         * history/CachedPage.cpp:
10040         (WebCore::CachedPage::CachedPage):
10041         (WebCore::CachedPage::restore):
10042         * page/Chrome.cpp:
10043         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
10044         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
10045         * page/JavaScriptDebugServer.cpp:
10046         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
10047         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
10049 2008-08-27  Holger Hans Peter Freyther <zecke@selfish.org>
10051         Unreviewed compile fix
10053         Add the stub for the Qt port.
10055         * WebCore.pro:
10056         * page/qt/AccessibilityObjectQt.cpp: Added.
10057         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10059 2008-08-27  Alp Toker  <alp@nuanti.com>
10061         Reviewed by Eric.
10063         https://bugs.webkit.org/show_bug.cgi?id=20551
10064         [GTK] search popup crash
10066         * platform/gtk/SearchPopupMenuGtk.cpp:
10067         (WebCore::SearchPopupMenu::enabled):
10068         Fix a search popup crasher by disabling the history popup since we
10069         don't support this feature yet in the GTK+ port.
10071 2008-08-27  Alp Toker  <alp@nuanti.com>
10073         Reviewed by Eric.
10075         https://bugs.webkit.org/show_bug.cgi?id=20551
10076         [GTK] curl crashers
10078         * platform/network/curl/ResourceHandleManager.cpp:
10079         (WebCore::ResourceHandleManager::startScheduledJobs):
10080         Remove the resource handle from the pending list before starting the
10081         job, not afterwards. Fixes crashers in the test suite.
10083         Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
10084         Test: fast/encoding/char-encoding.html
10086 2008-08-27  Dirk Schulze  <vbs85@gmx.de>
10088         Reviewed by eseidel.
10090         Fix canvas drawImage to support composite operations.
10091         Composite had no effect on canvas elements like these:
10092         http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
10094         [CAIRO] Canvas composite don't work on canvas-elements.
10095         https://bugs.webkit.org/show_bug.cgi?id=20548
10097         * html/CanvasRenderingContext2D.cpp:
10098         (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
10100 2008-08-27  Mario Bensi  <mbensi@pleyo.com>
10102         Reviewed by Eric Seidel.
10103         
10104         Fix the data content of an image with a base64.
10106         * platform/network/curl/ResourceHandleManager.cpp:
10107         (WebCore::parseDataUrl): Remove the String and use only the data
10108         Vector because the data.latin1().data() convert the data content and
10109         the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
10110         not drawn correctly.
10112 2008-08-27  Antti Koivisto  <antti@apple.com>
10114         Reviewed by Eric Seidel.
10116         Crash after OK in dialog box and reloading page in secure mode
10117         https://bugs.webkit.org/show_bug.cgi?id=20493
10118         
10119         The new run loop spawned by a modal dialog causes a timer in the loader to run 
10120         synchronously inside didFinishLoading() deleting "this" object.
10121         
10122         Defer all WebCore timers when a modal dialog is up. They are not
10123         safe to execute.
10125         * page/Chrome.cpp:
10126         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
10127         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
10129 2008-08-27  Chris Marrin  <cmarrin@apple.com>
10131         Reviewed by Dave Hyatt
10133         Memory leaks when animating transforms
10134         https://bugs.webkit.org/show_bug.cgi?id=20532
10136         * rendering/style/RenderStyle.cpp:
10137         (WebCore::ScaleTransformOperation::blend):
10138         (WebCore::RotateTransformOperation::blend):
10139         (WebCore::SkewTransformOperation::blend):
10140         (WebCore::TranslateTransformOperation::blend):
10141         (WebCore::MatrixTransformOperation::blend):
10142         * rendering/style/RenderStyle.h:
10144 2008-08-27  Timothy Hatcher  <timothy@apple.com>
10146         Add support for support for -webkit-appearance: default-button on the Mac platform.
10148         <rdar://problem/6173530>
10150         Reviewed by Dave Hyatt.
10152         * WebCore.base.exp: Export new symbols.
10153         * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
10154         * platform/mac/WebCoreSystemInterface.mm: Ditto.
10155         * rendering/RenderButton.cpp:
10156         (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
10157         (WebCore::RenderButton::setStyle): Ditto.
10158         * rendering/RenderButton.h: Ditto.
10159         * rendering/RenderThemeMac.mm:
10160         (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
10161         (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
10162         key if the button is default, otherwise reset the key equivalent.
10163         (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
10164         on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
10165         the window's previous default button cell when finished.
10167 2008-08-26  David Hyatt  <hyatt@apple.com>
10169         First cut at making form controls on OS X respect full page zoom.  There are lots of bugs.
10171         Reviewed by weinig
10173         Added fast/forms/zoomed-controls.html
10175         * css/CSSStyleSelector.cpp:
10176         (WebCore::addIntrinsicMargins):
10177         * rendering/RenderSlider.cpp:
10178         (WebCore::RenderSlider::calcPrefWidths):
10179         * rendering/RenderThemeMac.h:
10180         * rendering/RenderThemeMac.mm:
10181         (WebCore::RenderThemeMac::adjustRepaintRect):
10182         (WebCore::RenderThemeMac::inflateRect):
10183         (WebCore::RenderThemeMac::baselinePosition):
10184         (WebCore::RenderThemeMac::setControlSize):
10185         (WebCore::RenderThemeMac::sizeForFont):
10186         (WebCore::RenderThemeMac::sizeForSystemFont):
10187         (WebCore::RenderThemeMac::setFontFromControlSize):
10188         (WebCore::RenderThemeMac::paintCheckbox):
10189         (WebCore::RenderThemeMac::setCheckboxCellState):
10190         (WebCore::RenderThemeMac::paintRadio):
10191         (WebCore::RenderThemeMac::setRadioCellState):
10192         (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
10193         (WebCore::RenderThemeMac::adjustButtonStyle):
10194         (WebCore::RenderThemeMac::setButtonCellState):
10195         (WebCore::RenderThemeMac::paintButton):
10196         (WebCore::RenderThemeMac::paintMenuList):
10197         (WebCore::RenderThemeMac::paintMenuListButton):
10198         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
10199         (WebCore::RenderThemeMac::popupInternalPaddingRight):
10200         (WebCore::RenderThemeMac::popupInternalPaddingTop):
10201         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
10202         (WebCore::RenderThemeMac::setPopupButtonCellState):
10203         (WebCore::RenderThemeMac::paintSliderTrack):
10204         (WebCore::RenderThemeMac::paintSliderThumb):
10205         (WebCore::RenderThemeMac::adjustSliderThumbSize):
10206         (WebCore::RenderThemeMac::paintSearchField):
10207         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
10208         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
10209         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
10211 2008-08-27  Brady Eidson  <beidson@apple.com>
10213         Reviewed by Anders
10215         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
10217         We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
10218         to load and buffer the data for the movie in WebCore.  With large media files, this results in blowing
10219         away the virtual address space and a crash.
10221         * loader/EmptyClients.h:
10222         (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
10223         * loader/FrameLoaderClient.h:  Added client method to get platform specific error for
10224           "plugin will handle load"
10226         * loader/MediaDocument.cpp:
10227         (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
10228           and cancel the WebCore-managed load
10229         (WebCore::MediaTokenizer::writeRawData):
10230         (WebCore::MediaTokenizer::finish):
10232 2008-08-26  Simon Fraser  <simon.fraser@apple.com>
10234         Reviewed by Eric Seidel
10236         Linear timing functions should have control points 0, 0, 1, 1.
10237         https://bugs.webkit.org/show_bug.cgi?id=20535
10239         * css/CSSStyleSelector.cpp:
10240         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
10241         * rendering/style/RenderStyle.h:
10243 2008-08-27  Adam Roben  <aroben@apple.com>
10245         Windows build fix
10247         * WebCore.vcproj/WebCore.vcproj: Fix file extension.
10249 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
10251         Reviewed by Beth Dakin.
10253         <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
10255         Added platform-specific accessibilityIgnoreAttachment, which allows the platform
10256         to determine if an attachment is ignored through accessibility. Added equivalent
10257         methods in Gtk, Win and Mac
10259         Test: accessibility/plugin.html
10261         * GNUmakefile.am:
10262         * WebCore.vcproj/WebCore.vcproj:
10263         * WebCore.xcodeproj/project.pbxproj:
10264         * page/AccessibilityObject.h:
10265         * page/AccessibilityRenderObject.cpp:
10266         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
10267         * page/gtk/AccessibilityObjectAtk.cpp: Added.
10268         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10269         * page/mac/AccessibilityObjectMac.mm: Added.
10270         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10271         * page/mac/AccessibilityObjectWrapper.h:
10272         * page/win/AccessibilityObjectWin.cpp: Added.
10273         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10275 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
10277         Reviewed by Beth Dakin.
10279         <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
10281         * page/mac/AccessibilityObjectWrapper.mm:
10282         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
10283         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
10285 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
10287         Reviewed by Darin Adler.
10289         <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
10291         Tests: accessibility/table-notbody.html
10293         * page/AccessibilityTable.cpp:
10294         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
10296 2008-08-26  Sam Weinig  <sam@webkit.org>
10298         Reviewed by Beth Dakin.
10300         Fix typo.
10302         * dom/DOMCoreException.h:
10304 2008-08-26  Sam Weinig  <sam@webkit.org>
10306         Reviewed by Oliver Hunt.
10308         Fix https://bugs.webkit.org/show_bug.cgi?id=20479
10309         <rdar://problem/6167660>
10310         Take image redirects into account when tainting the canvas.
10312         Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
10314         * html/CanvasRenderingContext2D.cpp:
10315         (WebCore::CanvasRenderingContext2D::drawImage):
10316         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10318 2008-08-26  Sam Weinig  <sam@webkit.org>
10320         Reviewed by Darin Adler.
10322         Change canvas tainting logic to ask the image if it contains
10323         any resources outside of its own origin. Since there is no 
10324         way to determine if SVG images contain any resources outside its
10325         origin, we always assume it does.
10327         * html/CanvasRenderingContext2D.cpp:
10328         (WebCore::CanvasRenderingContext2D::drawImage):
10329         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10330         * platform/graphics/BitmapImage.h:
10331         (WebCore::BitmapImage::hasSingleSecurityOrigin):
10332         * platform/graphics/GeneratedImage.h:
10333         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
10334         * platform/graphics/Image.h:
10335         (WebCore::Image::hasSingleSecurityOrigin):
10336         * platform/graphics/cg/PDFDocumentImage.h:
10337         (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
10338         * svg/graphics/SVGImage.h:
10340 2008-08-26  Maxime Britto  <britto@apple.com>
10342         Reviewed by Adele.
10344         <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
10345         This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
10346         This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
10348         * page/EventHandler.cpp:
10349         (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
10350         * page/EventHandler.h:
10351         * rendering/RenderLayer.cpp:
10352         (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
10353         (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
10354         * rendering/RenderLayer.h:
10355         * rendering/RenderObject.cpp:
10356         (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
10357         (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
10358         (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
10360 2008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
10362         Reviewed by Darin Adler.
10364         Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
10365         https://bugs.webkit.org/show_bug.cgi?id=20247
10367         <rdar://problem/6118218>
10369         Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
10370         check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
10371         (case insensitive for HTML elements).
10373         Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
10375         * dom/Element.cpp:
10376         (WebCore::Element::getAttribute):
10377         * dom/NamedAttrMap.cpp:
10378         (WebCore::NamedAttrMap::getNamedItem):
10379         (WebCore::NamedAttrMap::getAttributeItem):
10380         * dom/NamedAttrMap.h:
10382 2008-08-25  Sam Weinig  <sam@webkit.org>
10384         Reviewed by Oliver Hunt.
10386         Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
10387         <rdar://problem/6174096>
10388         Treat SVG images as dirty when drawing to a canvas.
10390         Test: http/tests/security/canvas-remote-read-svg-image.html
10392         * html/CanvasRenderingContext2D.cpp:
10393         (WebCore::CanvasRenderingContext2D::drawImage):
10394         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10395         * platform/graphics/Image.h:
10396         (WebCore::Image::isSVGImage):
10397         * svg/graphics/SVGImage.h:
10398         (WebCore::SVGImage::isSVGImage):
10400 2008-08-25  Sam Weinig  <sam@webkit.org>
10402         Reviewed by Mark Rowe.
10404         Fix https://bugs.webkit.org/show_bug.cgi?id=20377
10405         Leak in XMLHttpRequest.
10407         * xml/XMLHttpRequest.cpp:
10408         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
10410 2008-08-25  Brady Eidson  <beidson@apple.com>
10412         Reviewed by Anders
10414         Speculative fix for <rdar://problem/6173217>
10416         Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
10417         Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
10418         the first null check invalid.
10420         * loader/FrameLoader.cpp:
10421         (WebCore::FrameLoader::stopAllLoaders):
10424 2008-08-25  Kevin McCullough  <kmccullough@apple.com>
10426         Reviewed by Tim.
10428         <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
10429         there is no profile, can cause crash
10431         * page/inspector/ProfilesPanel.js:
10433 2008-08-25  Dean Jackson  <dino@apple.com>
10435         Reviewed by Dave Hyatt
10437         Make sure 'inherit' is handled by transition property.
10438         https://bugs.webkit.org/show_bug.cgi?id=20513
10440         Test: transitions/inherit.html
10441         Test: transitions/inherit-other-props.html
10443         * css/CSSStyleSelector.cpp:
10444           fix macro to check existence of list before getting size
10446 2008-08-25  Anders Carlsson  <andersca@apple.com>
10448         Reviewed by Mark.
10450         <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
10451         
10452         Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume 
10453         (safely) that any class that needs finalization on the main thread will also need to be deallocated
10454         on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
10455         calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
10457         * platform/mac/WebCoreObjCExtras.c:
10458         (WebCoreObjCFinalizeOnMainThread):
10460 2008-08-25  Antti Koivisto  <antti@apple.com>
10462         Reviewed by Dan Bernstein.
10464         Rename CachedResource::referenced() to CachedResource::hasClients() to
10465         match previous ref() -> addClient() rename.
10467         * loader/Cache.cpp:
10468         (WebCore::Cache::pruneLiveResources):
10469         (WebCore::Cache::pruneDeadResources):
10470         (WebCore::Cache::remove):
10471         (WebCore::Cache::getStatistics):
10472         (WebCore::Cache::dumpLRULists):
10473         * loader/CachedResource.cpp:
10474         (WebCore::CachedResource::addClient):
10475         (WebCore::CachedResource::removeClient):
10476         (WebCore::CachedResource::setDecodedSize):
10477         (WebCore::CachedResource::setEncodedSize):
10478         * loader/CachedResource.h:
10479         (WebCore::CachedResource::hasClients):
10480         (WebCore::CachedResource::canDelete):
10482 2008-08-25  Anthony Ricaud  <rik24d@gmail.com>
10484         Add a missing Inspector localized string for "other".
10486         https://bugs.webkit.org/show_bug.cgi?id=20509
10488         Reviewed by Tim Hatcher.
10490         * English.lproj/localizedStrings.js:
10492 2008-08-22  Kevin McCullough  <kmccullough@apple.com>
10494         Reviewed by Geoff, Mark and Tim.
10496         <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
10497         in the console said what file and line number they came from
10498         - Lay the foundation for getting line numbers and other data from the
10499         JavaScript engine.
10501         * ForwardingHeaders/VM: Added.
10502         * ForwardingHeaders/VM/Machine.h: Added.
10503         * page/Console.cpp: Gather the line number and file information when 
10504         profileEnd has been called, but don't use it until didFinishProfiling is
10505         called.  We won't need to wait once we remove the profiler "zombie" mode
10506         which this patch helps pave the foundation for.
10507         (WebCore::Console::Console):
10508         (WebCore::Console::profileEnd):
10509         (WebCore::Console::finishedProfiling):
10510         * page/Console.h:
10511         * page/InspectorController.cpp: Modify calls to
10512         addProfileMessageToConsole to satisfy the new arguments it takes.
10513         (WebCore::InspectorController::finishedProfiling):
10514         (WebCore::InspectorController::addProfile):
10515         (WebCore::InspectorController::addProfileMessageToConsole):
10516         (WebCore::InspectorController::finishedProfiling):
10517         * page/InspectorController.h:
10519 2008-08-25  Holger Hans Peter Freyther  <zecke@selfish.org>
10521         Reviewed by Simon.
10523         [inspector] Update the WebKit.qrc Qt resources file
10524         Catchup with the changes in the directory.
10526         * page/inspector/WebKit.qrc:
10528 2008-08-25  Dirk Schulze  <vbs85@gmx.de>
10530         Reviewed by Simon.
10532         Transformed the radian to degree, to get rotate()
10533         in canvas work as expected.
10535         [Qt] Canvas.rotate() doesn't work
10536         https://bugs.webkit.org/show_bug.cgi?id=20496
10538         * platform/graphics/qt/GraphicsContextQt.cpp:
10539         (WebCore::GraphicsContext::rotate):
10541 2008-08-24  Steve Falkenburg  <sfalken@apple.com>
10543         Add a "last chance" WM_TIMER to the Windows shared timer.
10544         
10545         The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
10546         Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
10547         timers if a timer with an earlier expiration is already pending. This results in no timers
10548         firing from that point on.
10549         
10550         We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
10551         buggy window message hook.
10552         
10553         This timer will start when the first WM_TIMER is scheduled, and will
10554         fire every 5 seconds thereafter, causing any lost timers to be fired.
10555         
10556         Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
10557         and prevents the WebFrame leak.
10558         
10559         Reviewed by Darin Adler, Geoff Garen.
10561         * platform/win/SharedTimerWin.cpp:
10562         (WebCore::):
10563         (WebCore::TimerWindowWndProc):
10564         (WebCore::setSharedTimerFireTime):
10566 2008-08-24  Dan Bernstein  <mitz@apple.com>
10568         Reviewed by Darin Adler.
10570         - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
10572         Test: fast/css/font-property-priority.html
10574         * css/CSSParser.cpp:
10575         (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
10576         to the font-property-parsing functions.
10577         (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
10578         changed to use it rather than the m_important member.
10579         (WebCore::CSSParser::parseFontVariant): Ditto.
10580         (WebCore::CSSParser::parseFontWeight): Ditto.
10581         * css/CSSParser.h:
10583 2008-08-24  Timothy Hatcher  <timothy@apple.com>
10585         Fixes a bug where the Inspector's UI would not animate or
10586         fully function because JavaScript timeouts, intervals and
10587         CSS animation timers where not firing while paused at a
10588         a breakpoint in the inspected page.
10590         https://bugs.webkit.org/show_bug.cgi?id=20042
10592         Reviewed by Darin Adler.
10594         Test: manual-tests/inspector/forzen-ui-while-paused.html
10596         * page/JavaScriptDebugServer.cpp:
10597         (WebCore::JavaScriptDebugServer::pauseIfNeeded):
10598         Add a call to TimerBase::fireTimersInNestedEventLoop before
10599         spinning the EventLoop.
10601 2008-08-24  Rob Buis  <buis@kde.org>
10603         Reviewed by Sam Weinig.
10605         https://bugs.webkit.org/show_bug.cgi?id=20324
10606         A change in SVG Glyph wont show up
10608         Invalidate the glyph cache when the d attribute is set.
10610         Test: svg/custom/glyph-setting-d-attribute.svg
10612         * svg/SVGGlyphElement.cpp:
10613         (WebCore::SVGGlyphElement::invalidateGlyphCache):
10614         (WebCore::SVGGlyphElement::parseMappedAttribute):
10615         (WebCore::SVGGlyphElement::insertedIntoDocument):
10616         (WebCore::SVGGlyphElement::removedFromDocument):
10617         * svg/SVGGlyphElement.h:
10619 2008-08-24  Dan Bernstein  <mitz@apple.com>
10621         Reviewed by Sam Weinig.
10623         - fix https://bugs.webkit.org/show_bug.cgi?id=13864
10624           <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
10626         * rendering/RenderText.cpp:
10627         (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
10628         beginWS and endWS before the early return to ensure that they are
10629         initialized in that case.
10631 2008-08-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
10633         Rubber-stamped by Mark Rowe.
10635         Remove modelines.
10637         * WebCore.pro:
10638         * bridge/testbindings.cpp:
10639         * dom/DocPtr.h:
10640         * loader/SubstituteData.h:
10641         * page/Chrome.cpp:
10642         * page/Chrome.h:
10643         * page/ChromeClient.h:
10644         * page/Frame.h:
10645         * page/FrameLoadRequest.h:
10646         * page/FrameTree.cpp:
10647         * page/FrameTree.h:
10648         * page/Page.h:
10649         * page/mac/ChromeMac.mm:
10650         * platform/network/HTTPHeaderMap.h:
10651         * platform/network/ResourceErrorBase.cpp:
10652         * platform/network/ResourceErrorBase.h:
10653         * platform/network/ResourceHandleInternal.h:
10654         * platform/network/ResourceRequestBase.cpp:
10655         * platform/network/ResourceRequestBase.h:
10656         * platform/network/ResourceResponseBase.cpp:
10657         * platform/network/ResourceResponseBase.h:
10658         * platform/network/cf/ResourceError.h:
10659         * platform/network/cf/ResourceRequest.h:
10660         * platform/network/cf/ResourceRequestCFNet.h:
10661         * platform/network/cf/ResourceResponse.h:
10662         * platform/network/cf/ResourceResponseCFNet.h:
10663         * platform/network/curl/ResourceError.h:
10664         * platform/network/curl/ResourceRequest.h:
10665         * platform/network/curl/ResourceResponse.h:
10666         * platform/network/mac/ResourceError.h:
10667         * platform/network/mac/ResourceErrorMac.mm:
10668         * platform/network/mac/ResourceRequest.h:
10669         * platform/network/mac/ResourceRequestMac.mm:
10670         * platform/network/mac/ResourceResponse.h:
10671         * platform/network/mac/ResourceResponseMac.mm:
10672         * platform/network/qt/ResourceError.h:
10673         * platform/network/qt/ResourceRequest.h:
10674         * platform/network/qt/ResourceResponse.h:
10675         * platform/network/soup/CookieJarSoup.cpp:
10676         * platform/network/soup/ResourceError.h:
10677         * platform/network/soup/ResourceRequest.h:
10678         * platform/network/soup/ResourceResponse.h:
10680 2008-08-23  Dan Bernstein  <mitz@apple.com>
10682         Reviewed by Dave Hyatt.
10684         - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
10686         Test: fast/table/vertical-align-baseline.html
10688         * rendering/RenderTable.cpp:
10689         (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
10690         baseline of the first table row, if there is one, -1 otherwise.
10691         * rendering/RenderTable.h:
10692         * rendering/RenderTableCell.cpp:
10693         (WebCore::RenderTableCell::baselinePosition): Changed to follow the
10694         CSS2.1 definition of the baseline of a table cell.
10695         * rendering/RenderTableSection.cpp:
10696         (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
10697         the baseline of the first row in the section.
10698         * rendering/RenderTableSection.h:
10700 2008-08-18  Jon Honeycutt  <jhoneycutt@apple.com>
10702         Add SPI to make a Windows WebView transparent.
10704         Reviewed by Dan Bernstein.
10706         * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
10707         determines whether the created context has an alpha channel.
10708         * platform/graphics/win/GraphicsContextCGWin.cpp:
10709         (WebCore::CGContextWithHDC):
10711 2008-08-22  Timothy Hatcher  <timothy@apple.com>
10713         Rolls out r35834 because it caused a regression in the Inspector's
10714         Console where some expressions always threw a syntax error.
10716         https://bugs.webkit.org/show_bug.cgi?id=20487
10718         * page/inspector/Console.js:
10719         (Console.prototype._evalInInspectedWindow): Removes parenthesis
10720         around the expression.
10722 2008-08-22  Timothy Hatcher  <timothy@apple.com>
10724         Makes getStyleProperty return a value for the overflow property
10725         when overflow-x and overflow-y are equal.
10727         https://bugs.webkit.org/show_bug.cgi?id=20485
10729         Reviewed by Dan Bernstein.
10731         Test: fast/css/overflow-property.html
10733         * css/CSSMutableStyleDeclaration.cpp:
10734         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
10736 2008-08-22  Timothy Hatcher  <timothy@apple.com>
10738         Fixes a bug where while editing in the Inspector the
10739         sidebar scroll position would jump to the top.
10741         https://bugs.webkit.org/show_bug.cgi?id=20484
10743         Reviewed by Darin Adler.
10745         * page/inspector/treeoutline.js:
10746         (TreeOutline._removeChildren): Remove the offsetTop call that
10747         was forcing a layout, since layout causes scroll positions
10748         to be clamped to the new scrollHeight/Width. Layout will happen
10749         normally when needed.
10751 2008-08-22  Kevin Ollivier  <kevino@theolliviers.com>
10753         wx build fix. Add AccessibilityTable sources.
10755         * WebCoreSources.bkl:
10757 2008-08-21  Dan Bernstein  <mitz@apple.com>
10759         Reviewed by Jon Honeycutt and Alexey Proskuryakov.
10761         - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
10763         Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
10765         * platform/graphics/mac/SimpleFontDataMac.mm:
10766         (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
10767         ascent and 100% to its reported descent.
10769 2008-08-21  Kalle Vahlman  <kalle.vahlman@movial.com>
10771         Reviewed by Darin Adler.
10773         https://bugs.webkit.org/show_bug.cgi?id=20267
10774         [GTK] Crash on some pages due to a plugin
10776         Fix handling of badly formatted and empty plugin mime descriptions
10778         * plugins/gtk/PluginPackageGtk.cpp:
10779         (WebCore::PluginPackage::fetchInfo):
10781 2008-08-21  Kevin Watters  <kevinwatters@gmail.com>
10783         Reviewed by Darin Adler.
10785         Follow other ports (and IE) in ImageSourceWx.cpp never to return an
10786         animated GIF frame duration of less than 50ms.
10788         * platform/graphics/wx/ImageSourceWx.cpp:
10789         (WebCore::ImageSource::frameDurationAtIndex):
10791 2008-08-21  Maxime Britto  <britto@apple.com>
10793         Reviewed by Kevin McCullough.
10795         Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
10796         https://bugs.webkit.org/show_bug.cgi?id=20451
10797    
10798         rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
10799         When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
10800         This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
10802         * page/EventHandler.cpp:
10803         (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
10805         (WebCore::EventHandler::handleMousePressEvent): ditto
10807 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
10809         Small optimization for when the dividers in the Inspector's
10810         Resources panel are updated.
10812         Reviewed by Tim Hatcher.
10814         * page/inspector/ResourcesPanel.js:
10815         (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
10816         Combind a for loop and clone the divider element.
10818 2008-08-21  Chris Marrin  <cmarrin@apple.com>
10820         Allow 0 (without units) for Time eg. duration
10821         Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
10823         Reviewed by Dave Hyatt.
10825         Test: css1/units/zero-duration-without-units.html
10827         * css/CSSParser.cpp:
10828         (WebCore::CSSParser::validUnit):
10830 2008-08-21  Timothy Hatcher  <timothy@apple.com>
10832         Make deleting all text while editing a DOM attribute in
10833         the Inspector delete the attribute. This also fixes
10834         an exception that would happen before.
10836         https://bugs.webkit.org/show_bug.cgi?id=20472
10838         Reviewed by Kevin McCullough.
10840         * page/inspector/ElementsPanel.js:
10841         (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
10842         Don't check for hasAttributes on the parseElement, continuing
10843         through the function will correctly remove the attribute.
10844         If the parseElement is null, call _editingCancelled not
10845         editingCancelled, this fixes an exception.
10847 2008-08-21  Timothy Hatcher  <timothy@apple.com>
10849         Update the Inspector's Metrics pane when editing in
10850         the Styles pane. This makes sure the metrics shown
10851         always match what the Styles pane shows.
10853         https://bugs.webkit.org/show_bug.cgi?id=20470
10855         Reviewed by Kevin McCullough.
10857         * page/inspector/ElementsPanel.js:
10858         (WebInspector.ElementsPanel): Add event listeners for
10859         the "style edited" and "style property toggled" events,
10860         so the Metrics pane is updated.
10861         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
10862         Update the Metrics pane.
10863         * page/inspector/StylesSidebarPane.js:
10864         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
10865         Dispatch the "style property toggled" event.
10866         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
10867         Dispatch the "style edited" event when the CSS text is restored.
10868         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
10869         Dispatch the "style edited" event.
10871 2008-08-21  Timothy Hatcher  <timothy@apple.com>
10873         Make the Inspector's Metrics sidebar pane editable.
10875         https://bugs.webkit.org/show_bug.cgi?id=17218
10876         rdar://problem/5732818
10878         Reviewed by Kevin McCullough.
10880         * page/inspector/ElementsPanel.js:
10881         (WebInspector.ElementsPanel): Add an event listener for
10882         the "metrics edited" event, so the Styles pane is updated.
10883         * page/inspector/MetricsSidebarPane.js:
10884         (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
10885         so future updates work. Add a double click event listener for the
10886         metric values to start editing.
10887         (WebInspector.MetricsSidebarPane.prototype.startEditing):
10888         Call WebInspector.startEditing with some context.
10889         (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
10890         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
10891         Set the user input on the elements inline style. Fire the
10892         "metrics edited" event.
10894 2008-08-21  Steve Falkenburg  <sfalken@apple.com>
10896         Fix a race condition in Windows timer code.
10897         Timer function could end up being called with a 0 timer, leading to a Windows exception.
10898         
10899         Don't post a timer message if one is already pending.
10900         
10901         Reviewed by Ada Chan.
10903         * platform/win/SharedTimerWin.cpp:
10904         (WebCore::TimerWindowWndProc):
10905         (WebCore::clearTimer):
10906         (WebCore::queueTimerProc):
10907         (WebCore::setSharedTimerFireTime):
10909 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
10911         After trying to add the expression, try again with quotes for
10912         easier edition.
10914         https://bugs.webkit.org/show_bug.cgi?id=20466
10916         Reviewed by Tim Hatcher.
10918         * page/inspector/ObjectPropertiesSection.js: Added an
10919         evaluateExpression function.
10921 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
10923         Perform Inspector searches on search event to clear results when
10924         clicking the cross to empty it. Delete the lastQuery when the field
10925         is emptied in order to perform the search if exactly the same query
10926         is entered next.
10928         https://bugs.webkit.org/show_bug.cgi?id=20462
10930         Reviewed by Tim Hatcher.
10932         * page/inspector/inspector.js:
10934 2008-08-21  Marco Barisione  <marco.barisione@collabora.co.uk>
10936         Reviewed by Mark Rowe.
10938         http://bugs.webkit.org/show_bug.cgi?id=19656
10939         [SOUP] The gio code should call didFail() instead of
10940         didFinishLoading() in case of error
10942         In case of error call didFail() instead of didReceiveResponse() and
10943         didFinishLoading().
10945         * platform/network/soup/ResourceHandleSoup.cpp:
10946         (WebCore::networkErrorForFile):
10947         (WebCore::readCallback):
10948         (WebCore::openCallback):
10949         (WebCore::queryInfoCallback):
10951 2008-08-20  Mark Rowe  <mrowe@apple.com>
10953         Reviewed by Jon Honeycutt.
10955         Fix build failure.
10957         * bridge/c/c_instance.cpp:
10958         (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
10959         as that is what NPEnumerationFunctionPtr is declared as accepting.
10961 2008-08-20  Mark Rowe  <mrowe@apple.com>
10963         Reviewed by Dan Bernstein.
10965         Build fix.  Handle kCGInterpolationMedium in switch statements if it is available.
10967         * platform/graphics/GraphicsContext.h:
10968         (WebCore::):
10969         * platform/graphics/cg/GraphicsContextCG.cpp:
10970         (WebCore::GraphicsContext::setImageInterpolationQuality):
10971         (WebCore::GraphicsContext::imageInterpolationQuality):
10973 2008-08-20  Dan Bernstein  <mitz@apple.com>
10975         Rubber-stamped by John Sullivan.
10977         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
10978           rename related methods and variables accordingly.
10980         * WebCore.base.exp:
10981         * page/FrameView.cpp:
10982         (WebCore::FrameViewPrivate::FrameViewPrivate):
10983         (WebCore::FrameView::shouldUpdateWhileOffscreen):
10984         (WebCore::FrameView::setShouldUpdateWhileOffscreen):
10985         * page/FrameView.h:
10986         * platform/ScrollView.h:
10987         * platform/mac/ScrollViewMac.mm:
10988         (WebCore::ScrollView::updateContents):
10990 2008-08-20  Brady Eidson  <beidson@apple.com>
10992         Reviewed by Mitzpettel
10994         <rdar://problem/6163636> - Many images broken in Mail
10996         This can be traced back to the preload scanner.  With that change, CachedResources are created a lot 
10997         sooner than before and confuse the WebArchive machinery.  
10999         When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore 
11000         such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate 
11001         machinery and nothing is known about where the data will eventually come from.
11003         * loader/DocumentLoader.cpp:
11004         (WebCore::DocumentLoader::subresource):  Ignore a CachedResource if its preloadResult is 
11005           CachedResource::PreloadReferenced.
11007 2008-08-20  Holger Hans Peter Freyther  <zecke@selfish.org>
11009         Unreviewed compile fix
11011         Catch up with the JSValue::type elimination.
11013         * bridge/qt/qt_instance.cpp:
11014         (KJS::Bindings::QtRuntimeObjectImp::construct):
11015         (KJS::Bindings::QtInstance::defaultValue):
11016         * bridge/qt/qt_runtime.cpp:
11017         (KJS::Bindings::QtRuntimeConnectionMethod::call):
11019 2008-08-20  Chris Teague  <chris.teague@gmail.com>
11021         Reviewed by Mark Rowe.
11023         Fix https://bugs.webkit.org/show_bug.cgi?id=20449
11024         Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
11026         * ChangeLog:
11027         * loader/FrameLoader.cpp:
11028         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
11030 2008-08-20  Simon Fraser  <simon.fraser@apple.com>
11032         Reviewed by Dave Hyatt
11034         getComputedStyle() for webkitTransform should return a transform
11035         that does not have the transform origin baked into it.
11036         https://bugs.webkit.org/show_bug.cgi?id=20464
11037         
11038         Test: fast/css/getComputedStyle-transform.html
11040         * css/CSSComputedStyleDeclaration.cpp:
11041         (WebCore::computedTransform):
11042         * rendering/style/RenderStyle.cpp:
11043         (WebCore::RenderStyle::applyTransform):
11044         * rendering/style/RenderStyle.h:
11046 2008-08-20  Josh Aas  <joshmoz@gmail.com>
11048         Reviewed and landed by Anders.
11050         <rdar://problem/6163636> 
11051         rename NPCocoaEvent's "event" struct to "data" (20446)
11052         
11053         * bridge/npapi.h:
11054         (_NPCocoaEvent::):
11056 2008-08-20  Beth Dakin  <bdakin@apple.com>
11058         Reviewed by Darin Adler.
11060         Fix for <rdar://problem/6145626> 
11061         This patch fixes a number of remaining problems getting 
11062         disconnected frames to work correctly with markAllMatchesForText() 
11063         and findString(). Details inline. 
11065         This was a static helper function in Frame, but this patch requires 
11066         the same functionality in Editor, so I just added it as a function 
11067         on Node.
11068         * dom/Node.cpp:
11069         (WebCore::Node::isInShadowTree):
11070         * dom/Node.h:
11072         * editing/Editor.cpp:
11073         (WebCore::Editor::insideVisibleArea): Returns false if 
11074         excludeFromTextSearch() is true.
11076         In a normal (non-disconnected) frame, findString returns a range of 
11077         the document node if the text is not found in the frame. I changed 
11078         firstVisibleRange and lastVisibleRange to match that behavior when 
11079         the text is not found
11080         (WebCore::Editor::firstVisibleRange):
11081         (WebCore::Editor::lastVisibleRange):
11083         Here are the bulk of the changes in the patch. A lot of text was 
11084         not being found in disconnected frames because I failed to account 
11085         for all of the possible problems associated with shadow trees. That 
11086         is fixed here.
11087         (WebCore::Editor::nextVisibleRange):
11088         * editing/Editor.h:
11090         excludeFromTextSearch() is new. It allows a WebKit client to mark a 
11091         frame as not-text-searchable through SPI. 
11092         * WebCore.base.exp:
11093         * page/Frame.cpp:
11094         (WebCore::Frame::excludeFromTextSearch):
11095         (WebCore::Frame::setExcludeFromTextSearch):
11096         (WebCore::FramePrivate::FramePrivate):
11097         * page/Frame.h:
11098         * page/FramePrivate.h:
11100         (WebCore::Frame::findString):
11101         (WebCore::Frame::markAllMatchesForText):  I kept running into an 
11102         assertion failure in paining code because of the forced paint on 
11103         empty visible rects.
11105 2008-08-20  Timothy Hatcher  <timothy@apple.com>
11107         Adds a positon box to the Inspector's Metrics sidebar
11108         pane. When an element is not statically positioned, there
11109         is now a position box that show top, right, bottom and
11110         left computed values.
11112         Reviewed by Kevin McCullough.
11114         * English.lproj/localizedStrings.js: Updated the strings.
11115         * page/inspector/MetricsSidebarPane.js:
11116         (WebInspector.MetricsSidebarPane.prototype.update):
11117         Renamed the boxPartValue function to createBoxPartElement
11118         and made it create the entire element. Made it understand
11119         how to get position style properties. Don't use the figure dash
11120         when 0px is used for positions, since the 0 is meaningful there.
11121         Instead use the figure dash when a position is auto.
11122         * page/inspector/inspector.css: Added a new rule for position.
11124 2008-08-20  Chris Fleizach  <cfleizach@apple.com>
11126         Reviewed by Beth Dakin
11128         Qt build fix
11130         * WebCore.pro:
11132 2008-08-20  Dan Bernstein  <mitz@apple.com>
11134         Reviewed by Anders Carlsson.
11136         - avoid using a deprecated NSScroller method on Leopard
11138         * platform/mac/PlatformScrollBarMac.mm:
11139         (WebCore::PlatformScrollbar::updateThumbPosition):
11140         (WebCore::PlatformScrollbar::updateThumbProportion):
11142 2008-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
11144         Reviewed by Oliver Hunt.
11146         Gtk build fix
11148         * GNUmakefile.am:
11149         * page/AccessibilityTable.cpp: Change nil to 0
11150         (WebCore::AccessibilityTable::cellForColumnAndRow):
11152 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
11154         Reviewed by Geoff Garen.
11156         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
11158         * ForwardingHeaders/kjs/JSLock.h: Added.
11159         * WebCore.vcproj/WebCore.vcproj:
11160         * bindings/js/GCController.cpp:
11161         (WebCore::collect):
11162         (WebCore::GCController::gcTimerFired):
11163         (WebCore::GCController::garbageCollectNow):
11164         * bindings/js/JSCustomSQLStatementCallback.cpp:
11165         (WebCore::JSCustomSQLStatementCallback::handleEvent):
11166         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
11167         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
11168         * bindings/js/JSCustomSQLTransactionCallback.cpp:
11169         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
11170         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
11171         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
11172         * bindings/js/JSCustomVoidCallback.cpp:
11173         (WebCore::JSCustomVoidCallback::handleEvent):
11174         * bindings/js/JSCustomXPathNSResolver.cpp:
11175         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
11176         * bindings/js/JSDOMWindowBase.cpp:
11177         (WebCore::DOMWindowTimer::~DOMWindowTimer):
11178         (WebCore::JSDOMWindowBase::clear):
11179         (WebCore::JSDOMWindowBase::timerFired):
11180         * bindings/js/JSEventCustom.cpp:
11181         (WebCore::toJS):
11182         * bindings/js/JSEventListener.cpp:
11183         (WebCore::JSAbstractEventListener::handleEvent):
11184         * bindings/js/JSNSResolver.cpp:
11185         (WebCore::JSNSResolver::lookupNamespaceURI):
11186         * bindings/js/JSNodeFilterCondition.cpp:
11187         (WebCore::JSNodeFilterCondition::acceptNode):
11188         * bindings/js/ScheduledAction.cpp:
11189         (WebCore::ScheduledAction::execute):
11190         * bindings/js/ScriptController.cpp:
11191         (WebCore::ScriptController::evaluate):
11192         (WebCore::ScriptController::clearWindowShell):
11193         (WebCore::ScriptController::createHTMLEventHandler):
11194         (WebCore::ScriptController::createSVGEventHandler):
11195         (WebCore::ScriptController::initScript):
11196         (WebCore::ScriptController::updateDocument):
11197         (WebCore::ScriptController::bindingRootObject):
11198         (WebCore::ScriptController::windowScriptNPObject):
11199         (WebCore::ScriptController::createScriptObjectForPluginElement):
11200         (WebCore::ScriptController::clearScriptObjects):
11201         * bindings/js/ScriptControllerMac.mm:
11202         (WebCore::ScriptController::windowScriptObject):
11203         * bindings/objc/WebScriptObject.mm:
11204         (_didExecute):
11205         (-[WebScriptObject callWebScriptMethod:withArguments:]):
11206         (-[WebScriptObject evaluateWebScript:]):
11207         (-[WebScriptObject setValue:forKey:]):
11208         (-[WebScriptObject valueForKey:]):
11209         (-[WebScriptObject removeWebScriptKey:]):
11210         (-[WebScriptObject stringRepresentation]):
11211         (-[WebScriptObject webScriptValueAtIndex:]):
11212         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
11213         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
11214         * bridge/NP_jsobject.cpp:
11215         (_NPN_InvokeDefault):
11216         (_NPN_Invoke):
11217         (_NPN_Evaluate):
11218         (_NPN_GetProperty):
11219         (_NPN_SetProperty):
11220         (_NPN_RemoveProperty):
11221         (_NPN_HasProperty):
11222         (_NPN_HasMethod):
11223         (_NPN_Enumerate):
11224         * bridge/c/c_class.cpp:
11225         (KJS::Bindings::CClass::~CClass):
11226         (KJS::Bindings::CClass::methodsNamed):
11227         (KJS::Bindings::CClass::fieldNamed):
11228         * bridge/c/c_instance.cpp:
11229         (KJS::Bindings::CInstance::invokeMethod):
11230         (KJS::Bindings::CInstance::invokeDefaultMethod):
11231         (KJS::Bindings::CInstance::getPropertyNames):
11232         * bridge/c/c_runtime.cpp:
11233         (KJS::Bindings::CField::valueFromInstance):
11234         (KJS::Bindings::CField::setValueToInstance):
11235         * bridge/c/c_utility.cpp:
11236         (KJS::Bindings::convertValueToNPVariant):
11237         (KJS::Bindings::convertNPVariantToValue):
11238         * bridge/jni/jni_class.cpp:
11239         (JavaClass::JavaClass):
11240         (JavaClass::~JavaClass):
11241         * bridge/jni/jni_instance.cpp:
11242         (JavaInstance::stringValue):
11243         * bridge/jni/jni_jsobject.mm:
11244         (JavaJSObject::call):
11245         (JavaJSObject::eval):
11246         (JavaJSObject::getMember):
11247         (JavaJSObject::setMember):
11248         (JavaJSObject::removeMember):
11249         (JavaJSObject::getSlot):
11250         (JavaJSObject::setSlot):
11251         (JavaJSObject::toString):
11252         (JavaJSObject::convertValueToJObject):
11253         (JavaJSObject::convertJObjectToValue):
11254         * bridge/jni/jni_objc.mm:
11255         (KJS::Bindings::dispatchJNICall):
11256         * bridge/jni/jni_runtime.cpp:
11257         (appendClassName):
11258         (JavaMethod::signature):
11259         * bridge/jni/jni_runtime.h:
11260         (KJS::Bindings::JavaString::JavaString):
11261         (KJS::Bindings::JavaString::_commonInit):
11262         (KJS::Bindings::JavaString::~JavaString):
11263         (KJS::Bindings::JavaString::UTF8String):
11264         * bridge/jni/jni_utility.cpp:
11265         (KJS::Bindings::convertValueToJValue):
11266         * bridge/npruntime.cpp:
11267         (_NPN_GetStringIdentifier):
11268         * bridge/objc/objc_instance.mm:
11269         (ObjcInstance::moveGlobalExceptionToExecState):
11270         (ObjcInstance::invokeMethod):
11271         (ObjcInstance::invokeDefaultMethod):
11272         (ObjcInstance::setValueOfUndefinedField):
11273         (ObjcInstance::getValueOfUndefinedField):
11274         * bridge/objc/objc_runtime.mm:
11275         (ObjcField::valueFromInstance):
11276         (ObjcField::setValueToInstance):
11277         * bridge/objc/objc_utility.mm:
11278         (KJS::Bindings::convertValueToObjcValue):
11279         (KJS::Bindings::convertNSStringToString):
11280         (KJS::Bindings::convertObjcValueToValue):
11281         * bridge/qt/qt_instance.cpp:
11282         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
11283         (KJS::Bindings::QtInstance::~QtInstance):
11284         (KJS::Bindings::QtInstance::getQtInstance):
11285         (KJS::Bindings::QtInstance::getRuntimeObject):
11286         * bridge/qt/qt_runtime.cpp:
11287         (KJS::Bindings::convertValueToQVariant):
11288         (KJS::Bindings::convertQVariantToValue):
11289         (KJS::Bindings::QtRuntimeMetaMethod::call):
11290         (KJS::Bindings::QtRuntimeConnectionMethod::call):
11291         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
11292         (KJS::Bindings::QtConnectionObject::execute):
11293         * bridge/runtime.cpp:
11294         (KJS::Bindings::Instance::createRuntimeObject):
11295         * bridge/testbindings.cpp:
11296         (main):
11297         * bridge/testbindings.mm:
11298         (main):
11299         * bridge/testqtbindings.cpp:
11300         (main):
11301         * dom/Document.cpp:
11302         (WebCore::Document::~Document):
11303         * dom/Node.cpp:
11304         (WebCore::Node::setDocument):
11305         * history/CachedPage.cpp:
11306         (WebCore::CachedPage::CachedPage):
11307         (WebCore::CachedPage::restore):
11308         (WebCore::CachedPage::clear):
11309         * loader/FrameLoader.cpp:
11310         (WebCore::getString):
11311         * page/InspectorController.cpp:
11312         (WebCore::ConsoleMessage::ConsoleMessage):
11313         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
11314         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
11315         (WebCore::getResourceDocumentNode):
11316         (WebCore::search):
11317         (WebCore::inspectedWindow):
11318         (WebCore::wrapCallback):
11319         (WebCore::currentCallFrame):
11320         (WebCore::profiles):
11321         (WebCore::InspectorController::focusNode):
11322         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
11323         (WebCore::InspectorController::addDatabaseScriptResource):
11324         (WebCore::InspectorController::addScriptProfile):
11325         * page/JavaScriptCallFrame.cpp:
11326         (WebCore::JavaScriptCallFrame::evaluate):
11327         * page/JavaScriptProfileNode.cpp:
11328         (WebCore::getTotalTime):
11329         (WebCore::getSelfTime):
11330         (WebCore::getTotalPercent):
11331         (WebCore::getSelfPercent):
11332         (WebCore::getNumberOfCalls):
11333         (WebCore::getChildren):
11334         (WebCore::getVisible):
11335         * page/Page.cpp:
11336         * page/mac/FrameMac.mm:
11337         * plugins/PluginView.cpp:
11338         (WebCore::PluginView::start):
11339         (WebCore::getString):
11340         (WebCore::PluginView::performRequest):
11341         (WebCore::PluginView::bindingInstance):
11342         * plugins/gtk/PluginViewGtk.cpp:
11343         (WebCore::PluginView::paint):
11344         (WebCore::PluginView::handleKeyboardEvent):
11345         (WebCore::PluginView::handleMouseEvent):
11346         (WebCore::PluginView::setNPWindowRect):
11347         (WebCore::PluginView::stop):
11348         (WebCore::PluginView::init):
11349         * plugins/qt/PluginViewQt.cpp:
11350         (WebCore::PluginView::setNPWindowRect):
11351         (WebCore::PluginView::stop):
11352         (WebCore::PluginView::init):
11353         * plugins/win/PluginViewWin.cpp:
11354         (WebCore::PluginView::dispatchNPEvent):
11355         (WebCore::PluginView::handleKeyboardEvent):
11356         (WebCore::PluginView::handleMouseEvent):
11357         (WebCore::PluginView::setNPWindowRect):
11358         (WebCore::PluginView::stop):
11359         * xml/XMLHttpRequest.cpp:
11360         (WebCore::XMLHttpRequest::clearResponse):
11361         (WebCore::XMLHttpRequest::didFinishLoading):
11362         (WebCore::XMLHttpRequest::didReceiveData):
11364 2008-08-19  Eric Seidel  <eric@webkit.org>
11366         Reviewed by Geoff Garen.
11368         Add the beginnings of Skia graphics support to WebCore
11369         as I try to begin the long process of un-forking the changes
11370         needed to WebCore to make Andriod's WebCore build.
11372         I'll follow this up with actual *Skia.cpp files in a separate patch.
11374         * platform/graphics/AffineTransform.h:
11375         * platform/graphics/FloatPoint.h:
11376         * platform/graphics/FloatRect.h:
11377         * platform/graphics/Gradient.h:
11378         * platform/graphics/GraphicsContext.h:
11379         * platform/graphics/Image.h:
11380         * platform/graphics/ImageBuffer.h:
11381         * platform/graphics/ImageSource.h:
11382         * platform/graphics/IntPoint.h:
11383         * platform/graphics/IntRect.h:
11384         * platform/graphics/Path.h:
11385         * platform/graphics/Pattern.h:
11386         * svg/graphics/SVGPaintServerPattern.h:
11387         * svg/graphics/SVGPaintServerSolid.h:
11389 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
11391         Fix Windows build more.
11393         * WebCore.vcproj/WebCore.vcproj:
11395 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
11397         Fix Windows build.
11399         * page/AccessibilityRenderObject.cpp:
11400         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
11402 2008-08-19  Chris Fleizach  <cfleizach@apple.com>
11404         Reviewed by Beth Dakin.
11406         <rdar://problem/4003764> Expose tables as AXTables
11408         Tests: accessibility/table-attributes.html
11409                accessibility/table-cell-spans.html
11410                accessibility/table-cells.html
11411                accessibility/table-detection.html
11412                accessibility/table-sections.html
11413                accessibility/table-with-rules.html
11415         * WebCore.xcodeproj/project.pbxproj:
11416         * page/AXObjectCache.cpp:
11417         (WebCore::AXObjectCache::get):
11418         * page/AccessibilityObject.h:
11419         (WebCore::):
11420         (WebCore::AccessibilityObject::isDataTable):
11421         (WebCore::AccessibilityObject::isTableRow):
11422         (WebCore::AccessibilityObject::isTableColumn):
11423         (WebCore::AccessibilityObject::isTableCell):
11424         * page/AccessibilityRenderObject.cpp:
11425         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
11426         * page/AccessibilityTable.cpp: Added.
11427         (WebCore::AccessibilityTable::AccessibilityTable):
11428         (WebCore::AccessibilityTable::~AccessibilityTable):
11429         (WebCore::AccessibilityTable::create):
11430         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
11431         (WebCore::AccessibilityTable::clearChildren):
11432         (WebCore::AccessibilityTable::addChildren):
11433         (WebCore::AccessibilityTable::headerContainer):
11434         (WebCore::AccessibilityTable::columns):
11435         (WebCore::AccessibilityTable::rows):
11436         (WebCore::AccessibilityTable::rowHeaders):
11437         (WebCore::AccessibilityTable::columnHeaders):
11438         (WebCore::AccessibilityTable::cells):
11439         (WebCore::AccessibilityTable::columnCount):
11440         (WebCore::AccessibilityTable::rowCount):
11441         (WebCore::AccessibilityTable::cellForColumnAndRow):
11442         (WebCore::AccessibilityTable::roleValue):
11443         (WebCore::AccessibilityTable::accessibilityIsIgnored):
11444         (WebCore::AccessibilityTable::title):
11445         (WebCore::AccessibilityTable::isDataTable):
11446         * page/AccessibilityTable.h: Added.
11447         * page/AccessibilityTableCell.cpp: Added.
11448         (WebCore::AccessibilityTableCell::AccessibilityTableCell):
11449         (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
11450         (WebCore::AccessibilityTableCell::create):
11451         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
11452         (WebCore::AccessibilityTableCell::rowIndexRange):
11453         (WebCore::AccessibilityTableCell::columnIndexRange):
11454         * page/AccessibilityTableCell.h: Added.
11455         (WebCore::AccessibilityTableCell::isTableCell):
11456         (WebCore::AccessibilityTableCell::roleValue):
11457         * page/AccessibilityTableColumn.cpp: Added.
11458         (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
11459         (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
11460         (WebCore::AccessibilityTableColumn::create):
11461         (WebCore::AccessibilityTableColumn::setParentTable):
11462         (WebCore::AccessibilityTableColumn::elementRect):
11463         (WebCore::AccessibilityTableColumn::size):
11464         (WebCore::AccessibilityTableColumn::children):
11465         (WebCore::AccessibilityTableColumn::headerObject):
11466         (WebCore::AccessibilityTableColumn::headerObjectForSection):
11467         (WebCore::AccessibilityTableColumn::addChildren):
11468         * page/AccessibilityTableColumn.h: Added.
11469         (WebCore::AccessibilityTableColumn::parentObject):
11470         (WebCore::AccessibilityTableColumn::roleValue):
11471         (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
11472         (WebCore::AccessibilityTableColumn::isTableColumn):
11473         (WebCore::AccessibilityTableColumn::setColumnIndex):
11474         (WebCore::AccessibilityTableColumn::columnIndex):
11475         * page/AccessibilityTableHeaderContainer.cpp: Added.
11476         (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
11477         (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
11478         (WebCore::AccessibilityTableHeaderContainer::create):
11479         (WebCore::AccessibilityTableHeaderContainer::children):
11480         (WebCore::AccessibilityTableHeaderContainer::elementRect):
11481         (WebCore::AccessibilityTableHeaderContainer::size):
11482         (WebCore::AccessibilityTableHeaderContainer::addChildren):
11483         * page/AccessibilityTableHeaderContainer.h: Added.
11484         (WebCore::AccessibilityTableHeaderContainer::roleValue):
11485         (WebCore::AccessibilityTableHeaderContainer::setParentTable):
11486         (WebCore::AccessibilityTableHeaderContainer::parentObject):
11487         (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
11488         * page/AccessibilityTableRow.cpp: Added.
11489         (WebCore::AccessibilityTableRow::AccessibilityTableRow):
11490         (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
11491         (WebCore::AccessibilityTableRow::create):
11492         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
11493         (WebCore::AccessibilityTableRow::headerObject):
11494         * page/AccessibilityTableRow.h: Added.
11495         (WebCore::AccessibilityTableRow::isTableRow):
11496         (WebCore::AccessibilityTableRow::roleValue):
11497         (WebCore::AccessibilityTableRow::setRowIndex):
11498         (WebCore::AccessibilityTableRow::rowIndex):
11499         * page/mac/AccessibilityObjectWrapper.mm:
11500         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
11501         (RoleEntry::):
11502         (-[AccessibilityObjectWrapper roleDescription]):
11503         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
11504         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
11505         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
11507 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
11509         Build fix.
11510         Add buildfailed support to stop builds early (preventing inaccurate error messages).
11511         Add missing post-build rule to Release.
11513         * WebCore.vcproj/QTMovieWin.vcproj:
11515 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
11517         Added support for console.count in the inspector.
11519         Reviewed by Geoff Garen.
11521         * page/Console.cpp:
11522         (WebCore::Console::count):
11523         * page/Console.h:
11524         * page/Console.idl: Added console.count.
11525         * page/InspectorController.cpp:
11526         (WebCore::InspectorController::didCommitLoad): Clears m_counts.
11527         (WebCore::InspectorController::count): Updates the count number
11528         sing "title@source:line" as the identifier, and adds a
11529         message to the console.
11530         * page/InspectorController.h: Added m_counts.
11532 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
11534         Clear console.time timers when changing page.
11536         Reviewed by Geoff Garen.
11538         * page/InspectorController.cpp:
11539         (WebCore::InspectorController::didCommitLoad):
11541 2008-08-19  Eric Carlson  <eric.carlson@apple.com>
11543         Reviewed by Adele.
11545         Fix for <rdar://problem/6154695> Full-page movies flicker while playing
11546         https://bugs.webkit.org/show_bug.cgi?id=20404
11548         Ignore setVisible() when visibility doesn't change.
11550         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
11551         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
11552         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
11553         (WebCore::MediaPlayerPrivate::setVisible):
11555 2008-08-19  Timothy Hatcher  <timothy@apple.com>
11557         Fixes a bug in the Profile view where switching sort order, then
11558         switching from heavy to tree mode would show the tree in the
11559         previous sort order.
11561         https://bugs.webkit.org/show_bug.cgi?id=20441
11563         Reviewed by Kevin McCullough.
11565         * page/inspector/ProfileView.js:
11566         (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
11567         on the next profile before assigning it to this.profile.
11568         (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
11569         (WebInspector.ProfileView.prototype._sortProfile): Moves from
11570         _sortData and takes a profile argument. If the profile passed in
11571         matches the this.profile, then call refresh.
11573 2008-08-18  Timothy Hatcher  <timothy@apple.com>
11575         Changed the default sort order now that heavy view is the default.
11576         Also fixes a bug where the heavy profile was not sorted at first.
11578         https://bugs.webkit.org/show_bug.cgi?id=20440
11580         Reviewed by Kevin McCullough.
11582         * page/inspector/ProfileView.js:
11583         (WebInspector.ProfileView): Changed the default sort column. Also assign
11584         heavyProfile to profile, so the sortSelfTimeDescending call happens
11585         on the heavy profile before assigning to this.profile.
11587 2008-08-18  Timothy Hatcher  <timothy@apple.com>
11589         Add support for editing DOM properties and scope variables by double
11590         clicking a property to enter edit mode.
11592         https://bugs.webkit.org/show_bug.cgi?id=20415
11594         Reviewed by Kevin McCullough.
11596         * page/inspector/ObjectPropertiesSection.js:
11597         (WebInspector.ObjectPropertiesSection): Set editable to true by default.
11598         (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
11599         Factored out code into update, and calls update.
11600         (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
11601         Call removeChildren since this method can be called multiple times now.
11602         (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
11603         gets made later in onattach.
11604         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
11605         if shouldRefreshChildren is true. Call removeChildren since this method can be
11606         called multiple times now.
11607         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
11608         (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
11609         (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
11610         this element (code moved from the constructor.)
11611         (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
11612         sibling property elements.
11613         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
11614         WebInspector.startEditing after rememebring some context.
11615         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
11616         for the list element, since it might have scrolled during editing.
11617         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
11618         then restore the state from the context. Then call update to restore the title.
11619         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
11620         if the user input and the previous input are the same. Call editingEnded, then call applyExpression
11621         to commit the user input.
11622         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
11623         and stores the result on the object for the property name of this element. If the expression is
11624         empty, delete the property and remove the tree element.
11625         * page/inspector/ScopeChainSidebarPane.js:
11626         (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
11627         property on each ObjectPropertiesSection.
11628         (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
11629         since it is now implemented.
11630         * page/inspector/ScriptsPanel.js:
11631         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
11632         that defaults to true if omitted. It specifies whether to call update on the scope chain.
11633         * page/inspector/inspector.css: New styles.
11634         * page/inspector/treeoutline.js:
11635         (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
11636         change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
11638 2008-08-18  Timothy Hatcher  <timothy@apple.com>
11640         Surround the expression to be evaluated in parenthesis so the
11641         result of the eval is the result of the whole expression not
11642         the last potential sub-expression. So evaluating {x: 123}
11643         will show the Object not 123.
11645         https://bugs.webkit.org/show_bug.cgi?id=20428
11647         Reviewed by Kevin McCullough.
11649         * page/inspector/Console.js:
11650         (Console.prototype._evalInInspectedWindow): Add parenthesis
11651         around the expression. And add couple comments.
11653 2008-08-19 Kevin McCullough <kmccullough@apple.com>
11655         Reviewed by Geoff.
11657         -Implement a page() function to extract a common code pattern.
11659         * WebCore.xcodeproj/project.pbxproj:
11660         * page/Console.cpp:
11661         (WebCore::Console::addMessage):
11662         (WebCore::Console::error):
11663         (WebCore::Console::info):
11664         (WebCore::Console::log):
11665         (WebCore::Console::dir):
11666         (WebCore::Console::assertCondition):
11667         (WebCore::Console::time):
11668         (WebCore::Console::timeEnd):
11669         (WebCore::Console::group):
11670         (WebCore::Console::groupEnd):
11671         (WebCore::Console::finishedProfiling):
11672         (WebCore::Console::warn):
11673         (WebCore::Console::framePage):
11674         * page/Console.h:
11676 2008-08-12  Darin Adler  <darin@apple.com>
11678         Reviewed by Geoff.
11680         - eliminate JSValue::type()
11682         * bridge/c/c_instance.cpp:
11683         (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
11684         argument instead of JSType argument. Removed unneeded code to handle
11685         boolean, since that's never passed.
11686         * bridge/c/c_instance.h: Ditto.
11688         * bridge/c/c_utility.cpp:
11689         (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
11690         instead of JSValue::type(). Removed unneeded code to handle
11691         "unspecified".
11693         * bridge/jni/jni_instance.cpp:
11694         (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
11695         instead of JSType argument. Removed unneeded code to handle boolean.
11696         * bridge/jni/jni_instance.h: Ditto.
11698         * bridge/jni/jni_jsobject.mm:
11699         (JavaJSObject::convertValueToJObject): Use JSValue::is functions
11700         instead of JSValue::type().
11702         * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
11703         instead of JSType argument. Removed unused argument.
11704         * bridge/objc/objc_instance.mm:
11705         (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
11706         (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
11707         instead of JSType argument. Removed unneeded code to handle boolean
11708         and another dead code path for unknown types.
11710         * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
11711         instead of JSType argument. Removed override of type() that caused
11712         the fallback object to return "UndefinedType" when there is no
11713         invokeUndefinedMethodFromWebScript:withArguments: method defined.
11714         That didn't accomplish much, since most checks for undefined don't
11715         ever call type().
11716         * bridge/objc/objc_runtime.mm:
11717         (ObjcFallbackObjectImp::defaultValue): Ditto.
11719         * bridge/qt/qt_instance.cpp:
11720         (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
11721         argument instead of JSType argument. Removed unneeded code to handle
11722         boolean.
11723         * bridge/qt/qt_instance.h: Ditto.
11725         * bridge/runtime.h:
11726         (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
11727         unsed argument.
11728         * bridge/runtime_object.cpp:
11729         (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
11730         argument instead of JSType argument.
11731         * bridge/runtime_object.h: Ditto.
11733 2008-08-18  Maxime Britto  <britto@apple.com>
11735         Reviewed by Adele.
11737         <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
11738         Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
11739         We shouldn't be able to create another window while we are in pan scrolling.
11740         Other browsers behaviors :
11741           FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
11742           IE7 : Keys are not disabled but stops immediately the panning.
11743         This patch matches FF3 behavior by disabling every key but the esc key.
11745         * page/EventHandler.cpp:
11746         (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
11747         (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
11749 2008-08-18  Dan Bernstein  <mitz@apple.com>
11751         Reviewed by Dave Hyatt.
11753         - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
11755         Test: fast/replaced/max-width-percent.html
11757         Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
11758         When false, max-width is not factored into the
11759         calculation.
11760         Changed RenderReplaced and subclasses' calcPrefWidths() to call
11761         calcReplacedWidth(false) and then apply max-width only if it has a
11762         fixed, positive value.
11764         * rendering/RenderBox.cpp:
11765         (WebCore::RenderBox::calcReplacedWidth):
11766         * rendering/RenderBox.h:
11767         * rendering/RenderImage.cpp:
11768         (WebCore::RenderImage::calcReplacedWidth):
11769         (WebCore::RenderImage::calcPrefWidths): 
11770         * rendering/RenderImage.h:
11771         * rendering/RenderReplaced.cpp:
11772         (WebCore::RenderReplaced::calcPrefWidths):
11773         * rendering/RenderSVGRoot.cpp:
11774         (WebCore::RenderSVGRoot::calcPrefWidths):
11775         * rendering/RenderVideo.cpp:
11776         (WebCore::RenderVideo::calcReplacedWidth):
11777         (WebCore::RenderVideo::calcPrefWidths):
11778         * rendering/RenderVideo.h:
11780 2008-08-18  Daniel Macks  <dmacks@netspace.org>
11782         Reviewed by Mark Rowe.
11784         https://bugs.webkit.org/show_bug.cgi?id=20410
11785         More portable/self-documenting replacement for SIZE_MAX.
11787         * platform/network/curl/FormDataStreamCurl.cpp:
11788         (WebCore::FormDataStream::read):
11790 2008-08-18  Simon Fraser  <simon.fraser@apple.com>
11792         Reviewed by Dave Hyatt
11794         Need to make sure we have an Animation in the AnimationList
11795         before setting the initial value.
11796         https://bugs.webkit.org/show_bug.cgi?id=20408
11798         Test: fast/css/transition_shorthand_parsing.html
11800         * css/CSSStyleSelector.cpp:
11802 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
11804         Reviewed by Tim.
11806         <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
11807         is another profile.
11809         * page/inspector/ProfilesPanel.js:
11811 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
11813         Reviewed by Geoff.
11815         <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
11816         all console messages
11818         * page/inspector/Console.js:
11820 2008-08-18  Dirk Schulze  <vbs85@gmx.de>
11822         Reviewed by Eric Seidel.
11824         Fixed Canvas for Cairo. Stroke and fill colors didn't work after
11825         the canvas clean up.
11827         https://bugs.webkit.org/show_bug.cgi?id=20405
11829         * html/CanvasRenderingContext2D.cpp:
11830         (WebCore::CanvasRenderingContext2D::fill):
11831         (WebCore::CanvasRenderingContext2D::stroke):
11832         (WebCore::CanvasRenderingContext2D::fillRect):
11834 2008-08-17  Timothy Hatcher  <timothy@apple.com>
11836         Complete in scope variables in the Console when paused.
11838         https://bugs.webkit.org/show_bug.cgi?id=19115
11840         Reviewed by Geoffrey Garen.
11842         * page/inspector/Console.js:
11843         (WebInspector.Console.prototype.completions): If the expressionString
11844         is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
11845         to get an object that declares all the in scope variables. That way
11846         "top level" expressions are completed.
11847         * page/inspector/ScriptsPanel.js:
11848         (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
11849         Return an object that has all the variables that are in scope for the
11850         selected call frame. The value of each property is just true.
11851         The return object is useful for quick lookups or auto completion.
11853 2008-08-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
11855         Not reviewed.
11857         Speculative Qt build fix.
11859         * bridge/qt/qt_runtime.cpp:
11860         (KJS::Bindings::convertValueToQVariant):
11861         (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
11863 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
11865         Reviewed by Cameron Zwarich.
11866         
11867         Updated project files to XCode 3.1.
11869         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
11871 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
11873         Reviewed by Cameron Zwarich.
11875         Made room for a free word in JSCell.
11876         
11877         Changed JSDOMWindowBase to store its auxiliary data in a subclass of
11878         JSGlobalData, so the two could share a pointer.
11879         
11880         Added a bunch of ASSERTs, to help catch over-sized objects.
11882 2008-08-15  Mark Rowe  <mrowe@apple.com>
11884         Reviewed by Dan Bernstein.
11886         Disable dead code stripping in debug builds.
11888         * Configurations/Base.xcconfig:
11889         * WebCore.xcodeproj/project.pbxproj:
11891 2008-08-15  Mark Rowe  <mrowe@apple.com>
11893         Rubber-stamped by Geoff Garen.
11895         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
11897         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
11898         between the Debug configuration and debug Production variant.
11899         * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
11901 2008-08-15  Antti Koivisto  <antti@apple.com>
11903         Reviewed by Anders.
11905         Don't start preloading body resources before the head is complete. This prevents
11906         body preloads from slowing down initial display when there is limited amount
11907         of bandwidth available.
11908         
11909         Works by queuing up found body preloads to DocLoader and only issuing them
11910         after document has rendering.
11911         
11912         With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
11913         without affecting complete load time.
11915         * html/PreloadScanner.cpp:
11916         (WebCore::PreloadScanner::PreloadScanner):
11917         (WebCore::PreloadScanner::scanningBody):
11918         (WebCore::PreloadScanner::emitTag):
11919         (WebCore::PreloadScanner::emitCSSRule):
11920         * html/PreloadScanner.h:
11921         * loader/DocLoader.cpp:
11922         (WebCore::DocLoader::preload):
11923         (WebCore::DocLoader::checkForPendingPreloads):
11924         (WebCore::DocLoader::requestPreload):
11925         * loader/DocLoader.h:
11926         * loader/loader.cpp:
11927         (WebCore::Loader::Host::didFinishLoading):
11928         (WebCore::Loader::Host::didFail):
11930 2008-08-15  Ada Chan  <adachan@apple.com>
11932         Use item's computed style if the render style is 0 before falling back to the <select>'s style.
11933         This way style set on an <hr> within a <select> will be honored.
11935         Reviewed by Dave Hyatt and Dan Bernstein.
11937         * rendering/RenderMenuList.cpp:
11938         (WebCore::RenderMenuList::itemStyle):
11940 2008-08-15  Antti Koivisto  <antti@apple.com>
11942         Reviewed by Oliver.
11944         Some loader performance tweaks:
11945         - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
11946           Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue 
11947           to not delay rendering.
11948         - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
11949           can take long time when latency is high so it is good to get started early.
11950         - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
11951           load queues. Issue remaining loads to the network layer.
11953         * loader/loader.cpp:
11954         (WebCore::Loader::determinePriority):
11955         (WebCore::Loader::load):
11956         (WebCore::Loader::Host::servePendingRequests):
11957         * loader/loader.h:
11959 2008-08-15  Timothy Hatcher  <timothy@apple.com>
11961         Detach the script debugger when the Web Inspector's window closes.
11962         This has always been the intended design, but never fully implemented.
11964         https://bugs.webkit.org/show_bug.cgi?id=20402
11966         Reviewed by Adam Roben.
11968         * page/InspectorController.cpp:
11969         (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
11970         if the window is no longer visible.
11972 2008-08-15  HÃ¥vard Wall  <hwall@trolltech.com>
11974         Reviewed by Simon.
11976         Fixes:    compile with QT_NO_CONTEXTMENU
11978         * platform/qt/PlatformMouseEventQt.cpp:
11979         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
11980         * platform/qt/PlatformScrollBarQt.cpp:
11981         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
11982         (WebCore::PlatformScrollbar::handleContextMenuEvent):
11984 2008-08-15  HÃ¥vard Wall  <hwall@trolltech.com>
11986         Reviewed by Simon.
11988         Fixes: compile with QT_NO_WHEELEVENT
11990         * platform/qt/WheelEventQt.cpp:
11991         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11993 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
11995         Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
11997         https://bugs.webkit.org/show_bug.cgi?id=20210
11999         Reviewed by Tim Hatcher.
12001         * page/Console.cpp:
12002         (WebCore::Console::group):
12003         (WebCore::Console::groupEnd):
12004         * page/Console.h:
12005         (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
12006         * page/InspectorController.cpp:
12007         (WebCore::InspectorController::startGroup): Increments group level by
12008         one and adds console message with StartGroupMessaageLevel.
12009         (WebCore::InspectorController::endGroup): Decrements group level by one
12010         and adds console message with EndGroupMessaageLevel.
12011         * page/InspectorController.h:
12012         * page/inspector/Console.js:
12013         (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
12014         if the message is StartGroupMessaageLevel.
12015         (WebInspector.ConsoleMessage.prototype.toMessageElement):
12016         (WebInspector.ConsoleGroup.prototype.addMessage):
12017         * page/inspector/inspector.js:
12019 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
12021         Adds support for console.dir to the Inspector
12023         https://bugs.webkit.org/show_bug.cgi?id=19155
12025         Reviewed by Tim Hatcher.
12027         * bindings/js/JSConsoleCustom.cpp:
12028         (WebCore::JSConsole::dir):
12029         * page/Console.cpp:
12030         (WebCore::Console::dir):
12031         * page/Console.h: Added ObjectMessageLevel.
12032         * page/Console.idl: Added console.dir.
12033         * page/inspector/Console.js:
12034         (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
12035         ObjectPropertiesSection if the MessageLevel is Object.
12036         * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
12037         used on primitive data types.
12038         * page/inspector/inspector.css:
12040 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
12042         Adds support for clear() in the Inspector console.
12044         https://bugs.webkit.org/show_bug.cgi?id=19873
12046         Reviewed by Tim Hatcher.
12048         * page/inspector/Console.js:
12050 2008-08-15  Anthony Ricaud  <rik24d@gmail.com>
12052         Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
12054         Platform distinction and modifier key matching adjusted
12055         by Daniel Jalkut <jalkut@red-sweater.com>
12057         Bug 16313: text search (find) keybindings should work in the Web Inspector
12058         https://bugs.webkit.org/show_bug.cgi?id=16313
12060         Reviewed by Tim Hatcher.
12062         * page/inspector/inspector.js: Added a case for the F key
12064 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
12066         Fix for error when the string doesn't contain a webkit-profile link.
12068         https://bugs.webkit.org/show_bug.cgi?id=20399
12070         Reviewed by Tim Hatcher.
12072         * page/inspector/inspector.js:
12074 2008-08-15  Timothy Hatcher  <timothy@apple.com>
12076         Fixes two bugs where JavaScript could be executed from the page
12077         while the debugger is paused.
12079         The first issue was JSLazyEventListener not checking the paused
12080         state before parsing the code.
12082         The second issue was with the PageGroup version of
12083         JavaScriptDebugServer::setJavaScriptPaused always passing false
12084         to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
12085         and not the paused argument.
12087         https://bugs.webkit.org/show_bug.cgi?id=20284
12089         Reviewed by Adam Roben.
12091         * bindings/js/JSEventListener.cpp:
12092         (WebCore::JSLazyEventListener::parseCode): Check the paused
12093         state of the ScriptController. Return early if paused.
12094         * manual-tests/inspector/debugger-execution-while-paused.html: Added.
12095         * page/JavaScriptDebugServer.cpp:
12096         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
12097         Pass the paused argument to the Page version of setJavaScriptPaused.
12099 2008-08-15  Alexey Proskuryakov  <ap@webkit.org>
12101         Reviewed by Geoff Garen.
12103         JSStringRef is created context-free, but can get linked to one via an identifier table,
12104         breaking an implicit API contract.
12106         * page/InspectorController.cpp:
12107         (WebCore::jsStringRef):
12108         (WebCore::InspectorController::didParseSource):
12109         (WebCore::InspectorController::failedToParseSource):
12110         * page/JavaScriptProfile.cpp:
12111         (WebCore::getTitleCallback):
12112         Updated for JavaScriptCore changes.
12114 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
12116         wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
12117         an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
12119         * platform/graphics/AffineTransform.h:
12121 2008-08-14  Eric Carlson  <eric.carlson@apple.com>
12123         Reviewed by Adele.
12125         Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
12126         <video> elements on Windows never becomes visible when a page is restored from the cache
12128         Always pass "set" calls down to MediaPlayerPrivate instead of only when the
12129         value is different from the cached value. Let the implementation decide when
12130         to avoid work because nothing has changed.
12132         * platform/graphics/MediaPlayer.cpp:
12133         (WebCore::MediaPlayer::setVolume):
12134         (WebCore::MediaPlayer::setRate):
12135         (WebCore::MediaPlayer::setRect):
12136         (WebCore::MediaPlayer::setVisible):
12138 2008-08-14  Keishi Hattori  <casey.hattori@gmail.com>
12140         Make Firebug command line API respect predefined variables.
12142         https://bugs.webkit.org/show_bug.cgi?id=20385
12144         Reviewed by Tim Hatcher.
12146         * page/inspector/Console.js:
12148 2008-08-14  Sam Weinig  <sam@webkit.org>
12150         Reviewed by Geoffrey Garen and Timothy Hatcher.
12152         Allow programatically setting the HTMLTokenizers time delay and chunk size
12153         which are used for determining how aggressively we yield.
12155         * WebCore.base.exp:
12156         * html/HTMLTokenizer.cpp:
12157         (WebCore::HTMLTokenizer::begin):
12158         (WebCore::HTMLTokenizer::continueProcessing):
12159         * html/HTMLTokenizer.h:
12160         * page/Page.cpp:
12161         (WebCore::Page::Page):
12162         (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
12163         (WebCore::Page::setCustomHTMLTokenizerChunkSize):
12164         * page/Page.h:
12165         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
12166         (WebCore::Page::customHTMLTokenizerTimeDelay):
12167         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
12168         (WebCore::Page::customHTMLTokenizerChunkSize):
12170 2008-08-14  Eric Seidel  <eric@webkit.org>
12172         Reviewed by Beth.
12174         Move us one step closer to cross-platform svg/graphics code
12176         * WebCore.xcodeproj/project.pbxproj:
12177         * html/CanvasStyle.cpp:
12178         * platform/graphics/Color.cpp:
12179         (WebCore::colorWithOverrideAlpha):
12180         * platform/graphics/Color.h:
12181         * svg/graphics/cg/CgSupport.cpp:
12182         (WebCore::applyStrokeStyleToContext):
12183         (WebCore::strokeBoundingBox):
12184         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
12185         (WebCore::SVGPaintServerSolid::setup):
12187 2008-08-14  Eric Seidel  <eric@webkit.org>
12189         Reviewed by Alexey.
12191         Remove un-need includes from HTMLCanvas and use the
12192         Gradient platform abstraction in one place in CanvasStyle
12194         * html/CanvasRenderingContext2D.cpp:
12195         (WebCore::CanvasRenderingContext2D::fillRect):
12196         * html/CanvasStyle.cpp:
12197         * html/HTMLCanvasElement.cpp:
12199 2008-08-14  Eric Seidel  <eric@webkit.org>
12201         Reviewed by Alexey.
12203         Clean up GlyphBuffer.h, removing more #ifdefs
12205         * platform/graphics/GlyphBuffer.h:
12206         (WebCore::GlyphBuffer::glyphAt):
12207         (WebCore::GlyphBuffer::advanceAt):
12208         (WebCore::GlyphBuffer::add):
12210 2008-08-14  Eric Seidel  <eric@webkit.org>
12212         Reviewed by Sam.
12214         Clean up AffineTransform.h, removing #ifdefs
12216         * platform/graphics/AffineTransform.h:
12217         * platform/graphics/cairo/AffineTransformCairo.cpp:
12218         * platform/graphics/cg/AffineTransformCG.cpp:
12219         * platform/graphics/qt/AffineTransformQt.cpp:
12220         * platform/graphics/wx/AffineTransformWx.cpp:
12222 2008-08-14  Dan Bernstein  <mitz@apple.com>
12224         - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
12226         * platform/graphics/cairo/ImageSourceCairo.cpp:
12227         (WebCore::ImageSource::frameSizeAtIndex):
12228         * platform/graphics/qt/ImageSourceQt.cpp:
12229         (WebCore::ImageSource::frameSizeAtIndex):
12230         * platform/graphics/wx/ImageSourceWx.cpp:
12231         (WebCore::ImageSource::frameSizeAtIndex):
12233 2008-08-14  Dan Bernstein  <mitz@apple.com>
12235         Reviewed by Brady Eidson.
12237         - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
12239         * platform/graphics/BitmapImage.cpp: 
12240         (WebCore::BitmapImage::BitmapImage): Added initialization of
12241         m_hasUniformFrameSize.
12242         (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
12243         cached frame for use in decoded size computation and for setting
12244         m_hasUniformFrameSize.
12245         (WebCore::BitmapImage::currentFrameSize): Added.
12246         (WebCore::BitmapImage::dataChanged): Added code to reset
12247         m_hasUniformFrameSize.
12248         * platform/graphics/BitmapImage.h: Added currentFrameSize() and
12249         m_hasUniformFrameSize.
12250         * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
12251         * platform/graphics/cg/ImageCG.cpp:
12252         (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
12253         fixes the bug, which resulted from assuming that the frame being drawn 
12254         was the same size as the first frame.
12255         * platform/graphics/cg/ImageSourceCG.cpp:
12256         (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
12257         changed to get the size of the frame at the given index.
12258         (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
12260 2008-08-13  Simon Fraser  <simon.fraser@apple.com>
12262         Reviewed by Eric Seidel
12264         Fix @font-face inside @media rule crash.
12265         https://bugs.webkit.org/show_bug.cgi?id=20367
12267         Test: fast/css/font-face-in-media-rule.html
12269         * css/CSSStyleSelector.cpp:
12270         (WebCore::CSSRuleSet::addRulesFromSheet):
12272 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
12274         wx build fixes after recent changes to Canvas and Image classes.
12276         * platform/graphics/Pattern.h:
12277         * platform/graphics/wx/GradientWx.cpp:
12278         (WebCore::Gradient::fill):
12279         * platform/graphics/wx/GraphicsContextWx.cpp:
12280         (WebCore::GraphicsContext::applyFillPattern):
12281         (WebCore::GraphicsContext::applyStrokePattern):
12282         * platform/graphics/wx/ImageBufferWx.cpp:
12283         (WebCore::ImageBuffer::image):
12284         * platform/graphics/wx/ImageWx.cpp:
12285         (WebCore::Image::loadPlatformResource):
12287 2008-08-14  Maxime Britto  <britto@apple.com>
12289         Reviewed by Sam Weinig.
12291         rdar://6102511
12292         When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
12293         IE and FF are both preventing the keyboard event to interact with the page while scrolling.
12294         Some differences exist between them concerning the kind of key which is pressed :
12295         IE7 : every key leads to a stop of the panning
12296         FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
12297         For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
12299         * page/EventHandler.cpp:
12300         (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
12302 2008-08-14  Christian Dywan  <christian@twotoasts.de>
12304         Gtk+/ Cairo build fix, patch by Dirk Schulze.
12306         * html/CanvasStyle.cpp:
12307         * platform/graphics/cairo/PatternCairo.cpp:
12308         (WebCore::Pattern::createPlatformPattern):
12309         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
12311 2008-08-14  Kevin McCullough  <kmccullough@apple.com>
12313         Reviewed by Tim.
12315         <rdar://problem/6115819> Notify of profile in console
12317         * page/InspectorController.cpp:
12318         (WebCore::InspectorController::addProfile):
12319         (WebCore::InspectorController::addProfileMessageToConsole): Called by
12320         addProfile this is the function that adds a message to the console that
12321         a profile finished.
12322         * page/InspectorController.h:
12323         * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
12324         the console log to the profile in the web inspector.
12325         (WebCore::getUniqueIdCallback):
12326         (WebCore::ProfileClass):
12327         * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
12328         Id to bring up the requested profile.  Also select and reveal the
12329         profile in the profile panel.  And created displayTitleForProfileLink()
12330         which formats a title taking into account if it's user initiated or if
12331         there are multiples. Lasty, I put the user initiated profile in a
12332         variable.
12333         * page/inspector/inspector.js: Make the profile title be a clickable
12334         link that will take the user to the identified profile.  Also expose
12335         the count of user initiated profiles so they can be displayed in the
12336         console with the correct count.
12338 2008-08-14  Timothy Hatcher  <timothy@apple.com>
12340         Avoid formating ConsoleMessages twice unless the message will be
12341         displayed in bubbles of a SourceFrame.
12343         Reviewed by Kevin McCullough.
12345         * page/inspector/Console.js:
12346         (WebInspector.ConsoleMessage): Only format the plain text message
12347         if the URL and line are valid and the level is error or warning.
12348         (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
12349         Helper to test for error or warning level.
12350         * page/inspector/SourceFrame.js:
12351         (WebInspector.SourceFrame.prototype.addMessage): Don't add the
12352         message if there is no message or valid line or if the msg
12353         isn't an error or warning.
12355 2008-08-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
12357         partial Gtk build fix, not reviewed
12359         * platform/graphics/cairo/PatternCairo.cpp:
12361 2008-08-13  Sam Weinig  <sam@webkit.org>
12363         Reviewed by Anders Carlson.
12365         Fix style issue.
12367         * html/HTMLMediaElement.cpp:
12368         (WebCore::HTMLMediaElement::pickMedia):
12370 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
12372         Build fix for Cairo, not reviewed. (exposed by gtk build slave)
12373         Continue Erics build fixes, after the Image cleanup.
12375         * platform/graphics/cairo/ImageBufferCairo.cpp:
12376         (WebCore::ImageBuffer::image):
12378 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
12380         Build fix for Qt, not reviewed.
12381         Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
12383         * dom/XMLTokenizer.cpp:
12384         (WebCore::eventuallyMarkAsParserCreated): Was erre
12386 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
12388         Build fix, not reviewed.
12389         Add ScriptElement.cpp to Gtk build.
12391         * GNUmakefile.am:
12393 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
12395         Reviewed by Eric.
12397         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
12399         Refactor HTMLScriptElement's code into a common base class: ScriptElement.
12400         SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
12402         This resolves code duplications and allows us to completly replace the old
12403         SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
12405         As ScriptElement, doesn't actually inherit from Element, we may want to rename
12406         it, though StyleElement uses the same naming convention, so I left it as is for now.
12407         Eventually we'll rename both files in future.
12409         No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
12411         * WebCore.pro: Add new ScriptElement.cpp to build.
12412         * WebCore.vcproj/WebCore.vcproj: Ditto.
12413         * WebCore.xcodeproj/project.pbxproj: Ditto.
12414         * WebCoreSources.bkl: Dutto.
12415         * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
12416         (WebCore::ScriptElement::insertedIntoDocument):
12417         (WebCore::ScriptElement::removedFromDocument):
12418         (WebCore::ScriptElement::childrenChanged):
12419         (WebCore::ScriptElement::finishParsingChildren):
12420         (WebCore::ScriptElement::handleSourceAttribute):
12421         (WebCore::isSupportedJavaScriptLanguage):
12422         (WebCore::ScriptElementData::ScriptElementData):
12423         (WebCore::ScriptElementData::~ScriptElementData):
12424         (WebCore::ScriptElementData::requestScript):
12425         (WebCore::ScriptElementData::evaluateScript):
12426         (WebCore::ScriptElementData::stopLoadRequest):
12427         (WebCore::ScriptElementData::notifyFinished):
12428         (WebCore::ScriptElementData::ignoresLoadRequest):
12429         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
12430         (WebCore::ScriptElementData::scriptCharset):
12431         (WebCore::ScriptElementData::scriptContent):
12432         * dom/ScriptElement.h: Added.
12433         (WebCore::ScriptElement::ScriptElement):
12434         (WebCore::ScriptElement::~ScriptElement):
12435         (WebCore::ScriptElementData::element):
12436         (WebCore::ScriptElementData::createdByParser):
12437         (WebCore::ScriptElementData::setCreatedByParser):
12438         * dom/XMLTokenizer.cpp:
12439         (WebCore::isScriptElement):
12440         (WebCore::castToScriptElement):
12441         (WebCore::eventuallyMarkAsParserCreated):
12442         (WebCore::XMLTokenizer::startElementNs):
12443         (WebCore::XMLTokenizer::endElementNs):
12444         (WebCore::createXHTMLParserErrorHeader):
12445         (WebCore::XMLTokenizer::insertErrorMessageBlock):
12446         * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
12447         (WebCore::HTMLScriptElement::HTMLScriptElement):
12448         (WebCore::HTMLScriptElement::~HTMLScriptElement):
12449         (WebCore::HTMLScriptElement::isURLAttribute):
12450         (WebCore::HTMLScriptElement::setCreatedByParser):
12451         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
12452         (WebCore::HTMLScriptElement::childrenChanged):
12453         (WebCore::HTMLScriptElement::parseMappedAttribute):
12454         (WebCore::HTMLScriptElement::finishParsingChildren):
12455         (WebCore::HTMLScriptElement::insertedIntoDocument):
12456         (WebCore::HTMLScriptElement::removedFromDocument):
12457         (WebCore::HTMLScriptElement::text):
12458         (WebCore::HTMLScriptElement::setText):
12459         (WebCore::HTMLScriptElement::setHtmlFor):
12460         (WebCore::HTMLScriptElement::setEvent):
12461         (WebCore::HTMLScriptElement::charset):
12462         (WebCore::HTMLScriptElement::src):
12463         (WebCore::HTMLScriptElement::type):
12464         (WebCore::HTMLScriptElement::scriptCharset):
12465         (WebCore::HTMLScriptElement::scriptContent):
12466         (WebCore::HTMLScriptElement::sourceAttributeValue):
12467         (WebCore::HTMLScriptElement::charsetAttributeValue):
12468         (WebCore::HTMLScriptElement::typeAttributeValue):
12469         (WebCore::HTMLScriptElement::languageAttributeValue):
12470         (WebCore::HTMLScriptElement::dispatchLoadEvent):
12471         (WebCore::HTMLScriptElement::dispatchErrorEvent):
12472         * html/HTMLScriptElement.h:
12473         * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
12474         * svg/SVGScriptElement.cpp:
12475         (WebCore::SVGScriptElement::SVGScriptElement):
12476         (WebCore::SVGScriptElement::scriptContent):
12477         (WebCore::SVGScriptElement::sourceAttributeValue):
12478         (WebCore::SVGScriptElement::charsetAttributeValue):
12479         (WebCore::SVGScriptElement::typeAttributeValue):
12480         (WebCore::SVGScriptElement::languageAttributeValue):
12481         (WebCore::SVGScriptElement::dispatchLoadEvent):
12482         (WebCore::SVGScriptElement::dispatchErrorEvent):
12483         * svg/SVGScriptElement.h:
12484         (WebCore::SVGScriptElement::setCreatedByParser):
12486 2008-08-13  Eric Seidel  <eric@webkit.org>
12488         Attempt to fix the Gtk build, no review.
12490         I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
12492         * platform/graphics/GraphicsContext.h:
12493         * platform/graphics/cairo/GraphicsContextCairo.cpp:
12494         * platform/graphics/qt/GradientQt.cpp:
12495         * platform/graphics/qt/GraphicsContextQt.cpp:
12496         * platform/gtk/RenderThemeGtk.cpp:
12497         (WebCore::paintMozWidget):
12499 2008-08-13  Eric Seidel  <eric@webkit.org>
12501         Yet another attempt to fix the Qt build, no review.
12503         * platform/graphics/qt/GradientQt.cpp:
12504         * platform/graphics/qt/GraphicsContextQt.cpp:
12505         (WebCore::GraphicsContext::applyStrokePattern):
12506         (WebCore::GraphicsContext::applyFillPattern):
12508 2008-08-13  Eric Seidel  <eric@webkit.org>
12510         Attempt to fix the Windows build, no review.
12512         * platform/win/CursorWin.cpp:
12513         (WebCore::loadCursorByName):
12514         * platform/win/ScrollViewWin.cpp:
12515         (WebCore::ScrollView::paint):
12517 2008-08-13  Eric Seidel  <eric@webkit.org>
12519         Attempt to fix the Windows build, no review.
12521         * platform/win/CursorWin.cpp:
12522         (WebCore::loadCursorByName):
12523         * platform/win/ScrollViewWin.cpp:
12524         (WebCore::ScrollView::paint):
12526 2008-08-13  Eric Seidel  <eric@webkit.org>
12528         Attempt to fix the Qt build, no review.
12530         * platform/graphics/qt/ImageBufferQt.cpp:
12531         (WebCore::ImageBuffer::image):
12533 2008-08-13  Eric Seidel  <eric@webkit.org>
12535         Attempt to fix the Windows build, no review.
12537         * platform/graphics/win/ImageWin.cpp:
12538         (WebCore::Image::loadPlatformResource):
12539         * plugins/win/PluginViewWin.cpp:
12540         (WebCore::PluginView::paintMissingPluginIcon):
12542 2008-08-13  Eric Seidel  <eric@webkit.org>
12544         Another attempt to fix the Qt build, no review.
12546         * platform/graphics/qt/ImageQt.cpp:
12547         * platform/graphics/qt/StillImageQt.h:
12549 2008-08-13  Eric Seidel  <eric@webkit.org>
12551         No review, build fix only.
12553         Fix mac build, due to change in new code since my patch was written.
12555         * svg/graphics/cg/SVGResourceMaskerCg.mm:
12556         (WebCore::SVGResourceMasker::applyMask):
12558 2008-08-13  Eric Seidel  <eric@webkit.org>
12560         Build fix only, no review.
12562         Attempt to fix the Qt build.
12564         * platform/graphics/qt/ImageBufferQt.cpp:
12565         * platform/graphics/qt/StillImageQt.h:
12566         (WebCore::StillImage::create):
12567         (WebCore::StillImage::destroyDecodedData):
12568         (WebCore::StillImage::decodedSize):
12570 2008-08-13  Eric Seidel  <eric@webkit.org>
12572         Build fix only, no review.
12574         Attempt to fix the Qt build.
12576         * html/CanvasStyle.cpp:
12577         (WebCore::CanvasStyle::applyStrokeColor):
12578         (WebCore::CanvasStyle::applyFillColor):
12580 2008-08-13  Eric Seidel  <eric@webkit.org>
12582         Reviewed by Sam.
12584         Match HTML5 spec by throwing INVALID_STATE_ERR when
12585         createPattern is called and the HTMLImageElement is not
12586         yet done loading the image (!isComplete)
12587         https://bugs.webkit.org/show_bug.cgi?id=20351
12589         Test: http/misc/canvas-pattern-from-incremental-image.html
12591         * html/CanvasRenderingContext2D.cpp:
12592         (WebCore::CanvasRenderingContext2D::createPattern):
12594 2008-08-13  Eric Seidel  <eric@webkit.org>
12596         Reviewed by Niko.
12598         Split out a Pattern class from CanvasPattern
12599         and remove all the Pattern-related #ifdefs
12600         (This will break non-mac platforms!  I will fix them.)
12601         https://bugs.webkit.org/show_bug.cgi?id=20351
12603         * GNUmakefile.am:
12604         * WebCore.pro:
12605         * WebCore.vcproj/WebCore.vcproj:
12606         * WebCore.xcodeproj/project.pbxproj:
12607         * WebCoreSources.bkl:
12608         * html/CanvasPattern.cpp:
12609         (WebCore::CanvasPattern::parseRepetitionType):
12610         (WebCore::CanvasPattern::CanvasPattern):
12611         * html/CanvasPattern.h:
12612         (WebCore::CanvasPattern::create):
12613         (WebCore::CanvasPattern::pattern):
12614         (WebCore::CanvasPattern::originClean):
12615         * html/CanvasRenderingContext2D.cpp:
12616         (WebCore::CanvasRenderingContext2D::createPattern):
12617         (WebCore::CanvasRenderingContext2D::applyStrokePattern):
12618         (WebCore::CanvasRenderingContext2D::applyFillPattern):
12619         * html/CanvasRenderingContext2D.h:
12620         * html/HTMLCanvasElement.cpp:
12621         * html/HTMLCanvasElement.h:
12622         * loader/FrameLoader.cpp:
12623         (WebCore::FrameLoader::createHistoryItem):
12624         * platform/graphics/GraphicsContext.h:
12625         * platform/graphics/cairo/GraphicsContextCairo.cpp:
12626         (WebCore::GraphicsContext::applyStrokePattern):
12627         (WebCore::GraphicsContext::applyFillPattern):
12628         * platform/graphics/cg/GraphicsContextCG.cpp:
12629         (WebCore::GraphicsContext::clipToImageBuffer):
12630         (WebCore::GraphicsContext::applyStrokePattern):
12631         (WebCore::GraphicsContext::applyFillPattern):
12633 2008-08-13  Eric Seidel  <eric@webkit.org>
12635         Reviewed by Niko.
12637         Make Images RefCounted (and clean up callers)
12638         https://bugs.webkit.org/show_bug.cgi?id=20351
12640         * editing/DeleteButtonController.cpp:
12641         (WebCore::DeleteButtonController::createDeletionUI):
12642         * loader/CachedImage.cpp:
12643         (WebCore::CachedImage::CachedImage):
12644         (WebCore::brokenImage):
12645         (WebCore::nullImage):
12646         (WebCore::CachedImage::image):
12647         (WebCore::CachedImage::notifyObservers):
12648         (WebCore::CachedImage::createImage):
12649         * loader/CachedImage.h:
12650         * loader/icon/IconRecord.cpp:
12651         (WebCore::IconRecord::setImageData):
12652         (WebCore::IconRecord::loadImageFromResource):
12653         * loader/icon/IconRecord.h:
12654         * platform/graphics/BitmapImage.h:
12655         (WebCore::BitmapImage::create):
12656         * platform/graphics/GeneratedImage.h:
12657         * platform/graphics/Gradient.cpp:
12658         * platform/graphics/Gradient.h:
12659         * platform/graphics/Image.cpp:
12660         (WebCore::Image::nullImage):
12661         * platform/graphics/Image.h:
12662         * platform/graphics/ImageBuffer.h:
12663         * platform/graphics/cairo/ImageBufferCairo.cpp:
12664         (WebCore::ImageBuffer::image):
12665         * platform/graphics/cg/ImageBufferCG.cpp:
12666         (WebCore::ImageBuffer::image):
12667         (WebCore::ImageBuffer::getImageData):
12668         (WebCore::ImageBuffer::putImageData):
12669         * platform/graphics/cg/PDFDocumentImage.h:
12670         (WebCore::PDFDocumentImage::create):
12671         (WebCore::PDFDocumentImage::destroyDecodedData):
12672         (WebCore::PDFDocumentImage::decodedSize):
12673         * platform/graphics/gtk/ImageGtk.cpp:
12674         (WebCore::Image::loadPlatformResource):
12675         * platform/graphics/mac/ImageMac.mm:
12676         (WebCore::Image::loadPlatformResource):
12677         * rendering/RenderImage.cpp:
12678         * rendering/RenderLayer.cpp:
12679         (WebCore::RenderLayer::paintOverflowControls):
12680         * svg/graphics/SVGImage.cpp:
12681         (WebCore::SVGImage::nativeImageForCurrentFrame):
12682         * svg/graphics/SVGImage.h:
12683         (WebCore::SVGImage::create):
12684         (WebCore::SVGImage::destroyDecodedData):
12685         (WebCore::SVGImage::decodedSize):
12686         (WebCore::SVGImage::frameAtIndex):
12687         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
12688         (WebCore::SVGPaintServerPattern::setup):
12689         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
12690         (WebCore::SVGResourceMasker::applyMask):
12691         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
12692         (WebCore::patternCallback):
12693         * svg/graphics/cg/SVGResourceMaskerCg.mm:
12694         (WebCore::SVGResourceMasker::applyMask):
12696 2008-08-13  Eric Seidel  <eric@webkit.org>
12698         Reviewed by Niko.
12700         Remove #ifdefs from CanvasStyle by using platform/Color.h
12701         https://bugs.webkit.org/show_bug.cgi?id=20351
12703         There are some down-sides to this commit.
12704         This commit limits us to 255 levels of grey for calls like:
12705         context.setStrokeStyle(.37, 1.0)
12706         previously CG might have used up to 32bits to store the grey level
12707         Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
12709         Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
12710         to RGBA32 (like all the rest of colors in WebCore), thus:
12711         context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
12712         context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
12714         If this is a problem for Dashboard, we can either roll out this commit
12715         or add a beefier Color abstraction, which can be used internally by GraphicsContext
12716         when keeping state, and then GraphicsContext can grow some additional set* routines
12717         for setting the a grey/float/whatever fill and stroke.
12719         * html/CanvasRenderingContext2D.cpp:
12720         (WebCore::CanvasRenderingContext2D::setFillStyle):
12721         * html/CanvasStyle.cpp:
12722         (WebCore::CanvasStyle::CanvasStyle):
12723         (WebCore::colorWithOverrideAlpha):
12724         (WebCore::CanvasStyle::applyStrokeColor):
12725         (WebCore::CanvasStyle::applyFillColor):
12726         * html/CanvasStyle.h:
12727         * platform/graphics/Color.cpp:
12728         (WebCore::colorFloatToRGBAByte):
12729         (WebCore::makeRGBA32FromFloats):
12730         * platform/graphics/Color.h:
12732 2008-08-13  Eric Carlson  <eric.carlson@apple.com>
12734         Reviewed by Adele Peterson.
12736         Fix for <rdar://problem/6137931>
12737         https://bugs.webkit.org/show_bug.cgi?id=20360
12738         Remove all parameters from the MIME type before checking with the MIME type registry
12740         Tests: media/video-source-type-params.html
12742         * html/HTMLMediaElement.cpp:
12743         (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' 
12744         to isSupportedMediaMIMEType()
12746 2008-08-13  Beth Dakin  <bdakin@apple.com>
12748         Reviewed by Sam Weinig.
12750         Fix for <rdar://problem/6141345>
12752         This patch refines findString and markAllMatchesForText functions' 
12753         interactions with disconnected frames. They no longer rely on 
12754         knowing where a range is relative to the visible region and work 
12755         with disconnected frames that contain frames.
12757         * editing/Editor.cpp:
12758         (WebCore::Editor::insideVisibleArea): Now returns a bool instead of 
12759         the visiblity enum.
12760         (WebCore::Editor::firstVisibleRange): This now returns the very 
12761         first visible range in the document. It's no longer dependent on 
12762         searching forward.
12763         (WebCore::Editor::lastVisibleRange): This now returns the very last 
12764         visible range in the document. It's no longer dependent on 
12765         searching backwards.
12766         (WebCore::Editor::nextVisibleRange): This returns the next visible 
12767         range in the appropriate direction from the current range.
12768         * editing/Editor.h:
12769         * page/Frame.cpp:
12770         (WebCore::Frame::findString):
12771         (WebCore::Frame::markAllMatchesForText):
12773 2008-08-13  Kevin Ollivier  <kevino@theolliviers.com>
12775         wx build fix for case-sensitive platforms, like Linux.
12777         * WebCoreSources.bkl:
12779 2008-08-13  Marco Barisione  <marco.barisione@collabora.co.uk>
12781         Reviewed by Holger Freyther.
12783         http://bugs.webkit.org/show_bug.cgi?id=16881
12784         [GTK] PlatformScreenGtk is unimplemented
12786         Original patch by Christian Dywan.
12788         * platform/gtk/PlatformScreenGtk.cpp:
12789         (WebCore::screenDepth):
12790         (WebCore::screenDepthPerComponent):
12791         (WebCore::screenIsMonochrome):
12792         (WebCore::screenRect):
12793         (WebCore::screenAvailableRect):
12795 2008-08-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
12797         Reviewed by Holger Freyther.
12799         http://bugs.webkit.org/show_bug.cgi?id=20318
12800         SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
12802         g_idle_add is the same as g_idle_add_full with a priority of
12803         G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
12805         * platform/gtk/SharedTimerGtk.cpp:
12806         (WebCore::setSharedTimerFireTime):
12808 2008-08-13  Timothy Hatcher  <timothy@apple.com>
12810         Changed the InspectorController so it can be notified when the
12811         attached state of the Inspector changes in WebKit.
12813         Reviewed by Kevin McCullough.
12815         * WebCore.base.exp: Updated the symbol for setWindowVisible.
12816         * page/InspectorController.cpp:
12817         (WebCore::InspectorController::setWindowVisible): Added an attached argument,
12818         that defaults to false.Call setAttachedWindow with the attached argument.
12819         (WebCore::InspectorController::setAttachedWindow): Call the script version
12820         of setAttachedWindow.
12821         * page/InspectorController.h:
12822         * page/inspector/inspector.js:
12823         (WebInspector.setAttachedWindow): Set the attached property.
12825 2008-08-12  Timothy Hatcher  <timothy@apple.com>
12827         Added a close button to the Inspector's toolbar when docked.
12829         https://bugs.webkit.org/show_bug.cgi?id=14270
12831         Reviewed by Kevin McCullough.
12833         * page/InspectorController.cpp:
12834         (WebCore::closeWindow): Call InspectorController::closeWindow.
12835         (WebCore::InspectorController::windowScriptObjectAvailable):
12836         Added closeWindow to the script class.
12837         * page/InspectorController.h:
12838         * page/inspector/Images/closeButtons.png: Added.
12839         * page/inspector/inspector.css: Added and changed styles.
12840         * page/inspector/inspector.html: Added the close button.
12841         * page/inspector/inspector.js:
12842         (WebInspector.loaded): Added click event listener to the close button.
12843         (WebInspector.close): Call InspectorController.closeWindow.
12845 2008-08-12  Timothy Hatcher  <timothy@apple.com>
12847         Make the docked Web Inspector resizable. This is the cross platform
12848         portion of the code. Each InspectorClient needs to implement the
12849         real resize code.
12851         https://bugs.webkit.org/show_bug.cgi?id=14282
12853         Reviewed by Kevin McCullough.
12855         * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
12856         * page/InspectorClient.h: Added setAttachedWindowHeight.
12857         * page/InspectorController.cpp:
12858         (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
12859         on the InspectorController.
12860         (WebCore::InspectorController::setAttachedWindowHeight): Call
12861         setAttachedWindowHeight on the client.
12862         (WebCore::InspectorController::windowScriptObjectAvailable):
12863         Added setAttachedWindowHeight to the script class.
12864         * page/InspectorController.h:
12865         * page/inspector/inspector.css: Make the cursor on the toolbar be
12866         row-resize when docked.
12867         * page/inspector/inspector.js:
12868         (WebInspector.loaded): Always add the toolbarDragStart event listener.
12869         (WebInspector.toolbarDragStart): Return early if we are not attached
12870         and not on Leopard. Call WebInspector.elementDragStart.
12871         (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
12872         (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
12873         otherwise call moveByUnrestricted.
12875 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
12877         Reviewed by Holger.
12879         Initialize m_zoomsTextOnly in the Settings constructor.
12881         * page/Settings.cpp:
12882         (WebCore::Settings::Settings):
12884 2008-08-13  Brad Hughes <bhughes@trolltech.com>
12886         Reviewed by Simon.
12888         Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
12890         The latest upgrade of the intel compiler allows us to compile all of
12891         Qt with optimizations enabled (yay!).
12893         * WebCore.pro:
12895 2008-08-13  Prasanth Ullattil  <prasanth.ullattil@trolltech.com>
12897         Reviewed by Simon.
12899         Fix QtWebKit not displaying content on 403 HTTP responses
12901         Just like with 404 responses also display content with 403, as
12902         used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
12904         * platform/network/qt/QNetworkReplyHandler.cpp:
12905         (WebCore::QNetworkReplyHandler::finish):
12907 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
12909         Reviewed by Holger.
12911         Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
12913         Make the formatting of String::format() locale independent through the use of QString::vsprintf.
12915         * platform/text/String.cpp:
12916         (WebCore::String::format):
12918 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
12920         Reviewed by Lars.
12922         Fix QWebFrame::setHtml() not setting the new contents immediately.
12924         Added a setter to the DocumentLoader to toggle the deferred loading of the main
12925         resource when it comes from substitute data.
12927         Disable deferred loading of the main resource when we have valid substitute data,
12928         as used by QWebFrame::setHtml.
12930         * loader/DocumentLoader.h:
12932 2008-08-13  Mark Rowe  <mrowe@apple.com>
12934         Speculative GTK build fix.
12936         * GNUmakefile.am:  Add dependency info for JSSVGElementWrapperFactory.cpp.
12938 2008-08-13  Thiago Macieira  <tjmaciei@trolltech.com>
12940         Reviewed by Simon.
12942         Fix encoding of [ and ] in the host part of the URL
12944         Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
12945         add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
12946         doesn't encode [ and ] when they are found in the host part. That is, the
12947         following URL:
12948         http://[::1]/
12949         is valid and should not be reencoded to:
12950         http://%5b::1%5d/
12952         * platform/qt/KURLQt.cpp:
12953         (WebCore::KURL::operator QUrl):
12955 2008-08-12  Mihnea Ovidenie  <mihnea@adobe.com>
12957         Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
12958         Broken HTML object elements cause de-reference of pointer to freed memory.
12959         If we fail to load an image for an object tag and we no longer believe the object tag points at
12960         an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
12961         fall back content.
12963         Reviewed by Dave Hyatt and Alexey Proskuryakov.
12965         Test: http/tests/misc/object-image-error-with-onload.html
12967         * html/HTMLObjectElement.cpp:
12968         (WebCore::HTMLObjectElement::renderFallbackContent):
12969         * page/Frame.cpp:
12970         (WebCore::Frame::Frame):
12972 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
12974         Reviewed by Dave.
12975     
12976         Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
12977         Masks are translated, and the mask images are swapped on the y-axis.
12979         Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
12980         is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
12982         Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
12983         the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
12985         * svg/graphics/cg/SVGResourceMaskerCg.mm:
12986         (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
12988 2008-08-12  Dan Bernstein  <mitz@apple.com>
12990         - WebCore part of <rdar://problem/6121636>
12991           Make fast*alloc() abort() on failure and add "try" variants that
12992           return NULL on failure.
12994         Reviewed by Darin Adler.
12996         * platform/Arena.cpp:
12997         (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
12998         result.
12999         * platform/graphics/cg/ImageBufferCG.cpp:
13000         (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
13002 2008-08-12  Dan Bernstein  <mitz@apple.com>
13004         Reviewed by Darin Adler.
13006         - fix https://bugs.webkit.org/show_bug.cgi?id=19348
13007           <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
13009         Test: fast/frames/frameset-style-recalc.html
13011         * html/HTMLFrameSetElement.cpp:
13012         (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
13013         class implementation after marking for layout.
13015 2008-08-12  Dan Bernstein  <mitz@apple.com>
13017         Reviewed by John Sullivan.
13019         - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
13021         * WebCore.base.exp:
13022         * page/FrameView.cpp:
13023         (WebCore::FrameViewPrivate::FrameViewPrivate):
13024         (WebCore::FrameView::shouldUpdateWhileHidden):
13025         (WebCore::FrameView::setShouldUpdateWhileHidden):
13026         * page/FrameView.h:
13027         * page/Settings.cpp:
13028         * page/Settings.h:
13030 2008-08-12  Adam Roben  <aroben@apple.com>
13032         Windows build fix
13034         * bindings/js/JSSVGPODTypeWrapper.h: Align
13035         JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
13036         members on 16-byte boundaries to avoid an alignment warning.
13038 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
13040         Reviewed by Oliver.
13042         Add new dynamice-update layout tests covering SVGMarkerElement.
13043         Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
13044         Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
13046         Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
13047                svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
13048                svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
13049                svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
13050                svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
13051                svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
13052                svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
13053                svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
13054                svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
13055                svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
13056                svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
13057                svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
13058                svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
13059                svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
13060                svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
13062         * svg/SVGMarkerElement.cpp:
13063         (WebCore::SVGMarkerElement::SVGMarkerElement):
13064         (WebCore::SVGMarkerElement::parseMappedAttribute):
13065         (WebCore::SVGMarkerElement::svgAttributeChanged):
13066         (WebCore::SVGMarkerElement::childrenChanged):
13067         (WebCore::SVGMarkerElement::setOrientToAuto):
13068         (WebCore::SVGMarkerElement::setOrientToAngle):
13069         (WebCore::SVGMarkerElement::canvasResource):
13071 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
13073         Reviewed by Oliver.
13075         Add new dynamic-update layout tests covering SVGImageElement.
13076         Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
13078         Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
13079                svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
13080                svg/dynamic-updates/SVGImageElement-dom-width-attr.html
13081                svg/dynamic-updates/SVGImageElement-dom-x-attr.html
13082                svg/dynamic-updates/SVGImageElement-dom-y-attr.html
13083                svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
13084                svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
13085                svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
13086                svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
13087                svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
13089         * svg/SVGImageElement.cpp:
13090         (WebCore::SVGImageElement::svgAttributeChanged):
13092 2008-08-11  Anthony Ricaud  <rik24d@gmail.com>
13094         Changed Option/Alt-Up or Down in CSS editing when the value is
13095         near zero to jump to the next integer.
13097         Reviewed by Tim Hatcher.
13099         https://bugs.webkit.org/show_bug.cgi?id=20326
13101         * page/inspector/StylesSidebarPane.js:
13103 2008-08-11  Anthony Ricaud  <rik24d@gmail.com>
13105         Changed the line highlight transition for an easier animation.
13107         Reviewed by Tim Hatcher.
13109         * page/inspector/SourceFrame.js:
13111 2008-08-11  Keishi Hattori  <casey.hattori@gmail.com>
13113         Added support for some Firebug Command Line APIs.
13115         Reviewed by Tim Hatcher.
13117         https://bugs.webkit.org/show_bug.cgi?id=19867
13118         https://bugs.webkit.org/show_bug.cgi?id=19868
13119         https://bugs.webkit.org/show_bug.cgi?id=19869
13120         https://bugs.webkit.org/show_bug.cgi?id=19875
13121         https://bugs.webkit.org/show_bug.cgi?id=19876
13122         https://bugs.webkit.org/show_bug.cgi?id=19880
13124         * page/inspector/Console.js:
13125         (WebInspector.Console.prototype._evalInInspectedWindow):
13126         Create an object on the inspected window that holds the console
13127         command line API functions. This object is used in a with statement
13128         around the typed expression.
13130 2008-08-11  Nikolas Zimmermann  <zimmermann@kde.org>
13132         Reviewed by Antti.
13134         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
13136         JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
13137         failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
13139         Added tests: svg/custom/svg-modify-currentTranslate.html
13140                      svg/custom/tearoffs-with-tearoffs.html
13141                      svg/custom/immutable-properties.html
13143         Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
13145         * bindings/js/JSSVGPODTypeWrapper.h:
13146         (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
13147         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
13148         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
13149         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
13150         (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
13151         (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
13152         (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
13153         (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
13154         * bindings/scripts/CodeGenerator.pm:
13155         * bindings/scripts/CodeGeneratorJS.pm:
13156         * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
13157         * svg/SVGZoomEvent.idl:  SVG specification explicitely demands these attributes to be readonly, even its content.
13159 2008-08-11  Brady Eidson  <beidson@apple.com>
13161         Reviewed by John and Anders
13163         Fix for <rdar://problem/6141797>
13165         When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
13166         would never have nil data.
13168         When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
13169         semantics with some WebKit applications.
13171         The guarantee was a good one and should be restored.
13173         Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
13174         creates an empty data object in the case of null data for its own purposes.
13176         * loader/SubstituteResource.h:
13177         (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null.  This
13178           well help any future subclassers not make this mistake.
13180         * loader/archive/ArchiveResource.cpp:
13181         (WebCore::ArchiveResource::create): Return 0 if the data is null.
13183 2008-08-11  Simon Fraser  <simon.fraser@apple.com>
13185         Reviewed by Dave Hyatt
13187         https://bugs.webkit.org/show_bug.cgi?id=20328
13188         Fix a problem when an 'all' transition transition with more than
13189         one property changing is interrupted, and did some AnimationController
13190         cleanup.
13192         Test: transitions/interrupted-all-transition.html
13194         * page/AnimationController.cpp:
13195         (WebCore::ImplicitAnimation::ImplicitAnimation):
13196         (WebCore::AnimationControllerPrivate::blendProperties):
13197         (WebCore::CompositeAnimation::updateTransitions):
13198         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
13199         (WebCore::CompositeAnimation::setTransitionStartTime):
13200         (WebCore::CompositeAnimation::overrideImplicitAnimations):
13201         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
13202         (WebCore::ImplicitAnimation::animate):
13203         (WebCore::ImplicitAnimation::onAnimationEnd):
13204         (WebCore::ImplicitAnimation::sendTransitionEvent):
13205         (WebCore::ImplicitAnimation::affectsProperty):
13206         (WebCore::KeyframeAnimation::endAnimation):
13207         (WebCore::KeyframeAnimation::onAnimationEnd):
13209 2008-08-11  Kevin McCullough  <kmccullough@apple.com>
13211         Reviewed by Tim.
13213         - Because console messages have group levels now, newly created messages
13214         that do not specify the level lose their message since the number of
13215         arguments is wrong.
13217         * page/inspector/Console.js:
13218         * page/inspector/Resource.js:
13220 2008-08-11  Alp Toker  <alp@nuanti.com>
13222         Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
13223         the opportunity to sort the sources lists.
13225         * GNUmakefile.am:
13227 2008-08-11  Timothy Hatcher  <timothy@apple.com>
13229         Speed up the the JavaScript syntax highlighter by generating
13230         the finders only once per script instead of per line.
13232         https://bugs.webkit.org/show_bug.cgi?id=20346
13234         Reviewed by Adam Roben.
13236         * page/inspector/SourceFrame.js:
13237         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
13238         Removed, factored into syntaxHighlightJavascript as an inline function.
13239         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
13240         Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
13241         Generate the finders before iterating the lines.
13243 2008-08-11  Adam Roben  <aroben@apple.com>
13245         Windows build fix
13247         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
13248         JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
13249         too.
13251 2008-08-11  Dan Bernstein  <mitz@apple.com>
13253         Reviewed by Darin Adler.
13255         - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
13257         Test: fast/css/counters/invalidate-cached-counter-node.html
13259         * rendering/RenderContainer.cpp:
13260         (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
13261         RenderCounters in :before and :after content.
13262         * rendering/RenderContainer.h:
13263         * rendering/RenderCounter.cpp:
13264         (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
13265         to match the RenderObject method.
13266         (WebCore::RenderCounter::invalidate): Added. Resets the cached
13267         CounterNode and invalidates the object's layout and preferred widths.
13268         (WebCore::destroyCounterNodeChildren): Added a call to
13269         invalidateCounters().
13270         * rendering/RenderCounter.h:
13271         * rendering/RenderObject.h:
13272         (WebCore::RenderObject::invalidateCounters):
13274 2008-08-11  Dean Jackson  <dino@apple.com>
13276         Implement CSS Animation and Transition Events
13277         https://bugs.webkit.org/show_bug.cgi?id=20337
13279         Implement the events defined in the CSS Animations
13280         and Transitions specifications so code can react
13281         to animations and transitions.
13283         Reviewed by Tim Hatcher and Dave Hyatt.
13285         * DerivedSources.make:
13286         * GNUmakefile.am:
13287         * WebCore.pro:
13288         * WebCore.vcproj/WebCore.vcproj:
13289         * WebCore.xcodeproj/project.pbxproj:
13290         * WebCoreSources.bkl:
13291             Build configs for new files
13293         * bindings/js/JSDOMWindowBase.cpp:
13294         * bindings/js/JSDOMWindowBase.h:
13295         * bindings/js/JSEventCustom.cpp:
13296         * dom/Document.h:
13297         * dom/Event.cpp:
13298         * dom/Event.h:
13299         * dom/EventTarget.cpp:
13300         * dom/EventTargetNode.cpp:
13301         * dom/EventTargetNode.h:
13302         * html/HTMLElement.cpp:
13303         * page/AnimationController.cpp:
13304             do all the new event stuff
13305             
13306         * html/HTMLAttributeNames.in:
13307             the onwebkitanimation* and onwebkittransitionend attrs
13309         * dom/WebKitAnimationEvent.cpp: Added.
13310         * dom/WebKitAnimationEvent.h: Added.
13311         * dom/WebKitAnimationEvent.idl: Added.
13312         * dom/WebKitTransitionEvent.cpp: Added.
13313         * dom/WebKitTransitionEvent.h: Added.
13314         * dom/WebKitTransitionEvent.idl: Added.
13315             New files for the events
13317         * manual-tests/transition-events.html: Added.
13318             New testfile
13320 2008-08-11  Adam Roben  <aroben@apple.com>
13322         Add a ForwardingHeader for wtf/NotFound.h
13324         Rubberstamped by Darin Adler.
13326         * ForwardingHeaders/wtf/NotFound.h: Added.
13328 2008-08-11  Timothy Hatcher  <timothy@apple.com>
13330         Fixes a bug where error bubbles in JavaScript resources would
13331         be clobbered by the syntax highlighter.
13333         https://bugs.webkit.org/show_bug.cgi?id=20345
13335         Reviewed by Adam Roben.
13337         * manual-tests/inspector/resources/script-error.js: Added.
13338         * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
13339         * page/inspector/SourceFrame.js:
13340         (WebInspector.SourceFrame.prototype._addMessageToSource):
13341         Check the nodeType and not the nodeName, this is less fragile.
13342         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
13343         Check if the lastChild is an error bubble, if so remove it before
13344         getting the line's textContent. Add the error bubble back at the end.
13346 == Rolled over to ChangeLog-2008-08-10 ==