2008-10-10 Darin Fisher <darin@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-10-10  Darin Fisher  <darin@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         Add some PLATFORM(CHROMIUM) ifdefs to WebCore
6         https://bugs.webkit.org/show_bug.cgi?id=21511
7
8         * loader/FTPDirectoryDocument.cpp:
9         * loader/FTPDirectoryParser.cpp:
10         * loader/FrameLoader.cpp:
11         (WebCore::FrameLoader::finishedLoadingDocument):
12         * platform/ContextMenuItem.h:
13         * platform/Cursor.h:
14         * platform/DragData.h:
15         * platform/DragImage.h:
16         * platform/Pasteboard.h:
17         * platform/PlatformKeyboardEvent.h:
18         (WebCore::PlatformKeyboardEvent::isSystemKey):
19         * platform/PlatformMenuDescription.h:
20         * platform/PlatformMouseEvent.h:
21         * platform/PlatformWheelEvent.h:
22         * platform/PopupMenu.h:
23         * platform/ScrollView.h:
24         * platform/Widget.h:
25         * platform/network/NetworkStateNotifier.h:
26
27 2008-10-14  Chris Marrin  <cmarrin@apple.com>
28
29         Reviewed by Darin Adler.
30
31         Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
32         Optimize keyframe style sheet changes by avoiding styleSheetChanged()
33
34         Test: css3/change-keyframes.html
35
36         * css/WebKitCSSKeyframesRule.cpp:
37         (WebCore::WebKitCSSKeyframesRule::append):
38         (WebCore::WebKitCSSKeyframesRule::deleteRule):
39
40 2008-10-14  David Hyatt  <hyatt@apple.com>
41
42         https://bugs.webkit.org/show_bug.cgi?id=21595
43
44         Clean up background and overflow propagation from the body to the viewport.  Make it match the
45         latest CSS2.1 spec thinking.
46
47         Reviewed by Adam Roben
48
49         Added many tests at fast/body-propagation/.  These are Simon Pieters' tests of propagation handling
50         (available at http://simon.html5.org/test/css/magic-body/).
51
52         * dom/Document.cpp:
53         (WebCore::Document::body):
54         * page/FrameView.cpp:
55         (WebCore::FrameView::layout):
56         * rendering/RenderBox.cpp:
57         (WebCore::RenderBox::styleDidChange):
58         (WebCore::RenderBox::paintRootBoxDecorations):
59         (WebCore::RenderBox::paintBoxDecorations):
60         (WebCore::RenderBox::repaintLayerRectsForImage):
61
62 2008-10-14  Dimitri Glazkov  <dglazkov@chromium.org>
63
64         Reviewed and landed by Sam Weinig.
65
66         Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
67         remove NSResolver code, leaving only checking for selectors that need
68         NS resolution and throwing a coresponding error.
69
70         * WebCore.pro:
71         * WebCore.vcproj/WebCore.vcproj:
72         * WebCore.xcodeproj/project.pbxproj:
73         * WebCoreSources.bkl:
74         * bindings/js/JSDocumentCustom.cpp:
75         * bindings/js/JSDocumentFragmentCustom.cpp:
76         * bindings/js/JSElementCustom.cpp:
77         * bindings/js/JSNSResolver.cpp: Removed.
78         * bindings/js/JSNSResolver.h: Removed.
79         * dom/Document.idl:
80         * dom/DocumentFragment.idl:
81         * dom/Element.idl:
82         * dom/NSResolver.h: Removed.
83         * dom/NSResolver.idl: Removed.
84         * dom/Node.h:
85         * dom/Node.cpp:
86         (WebCore::forEachTagSelector):
87         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
88         (WebCore::selectorNeedsNamespaceResolution):
89         (WebCore::Node::querySelector):
90         (WebCore::Node::querySelectorAll):
91
92 2008-10-14  Darin Adler  <darin@apple.com>
93
94         Reviewed by Sam Weinig (all but the FormDataListItem rename).
95
96         - https://bugs.webkit.org/show_bug.cgi?id=21593
97           Bug 21593: add multiple-file support to HTMLFormElement
98
99         * html/FormDataList.cpp: Removed appendFile since it's now inline.
100         Also took incorrect old copyrights off of this file that are left
101         over from when it was split.
102         * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
103         made it a member of FormDataList. Changed it to hold a File object
104         instead of a path. And made its data members private. Changed
105         FormDataList::appendFile accordingly.
106
107         * html/HTMLFormElement.cpp:
108         (WebCore::HTMLFormElement::formData): Updated for above changes.
109         Removed the code that special-cases HTMLInputElement, because now
110         the FormDataListItem has everything we need. And if there are
111         multiple files, we'll get multiple list items for them.
112
113         * html/HTMLInputElement.cpp:
114         (WebCore::HTMLInputElement::appendFormData): Changed the code for
115         <input type=file> to use File objects instead of path strings and
116         also to append multiple files if the file list has them.
117
118 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
119
120         Reviewed by Simon.
121         
122         Fix QtWebKit scrollbar painting errors
123
124         * platform/qt/ScrollbarThemeQt.cpp:
125         (WebCore::ScrollbarThemeQt::paint):
126         (WebCore::ScrollbarThemeQt::paintScrollCorner):
127
128 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
129
130         Reviewed by Simon.
131
132         Fix scrollbar arrows for horizontal scrollbars
133
134         * platform/qt/ScrollbarThemeQt.cpp:
135         (WebCore::styleOptionSlider):
136
137 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
138
139         Reviewed by Simon.
140
141         Use style-painter to draw scrollbars in ScrollbarThemeQt
142         
143         This has the benefit of setting up the painter properly without
144         antialiasing and saving and restoring the brush. It also ensures
145         that we use the style of the QWebView over the QApplication style
146         if possible.
147
148         * platform/qt/RenderThemeQt.cpp:
149         (WebCore::StylePainter::StylePainter):
150         (WebCore::StylePainter::init):
151         * platform/qt/RenderThemeQt.h:
152         * platform/qt/ScrollbarThemeQt.cpp:
153         (WebCore::ScrollbarThemeQt::paint):
154
155 2008-10-13  David Hyatt  <hyatt@apple.com>
156
157         Add support for CSS transitions on some SVG properties.  This patch is intended to be a guideline
158         for how to add support for the rest.
159
160         Reviewed by Oliver Hunt
161
162         * page/animation/AnimationBase.cpp:
163         (WebCore::ensurePropertyMap):
164         * rendering/style/RenderStyle.h:
165         (WebCore::RenderStyle::fillOpacity):
166         (WebCore::RenderStyle::setFillOpacity):
167         (WebCore::RenderStyle::strokeOpacity):
168         (WebCore::RenderStyle::setStrokeOpacity):
169         (WebCore::RenderStyle::floodOpacity):
170         (WebCore::RenderStyle::setFloodOpacity):
171
172 2008-10-13  David Hyatt  <hyatt@apple.com>
173
174         <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
175
176         Fix for disabled scrollbars not painting in Windows Safari.  Make sure that the Windows theme
177         implements paintTrackBackground so that when the thumb is not present the track still paints.
178
179         Reviewed by Oliver Hunt
180
181         * platform/ScrollbarThemeComposite.cpp:
182         (WebCore::ScrollbarThemeComposite::paint):
183         * platform/win/ScrollbarThemeWin.cpp:
184         (WebCore::ScrollbarThemeWin::paintTrackBackground):
185         * platform/win/ScrollbarThemeWin.h:
186
187 2008-10-13  David Hyatt  <hyatt@apple.com>
188
189         Fix over-invalidation of native scrollbars.
190
191         Reviewed by Oliver Hunt
192
193         * platform/Scrollbar.h:
194         (WebCore::Scrollbar::styleChanged):
195         * platform/mac/ScrollbarThemeMac.mm:
196         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
197         * rendering/RenderScrollbar.cpp:
198         (WebCore::RenderScrollbar::styleChanged):
199
200 2008-10-13  Alp Toker  <alp@nuanti.com>
201
202         Fix autotools dist build target by listing recently added header
203         files only. Not reviewed.
204
205         * GNUmakefile.am:
206
207 2008-10-13  Mark Rowe  <mrowe@apple.com>
208
209         Reviewed by Brady Eidson.
210
211         Don't run a SQLite query on every iteration of the sync thread when the query
212         will touch a large portion of the icon database while performing no useful work.
213
214         * loader/icon/IconDatabase.cpp:
215         (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
216         we modified the database.
217         (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
218         unless we've been asked to prune any dangling pageURLs that we find.
219
220 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
221
222         Rubber stamped by Mark Rowe.
223         
224         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
225
226         * Configurations/DebugRelease.xcconfig:
227
228 2008-10-13  David Hyatt  <hyatt@apple.com>
229
230         Make dropdown lists on Windows work with CSS custom scrollbars.
231
232         Reviewed by Adele
233
234         * platform/PopupMenu.h:
235         (WebCore::PopupMenu::scrollbarCornerPresent):
236         * platform/PopupMenuClient.h:
237         * platform/win/PopupMenuWin.cpp:
238         (WebCore::PopupMenu::show):
239         * rendering/RenderMenuList.cpp:
240         (WebCore::RenderMenuList::createScrollbar):
241         * rendering/RenderMenuList.h:
242         * rendering/RenderTextControl.cpp:
243         (WebCore::RenderTextControl::createScrollbar):
244         * rendering/RenderTextControl.h:
245
246 2008-10-13  Chris Fleizach  <cfleizach@apple.com>
247
248         Reviewed by Beth Dakin.
249
250         <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
251
252         Links from image maps were not being included in the web area's AXLinkUIElements attribute.
253         The position of image map links was being reported incorrectly and the parent-chain
254         hierarchy for image map links was incorrect because image map links did not have a reference
255         to their parent image. 
256
257         Test: accessibility/document-links.html
258
259         * page/AccessibilityImageMapLink.cpp:
260         (WebCore::AccessibilityImageMapLink::parentObject):
261         (WebCore::AccessibilityImageMapLink::actionElement):
262         (WebCore::AccessibilityImageMapLink::elementRect):
263         * page/AccessibilityImageMapLink.h:
264         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
265         (WebCore::AccessibilityImageMapLink::setParent):
266         * page/AccessibilityObject.cpp:
267         * page/AccessibilityObject.h:
268         * page/AccessibilityRenderObject.cpp:
269         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
270         (WebCore::AccessibilityRenderObject::getDocumentLinks):
271         (WebCore::AccessibilityRenderObject::addChildren):
272         * page/AccessibilityRenderObject.h:
273         * page/mac/AccessibilityObjectWrapper.mm:
274         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
275
276 2008-10-13  David Hyatt  <hyatt@apple.com>
277
278         Make RenderListBox work with CSS scrollbars.  Refactoring this code to support creation/destruction in
279         the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
280         idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
281
282         Reviewed by Tim Hatcher
283
284         Added scrollbars/listbox-scrollbar-combinations.html
285
286         * rendering/RenderListBox.cpp:
287         (WebCore::RenderListBox::~RenderListBox):
288         (WebCore::RenderListBox::updateFromElement):
289         (WebCore::RenderListBox::createScrollbar):
290         (WebCore::RenderListBox::destroyScrollbar):
291         (WebCore::RenderListBox::setHasVerticalScrollbar):
292         * rendering/RenderListBox.h:
293
294 2008-10-13  David Hyatt  <hyatt@apple.com>
295
296         In order to always match the :corner-present pseudo-class properly, delay initial updating of
297         scrollbar styles until the layer has the scrollbars in its member variables.
298
299         Reviewed by Tim Hatcher
300
301         * rendering/RenderLayer.cpp:
302         (WebCore::RenderLayer::setHasHorizontalScrollbar):
303         (WebCore::RenderLayer::setHasVerticalScrollbar):
304         * rendering/RenderScrollbar.cpp:
305         (WebCore::RenderScrollbar::RenderScrollbar):
306
307 2008-10-13  Sam Weinig  <sam@webkit.org>
308
309         Reviewed by Dan Bernstein.
310
311         Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
312         5 false positive StructureID leaks
313
314         In WebCore, we intentionally leak the common JSGlobalData which in turn
315         leaks 5 StructureIDs.  Use the new JSGlobalData::createLeaked in order to
316         ignore the StructureIDs leaked within.
317
318         * bindings/js/JSDOMWindowBase.cpp:
319         (WebCore::JSDOMWindowBase::commonJSGlobalData):
320
321 2008-10-13  David Hyatt  <hyatt@apple.com>
322
323         Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
324         artwork based on whether there is a scrollbar corner present.
325
326         Reviewed by Tim Hatcher
327
328         * css/CSSSelector.cpp:
329         (WebCore::CSSSelector::extractPseudoType):
330         * css/CSSSelector.h:
331         (WebCore::CSSSelector::):
332         * css/CSSStyleSelector.cpp:
333         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
334         * platform/ScrollView.cpp:
335         (WebCore::ScrollView::scrollbarCornerPresent):
336         * platform/ScrollView.h:
337         * platform/ScrollbarClient.h:
338         * rendering/RenderLayer.cpp:
339         (WebCore::cornerRect):
340         (WebCore::scrollCornerRect):
341         (WebCore::resizerCornerRect):
342         (WebCore::RenderLayer::scrollbarCornerPresent):
343         (WebCore::RenderLayer::setHasHorizontalScrollbar):
344         (WebCore::RenderLayer::setHasVerticalScrollbar):
345         * rendering/RenderLayer.h:
346         (WebCore::RenderLayer::horizontalScrollbar):
347         (WebCore::RenderLayer::verticalScrollbar):
348         * rendering/RenderListBox.h:
349         (WebCore::RenderListBox::scrollbarCornerPresent):
350
351 2008-10-13  David Hyatt  <hyatt@apple.com>
352
353         Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
354         test case for all this can land).
355
356         Reviewed by Tim Hatcher
357
358         * css/CSSStyleSelector.cpp:
359         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
360         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
361         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
362         * rendering/RenderLayer.cpp:
363         (WebCore::RenderLayer::paintOverflowControls):
364         (WebCore::RenderLayer::paintScrollCorner):
365         (WebCore::RenderLayer::paintResizer):
366         (WebCore::RenderLayer::styleChanged):
367         (WebCore::RenderLayer::updateScrollCornerStyle):
368         (WebCore::RenderLayer::updateResizerStyle):
369         * rendering/RenderLayer.h:
370         * rendering/RenderScrollbar.cpp:
371         (WebCore::RenderScrollbar::paint):
372         * rendering/RenderScrollbarPart.cpp:
373         (WebCore::RenderScrollbarPart::paintIntoRect):
374
375 2008-10-13  David Hyatt  <hyatt@apple.com>
376
377         Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
378         and invalidate properly as images load, etc.
379
380         Reviewed by Tim Hatcher
381
382         * rendering/RenderLayer.cpp:
383         (WebCore::cornerRect):
384         (WebCore::scrollCornerRect):
385         (WebCore::resizerCornerRect):
386         (WebCore::RenderLayer::positionOverflowControls):
387         (WebCore::RenderLayer::paintOverflowControls):
388         (WebCore::RenderLayer::paintScrollCorner):
389         (WebCore::RenderLayer::paintResizer):
390         (WebCore::RenderLayer::isPointInResizeControl):
391         (WebCore::RenderLayer::hitTestOverflowControls):
392         (WebCore::RenderLayer::styleChanged):
393         * rendering/RenderLayer.h:
394         * rendering/RenderObject.h:
395         (WebCore::RenderObject::setRect):
396         * rendering/RenderScrollbarPart.cpp:
397         (WebCore::RenderScrollbarPart::styleDidChange):
398         (WebCore::RenderScrollbarPart::imageChanged):
399
400 2008-10-13  Marco Barisione  <marco.barisione@collabora.co.uk>
401
402         Reviewed by Darin Adler. Landed by Jan Alonzo.
403
404         WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
405         http://bugs.webkit.org/show_bug.cgi?id=20483
406
407         Start the conversion to use GOwnPtr and fix a memory leak.
408
409         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
410         (WebCore::mediaPlayerPrivateErrorCallback):
411
412 2008-10-12  Jon Honeycutt  <jhoneycutt@apple.com>
413
414         Windows build fix.
415
416         * loader/TextResourceDecoder.cpp:
417
418 2008-10-12  Darin Fisher  <darin@chromium.org>
419
420         Reviewed by Darin Adler.
421
422         - fix https://bugs.webkit.org/show_bug.cgi?id=21229
423           Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
424
425         * platform/network/NetworkStateNotifier.h: Add the #include.
426
427 2008-10-12  Darin Adler  <darin@apple.com>
428
429         Based on work by Holger Freyther.
430
431         - part of https://bugs.webkit.org/show_bug.cgi?id=20953
432           Split WidthIterator into its own source file.
433
434         * GNUmakefile.am: Added new source files.
435         * WebCore.vcproj/WebCore.vcproj: Ditto.
436         * WebCore.xcodeproj/project.pbxproj: Ditto.
437         * WebCoreSources.bkl: Ditto.
438
439         * platform/graphics/Font.cpp: Use WidthIterator from its new place.
440         * platform/graphics/WidthIterator.cpp: Added.
441         * platform/graphics/WidthIterator.h: Added.
442
443 2008-10-12  Tony Chang  <tony@chromium.org>
444
445         Reviewed by Sam Weinig.
446
447         - https://bugs.webkit.org/show_bug.cgi?id=21480
448           Remove duplicate definitions of MimeClassInfo and PluginInfo.
449
450         * plugins/PluginInfoStore.cpp: Added an include.
451         * plugins/PluginInfoStore.h: Removed struct declarations.
452
453 2008-10-12  Darin Adler  <darin@apple.com>
454
455         Reviewed by Dan Bernstein.
456
457         - https://bugs.webkit.org/show_bug.cgi?id=21563
458           Bug 21563: platform Gradient class should not use the CSS parser
459
460         * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
461         that accepts a CSS color string. That's handled in the DOM now, not here.
462         (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
463         copy of it here.
464         * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
465
466 2008-10-12  Glenn Wilson  <gwilson@google.com>
467
468         Reviewed by Darin Adler.
469
470         - https://bugs.webkit.org/show_bug.cgi?id=20461
471
472         Added feature to allow multi-line inputs into text fields.
473         HTMLInputElement would cut the set text at the first 'system' character,
474         so it would truncate at the first carriage return or newline.
475         This fix modifies that behavior to truncate at any non-space system character
476         but changes \r, \n, and \r\n to a single space.
477
478         Tests: editing/pasteboard/paste-multiline-text-input.html
479                
480         * html/HTMLInputElement.cpp:
481         (WebCore::HTMLInputElement::constrainValue):
482
483 2008-10-12  Dirk Schulze  <vbs85@gmx.de>
484
485         Reviewed by Eric Seidel.
486
487         - https://bugs.webkit.org/show_bug.cgi?id=20435
488
489         Added exception codes to canvas gradients to match current specification.
490
491         Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
492                fast/canvas/linearGradient-infinite-values.html
493                fast/canvas/radialGradient-infinite-values.html
494
495         * html/CanvasGradient.cpp:
496         (WebCore::CanvasGradient::addColorStop):
497         * html/CanvasGradient.h:
498         * html/CanvasGradient.idl:
499         * html/CanvasRenderingContext2D.cpp:
500         (WebCore::CanvasRenderingContext2D::createLinearGradient):
501         (WebCore::CanvasRenderingContext2D::createRadialGradient):
502         * html/CanvasRenderingContext2D.h:
503         * html/CanvasRenderingContext2D.idl:
504
505 2008-10-12  Eric Roman  <eroman@chromium.org>
506
507         - https://bugs.webkit.org/show_bug.cgi?id=20246
508           Implement RenderThemeWin::systemColor() to match Windows colors.
509
510         Reviewed by David Hyatt.
511
512         * rendering/RenderThemeWin.cpp:
513         (WebCore::cssValueIdToSysColorIndex):
514         (WebCore::RenderThemeWin::systemColor):
515         * rendering/RenderThemeWin.h:
516
517 2008-10-12  Aaron Bockover  <abockover@novell.com>
518
519         Reviewed by Alp Toker.
520
521         Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy 
522         plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window 
523         handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
524
525         * plugins/gtk/PluginPackageGtk.cpp:
526
527 2008-10-12  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
528
529         Reviewed by Oliver Hunt.
530
531         - https://bugs.webkit.org/show_bug.cgi?id=19331
532           <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
533
534         * page/DragController.cpp:
535         (WebCore::DragController::startDrag): When a link is dragged without any
536         text selected (note: for this to work, the EditableLinkBehavior setting must be
537         set to 'live' or 'default') and then dropped into an editable html document it
538         will eventually violate an ASSERT in MoveSelectionCommand that requires that there
539         is a selection.  To prevent this, expand the selection to the enclosing anchor tag
540         when the drag begins.
541
542 2008-10-12  Darin Adler  <darin@apple.com>
543
544         Reviewed by Mark Rowe.
545
546         - fix https://bugs.webkit.org/show_bug.cgi?id=21557
547           Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
548
549         * rendering/RenderObject.cpp:
550         (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
551         until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
552         as RenderObject::isText(), and this guarantees that the node can be cast to
553         Element*, which is done just below. The reason this is hit is that RenderLayer
554         can call getPseudoStyle on a RenderView, which has the document as its
555         element() -- and a document is neither a Text node nor an Element. A loose
556         end is that this seems to mean you can't style the scrollbar corner or the
557         resizer on a RenderView. Hyatt may want to look into that later.
558
559 2008-10-12  Darin Adler  <darin@apple.com>
560
561         Reviewed by Sam Weinig.
562
563         - https://bugs.webkit.org/show_bug.cgi?id=21556
564           Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
565
566         Tests: fast/dom/HTMLFontElement/size-attribute.html
567                fast/dom/HTMLInputElement/size-attribute.html
568                fast/dom/HTMLTableElement/cellpadding-attribute.html
569
570         * html/HTMLFontElement.cpp:
571         (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
572         Unicode::isDigit, since non-ASCII digits are not valid here.
573         * html/HTMLFontElement.h: Tweaked formatting a bit and removed
574         the unneeded destructor declaration.
575         * platform/text/String.cpp:
576         (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
577         of Unicode::isDigit, since non-ASCII digits are not valid.
578
579 2008-10-12  Jungshik Shin  <jshin@chromium.org>
580
581         Reviewed by Darin Adler.
582
583         Treat x-user-defined as windows-1252 for html files with meta charset
584         declaration to be compatible with Indian web sites.
585         ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
586
587         Test: fast/encoding/charset-xuser-defined.html
588
589         * loader/TextResourceDecoder.cpp:
590         (WebCore::TextResourceDecoder::setEncoding):
591
592 2008-10-12  Sam Weinig  <sam@webkit.org>
593
594         Reviewed by Dan Bernstein.
595
596         Remove unneeded forward declaration.
597
598         * platform/graphics/ImageBuffer.h:
599
600 2008-10-12  Sam Weinig  <sam@webkit.org>
601
602         Reviewed by Darin Adler.
603
604         Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
605         Layering violation: String should not be responsible for creating Lengths
606
607         It was a layering violation for String to know haw to parse
608         into Lengths, LengthArrays, and CoordsArrays.
609
610         * GNUmakefile.am:
611         * WebCore.pro:
612         * WebCore.vcproj/WebCore.vcproj:
613         * WebCore.xcodeproj/project.pbxproj:
614         * WebCoreSources.bkl:
615         * html/HTMLAreaElement.cpp:
616         (WebCore::HTMLAreaElement::parseMappedAttribute):
617         * html/HTMLFrameSetElement.cpp:
618         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
619         * platform/text/AtomicString.h:
620         (WebCore::AtomicString::percentage):
621         * platform/text/PlatformString.h:
622         * platform/text/String.cpp:
623         * platform/text/StringImpl.cpp:
624         * platform/text/StringImpl.h:
625         * rendering/Length.cpp: Added.
626         (WebCore::parseLength):
627         (WebCore::countCharacter):
628         (WebCore::newCoordsArray):
629         (WebCore::newLengthArray):
630         * rendering/Length.h:
631         (WebCore::LengthSize::LengthSize):
632
633 2008-10-12  Brad Garcia  <bgarcia@google.com>
634
635         Reviewed by Darin Adler.
636
637         Interpret fractional percentage values for %MultiLength values.
638         Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
639         Test: fast/frames/frame-length-fractional-percentage.html
640
641         * platform/text/StringImpl.cpp:
642         (WebCore::parseLength):
643
644 2008-10-12  Timothy Hatcher  <timothy@apple.com>
645
646         Remember the expanded state of the rules in the Styles pane. So
647         collapsing a rule will persist across all the elements that have
648         that same rule. The same applies to Computed Style, so the Computed
649         Style rule is now collapsed by default. This should help lessen the
650         confusion on why Computed Style can't be edited (a common confusion.)
651
652         https://bugs.webkit.org/show_bug.cgi?id=21553
653
654         Reviewed by Darin Adler.
655
656         * inspector/front-end/PropertiesSection.js:
657         (WebInspector.PropertiesSection): Set the _expanded property directly,
658         instead of using the setter. Expanded is the default, so no work is needed.
659         This prevents calling StylesSidebarPane.collapse before object initialization
660         is complete.
661         * inspector/front-end/StylesSidebarPane.js:
662         (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
663         for the expanded state of the StylePropertiesSection. Collapse computed style
664         by default and expand everything else.
665         (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
666         when remembering expanded state.
667         (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
668         to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
669         the state if the dontRememberState property is true.
670         (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
671         to false for this identifier in Preferences.styleRulesExpandedState.
672         * inspector/front-end/inspector.js:
673         (Preferences.styleRulesExpandedState): Initialize to an empty object.
674
675 2008-10-12  Jan Michael Alonzo  <jmalonzo@webkit.org>
676
677         Reviewed by Alp Toker.
678
679         [Gtk] Remove libWebCoreJS.la when doing make clean
680         https://bugs.webkit.org/show_bug.cgi?id=21544
681
682         Remove libWebCoreJS.la when doing a clean target
683
684         * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
685
686 2008-10-11  Alp Toker  <alp@nuanti.com>
687
688         Reviewed by Darin Adler.
689
690         https://bugs.webkit.org/show_bug.cgi?id=20592
691         The focus ring is not shown while navigating on some pages
692
693         Fix drawFocusRing() so it doesn't depend on the current graphics
694         state, thus matching other platforms which already work this way.
695
696         This patch provides two code paths: one using straight Cairo and
697         one specialised for the GTK+ port with a more conventional appearance.
698
699         Also change focusRingColor() to return a null color, allowing the
700         focus ring to pick up the style's current color if it isn't overridden
701         with CSS.
702
703         * platform/graphics/cairo/GraphicsContextCairo.cpp:
704         (WebCore::GraphicsContext::drawFocusRing):
705         * platform/gtk/TemporaryLinkStubs.cpp:
706         (WebCore::focusRingColor):
707
708 2008-10-11  Dan Bernstein  <mitz@apple.com>
709
710         Rubber-stamped by Sam Weinig.
711
712         - change all internal callers to use Cache::evict() instead of remove()
713
714         * loader/Cache.cpp:
715         (WebCore::Cache::revalidateResource):
716         (WebCore::Cache::revalidationSucceeded):
717         (WebCore::Cache::pruneDeadResources):
718         (WebCore::Cache::setDisabled):
719
720 2008-10-11  David Hyatt  <hyatt@apple.com>
721
722         Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
723
724         Reviewed by Tim Hatcher
725
726         * platform/ScrollbarThemeComposite.cpp:
727         (WebCore::ScrollbarThemeComposite::invalidatePart):
728
729 2008-10-11  David Hyatt  <hyatt@apple.com>
730
731         https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
732
733         Also fixed resizer positioning problems.
734
735         Reviewed by Tim Hatcher
736
737         * platform/ScrollbarThemeComposite.cpp:
738         (WebCore::ScrollbarThemeComposite::splitTrack):
739         (WebCore::ScrollbarThemeComposite::trackPosition):
740         (WebCore::ScrollbarThemeComposite::trackLength):
741         * platform/ScrollbarThemeComposite.h:
742         (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
743         * rendering/RenderLayer.cpp:
744         (WebCore::scrollCornerRect):
745         (WebCore::RenderLayer::positionOverflowControls):
746         (WebCore::RenderLayer::paintOverflowControls):
747         (WebCore::RenderLayer::isPointInResizeControl):
748         (WebCore::RenderLayer::hitTestOverflowControls):
749         * rendering/RenderScrollbarTheme.cpp:
750         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
751         * rendering/RenderScrollbarTheme.h:
752
753 2008-10-11  Alp Toker  <alp@nuanti.com>
754
755         Reviewed by David Hyatt.
756
757         Implement release/retain for Widget GTK+.
758
759         * platform/Widget.cpp:
760         * platform/gtk/WidgetGtk.cpp:
761         (WebCore::Widget::~Widget):
762         (WebCore::Widget::releasePlatformWidget):
763         (WebCore::Widget::retainPlatformWidget):
764
765 2008-10-11  Dan Bernstein  <mitz@apple.com>
766
767         Reviewed by Sam Weinig.
768
769         - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
770           and add a corresponding getter; add the same functions on Windows
771
772         * WebCore.base.exp:
773         * platform/graphics/Font.cpp:
774         (WebCore::Font::setCodePath):
775         (WebCore::codePath):
776         (WebCore::Font::canUseGlyphCache):
777         * platform/graphics/Font.h:
778         * platform/mac/WebCoreTextRenderer.h:
779         * platform/mac/WebCoreTextRenderer.mm:
780         (WebCoreSetAlwaysUsesComplexTextCodePath):
781         (WebCoreAlwaysUsesComplexTextCodePath):
782         * platform/win/WebCoreTextRenderer.cpp:
783         (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
784         (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
785         * platform/win/WebCoreTextRenderer.h:
786
787 2008-10-11  Sam Weinig  <sam@webkit.org>
788
789         Reviewed by Cameron Zwarich.
790
791         Stop leaking the event parameter names.  The protected strings were showing up
792         in the caches window after one use.  No measurable performance loss.
793
794         * bindings/js/JSEventListener.cpp:
795         (WebCore::eventParameterName):
796
797 2008-10-11  Sam Weinig  <sam@webkit.org>
798
799         Reviewed by Cameron Zwarich.
800
801         Remove unused function getNodeEventListener.
802
803         * bindings/js/JSEventListener.cpp:
804         * bindings/js/JSEventListener.h:
805
806 2008-10-11  David Hyatt  <hyatt@apple.com>
807
808         Add support for both positive and negative margins to tracks and track pieces.
809
810         Reviewed by Tim Hatcher
811
812         * platform/ScrollbarThemeComposite.cpp:
813         (WebCore::ScrollbarThemeComposite::paint):
814         (WebCore::ScrollbarThemeComposite::hitTest):
815         (WebCore::ScrollbarThemeComposite::splitTrack):
816         (WebCore::ScrollbarThemeComposite::trackPieceRects):
817         (WebCore::ScrollbarThemeComposite::trackPosition):
818         (WebCore::ScrollbarThemeComposite::trackLength):
819         * platform/ScrollbarThemeComposite.h:
820         (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
821         * rendering/RenderScrollbar.cpp:
822         (WebCore::RenderScrollbar::trackRect):
823         (WebCore::RenderScrollbar::trackPieceRectWithMargins):
824         * rendering/RenderScrollbar.h:
825         * rendering/RenderScrollbarPart.cpp:
826         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
827         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
828         * rendering/RenderScrollbarTheme.cpp:
829         (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
830         * rendering/RenderScrollbarTheme.h:
831
832 2008-10-10  David Hyatt  <hyatt@apple.com>
833
834         Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
835         the scrollbar pseudo-elements anyway.
836
837         Reviewed by Tim Hatcher
838
839         * css/CSSSelector.cpp:
840         (WebCore::CSSSelector::extractPseudoType):
841         * css/CSSSelector.h:
842         (WebCore::CSSSelector::):
843         * css/CSSStyleSelector.cpp:
844         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
845
846 2008-10-10  Dan Bernstein  <mitz@apple.com>
847
848         Reviewed by Sam Weinig.
849
850         - separate Cache::remove() into a private method and a public interface,
851           then make Cache::pruneDeadResources() use the private method.
852
853         * loader/Cache.cpp:
854         (WebCore::Cache::pruneDeadResources):
855         (WebCore::Cache::evict):
856         * loader/Cache.h:
857         (WebCore::Cache::remove):
858
859 2008-10-10  David Hyatt  <hyatt@apple.com>
860
861         Fix a math error when splitting a vertical track.  Clean up more of ScrollbarThemeComposite
862         now that the track pieces meet under the thumb.
863
864         Reviewed by Tim Hatcher
865
866         * platform/ScrollbarThemeComposite.cpp:
867         (WebCore::ScrollbarThemeComposite::paint):
868         (WebCore::ScrollbarThemeComposite::splitTrack):
869
870 2008-10-10  David Hyatt  <hyatt@apple.com>
871
872         Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
873
874         Reviewed by Tim Hatcher
875
876         * platform/ScrollbarThemeComposite.cpp:
877         (WebCore::ScrollbarThemeComposite::hitTest):
878         (WebCore::ScrollbarThemeComposite::splitTrack):
879
880 2008-10-10  David Hyatt  <hyatt@apple.com>
881
882         Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
883
884         Reviewed by Tim Hatcher
885
886         * rendering/RenderLayer.cpp:
887         (WebCore::RenderLayer::createScrollbar):
888         * rendering/RenderScrollbar.cpp:
889         (WebCore::RenderScrollbar::createCustomScrollbar):
890         (WebCore::RenderScrollbar::RenderScrollbar):
891         (WebCore::RenderScrollbar::setParent):
892         (WebCore::RenderScrollbar::updateScrollbarParts):
893         (WebCore::RenderScrollbar::updateScrollbarPart):
894         * rendering/RenderScrollbar.h:
895         * rendering/style/RenderStyle.h:
896         (WebCore::RenderStyle::):
897
898 2008-10-10  David Hyatt  <hyatt@apple.com>
899
900         Make sure scrollbar background images cause proper part invalidation to occur.
901
902         Reviewed by Tim Hatcher
903
904         * rendering/RenderScrollbar.cpp:
905         (WebCore::RenderScrollbar::setHoveredPart):
906         (WebCore::RenderScrollbar::setPressedPart):
907         * rendering/RenderScrollbarPart.cpp:
908         (WebCore::RenderScrollbarPart::styleDidChange):
909         (WebCore::RenderScrollbarPart::imageChanged):
910         * rendering/RenderScrollbarPart.h:
911
912 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
913
914         Reviewed by Darin Adler
915
916         https://bugs.webkit.org/show_bug.cgi?id=21538
917         
918         The blendFunc() for TransformOperations should never mess with the
919         operation lists by replacing some ops with identity, otherwise the lists
920         no longer match and transitions break.
921
922         Test: transitions/matched-transform-functions.html
923
924         * page/animation/AnimationBase.cpp:
925         (WebCore::blendFunc):
926
927 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
928
929         Reviewed by Darin Adler
930
931         https://bugs.webkit.org/show_bug.cgi?id=21537
932
933         Fix re-targetting a running transition; if the target property
934         changes, we do need to make a new ImplicitAnimation.
935         
936         Test: transitions/retargetted-transition.html
937
938         * page/animation/CompositeAnimation.cpp:
939         (WebCore::CompositeAnimationPrivate::updateTransitions):
940
941 2008-10-10  Oliver Hunt  <oliver@apple.com>
942
943         Reviewed by Cameron Zwarich.
944
945         Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
946
947         When JS is terminated by the user choosing to stop a slow script
948         the exception toString method throws, yet the console logger does
949         not perform exception checks after logging.  This leaves an
950         exception on the Machine, which in turn results in an assertion
951         failure next time we attempt to enter JS.  The solution is just to
952         clear the exception state after attempting to record the exception.
953
954         * page/Console.cpp:
955         (WebCore::Console::reportException):
956
957 2008-10-10  David Hyatt  <hyatt@apple.com>
958
959         Make textareas work with custom CSS scrollbars and resizers.  Need to access the correct renderer
960         when looking for pseudo styles.
961
962         Reviewed by Tim Hatcher
963
964         * rendering/RenderLayer.cpp:
965         (WebCore::RenderLayer::createScrollbar):
966         (WebCore::RenderLayer::styleChanged):
967
968 2008-10-10  David Hyatt  <hyatt@apple.com>
969
970         Add the ability to style the scroll corner and the resizer from CSS.
971
972         Reviewed by Tim Hatcher
973
974         * css/CSSSelector.cpp:
975         (WebCore::CSSSelector::extractPseudoType):
976         * css/CSSSelector.h:
977         (WebCore::CSSSelector::):
978         * css/CSSStyleSelector.cpp:
979         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
980         * rendering/RenderLayer.cpp:
981         (WebCore::RenderLayer::RenderLayer):
982         (WebCore::RenderLayer::~RenderLayer):
983         (WebCore::RenderLayer::paintOverflowControls):
984         (WebCore::RenderLayer::paintScrollCorner):
985         (WebCore::RenderLayer::paintResizer):
986         (WebCore::RenderLayer::styleChanged):
987         * rendering/RenderLayer.h:
988         * rendering/RenderScrollbar.cpp:
989         (WebCore::RenderScrollbar::updateScrollbarPart):
990         (WebCore::RenderScrollbar::paintPart):
991         * rendering/RenderScrollbarPart.cpp:
992         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
993         (WebCore::RenderScrollbarPart::paintIntoRect):
994         * rendering/RenderScrollbarPart.h:
995         * rendering/style/RenderStyle.h:
996         (WebCore::RenderStyle::):
997
998 2008-10-10  David Hyatt  <hyatt@apple.com>
999
1000         Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
1001
1002         Reviewed by Sam Weinig
1003
1004         No test case possible, since the OS setting can vary.
1005
1006         * css/CSSSelector.cpp:
1007         (WebCore::CSSSelector::extractPseudoType):
1008         * css/CSSSelector.h:
1009         (WebCore::CSSSelector::):
1010         * css/CSSStyleSelector.cpp:
1011         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1012         * platform/Scrollbar.h:
1013         (WebCore::Scrollbar::styleChanged):
1014         * platform/mac/ScrollbarThemeMac.mm:
1015         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1016         (WebCore::ScrollbarThemeMac::preferencesChanged):
1017         * rendering/RenderLayer.cpp:
1018         (WebCore::RenderLayer::invalidateScrollbarRect):
1019         * rendering/RenderScrollbar.cpp:
1020         (WebCore::RenderScrollbar::styleChanged):
1021         (WebCore::RenderScrollbar::updateScrollbarPart):
1022         * rendering/RenderScrollbar.h:
1023         * rendering/RenderScrollbarTheme.h:
1024         (WebCore::RenderScrollbarTheme::buttonsPlacement):
1025
1026 2008-10-10  Timothy Hatcher  <timothy@apple.com>
1027
1028         Fixes a regression with input search fields, where the placeholder text
1029         would not be updated when the value of the placeholder attribute changed.
1030
1031         https://bugs.webkit.org/show_bug.cgi?id=21521
1032
1033         Reviewed by Adele Peterson.
1034
1035         Test: fast/forms/search-placeholder-value-changed.html
1036
1037         * html/HTMLInputElement.cpp:
1038         (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
1039         placeholderValueChanged parameter of updatePlaceholderVisibility.
1040         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
1041         for placeholderValueChanged that informs the method that the value changed.
1042         * html/HTMLInputElement.h: Add the placeholderValueChanged to the
1043         updatePlaceholderVisibility method. Made it default to false.
1044
1045 2008-10-10  David Hyatt  <hyatt@apple.com>
1046
1047         Allow the track part to have negative margins so that it can slightly overlap buttons.  This
1048         is necessary to emulate the Aqua look in CSS.
1049
1050         Reviewed by Sam Weinig
1051
1052         * platform/ScrollbarThemeComposite.cpp:
1053         (WebCore::ScrollbarThemeComposite::paint):
1054         (WebCore::ScrollbarThemeComposite::hitTest):
1055         * rendering/RenderScrollbar.cpp:
1056         (WebCore::RenderScrollbar::setHoveredPart):
1057         (WebCore::RenderScrollbar::trackRect):
1058         * rendering/RenderScrollbar.h:
1059         * rendering/RenderScrollbarPart.cpp:
1060         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1061         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1062         * rendering/RenderScrollbarTheme.cpp:
1063         (WebCore::RenderScrollbarTheme::backButtonRect):
1064         (WebCore::RenderScrollbarTheme::forwardButtonRect):
1065         (WebCore::RenderScrollbarTheme::trackRect):
1066
1067 2008-10-10  David Hyatt  <hyatt@apple.com>
1068
1069         https://bugs.webkit.org/show_bug.cgi?id=21527
1070
1071         Make CSS scrollbars support :not, :hover and :active.
1072
1073         Reviewed by Adam Roben
1074
1075         Added WebCore/manual-tests/scrollbar-hover-active.html
1076
1077         * css/CSSStyleSelector.cpp:
1078         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1079         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1080         * platform/Scrollbar.cpp:
1081         (WebCore::Scrollbar::autoscrollPressedPart):
1082         (WebCore::Scrollbar::startTimerIfNeeded):
1083         (WebCore::Scrollbar::setHoveredPart):
1084         (WebCore::Scrollbar::setPressedPart):
1085         (WebCore::Scrollbar::mouseMoved):
1086         (WebCore::Scrollbar::mouseExited):
1087         (WebCore::Scrollbar::mouseUp):
1088         (WebCore::Scrollbar::mouseDown):
1089         * platform/Scrollbar.h:
1090         * rendering/RenderScrollbar.cpp:
1091         (WebCore::RenderScrollbar::setHoveredPart):
1092         (WebCore::RenderScrollbar::setPressedPart):
1093         (WebCore::RenderScrollbar::updateScrollbarParts):
1094         (WebCore::pseudoForScrollbarPart):
1095         (WebCore::RenderScrollbar::updateScrollbarPart):
1096         * rendering/RenderScrollbar.h:
1097
1098 2008-10-10  Chris Marrin  <cmarrin@apple.com>
1099
1100         Reviewed by Dan Bernstein.
1101
1102         Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
1103         CSS transition with duration=0 and delay=0 doesn't override ongoing transition
1104
1105         Test: transitions/interrupt-zero-duration.html
1106
1107         * page/animation/CompositeAnimation.cpp:
1108         (WebCore::CompositeAnimation::updateTransitions):
1109
1110 2008-10-10  Kevin Ollivier  <kevino@theolliviers.com>
1111
1112         wx build fix. Add new scrollbar-related sources.
1113
1114         * WebCoreSources.bkl:
1115
1116 2008-10-10  David Hyatt  <hyatt@apple.com>
1117
1118         https://bugs.webkit.org/show_bug.cgi?id=21522
1119
1120         Support increment/decrement/start/end on scrollbars.  Allows a fully functional scrollbar to be
1121         created.  (Just :hover/:active left to finish it up.)
1122
1123         Reviewed by Adam Roben
1124
1125         Added scrollbars/scrollbar-buttons.html
1126
1127         * css/CSSStyleSelector.cpp:
1128         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1129
1130 2008-10-10  David Hyatt  <hyatt@apple.com>
1131
1132         Rename some pseudoclasses.  Removing "-scrollbar-" from a bunch of the pseudoclasses.  Renaming
1133         back/forward to decrement/increment.  Adding start/end pseudoclasses.
1134
1135         Reviewed by Eric Seidel
1136
1137         * css/CSSSelector.cpp:
1138         (WebCore::CSSSelector::extractPseudoType):
1139         * css/CSSSelector.h:
1140         (WebCore::CSSSelector::):
1141         * css/CSSStyleSelector.cpp:
1142         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1143
1144 2008-10-10  David Hyatt  <hyatt@apple.com>
1145
1146         Switch window-active to window-inactive, since that will work better as far as degrading in other
1147         browsers.
1148
1149         Reviewed by Tim Hatcher
1150
1151         * css/CSSSelector.cpp:
1152         (WebCore::CSSSelector::extractPseudoType):
1153         * css/CSSSelector.h:
1154         (WebCore::CSSSelector::):
1155         * css/CSSStyleSelector.cpp:
1156         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1157
1158 2008-10-09  Chris Marrin  <cmarrin@apple.com>
1159
1160         Reviewed by Dan Bernstein.
1161
1162         https://bugs.webkit.org/show_bug.cgi?id=21310
1163
1164         Redesigned how animation events are sent in order to get rid of
1165         AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
1166         are now ref counted. While calling the event handler, I keep a 
1167         reference to this class to avoid it getting destroyed out from under me.
1168
1169         I also moved most of the functionality of CompositeAnimation to
1170         and internal class (CompositeAnimationPrivate) to reduce the exposure
1171         of the internals of the various animation classes.
1172
1173         We have several transition and animation LayoutTests which verify that
1174         this fix works as expected and continues to avoid crashes.
1175
1176         * page/animation/AnimationBase.cpp:
1177         (WebCore::AnimationBase::AnimationBase):
1178         * page/animation/AnimationBase.h:
1179         (WebCore::AnimationBase::cancelTimers):
1180         (WebCore::AnimationBase::waitingForStyleAvailable):
1181         * page/animation/CompositeAnimation.cpp:
1182         (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
1183         (WebCore::CompositeAnimationPrivate::suspended):
1184         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
1185         (WebCore::CompositeAnimationPrivate::updateTransitions):
1186         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
1187         (WebCore::CompositeAnimationPrivate::animate):
1188         (WebCore::CompositeAnimationPrivate::setAnimating):
1189         (WebCore::CompositeAnimationPrivate::animating):
1190         (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
1191         (WebCore::CompositeAnimationPrivate::resetTransitions):
1192         (WebCore::CompositeAnimationPrivate::resetAnimations):
1193         (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
1194         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
1195         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
1196         (WebCore::CompositeAnimationPrivate::suspendAnimations):
1197         (WebCore::CompositeAnimationPrivate::resumeAnimations):
1198         (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
1199         (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
1200         (WebCore::compareAnimationIndices):
1201         (WebCore::CompositeAnimationPrivate::styleAvailable):
1202         (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
1203         (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
1204         (WebCore::CompositeAnimation::CompositeAnimation):
1205         (WebCore::CompositeAnimation::~CompositeAnimation):
1206         (WebCore::CompositeAnimation::animate):
1207         (WebCore::CompositeAnimation::animating):
1208         (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
1209         (WebCore::CompositeAnimation::resetTransitions):
1210         (WebCore::CompositeAnimation::suspendAnimations):
1211         (WebCore::CompositeAnimation::resumeAnimations):
1212         (WebCore::CompositeAnimation::suspended):
1213         (WebCore::CompositeAnimation::styleAvailable):
1214         (WebCore::CompositeAnimation::setAnimating):
1215         (WebCore::CompositeAnimation::isAnimatingProperty):
1216         (WebCore::CompositeAnimation::setAnimationStartTime):
1217         (WebCore::CompositeAnimation::setTransitionStartTime):
1218         (WebCore::CompositeAnimation::overrideImplicitAnimations):
1219         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
1220         * page/animation/CompositeAnimation.h:
1221         * page/animation/ImplicitAnimation.cpp:
1222         (WebCore::ImplicitAnimation::sendTransitionEvent):
1223         * page/animation/ImplicitAnimation.h:
1224         (WebCore::ImplicitAnimation::create):
1225         * page/animation/KeyframeAnimation.cpp:
1226         (WebCore::KeyframeAnimation::sendAnimationEvent):
1227         * page/animation/KeyframeAnimation.h:
1228         (WebCore::KeyframeAnimation::create):
1229
1230 2008-10-09  David Hyatt  <hyatt@apple.com>
1231
1232         Add support for scrollbar orientation as a pseudoclass.  Add support for whether or not the scrollbar
1233         is active as well.
1234
1235         Reviewed by Tim Hatcher
1236
1237         Added scrollbars/scrollbar-orientation.html
1238
1239         * css/CSSSelector.cpp:
1240         (WebCore::CSSSelector::extractPseudoType):
1241         * css/CSSSelector.h:
1242         (WebCore::CSSSelector::):
1243         * css/CSSStyleSelector.cpp:
1244         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1245         * platform/Scrollbar.cpp:
1246         (WebCore::Scrollbar::isWindowActive):
1247         * platform/Scrollbar.h:
1248         * rendering/RenderScrollbar.cpp:
1249         (WebCore::RenderScrollbar::paint):
1250         (WebCore::RenderScrollbar::partForStyleResolve):
1251         * rendering/RenderScrollbar.h:
1252
1253 2008-10-09  David Hyatt  <hyatt@apple.com>
1254
1255         Add support for pseudo classes on scrollbar pseudo elements.  As an initial proof of concept only
1256         :enabled/:disabled are supported.  More pseudo classes will follow quickly now that this works.
1257
1258         Reviewed by Tim Hatcher
1259
1260         Added scrollbars/disabled-scrollbar.html
1261
1262         * css/CSSStyleSelector.cpp:
1263         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1264         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1265         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1266         * css/CSSStyleSelector.h:
1267         * rendering/RenderObject.cpp:
1268         (WebCore::RenderObject::getPseudoStyle):
1269         * rendering/RenderObject.h:
1270         * rendering/RenderScrollbar.cpp:
1271         (WebCore::RenderScrollbar::setEnabled):
1272         (WebCore::RenderScrollbar::scrollbarForStyleResolve):
1273         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1274         (WebCore::RenderScrollbar::paintPart):
1275         * rendering/RenderScrollbar.h:
1276
1277 2008-10-09  Eric Carlson  <eric.carlson@apple.com>
1278
1279         Media controls should not show when element is not visible
1280
1281         https://bugs.webkit.org/show_bug.cgi?id=21155
1282         
1283         Reviewed by Adele Peterson.
1284
1285         * html/HTMLMediaElement.cpp:
1286         (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
1287         in sync with visibility changes
1288         * html/HTMLMediaElement.h:
1289         * rendering/RenderMedia.cpp:
1290         (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
1291         (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
1292         if element is visible or not. Don't animate controller visibility when change triggered by
1293         showing or hiding media element.
1294         * rendering/RenderMedia.h: declare m_previousVisible
1295
1296 2008-10-09  Timothy Hatcher  <timothy@apple.com>
1297
1298         Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
1299         availability macros and version macros.
1300
1301         https://bugs.webkit.org/show_bug.cgi?id=21496
1302         rdar://problem/6259225
1303
1304         Reviewed by Sam Weinig.
1305
1306         * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
1307         * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
1308         and add an #if around the enum.
1309         * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
1310         comment to match the other headers.
1311         * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
1312         * bindings/objc/DOMObject.h: Add a version #if around class interface.
1313         * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
1314         and add a version #if around the enum.
1315         * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
1316         * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
1317         * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
1318         when they where added to WebKit. Also annotate individual methods that are
1319         deprecated or where added after the class was added to WebKit.
1320         * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
1321         since this header is included by most DOM headers. Annotate the JSObject method.
1322
1323         * bindings/scripts/CodeGeneratorObjC.pm:
1324         (ReadPublicInterfaces): Parse out the availability macro for each function/property.
1325         And parse out the availability version for the class/protocol. Default to
1326         WEBKIT_VERSION_LATEST if the class is new.
1327         (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
1328         interface availability version check if the class has a required version. Create
1329         a public interface key (used to lookup in $publicInterfaces) and make a declaration
1330         suffix that includes the availability macro (if needed). Use the "available in 1.3
1331         and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
1332         the default availability macro for old style methods. Tweak line breaks in the generated
1333         headers to look good and not have too many extra lines.
1334
1335 2008-10-09  Simon Fraser  <simon.fraser@apple.com>
1336
1337         Reviewed by Dave Hyatt
1338
1339         https://bugs.webkit.org/show_bug.cgi?id=20947
1340
1341         Refactor setStyle() methods into styleWillChange()
1342         and styleDidChange(), so most of the setStyle() overrides can
1343         be removed.
1344
1345         * rendering/RenderBR.cpp:
1346         (WebCore::RenderBR::styleDidChange):
1347         * rendering/RenderBR.h:
1348         * rendering/RenderBlock.cpp:
1349         (WebCore::RenderBlock::styleWillChange):
1350         (WebCore::RenderBlock::styleDidChange):
1351         * rendering/RenderBlock.h:
1352         * rendering/RenderBox.cpp:
1353         (WebCore::RenderBox::~RenderBox):
1354         (WebCore::RenderBox::destroy):
1355         (WebCore::RenderBox::styleWillChange):
1356         (WebCore::RenderBox::styleDidChange):
1357         * rendering/RenderBox.h:
1358         * rendering/RenderButton.cpp:
1359         (WebCore::RenderButton::styleWillChange):
1360         (WebCore::RenderButton::styleDidChange):
1361         * rendering/RenderButton.h:
1362         * rendering/RenderFieldset.cpp:
1363         (WebCore::RenderFieldset::styleDidChange):
1364         * rendering/RenderFieldset.h:
1365         * rendering/RenderFileUploadControl.cpp:
1366         (WebCore::RenderFileUploadControl::styleDidChange):
1367         * rendering/RenderFileUploadControl.h:
1368         * rendering/RenderInline.cpp:
1369         (WebCore::RenderInline::styleDidChange):
1370         * rendering/RenderInline.h:
1371         * rendering/RenderLayer.cpp:
1372         (WebCore::RenderLayer::styleChanged):
1373         * rendering/RenderLayer.h:
1374         * rendering/RenderListBox.cpp:
1375         (WebCore::RenderListBox::styleDidChange):
1376         * rendering/RenderListBox.h:
1377         * rendering/RenderListItem.cpp:
1378         (WebCore::RenderListItem::styleDidChange):
1379         * rendering/RenderListItem.h:
1380         * rendering/RenderListMarker.cpp:
1381         (WebCore::RenderListMarker::styleWillChange):
1382         (WebCore::RenderListMarker::styleDidChange):
1383         * rendering/RenderListMarker.h:
1384         * rendering/RenderMenuList.cpp:
1385         (WebCore::RenderMenuList::styleDidChange):
1386         * rendering/RenderMenuList.h:
1387         * rendering/RenderObject.cpp:
1388         (WebCore::RenderObject::setStyle):
1389         (WebCore::RenderObject::setStyleInternal):
1390         (WebCore::RenderObject::styleWillChange):
1391         (WebCore::RenderObject::styleDidChange):
1392         * rendering/RenderObject.h:
1393         * rendering/RenderReplaced.cpp:
1394         (WebCore::RenderReplaced::styleDidChange):
1395         * rendering/RenderReplaced.h:
1396         * rendering/RenderSVGGradientStop.cpp:
1397         (WebCore::RenderSVGGradientStop::styleDidChange):
1398         * rendering/RenderSVGGradientStop.h:
1399         * rendering/RenderScrollbarPart.cpp:
1400         (WebCore::RenderScrollbarPart::styleDidChange):
1401         * rendering/RenderScrollbarPart.h:
1402         * rendering/RenderSlider.cpp:
1403         (WebCore::RenderSlider::styleDidChange):
1404         * rendering/RenderSlider.h:
1405         * rendering/RenderTable.cpp:
1406         (WebCore::RenderTable::styleDidChange):
1407         * rendering/RenderTable.h:
1408         * rendering/RenderTableCell.cpp:
1409         (WebCore::RenderTableCell::styleWillChange):
1410         (WebCore::RenderTableCell::styleDidChange):
1411         * rendering/RenderTableCell.h:
1412         * rendering/RenderTableRow.cpp:
1413         (WebCore::RenderTableRow::styleWillChange):
1414         * rendering/RenderTableRow.h:
1415         * rendering/RenderText.cpp:
1416         (WebCore::RenderText::styleDidChange):
1417         * rendering/RenderText.h:
1418         * rendering/RenderTextControl.cpp:
1419         (WebCore::RenderTextControl::styleDidChange):
1420         * rendering/RenderTextControl.h:
1421         * rendering/RenderWidget.cpp:
1422         (WebCore::RenderWidget::styleDidChange):
1423         * rendering/RenderWidget.h:
1424
1425 2008-10-09  David Hyatt  <hyatt@apple.com>
1426
1427         Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away.  When our widget
1428         parent is nulled out is a good time.
1429
1430         Reviewed by Oliver Hunt
1431
1432         * rendering/RenderScrollbar.cpp:
1433         (WebCore::RenderScrollbar::~RenderScrollbar):
1434         (WebCore::RenderScrollbar::setParent):
1435         (WebCore::RenderScrollbar::updateScrollbarPart):
1436         * rendering/RenderScrollbar.h:
1437
1438 2008-10-09  David Hyatt  <hyatt@apple.com>
1439
1440         https://bugs.webkit.org/show_bug.cgi?id=21446
1441
1442         This patch gets CSS scrollbars up and limping.  There's no way to distinguish between states or between
1443         orientation and back vs. forward on the buttons, but it's a start.
1444
1445         Reviewed by Oliver Hunt
1446
1447         Added scrollbars/basic-scrollbar.html
1448
1449         * WebCore.xcodeproj/project.pbxproj:
1450         * css/CSSSelector.cpp:
1451         (WebCore::CSSSelector::extractPseudoType):
1452         * css/CSSSelector.h:
1453         (WebCore::CSSSelector::):
1454         * css/CSSStyleSelector.cpp:
1455         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1456         * platform/ScrollTypes.h:
1457         (WebCore::):
1458         * platform/Scrollbar.h:
1459         (WebCore::Scrollbar::styleChanged):
1460         * platform/ScrollbarThemeComposite.cpp:
1461         (WebCore::ScrollbarThemeComposite::paint):
1462         (WebCore::ScrollbarThemeComposite::splitTrack):
1463         * platform/ScrollbarThemeComposite.h:
1464         (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
1465         (WebCore::ScrollbarThemeComposite::paintTrackBackground):
1466         (WebCore::ScrollbarThemeComposite::paintTrackPiece):
1467         * platform/win/ScrollbarThemeSafari.cpp:
1468         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
1469         * platform/win/ScrollbarThemeSafari.h:
1470         * platform/win/ScrollbarThemeWin.cpp:
1471         (WebCore::ScrollbarThemeWin::paintTrack):
1472         * platform/win/ScrollbarThemeWin.h:
1473         * rendering/RenderLayer.cpp:
1474         (WebCore::RenderLayer::createScrollbar):
1475         (WebCore::RenderLayer::styleChanged):
1476         * rendering/RenderScrollbar.cpp: Added.
1477         (WebCore::RenderScrollbar::createCustomScrollbar):
1478         (WebCore::RenderScrollbar::RenderScrollbar):
1479         (WebCore::RenderScrollbar::~RenderScrollbar):
1480         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1481         (WebCore::RenderScrollbar::updateScrollbarParts):
1482         (WebCore::RenderScrollbar::updateScrollbarPart):
1483         (WebCore::RenderScrollbar::paintPart):
1484         (WebCore::RenderScrollbar::buttonRect):
1485         (WebCore::RenderScrollbar::minimumThumbLength):
1486         * rendering/RenderScrollbar.h: Added.
1487         (WebCore::RenderScrollbar::styleChanged):
1488         (WebCore::RenderScrollbar::owningRenderer):
1489         * rendering/RenderScrollbarPart.cpp: Added.
1490         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
1491         (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
1492         (WebCore::RenderScrollbarPart::layout):
1493         (WebCore::RenderScrollbarPart::layoutHorizontalPart):
1494         (WebCore::RenderScrollbarPart::layoutVerticalPart):
1495         (WebCore::calcScrollbarThicknessUsing):
1496         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1497         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1498         (WebCore::RenderScrollbarPart::calcPrefWidths):
1499         (WebCore::RenderScrollbarPart::setStyle):
1500         * rendering/RenderScrollbarPart.h: Added.
1501         (WebCore::RenderScrollbarPart::renderName):
1502         (WebCore::RenderScrollbarPart::requiresLayer):
1503         * rendering/RenderScrollbarTheme.cpp: Added.
1504         (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
1505         (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
1506         (WebCore::RenderScrollbarTheme::hasButtons):
1507         (WebCore::RenderScrollbarTheme::hasThumb):
1508         (WebCore::RenderScrollbarTheme::minimumThumbLength):
1509         (WebCore::RenderScrollbarTheme::backButtonRect):
1510         (WebCore::RenderScrollbarTheme::forwardButtonRect):
1511         (WebCore::RenderScrollbarTheme::trackRect):
1512         (WebCore::RenderScrollbarTheme::paintScrollCorner):
1513         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
1514         (WebCore::RenderScrollbarTheme::paintTrackBackground):
1515         (WebCore::RenderScrollbarTheme::paintTrackPiece):
1516         (WebCore::RenderScrollbarTheme::paintButton):
1517         (WebCore::RenderScrollbarTheme::paintThumb):
1518         * rendering/RenderScrollbarTheme.h: Added.
1519         (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
1520         (WebCore::RenderScrollbarTheme::scrollbarThickness):
1521         (WebCore::RenderScrollbarTheme::buttonsPlacement):
1522         (WebCore::RenderScrollbarTheme::supportsControlTints):
1523         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
1524         (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
1525         (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
1526         (WebCore::RenderScrollbarTheme::registerScrollbar):
1527         (WebCore::RenderScrollbarTheme::unregisterScrollbar):
1528         * rendering/style/RenderStyle.h:
1529         (WebCore::RenderStyle::):
1530
1531 2008-10-09  Eric Seidel  <eric@webkit.org>
1532
1533         Reviewed by Oliver Hunt.
1534
1535         Fix Canvex DOOM Game
1536         Gradient clips were not getting cleared after filling the
1537         gradient, this was causing nothing to draw in Canvex
1538         https://bugs.webkit.org/show_bug.cgi?id=21498
1539         
1540         Tests forthcoming.
1541
1542         * WebCore.xcodeproj/project.pbxproj:
1543         * platform/graphics/cg/GraphicsContextCG.cpp:
1544         (WebCore::GraphicsContext::fillPath):
1545         (WebCore::GraphicsContext::strokePath):
1546         (WebCore::GraphicsContext::fillRect):
1547
1548 2008-10-09  Eric Seidel  <eric@webkit.org>
1549
1550         Reviewed by Oliver Hunt.
1551         
1552         Fix transformed patterns
1553         https://bugs.webkit.org/show_bug.cgi?id=21498
1554         
1555         Test: fast/canvas/patternfill-repeat.html
1556
1557         * WebCore.xcodeproj/project.pbxproj:
1558         * platform/graphics/GraphicsContext.cpp:
1559         (WebCore::GraphicsContext::setStrokePattern):
1560         (WebCore::GraphicsContext::setFillPattern):
1561         (WebCore::GraphicsContext::setStrokeGradient):
1562         (WebCore::GraphicsContext::setFillGradient):
1563         * platform/graphics/GraphicsContext.h:
1564         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1565         * platform/graphics/cg/GraphicsContextCG.cpp:
1566         (WebCore::applyStrokePattern):
1567         (WebCore::applyFillPattern):
1568         (WebCore::GraphicsContext::drawPath):
1569         (WebCore::GraphicsContext::fillPath):
1570         (WebCore::GraphicsContext::strokePath):
1571         (WebCore::GraphicsContext::fillRect):
1572         * platform/graphics/qt/GraphicsContextQt.cpp:
1573         * platform/graphics/wx/GraphicsContextWx.cpp:
1574
1575 2008-10-09  Kevin Ollivier  <kevino@theolliviers.com>
1576
1577         wx build fixes.
1578
1579         * platform/wx/WidgetWx.cpp:
1580         * plugins/wx/PluginViewWx.cpp:
1581         (WebCore::PluginView::invalidateRect):
1582         * webcore-base.bkl:
1583
1584 2008-10-09  Chris Marrin  <cmarrin@apple.com>
1585
1586         Reviewed by Darin Adler.
1587
1588         Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
1589         Animations assert when navigating from page
1590
1591         Changed assertions to test the right flag for the paused state
1592
1593         * page/animation/AnimationBase.cpp:
1594         (WebCore::AnimationBase::updateStateMachine):
1595
1596 2008-10-09  Chris Marrin  <cmarrin@apple.com>
1597
1598         Reviewed by Dan Bernstein.
1599
1600         Fixed > 180 degree rotation bug
1601         Ensure that validateTransformFunctionList() is called after updating keyframe styles
1602
1603         https://bugs.webkit.org/show_bug.cgi?id=21420
1604
1605         Test: animations/big-rotation.html
1606
1607         * page/animation/KeyframeAnimation.cpp:
1608         (WebCore::KeyframeAnimation::KeyframeAnimation):
1609
1610 2008-10-09  Brady Eidson  <beidson@apple.com>
1611
1612         Reviewed by Anders
1613
1614         <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
1615
1616         The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
1617
1618         * loader/FrameLoader.cpp:
1619         (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
1620         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
1621           so perform a second null check on the page.  Bail if it has been cleared.
1622
1623 2008-10-09  Alp Toker  <alp@nuanti.com>
1624
1625         Build fix for recent DOM generation Makefile changes when custom
1626         CFLAGS/CXXFLAGS are passed in.
1627
1628         * GNUmakefile.am:
1629
1630 2008-10-09  Jan Michael Alonzo  <jmalonzo@webkit.org>
1631
1632         Reviewed by Alp Toker.
1633
1634         https://bugs.webkit.org/show_bug.cgi?id=21390
1635         [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
1636
1637         * platform/gtk/ScrollViewGtk.cpp:
1638         (WebCore::ScrollView::platformRemoveChild):
1639
1640 2008-10-09  Darin Adler  <darin@apple.com>
1641
1642        - try to fix Qt build
1643
1644         * bridge/qt/qt_runtime.cpp:
1645         (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
1646
1647 2008-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
1648
1649         Reviewed by Oliver Hunt & Sam Weinig.
1650
1651         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
1652         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
1653         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
1654
1655         Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
1656         Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
1657         use tree is rebuild.
1658
1659         Make SVGElementInstance a real EventTarget, as the SVG specification demands.
1660         When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
1661         is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
1662         share an event listener list. Every event listener change on the SVGElementInstance object is forwared
1663         to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
1664         Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
1665         to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
1666         Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
1667
1668         Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
1669         see resources/use-instanceRoot-event-bubbling.js for details.
1670
1671         Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
1672                svg/custom/use-elementInstance-methods.svg (reenabled)
1673                svg/custom/use-setAttribute-crash.svg (covers bug 20550)
1674                svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
1675                svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
1676                svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
1677
1678         * DerivedSources.make:
1679         * GNUmakefile.am:
1680         * WebCore.pro:
1681         * WebCore.vcproj/WebCore.vcproj:
1682         * WebCore.xcodeproj/project.pbxproj:
1683         * bindings/js/JSEventListener.h:
1684         (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
1685         * bindings/js/JSEventTarget.cpp:
1686         * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
1687         * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
1688         * bindings/js/JSSVGElementInstanceCustom.cpp:
1689         (WebCore::JSSVGElementInstance::addEventListener):
1690         (WebCore::JSSVGElementInstance::removeEventListener):
1691         (WebCore::JSSVGElementInstance::pushEventHandlerScope):
1692         * bindings/scripts/CodeGeneratorJS.pm:
1693         * bindings/scripts/CodeGeneratorObjC.pm:
1694         * dom/EventListener.h:
1695         (WebCore::EventListener::wasCreatedFromMarkup):
1696         * dom/EventTargetNode.cpp:
1697         (WebCore::updateSVGElementInstancesAfterEventListenerChange):
1698         (WebCore::EventTargetNode::addEventListener):
1699         (WebCore::EventTargetNode::removeEventListener):
1700         (WebCore::eventTargetAsSVGElementInstance):
1701         (WebCore::eventTargetRespectingSVGTargetRules):
1702         (WebCore::EventTargetNode::dispatchEvent):
1703         (WebCore::EventTargetNode::dispatchGenericEvent):
1704         (WebCore::EventTargetNode::removeEventListenerForType):
1705         * page/EventHandler.cpp:
1706         (WebCore::EventHandler::clear):
1707         (WebCore::instanceAssociatedWithShadowTreeElement):
1708         (WebCore::EventHandler::updateMouseEventTargetNode):
1709         * page/EventHandler.h:
1710         * svg/EventTargetSVGElementInstance.cpp: Removed.
1711         * svg/EventTargetSVGElementInstance.h: Removed.
1712         * svg/SVGElementInstance.cpp:
1713         (WebCore::SVGElementInstance::SVGElementInstance):
1714         (WebCore::SVGElementInstance::~SVGElementInstance):
1715         (WebCore::SVGElementInstance::childNodes):
1716         (WebCore::SVGElementInstance::setShadowTreeElement):
1717         (WebCore::SVGElementInstance::forgetWrapper):
1718         (WebCore::SVGElementInstance::appendChild):
1719         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
1720         (WebCore::SVGElementInstance::setNeedsUpdate):
1721         (WebCore::SVGElementInstance::associatedFrame):
1722         (WebCore::SVGElementInstance::addEventListener):
1723         (WebCore::SVGElementInstance::removeEventListener):
1724         (WebCore::SVGElementInstance::dispatchEvent):
1725         (WebCore::SVGElementInstance::onabort):
1726         (WebCore::SVGElementInstance::setOnabort):
1727         (WebCore::SVGElementInstance::onblur):
1728         (WebCore::SVGElementInstance::setOnblur):
1729         (WebCore::SVGElementInstance::onchange):
1730         (WebCore::SVGElementInstance::setOnchange):
1731         (WebCore::SVGElementInstance::onclick):
1732         (WebCore::SVGElementInstance::setOnclick):
1733         (WebCore::SVGElementInstance::oncontextmenu):
1734         (WebCore::SVGElementInstance::setOncontextmenu):
1735         (WebCore::SVGElementInstance::ondblclick):
1736         (WebCore::SVGElementInstance::setOndblclick):
1737         (WebCore::SVGElementInstance::onerror):
1738         (WebCore::SVGElementInstance::setOnerror):
1739         (WebCore::SVGElementInstance::onfocus):
1740         (WebCore::SVGElementInstance::setOnfocus):
1741         (WebCore::SVGElementInstance::oninput):
1742         (WebCore::SVGElementInstance::setOninput):
1743         (WebCore::SVGElementInstance::onkeydown):
1744         (WebCore::SVGElementInstance::setOnkeydown):
1745         (WebCore::SVGElementInstance::onkeypress):
1746         (WebCore::SVGElementInstance::setOnkeypress):
1747         (WebCore::SVGElementInstance::onkeyup):
1748         (WebCore::SVGElementInstance::setOnkeyup):
1749         (WebCore::SVGElementInstance::onload):
1750         (WebCore::SVGElementInstance::setOnload):
1751         (WebCore::SVGElementInstance::onmousedown):
1752         (WebCore::SVGElementInstance::setOnmousedown):
1753         (WebCore::SVGElementInstance::onmousemove):
1754         (WebCore::SVGElementInstance::setOnmousemove):
1755         (WebCore::SVGElementInstance::onmouseout):
1756         (WebCore::SVGElementInstance::setOnmouseout):
1757         (WebCore::SVGElementInstance::onmouseover):
1758         (WebCore::SVGElementInstance::setOnmouseover):
1759         (WebCore::SVGElementInstance::onmouseup):
1760         (WebCore::SVGElementInstance::setOnmouseup):
1761         (WebCore::SVGElementInstance::onmousewheel):
1762         (WebCore::SVGElementInstance::setOnmousewheel):
1763         (WebCore::SVGElementInstance::onbeforecut):
1764         (WebCore::SVGElementInstance::setOnbeforecut):
1765         (WebCore::SVGElementInstance::oncut):
1766         (WebCore::SVGElementInstance::setOncut):
1767         (WebCore::SVGElementInstance::onbeforecopy):
1768         (WebCore::SVGElementInstance::setOnbeforecopy):
1769         (WebCore::SVGElementInstance::oncopy):
1770         (WebCore::SVGElementInstance::setOncopy):
1771         (WebCore::SVGElementInstance::onbeforepaste):
1772         (WebCore::SVGElementInstance::setOnbeforepaste):
1773         (WebCore::SVGElementInstance::onpaste):
1774         (WebCore::SVGElementInstance::setOnpaste):
1775         (WebCore::SVGElementInstance::ondragenter):
1776         (WebCore::SVGElementInstance::setOndragenter):
1777         (WebCore::SVGElementInstance::ondragover):
1778         (WebCore::SVGElementInstance::setOndragover):
1779         (WebCore::SVGElementInstance::ondragleave):
1780         (WebCore::SVGElementInstance::setOndragleave):
1781         (WebCore::SVGElementInstance::ondrop):
1782         (WebCore::SVGElementInstance::setOndrop):
1783         (WebCore::SVGElementInstance::ondragstart):
1784         (WebCore::SVGElementInstance::setOndragstart):
1785         (WebCore::SVGElementInstance::ondrag):
1786         (WebCore::SVGElementInstance::setOndrag):
1787         (WebCore::SVGElementInstance::ondragend):
1788         (WebCore::SVGElementInstance::setOndragend):
1789         (WebCore::SVGElementInstance::onreset):
1790         (WebCore::SVGElementInstance::setOnreset):
1791         (WebCore::SVGElementInstance::onresize):
1792         (WebCore::SVGElementInstance::setOnresize):
1793         (WebCore::SVGElementInstance::onscroll):
1794         (WebCore::SVGElementInstance::setOnscroll):
1795         (WebCore::SVGElementInstance::onsearch):
1796         (WebCore::SVGElementInstance::setOnsearch):
1797         (WebCore::SVGElementInstance::onselect):
1798         (WebCore::SVGElementInstance::setOnselect):
1799         (WebCore::SVGElementInstance::onselectstart):
1800         (WebCore::SVGElementInstance::setOnselectstart):
1801         (WebCore::SVGElementInstance::onsubmit):
1802         (WebCore::SVGElementInstance::setOnsubmit):
1803         (WebCore::SVGElementInstance::onunload):
1804         (WebCore::SVGElementInstance::setOnunload):
1805         * svg/SVGElementInstance.h:
1806         (WebCore::SVGElementInstance::needsUpdate):
1807         (WebCore::SVGElementInstance::toNode):
1808         (WebCore::SVGElementInstance::toSVGElementInstance):
1809         (WebCore::SVGElementInstance::correspondingElement):
1810         (WebCore::SVGElementInstance::correspondingUseElement):
1811         (WebCore::SVGElementInstance::shadowTreeElement):
1812         (WebCore::SVGElementInstance::parentNode):
1813         (WebCore::SVGElementInstance::previousSibling):
1814         (WebCore::SVGElementInstance::nextSibling):
1815         (WebCore::SVGElementInstance::firstChild):
1816         (WebCore::SVGElementInstance::lastChild):
1817         (WebCore::SVGElementInstance::ownerDocument):
1818         (WebCore::SVGElementInstance::hasChildNodes):
1819         (WebCore::SVGElementInstance::setFirstChild):
1820         (WebCore::SVGElementInstance::setLastChild):
1821         (WebCore::SVGElementInstance::setNextSibling):
1822         (WebCore::SVGElementInstance::setPreviousSibling):
1823         (WebCore::SVGElementInstance::refEventTarget):
1824         (WebCore::SVGElementInstance::derefEventTarget):
1825         * svg/SVGElementInstance.idl:
1826         * svg/SVGStyledElement.cpp:
1827         (WebCore::SVGStyledElement::svgAttributeChanged):
1828         (WebCore::SVGStyledElement::childrenChanged):
1829         * svg/SVGUseElement.cpp:
1830         (WebCore::SVGUseElement::svgAttributeChanged):
1831         (WebCore::shadowTreeContainsChangedNodes):
1832         (WebCore::SVGUseElement::recalcStyle):
1833         (WebCore::dumpInstanceTree):
1834         (WebCore::SVGUseElement::buildPendingResource):
1835         (WebCore::SVGUseElement::buildInstanceTree):
1836         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
1837         * svg/SVGUseElement.h:
1838
1839 2008-10-08  Sam Weinig  <sam@webkit.org>
1840
1841         Reviewed by Cameron Zwarich.
1842
1843         Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
1844         REGRESSION (r36977): getRGBColorValue().red returning incorrect value
1845
1846         Update JSRGBColor to use the new static function per getter approach.
1847
1848         Test: fast/dom/css-RGBValue.html
1849
1850         * bindings/js/JSRGBColor.cpp:
1851         (WebCore::):
1852         (jsRGBColorRed):
1853         (jsRGBColorGreen):
1854         (jsRGBColorBlue):
1855         * bindings/js/JSRGBColor.h:
1856
1857 2008-10-08  Eric Seidel  <eric@webkit.org>
1858
1859         Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
1860
1861         svgElement.className.baseValue = "foo" does not work
1862         https://bugs.webkit.org/show_bug.cgi?id=20651
1863
1864         * dom/StyledElement.cpp:
1865         (WebCore::StyledElement::classAttributeChanged):
1866         (WebCore::StyledElement::parseMappedAttribute):
1867         * dom/StyledElement.h:
1868         * svg/SVGStyledElement.cpp:
1869         (WebCore::SVGStyledElement::svgAttributeChanged):
1870
1871 2008-10-08  Anthony Ricaud  <rik24d@gmail.com>
1872
1873         Make the toolbar label text-shadow not disappear when clicking on the
1874         search result count or around the search field.
1875
1876         Reviewed by Timothy Hatcher.
1877
1878         * inspector/front-end/inspector.css:
1879         (.toolbar-item:active .toolbar-label): Make this rule also require the
1880         toggleable class with the toolbar-item class.
1881
1882 2008-10-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
1883
1884         Reviewed by Simon.
1885
1886         Updated the qrc file for the Web Inspector to contain the current set
1887         of images.
1888
1889         * inspector/front-end/WebKit.qrc:
1890
1891 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
1892
1893         Reviewed by Simon.
1894
1895         Fix the linking of applications against WebKit on Qt/Windows.
1896
1897         The prl files that qmake creates are buggy on Unix, but we they're
1898         fine on Windows and we have to have them there in order to get the
1899         dependencies correct.
1900
1901         * WebCore.pro:
1902
1903 2008-10-08  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1904
1905         Reviewed by Simon.
1906
1907         Speed up rectangle filling by not re-creating a QBrush all the time.
1908
1909         This triggers faster path in QPainter where the brush is reused.
1910
1911         * platform/graphics/qt/GraphicsContextQt.cpp:
1912         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1913         (WebCore::GraphicsContext::fillRect):
1914
1915 2008-10-08  Thiago Macieira  <thiago.macieira@nokia.com>
1916
1917         Reviewed by Simon.
1918
1919         Fixes: Encoding of Qt URLs
1920
1921         This encoding was added by Simon and I because QUrl's
1922         tolerant parser wasn't tolerant enough. Now it is, so we don't need
1923         this anymore.
1924
1925         * platform/qt/KURLQt.cpp:
1926         (WebCore::KURL::operator QUrl):
1927
1928 2008-10-08  Marius Storm-Olsen  <marius@trolltech.com>
1929
1930         Reviewed by Simon.
1931
1932         Fixes dependencies in qmake generated visual studio projects.
1933
1934         Only add debug lib name if we're in the debug build_pass, else the release version.
1935         The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
1936
1937         * WebCore.pro:
1938
1939 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
1940
1941         Reviewed by Simon.
1942
1943         Fix compilation errors on VS2008 64Bit
1944
1945         * platform/text/TextStream.cpp:
1946         (WebCore::TextStream::operator<<):
1947         * platform/text/TextStream.h:
1948         * plugins/win/PluginViewWin.cpp:
1949         (WebCore::PluginView::init):
1950
1951 2008-10-07  Alp Toker  <alp@nuanti.com>
1952
1953         GTK+ build fix for older automake versions (1.7). Discussed in bug
1954         #21392.
1955
1956         * GNUmakefile.am:
1957
1958 2008-10-07  Anders Carlsson  <andersca@apple.com>
1959
1960         Reviewed by Antti Koivisto.
1961
1962         <rdar://problem/6273887> Crash in ApplicationCacheGroup
1963         
1964         Make sure to stop loading even before a cache update is in progress so that the
1965         manifest load will be stopped.
1966
1967         * loader/appcache/ApplicationCacheGroup.cpp:
1968         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
1969         (WebCore::ApplicationCacheGroup::stopLoading):
1970         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
1971
1972 2008-10-07  Timothy Hatcher  <timothy@apple.com>
1973
1974         Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
1975
1976         https://bugs.webkit.org/show_bug.cgi?id=21433
1977
1978         Reviewed by Sam Weinig.
1979
1980         * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
1981         * bindings/objc/DOM.mm: Remove previous category implementations
1982         on DOMDocument for createNodeIterator: and createTreeWalker:. Also
1983         moves ObjCNodeFilterCondition to its own file.
1984         * bindings/objc/DOMTraversal.h: Remove the category methods that added
1985         createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
1986         to do since DOmDocument.h is included still, and has these methods.
1987         * bindings/objc/DOMUtility.mm:
1988         (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
1989         JSTreeWalker now that the ObjC binding conforms to the standard wrap.
1990         * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
1991         (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
1992         (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
1993         * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
1994         (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
1995         * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
1996         createTreeWalker: methods to DOMDocument.
1997         * bindings/scripts/CodeGeneratorObjC.pm:
1998         (GetObjCTypeGetter): Add a case for NodeFilter.
1999         (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
2000         (GenerateImplementation): Remove existing NodeFilter special case that
2001         used the m_filter member variable. Add a new special getter for protocol
2002         types that aren't EventTarget, so the right class is used for NodeFilter.
2003         Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
2004         * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
2005         OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
2006         Rename the entityReferenceExpansion parameter to expandEntityReferences to
2007         match the previous ObjC API.
2008         * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
2009         m_filter member variable was never used in practice, it was always nil!
2010         We can remove it and not pad the object because this can't be subclassed.
2011         * dom/TreeWalker.idl: Ditto.
2012
2013 2008-10-07  Timothy Hatcher  <timothy@apple.com>
2014
2015         Auto-generate the DOMEventTarget protocol implementation for
2016         DOMNode and DOMSVGElementInstance.
2017
2018         https://bugs.webkit.org/show_bug.cgi?id=21432
2019
2020         Reviewed by Darin Adler.
2021
2022         * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
2023         * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
2024         ObjCEventListener to it's own file. Remove the manual impelmentations
2025         of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
2026         * bindings/objc/DOMEvents.h: Remove the categories that defined
2027         DOMEventTarget for DOMNode and DOMSVGElementInstance.
2028         * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
2029         * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
2030         (WebCore::ObjCEventListener::find): Moved from DOM.mm.
2031         (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
2032         callers from doing a manual deref.
2033         (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
2034         (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
2035         * bindings/scripts/CodeGeneratorObjC.pm:
2036         (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
2037         (AddIncludesForType): Include ObjCEventListener.h for EventListener.
2038         And include EventTargetSVGElementInstance.h for SVGElementInstance.
2039         (GenerateHeader): Remove the check for multiple parents.
2040         (GenerateImplementation): Remove the check for multiple parents. Remove
2041         the @deprecatedFunctions array since deprecated methods get generated
2042         into the main @interface now to work with protocols. Add support
2043         for the EventTargetNodeCast extended attribute. Add support for
2044         EventListener parameters.
2045         * dom/Node.idl: Define superclasses for ObjC so the implementation
2046         and interface implement the DOMEventTarget protocol. Explicitly
2047         specify Object as a superclass to use DOMEventTarget. Object will turn
2048         into DOMObject. This is needed to take the code generator down the right
2049         path of multiple super-classes as protocols. It is ObjC only for legacy
2050         reasons. The event target methods are normally on NodeEventTarget, a
2051         subclass of Node. But the ObjC API has never has this subclass and
2052         they are on DOMNode.
2053         * svg/SVGElementInstance.idl: Ditto.
2054
2055 2008-10-07  David Hyatt  <hyatt@apple.com>
2056
2057         Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
2058
2059         The new pseudo-elements are:
2060             scrollbar
2061             scrollbar-button
2062             scrollbar-corner
2063             scrollbar-thumb
2064             scrollbar-track
2065         
2066         These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
2067         the following new pseudo-classes:
2068             scrollbar-active
2069             scrollbar-back
2070             scrollbar-forward
2071             scrollbar-horizontal
2072             scrollbar-vertical
2073         
2074         Reviewed by Adele
2075
2076         * css/CSSSelector.cpp:
2077         (WebCore::CSSSelector::extractPseudoType):
2078         * css/CSSSelector.h:
2079         (WebCore::CSSSelector::):
2080
2081 2008-10-06  Timothy Hatcher  <timothy@apple.com>
2082
2083         Add support to the Resources panel for queries like "#123", "foo #123",
2084         "line: 123" and "foo line: 123". These will match the query limiting
2085         the search only to the line specified. If only a line is specified,
2086         the whole line is matched.
2087
2088         https://bugs.webkit.org/show_bug.cgi?id=21422
2089
2090         Reviewed by Darin Adler.
2091
2092         * inspector/front-end/SourceFrame.js:
2093         (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
2094         row if the index is greater than the rows collection. Let it return
2095         undefined by indexing out-of-bounds.
2096         * inspector/front-end/SourceView.js:
2097         (WebInspector.SourceView.prototype.performSearch): Add support for
2098         queries like "#123", "foo #123", "line: 123" and "foo line: 123".
2099         Also match the whole query to the whole document in case there are
2100         colors like "#333".
2101
2102 2008-10-07  Alp Toker  <alp@nuanti.com>
2103
2104         Reviewed by Mark Rowe.
2105
2106         https://bugs.webkit.org/show_bug.cgi?id=21392
2107         [GTK] Auto-generate JS DOM binding sources list
2108
2109         Remove the huge lists of generated DOM binding sources and headers in
2110         the build system. These are difficult to maintain and can be derived
2111         automatically.
2112
2113         The new strategy is to re-use the existing lists of IDL sources (which
2114         are needed for dist support anyway). This will also ease the addition
2115         of new language bindings.
2116
2117         * GNUmakefile.am:
2118
2119 2008-10-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
2120
2121         Reviewed by Simon.
2122
2123         Don't attempt to paint when updating control tints
2124
2125         We don't have a valid PlatformGraphicsContext so schedule
2126         the dirty scrollbar/scrollview area for repaint instead.
2127
2128         * platform/qt/ScrollbarThemeQt.cpp:
2129         (WebCore::ScrollbarThemeQt::paint):
2130         (WebCore::ScrollbarThemeQt::paintScrollCorner):
2131
2132 2008-10-07  Holger Hans Peter Freyther  <zecke@selfish.org>
2133
2134         [qt] Build fix after Scrollbar.h and Widget.h changes.
2135
2136         * plugins/qt/PluginViewQt.cpp:
2137         (WebCore::PluginView::getValue):
2138         (WebCore::PluginView::init):
2139
2140 2008-10-06  David Hyatt  <hyatt@apple.com>
2141
2142         Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
2143
2144         Reviewed by Sam Weinig
2145
2146         * WebCore.base.exp:
2147         * WebCore.xcodeproj/project.pbxproj:
2148         * loader/EmptyClients.h:
2149         (WebCore::EmptyFrameLoaderClient::hasWebView):
2150         * loader/FrameLoader.cpp:
2151         (WebCore::FrameLoader::loadWithDocumentLoader):
2152         (WebCore::FrameLoader::transitionToCommitted):
2153         * loader/FrameLoaderClient.h:
2154         * page/FocusController.cpp:
2155         (WebCore::FocusController::setActive):
2156         * page/FrameView.cpp:
2157         (WebCore::FrameView::FrameView):
2158         (WebCore::FrameView::init):
2159         (WebCore::FrameView::layoutIfNeededRecursive):
2160         * page/FrameView.h:
2161
2162 2008-10-06  Dan Bernstein  <mitz@apple.com>
2163
2164         - build fix
2165
2166         * bindings/objc/DOMEvents.h:
2167
2168 2008-10-06  Mark Mentovai  <mark@moxienet.com>
2169
2170         Reviewed by Tim Hatcher.
2171
2172         Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
2173         Platform.h is not available, in preference to #ifdef ENABLE_feature.
2174         #ifdef is wrong now that features are disabled by #defining
2175         ENABLE_feature to 0.
2176
2177         https://bugs.webkit.org/show_bug.cgi?id=21338
2178
2179         * bindings/objc/DOMEvents.h:
2180         * bindings/objc/PublicDOMInterfaces.h:
2181         * dom/Document.idl:
2182         * page/DOMWindow.idl:
2183         * svg/svgtags.in:
2184
2185 2008-10-06  Mark Mentovai  <mark@moxienet.com>
2186
2187         Reviewed by Sam Weinig.
2188
2189         * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
2190         to get the declaration for isMainThread().
2191
2192 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
2193
2194         Reviewed by Tim Hatcher.
2195
2196         WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
2197         to reflect that.
2198
2199         * WebCore.xcodeproj/project.pbxproj:
2200         * platform/mac/WebCoreObjCExtras.c: Removed.
2201         * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
2202
2203 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
2204
2205         Reviewed by Dan Bernstein.
2206         
2207         Added C++ forward declaration for the NSURLAuthenticationChallenge class
2208         so that the m_currentMacChallenge variable doesn't cause a
2209         compilation error when ResourceHandleInternal.h is included from a C++ file.
2210         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
2211
2212         * platform/network/ResourceHandleInternal.h:
2213
2214 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
2215
2216         Windows build fix.
2217
2218         * WebCore.vcproj/WebCore.vcproj:
2219
2220 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
2221
2222         https://bugs.webkit.org/show_bug.cgi?id=21416
2223         Add missing null checks identified by Application Verifier.
2224         
2225         Reviewed by Darin Adler.
2226
2227         * platform/win/SharedTimerWin.cpp:
2228         (WebCore::clearTimer):
2229
2230 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
2231
2232         Reviewed by Tim Hatcher.
2233
2234         Removed accidentally left in debugging statement.
2235
2236         * inspector/front-end/inspector.js:
2237
2238 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
2239
2240         Reviewed by Tim Hatcher and Oliver Hunt.
2241
2242         https://bugs.webkit.org/show_bug.cgi?id=21412
2243         Bug 21412: Refactor user initiated profile count to be more stable
2244
2245         * inspector/InspectorController.cpp: Keep track of the user-initiated
2246         profiles here now.
2247         (WebCore::InspectorController::InspectorController):
2248         (WebCore::InspectorController::startUserInitiatedProfiling):
2249         (WebCore::InspectorController::stopUserInitiatedProfiling):
2250         * inspector/InspectorController.h:
2251         The front end will now need to check for the existence of the user-
2252         initiated profile title and use its count instead of keeping its own.
2253         * inspector/front-end/ProfilesPanel.js:
2254
2255 2008-10-06  Dan Bernstein  <mitz@apple.com>
2256
2257         Reviewed by Sam Weinig.
2258
2259         - separate GDI text drawing into its own function
2260
2261         * platform/graphics/win/FontCGWin.cpp:
2262         (WebCore::drawGDIGlyphs):
2263         (WebCore::Font::drawGlyphs):
2264
2265 2008-10-03  Steve Falkenburg  <sfalken@apple.com>
2266
2267         <rdar://problem/6249833> Fix default button appearance
2268         
2269         Reviewed by Adele Peterson.
2270
2271         * rendering/RenderThemeWin.cpp:
2272         (WebCore::RenderThemeWin::supportsFocus):
2273         (WebCore::RenderThemeWin::determineClassicState):
2274         (WebCore::RenderThemeWin::determineButtonState):
2275         (WebCore::RenderThemeWin::getClassicThemeData):
2276         (WebCore::RenderThemeWin::getThemeData):
2277         (WebCore::drawControl):
2278         * rendering/RenderThemeWin.h:
2279
2280 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
2281
2282         Reviewed by Simon.
2283
2284         Add native virtual keycode to PlatformKeyboardEvent
2285
2286         * platform/PlatformKeyboardEvent.h:
2287         * platform/gtk/KeyEventGtk.cpp:
2288         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2289         * platform/mac/KeyEventMac.mm:
2290         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2291         * platform/qt/PlatformKeyboardEventQt.cpp:
2292         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2293         * platform/win/KeyEventWin.cpp:
2294         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2295         * platform/wx/KeyboardEventWx.cpp:
2296         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2297
2298 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
2299
2300         Reviewed by Simon.
2301
2302         Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
2303
2304         * platform/text/PlatformString.h:
2305         * platform/text/StringImpl.h:
2306         * platform/text/cf/StringCF.cpp:
2307         * platform/text/cf/StringImplCF.cpp:
2308
2309 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
2310
2311         Reviewed by Simon.
2312
2313         Use bundles on QtWebKit/Mac for platform modules
2314
2315         * platform/FileSystem.h:
2316         * platform/qt/FileSystemQt.cpp:
2317         (WebCore::unloadModule):
2318
2319 2008-10-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2320
2321         Reviewed by Simon.
2322
2323         Build fix for MinGW.
2324
2325         * platform/win/SystemTimeWin.cpp:
2326         * plugins/win/PluginViewWin.cpp:
2327         (WebCore::PluginView::invalidateRect):
2328
2329 2008-10-06  Adam Roben  <aroben@apple.com>
2330
2331         Mimic the inspector/ directory structure in WebCore.vcproj
2332
2333         * WebCore.vcproj/WebCore.vcproj:
2334
2335 2008-10-06  Adam Roben  <aroben@apple.com>
2336
2337         Windows build fix
2338
2339         * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
2340         configurations to include WebCore/inspector.
2341
2342 2008-10-04  Eric Seidel  <eric@webkit.org>
2343
2344         Reviewed by Darin Adler.
2345
2346         SVG should support ascent and descent properties <font-face> instead of <font>!
2347         https://bugs.webkit.org/show_bug.cgi?id=21365
2348         
2349         Tested by many many existing SVG tests.
2350
2351         * svg/SVGFontFaceElement.cpp:
2352         (WebCore::SVGFontFaceElement::ascent):
2353         (WebCore::SVGFontFaceElement::descent):
2354
2355 2008-10-05  Darin Fisher  <darin@chromium.org>
2356
2357         Reviewed by Eric Seidel.
2358
2359         REGRESSION: crash in ScriptElement::notifyFinished
2360         Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
2361
2362         * dom/ScriptElement.cpp:
2363         (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
2364         ensure that the ScriptElementData object is not destroyed prematurely.
2365
2366 2008-10-05  Chris Lord  <chris@openedhand.com>
2367
2368         Reviewed by Alp Toker. Landed by Jan Alonzo.
2369
2370         https://bugs.webkit.org/show_bug.cgi?id=20624
2371         WebKit-gtk uses deprecated GtkType/GtkObject
2372
2373         * plugins/gtk/gtk2xtbin.c:
2374         (gtk_xtbin_get_type):
2375         * plugins/gtk/gtk2xtbin.h:
2376
2377 2008-10-05  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
2378
2379         Reviewed by David Hyatt.
2380
2381         GTK_WINDOW_HWND not GTK_WINDOWING_HWND
2382         https://bugs.webkit.org/show_bug.cgi?id=20725
2383
2384         Updated to ToT by Jan Alonzo.
2385
2386         * plugins/gtk/PluginViewGtk.cpp:
2387         (WebCore::PluginView::getValue):
2388
2389 2008-10-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
2390
2391         Reviewed by Darin Adler.
2392
2393         Invalid cast from GdkWindow to GtkWidget
2394         https://bugs.webkit.org/show_bug.cgi?id=21391
2395
2396         Fix a misplaced closing parenthesis to actually cast the widget, not the window
2397
2398         * platform/gtk/PlatformScreenGtk.cpp:
2399         (WebCore::screenDepth):
2400
2401 2008-10-05  Adam Barth  <abarth@webkit.org>
2402
2403         Reviewed by Darin Alder.
2404
2405         Attach the Origin header to POST requests to help defend against
2406         cross-site request forgery.
2407
2408         https://bugs.webkit.org/show_bug.cgi?id=20792
2409
2410         Collin Jackson <collinj@webkit.org> also contributed to this patch.
2411
2412         Tests: http/tests/security/originHeader/origin-header-for-data.html
2413                http/tests/security/originHeader/origin-header-for-empty.html
2414                http/tests/security/originHeader/origin-header-for-get.html
2415                http/tests/security/originHeader/origin-header-for-https.html
2416                http/tests/security/originHeader/origin-header-for-post.html
2417
2418         * bindings/js/JSDOMWindowBase.cpp:
2419         (WebCore::createWindow):
2420         * loader/FrameLoader.cpp:
2421         (WebCore::FrameLoader::createWindow):
2422         (WebCore::FrameLoader::urlSelected):
2423         (WebCore::FrameLoader::submitForm):
2424         (WebCore::FrameLoader::outgoingOrigin):
2425         (WebCore::FrameLoader::loadURL):
2426         (WebCore::FrameLoader::addExtraFieldsToRequest):
2427         (WebCore::FrameLoader::loadPostRequest):
2428         (WebCore::FrameLoader::loadResourceSynchronously):
2429         (WebCore::FrameLoader::loadItem):
2430         * loader/FrameLoader.h:
2431         * loader/SubresourceLoader.cpp:
2432         (WebCore::SubresourceLoader::create):
2433         * loader/loader.cpp:
2434         (WebCore::Loader::Host::servePendingRequests):
2435         * platform/SecurityOrigin.cpp:
2436         (WebCore::SecurityOrigin::toHTTPOrigin):
2437         * platform/SecurityOrigin.h:
2438         * platform/network/ResourceRequestBase.h:
2439         (WebCore::ResourceRequestBase::httpOrigin):
2440         (WebCore::ResourceRequestBase::setHTTPOrigin):
2441         (WebCore::ResourceRequestBase::clearHTTPOrigin):
2442         * xml/XMLHttpRequest.cpp:
2443         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
2444         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
2445         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
2446         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
2447
2448 2008-10-04  Oliver Hunt  <oliver@apple.com>
2449
2450         Reviewed by Tim Hatcher.
2451
2452         Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
2453         <https://bugs.webkit.org/show_bug.cgi?id=21381>
2454
2455         If we hit a parsing boundary (end of a packet, etc) in the middle of a
2456         <script> element when we are doing an incremental parse, we exit the
2457         parser, and reenter later when more data is available.  During this
2458         reentry we incorrectly reset the scriptStartLineno to the current line
2459         in the parser, which is now part way through the script element.
2460
2461         The solution is to track whether we are entering or reentering the parsing
2462         of a script element.  We do this simply by 0 checking scriptStartLineno,
2463         and resetting it after we complete parsing of each script element. 
2464
2465         Test: http/tests/incremental/pause-in-script-element.pl
2466
2467         * ChangeLog:
2468         * html/HTMLTokenizer.cpp:
2469         (WebCore::HTMLTokenizer::parseSpecial):
2470         (WebCore::HTMLTokenizer::scriptHandler):
2471
2472 2008-10-04  Alp Toker  <alp@nuanti.com>
2473
2474         Reviewed by David Hyatt. Landed by Jan Alonzo.
2475
2476         https://bugs.webkit.org/show_bug.cgi?id=20924
2477         [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
2478
2479         https://bugs.webkit.org/show_bug.cgi?id=19578
2480         [CURL] problem in parseDataUrl
2481
2482         De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
2483         This patch also fixes encoding support in escaped (non-Base64) data
2484         URLs. All manual data URL tests now pass in both GLib and non-GLib
2485         code paths.
2486
2487         * platform/network/curl/ResourceHandleManager.cpp:
2488         (WebCore::parseDataUrl):
2489
2490 2008-10-04  Timothy Hatcher  <timothy@apple.com>
2491
2492         Makes breakpoints and debugging code during page load work in the
2493         Web Inspector's debugger. Specifically, this makes the source
2494         code for loading resources show up in the Scripts panel.
2495
2496         https://bugs.webkit.org/show_bug.cgi?id=19053
2497         rdar://problem/5933408
2498
2499         Reviewed by Mark Rowe.
2500
2501         * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
2502         not using tabs and a tab width of 8.
2503         * inspector/InspectorController.cpp:
2504         (WebCore::addResourceSourceToFrame): Return a bool to report if the
2505         source was added successfully or not.
2506         (WebCore::addSourceToFrame): Ditto.
2507         * inspector/front-end/ScriptView.js:
2508         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
2509         Return early if the InspectorController.addSourceToFrame fails.
2510         Moved the delete of the _frameNeedsSetup property after that call so
2511         if the source wasn't added it will be attempted again.
2512         * inspector/front-end/SourceView.js:
2513         (WebInspector.SourceView.prototype.detach): Move a comment.
2514         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2515         Don't check if the resource is finished or failed, just attempt
2516         to add the source to the frame. WebCore has the source, but the
2517         finished property hasn't been set yet. Return early if the
2518         InspectorController.addSourceToFrame fails. Moved the delete
2519         of the _frameNeedsSetup property after that call so if the source
2520         wasn't added it will be attempted again.
2521         (WebInspector.SourceView.prototype._resourceLoadingFinished):
2522         Clear the _frameNeedsSetup and _sourceFrameSetup properties so
2523         the source frame will we populated again now that the resource
2524         load has finished.
2525         * manual-tests/inspector/debugger-pause-during-load.html: Added.
2526
2527 2008-10-04  Mark Rowe  <mrowe@apple.com>
2528
2529         Reviewed by Tim Hatcher.
2530
2531         Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
2532
2533         * WebCore.xcodeproj/project.pbxproj:
2534
2535 2008-10-04  David Hyatt  <hyatt@apple.com>
2536
2537         https://bugs.webkit.org/show_bug.cgi?id=21373
2538
2539         Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
2540         is still present.
2541
2542         Reviewed by Mark Rowe
2543
2544         * page/FrameView.cpp:
2545         (WebCore::FrameView::~FrameView):
2546
2547 2008-10-04  Sam Weinig  <sam@webkit.org>
2548
2549         Reviewed by Dan Bernstein.
2550
2551         Avoid copying a Vector when using getSupportedKeySizes.
2552
2553         * html/HTMLKeygenElement.cpp:
2554         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2555         * platform/SSLKeyGenerator.h:
2556         * platform/gtk/TemporaryLinkStubs.cpp:
2557         (WebCore::getSupportedKeySizes):
2558         * platform/mac/SSLKeyGeneratorMac.mm:
2559         (WebCore::getSupportedKeySizes):
2560         * platform/qt/TemporaryLinkStubs.cpp:
2561         (WebCore::getSupportedKeySizes):
2562         * platform/win/TemporaryLinkStubs.cpp:
2563         (WebCore::getSupportedKeySizes):
2564         * platform/wx/TemporaryLinkStubs.cpp:
2565         (WebCore::getSupportedKeySizes):
2566
2567 2008-10-04  Darin Adler  <darin@apple.com>
2568
2569         Reviewed by Cameron Zwarich.
2570
2571         - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
2572           Bug 21295: Replace ExecState with a call frame Register pointer
2573
2574         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2575         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
2576         Remove bogus "const".
2577         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
2578
2579 2008-10-04  David Hyatt  <hyatt@apple.com>
2580
2581         Make PopupMenuClient obey the platform abstraction.  Remove any connection to Document and RenderStyle.
2582
2583         Reviewed by Darin Adler
2584
2585         * WebCore.xcodeproj/project.pbxproj:
2586         * platform/PopupMenuClient.h:
2587         * platform/gtk/PopupMenuGtk.cpp:
2588         (WebCore::PopupMenu::show):
2589         * platform/mac/PopupMenuMac.mm:
2590         (WebCore::PopupMenu::populate):
2591         (WebCore::PopupMenu::show):
2592         * platform/qt/PopupMenuQt.cpp:
2593         (WebCore::PopupMenu::populate):
2594         * platform/win/PopupMenuWin.cpp:
2595         (WebCore::PopupMenu::calculatePositionAndSize):
2596         (WebCore::PopupMenu::paint):
2597         (WebCore::PopupWndProc):
2598         * rendering/RenderMenuList.cpp:
2599         (WebCore::RenderMenuList::itemStyle):
2600         (WebCore::RenderMenuList::menuStyle):
2601         (WebCore::RenderMenuList::hostWindow):
2602         * rendering/RenderMenuList.h:
2603         * rendering/RenderTextControl.cpp:
2604         (WebCore::RenderTextControl::itemStyle):
2605         (WebCore::RenderTextControl::menuStyle):
2606         (WebCore::RenderTextControl::hostWindow):
2607         * rendering/RenderTextControl.h:
2608
2609 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
2610
2611         Build fix - restore Private role to headers that had it before the move.
2612
2613         * WebCore.xcodeproj/project.pbxproj:
2614
2615 2008-10-04  Darin Adler  <darin@apple.com>
2616
2617         - try to fix build
2618
2619         * DerivedSources.make: Add new inspector directory to VPATH.
2620         * GNUmakefile.am: Add new inspector directory to includes.
2621         Re-sort the IDL_BINDINGS list. Add new inspector directory
2622         to VPATH.
2623
2624 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
2625
2626         Not reviewed, attempt to fix Gtk build.
2627
2628         * GNUmakefile.am:
2629
2630 2008-10-03  Timothy Hatcher  <timothy@apple.com>
2631
2632         Move the Web Inspector files into a top-level "inspector" folder.
2633
2634         https://bugs.webkit.org/show_bug.cgi?id=21359
2635
2636         Reviewed by Dave Hyatt.
2637
2638         * GNUmakefile.am:
2639         * WebCore.pro:
2640         * WebCore.vcproj/WebCore.vcproj:
2641         * WebCore.xcodeproj/project.pbxproj:
2642         * WebCoreSources.bkl:
2643         * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
2644         * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
2645         * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
2646         * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
2647         * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
2648         * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
2649         * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
2650         * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
2651         * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
2652         * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
2653         * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
2654         * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
2655         * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
2656         * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
2657         * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
2658         * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
2659         * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
2660         * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
2661         * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
2662         * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
2663         * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
2664         * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
2665         * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
2666         * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
2667         * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
2668         * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
2669         * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
2670         * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
2671         * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
2672         * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
2673         * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
2674         * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
2675         * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
2676         * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
2677         * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
2678         * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
2679         * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
2680         * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
2681         * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
2682         * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
2683         * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
2684         * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
2685         * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
2686         * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
2687         * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
2688         * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
2689         * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
2690         * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
2691         * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
2692         * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
2693         * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
2694         * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
2695         * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
2696         * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
2697         * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
2698         * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
2699         * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
2700         * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
2701         * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
2702         * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
2703         * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
2704         * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
2705         * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
2706         * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
2707         * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
2708         * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
2709         * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
2710         * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
2711         * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
2712         * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
2713         * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
2714         * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
2715         * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
2716         * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
2717         * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
2718         * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
2719         * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
2720         * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
2721         * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
2722         * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
2723         * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
2724         * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
2725         * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
2726         * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
2727         * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
2728         * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
2729         * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
2730         * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
2731         * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
2732         * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
2733         * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
2734         * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
2735         * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
2736         * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
2737         * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
2738         * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
2739         * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
2740         * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
2741         * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
2742         * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
2743         * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
2744         * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
2745         * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
2746         * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
2747         * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
2748         * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
2749         * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
2750         * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
2751         * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
2752         * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
2753         * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
2754         * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
2755         * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
2756         * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
2757         * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
2758         * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
2759         * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
2760         * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
2761         * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
2762         * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
2763         * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
2764         * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
2765         * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
2766         * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
2767         * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
2768         * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
2769         * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
2770         * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
2771         * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
2772         * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
2773         * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
2774         * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
2775         * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
2776         * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
2777         * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
2778         * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
2779         * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
2780         * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
2781         * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
2782         * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
2783         * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
2784         * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
2785         * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
2786         * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
2787         * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
2788         * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
2789         * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
2790         * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
2791         * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
2792         * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
2793         * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
2794         * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
2795         * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
2796         * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
2797         * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
2798         * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
2799
2800 2008-10-03  Timothy Hatcher  <timothy@apple.com>
2801
2802         Adds support to the Web Inspector's Elements panel for fast tag name,
2803         class name, id and attribute name searching. The panel first tries
2804         using getElementById, getElementsByClassName and getElementsByTagName
2805         with the search query. Then does a slower search using XPath for partial
2806         matches, text and comment matches.
2807
2808         Adds support for search queries like "<div>", "<h" and "frame>".
2809         These forms limit the search to tag names, text and comment matches.
2810
2811         https://bugs.webkit.org/show_bug.cgi?id=21353
2812
2813         Reviewed by Maciej Stachowiak.
2814
2815         * page/inspector/ElementsPanel.js:
2816         (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
2817         support. Add new search functions that try exact matches first.
2818
2819 2008-10-03  Timothy Hatcher  <timothy@apple.com>
2820
2821         Changes how searching works in the Web Inspector's Elements
2822         panel. The search tasks are divided into chunks that are small
2823         units of work that are performed at a time interval. This
2824         change also prevents queries that will select all elements,
2825         since that isn't useful.
2826
2827         https://bugs.webkit.org/show_bug.cgi?id=21285
2828
2829         Reviewed by Oliver Hunt.
2830
2831         * page/inspector/ElementsPanel.js:
2832         (WebInspector.ElementsPanel.prototype.searchCancled):
2833         Remove the searchResultsProperty form results since there might
2834         be an unfinished search.
2835         (WebInspector.ElementsPanel.prototype.performSearch): Divide the
2836         documents and search functions into chunks that are performed on
2837         a interval of 25ms. Prevent searches for "//*" and "*".
2838
2839 2008-10-03  Maciej Stachowiak  <mjs@apple.com>
2840
2841         Reviewed by Cameron Zwarich.
2842
2843         - "this" object in methods called on primitives should be wrapper object
2844         https://bugs.webkit.org/show_bug.cgi?id=21362
2845
2846         Updated so toThis conversion for the split window is handled properly.
2847
2848         * bindings/scripts/CodeGeneratorJS.pm:
2849
2850 2008-10-03  Sam Weinig  <sam@webkit.org>
2851
2852         Reviewed by David "The Motivator" Hyatt.
2853
2854         Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
2855         Move SecurityOrigin out of platform/ to page/.
2856
2857         It was a layering violation for SecurityOrigin to be in platform
2858         as it depended on FrameLoader.
2859
2860         * GNUmakefile.am:
2861         * WebCore.pro:
2862         * WebCore.vcproj/WebCore.vcproj:
2863         * WebCore.xcodeproj/project.pbxproj:
2864         * WebCoreSources.bkl:
2865         * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
2866         * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
2867         * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
2868         * platform/SecurityOrigin.cpp: Removed.
2869         * platform/SecurityOrigin.h: Removed.
2870         * platform/SecurityOriginHash.h: Removed.
2871
2872 2008-10-03  Marco Barisione  <marco.barisione@collabora.co.uk>
2873
2874         Reviewed by Alp Toker.
2875
2876         http://bugs.webkit.org/show_bug.cgi?id=18832
2877         [curl] file upload does not work
2878
2879         The curl_off_t integer type has a different size depending if large
2880         file support is enabled or not. There is no different public API for
2881         the two cases, so the same function accepts a different type based on
2882         a compilation option the could be different in WebKit and libcurl.
2883         To fix the bug we query libcurl at runtime for large file support and
2884         pass the right type based on that.
2885
2886         * platform/network/curl/ResourceHandleManager.cpp:
2887         (WebCore::ResourceHandleManager::setupPOST):
2888
2889 2008-10-03  Jan Michael Alonzo  <jmalonzo@webkit.org>
2890
2891         Reviewed by David Hyatt.
2892
2893         Gtk build fixes.
2894
2895         * platform/gtk/FileChooserGtk.cpp:
2896         (WebCore::FileChooser::openFileChooser):
2897         * platform/gtk/PlatformScreenGtk.cpp:
2898         (WebCore::screenDepth):
2899         (WebCore::screenDepthPerComponent):
2900         (WebCore::screenAvailableRect):
2901         * platform/gtk/PopupMenuGtk.cpp:
2902         (WebCore::PopupMenu::show):
2903         * platform/gtk/ScrollViewGtk.cpp:
2904         (WebCore::ScrollView::platformAddChild):
2905         (WebCore::ScrollView::platformRemoveChild):
2906         * platform/gtk/WidgetGtk.cpp:
2907         (WebCore::Widget::setCursor):
2908         * plugins/gtk/PluginViewGtk.cpp:
2909         (WebCore::PluginView::getValue):
2910         (WebCore::PluginView::forceRedraw):
2911         (WebCore::PluginView::init):
2912
2913 2008-10-03  David Hyatt  <hyatt@apple.com>
2914
2915         Fix Qt bustage from missing include.
2916
2917         * platform/qt/PlatformScreenQt.cpp:
2918
2919 2008-10-03  David Hyatt  <hyatt@apple.com>
2920
2921         Fix Windows scrollbar bustage in popup menus.
2922
2923         * platform/win/PopupMenuWin.cpp:
2924         (WebCore::PopupWndProc):
2925
2926 2008-10-03  David Hyatt  <hyatt@apple.com>
2927
2928         Fix Windows bustage.
2929
2930         * platform/win/FileChooserWin.cpp:
2931         (WebCore::FileChooser::openFileChooser):
2932         * platform/win/PlatformScreenWin.cpp:
2933         (WebCore::monitorInfoForWidget):
2934         * platform/win/WidgetWin.cpp:
2935         * plugins/win/PluginViewWin.cpp:
2936         (WebCore::PluginView::getValue):
2937         (WebCore::PluginView::forceRedraw):
2938         (WebCore::PluginView::init):
2939
2940 2008-10-03  Darin Adler  <darin@apple.com>
2941
2942         * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
2943         seen on some machines but not others by adding an include.
2944
2945 2008-10-03  Darin Adler  <darin@apple.com>
2946
2947         - Qt build fix
2948
2949         * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
2950         execute functions. Declarations for these relied on the CodeType
2951         enumeration, which used to be in ExecState.h; but the functions
2952         aren't needed at all.
2953         * bridge/qt/qt_runtime.h: Ditto.
2954
2955 2008-10-03  Darin Adler  <darin@apple.com>
2956
2957         Reviewed by Geoff Garen.
2958
2959         - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
2960           Turn ExecState into a call frame pointer.
2961
2962         Remove m_globalObject and m_globalData from ExecState.
2963
2964         * bindings/js/JSDOMWindowBase.cpp:
2965         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
2966         Removed an argument now that JSGlobalObject doesn't need it any more.
2967         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
2968         the JSDOMWindowBaseData constructor, and added the this argument to the
2969         JSGlobalObject constructor. This is because a couple key bits of
2970         initialization moved from the data constructor to the JSGlobalObject
2971         constructor.
2972         * bindings/js/JSDOMWindowBase.h: Ditto.
2973
2974         * bridge/qt/qt_runtime.cpp:
2975         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2976         * bridge/runtime_method.cpp:
2977         (JSC::RuntimeMethod::RuntimeMethod):
2978         Pass JSGlobalData* instead of ExecState* to the InternalFunction
2979         constructor.
2980
2981 2008-10-03  David Hyatt  <hyatt@apple.com>
2982
2983         Fix Windows/Qt build bustage.
2984
2985         Reviewed by ggaren
2986
2987         * loader/EmptyClients.h:
2988         (WebCore::EmptyChromeClient::platformWindow):
2989         * page/Chrome.cpp:
2990         (WebCore::Chrome::platformWindow):
2991         * page/Chrome.h:
2992         * page/ChromeClient.h:
2993         * platform/HostWindow.h:
2994         * platform/qt/PlatformScreenQt.cpp:
2995         (WebCore::screenDepth):
2996         (WebCore::screenDepthPerComponent):
2997         (WebCore::screenIsMonochrome):
2998         (WebCore::screenRect):
2999         (WebCore::screenAvailableRect):
3000         * platform/qt/PopupMenuQt.cpp:
3001         (WebCore::PopupMenu::show):
3002         * platform/win/PopupMenuWin.cpp:
3003         (WebCore::PopupMenu::show):
3004         (WebCore::PopupMenu::calculatePositionAndSize):
3005         (WebCore::PopupWndProc):
3006
3007 2008-10-03  Simon Fraser  <simon.fraser@apple.com>
3008
3009         Reviewed by Dave Hyatt
3010
3011         Make setStyle() take a const RenderStyle, to ensure that an
3012         earlier RenderStyle::diff() remains valid.
3013
3014         * rendering/RenderBR.cpp:
3015         * rendering/RenderBR.h:
3016         * rendering/RenderBlock.cpp:
3017         * rendering/RenderBlock.h:
3018         * rendering/RenderBox.cpp:
3019         * rendering/RenderBox.h:
3020         * rendering/RenderButton.cpp:
3021         * rendering/RenderButton.h:
3022         * rendering/RenderFieldset.cpp:
3023         * rendering/RenderFieldset.h:
3024         * rendering/RenderFileUploadControl.cpp:
3025         * rendering/RenderFileUploadControl.h:
3026         * rendering/RenderInline.cpp:
3027         * rendering/RenderInline.h:
3028         * rendering/RenderListBox.cpp:
3029         * rendering/RenderListBox.h:
3030         * rendering/RenderListItem.cpp:
3031         * rendering/RenderListItem.h:
3032         * rendering/RenderListMarker.cpp:
3033         * rendering/RenderListMarker.h:
3034         * rendering/RenderMenuList.cpp:
3035         * rendering/RenderMenuList.h:
3036         * rendering/RenderObject.cpp:
3037         (WebCore::RenderObject::setStyle):
3038         * rendering/RenderObject.h:
3039         * rendering/RenderReplaced.cpp:
3040         * rendering/RenderReplaced.h:
3041         * rendering/RenderSVGBlock.cpp:
3042         (WebCore::RenderSVGBlock::setStyle):
3043         * rendering/RenderSVGBlock.h:
3044         * rendering/RenderSVGGradientStop.cpp:
3045         * rendering/RenderSVGGradientStop.h:
3046         * rendering/RenderSlider.cpp:
3047         * rendering/RenderSlider.h:
3048         * rendering/RenderTable.cpp:
3049         * rendering/RenderTable.h:
3050         * rendering/RenderTableCell.cpp:
3051         * rendering/RenderTableCell.h:
3052         * rendering/RenderTableRow.cpp:
3053         * rendering/RenderTableRow.h:
3054         * rendering/RenderText.cpp:
3055         * rendering/RenderText.h:
3056         * rendering/RenderTextControl.cpp:
3057         * rendering/RenderTextControl.h:
3058         * rendering/RenderWidget.cpp:
3059         * rendering/RenderWidget.h:
3060         * rendering/style/RenderStyle.h:
3061         (WebCore::RenderStyle::isDisplayReplacedType):
3062         (WebCore::RenderStyle::isDisplayInlineType):
3063
3064 2008-10-03  David Hyatt  <hyatt@apple.com>
3065
3066         Preparation for enabling scrollbars to hit test properly inside transforms.  Clean up the scrollbar
3067         event handlers to no longer be virtual.  Don't pass a mouse event where none is needed.  Add a new
3068         method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
3069         that will work properly for hit testing.  This patch just stubs out that method to return the same
3070         event untransformed.
3071
3072         Reviewed by Darin Adler
3073
3074         * page/EventHandler.cpp:
3075         (WebCore::EventHandler::handleMouseDoubleClickEvent):
3076         (WebCore::EventHandler::handleMouseMoveEvent):
3077         (WebCore::EventHandler::handleMouseReleaseEvent):
3078         (WebCore::EventHandler::passMousePressEventToScrollbar):
3079         * page/gtk/EventHandlerGtk.cpp:
3080         * page/mac/EventHandlerMac.mm:
3081         * page/qt/EventHandlerQt.cpp:
3082         * page/win/EventHandlerWin.cpp:
3083         * page/wx/EventHandlerWx.cpp:
3084         * platform/Scrollbar.cpp:
3085         (WebCore::Scrollbar::mouseMoved):
3086         (WebCore::Scrollbar::mouseExited):
3087         (WebCore::Scrollbar::mouseUp):
3088         (WebCore::Scrollbar::mouseDown):
3089         (WebCore::Scrollbar::transformEvent):
3090         * platform/Scrollbar.h:
3091
3092 2008-10-03  David Hyatt  <hyatt@apple.com>
3093
3094         https://bugs.webkit.org/show_bug.cgi?id=21340
3095         
3096         Remove "containingWindow()/setContainingWindow()" from Widget.  HostWindow covers this now.
3097     
3098         Reviewed by Dan Bernstein & Darin Adler
3099         
3100         * platform/ScrollView.cpp:
3101         (WebCore::ScrollView::addChild):
3102         * platform/Widget.cpp:
3103         (WebCore::Widget::init):
3104         * platform/Widget.h:
3105         * platform/mac/WidgetMac.mm:
3106         * platform/win/PopupMenuWin.cpp:
3107         (WebCore::PopupMenu::show):
3108
3109 2008-10-03  Adele Peterson  <adele@apple.com>
3110
3111         Reviewed by Sam Weinig.
3112
3113         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
3114         Return early if settings is nil.
3115
3116 2008-10-03  Rob Buis  <buis@kde.org>
3117
3118         Reviewed by Darin.
3119
3120         https://bugs.webkit.org/show_bug.cgi?id=20134
3121         REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
3122
3123         Make sure the input element gets the right default value when no value is set.
3124
3125         Test: fast/forms/range-default-value.html
3126
3127         * rendering/RenderSlider.cpp:
3128         (WebCore::RenderSlider::setPositionFromValue):
3129
3130 2008-10-03  David Hyatt  <hyatt@apple.com>
3131
3132         Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
3133         destructor that calls them, switch to having a cross-platform constructor/destructor that calls
3134         platform-specific init/destroy methods.
3135
3136         With this change, ScrollViewWin.cpp can be removed from the build (yay!).
3137
3138         Reviewed by Darin Adler
3139
3140         * WebCore.vcproj/WebCore.vcproj:
3141         * platform/ScrollView.cpp:
3142         (WebCore::ScrollView::ScrollView):
3143         (WebCore::ScrollView::~ScrollView):
3144         (WebCore::ScrollView::platformInit):
3145         (WebCore::ScrollView::platformDestroy):
3146         (WebCore::ScrollView::platformAddChild):
3147         (WebCore::ScrollView::platformRemoveChild):
3148         * platform/ScrollView.h:
3149         * platform/gtk/ScrollViewGtk.cpp:
3150         (WebCore::ScrollView::platformInit):
3151         (WebCore::ScrollView::platformDestroy):
3152         * platform/mac/ScrollViewMac.mm:
3153         * platform/qt/ScrollViewQt.cpp:
3154         (WebCore::ScrollView::platformInit):
3155         (WebCore::ScrollView::platformDestroy):
3156         * platform/win/ScrollViewWin.cpp: Removed.
3157         * platform/wx/ScrollViewWx.cpp:
3158         (WebCore::ScrollView::platformInit):
3159         (WebCore::ScrollView::platformDestroy):
3160         (WebCore::ScrollView::setPlatformWidget):
3161
3162 2008-10-03  Adele Peterson  <adele@apple.com>
3163
3164         Reviewed by Dan Bernstein.
3165
3166         Fix for <rdar://problem/6012018> 
3167         https://bugs.webkit.org/show_bug.cgi?id=21335
3168         CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
3169
3170         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
3171
3172 2008-10-03  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3173
3174         Build fix.
3175
3176         * platform/qt/WidgetQt.cpp:
3177         (WebCore::Widget::invalidateRect):
3178
3179 2008-10-03  Alp Toker  <alp@nuanti.com>
3180
3181         Remove some left-over GTK+ includes. No change in functionality.
3182
3183         * platform/Cursor.h:
3184         * platform/graphics/Icon.h:
3185         * platform/gtk/RenderThemeGtk.h:
3186
3187 2008-10-03  Alp Toker  <alp@nuanti.com>
3188
3189         Build fix for trailing comment after #endif
3190
3191         * dom/ElementRareData.h:
3192
3193 2008-10-03  David Hyatt  <hyatt@apple.com>
3194
3195         Remove addToDirtyRegion.
3196         
3197         Reviewed by Oliver Hunt
3198
3199         * page/Chrome.cpp:
3200         * page/Chrome.h:
3201         * page/ChromeClient.h:
3202         * platform/ScrollView.h:
3203         * platform/gtk/ScrollViewGtk.cpp:
3204         * platform/qt/ScrollViewQt.cpp:
3205         * platform/win/ScrollViewWin.cpp:
3206
3207 2008-10-03  Dan Bernstein  <mitz@apple.com>
3208
3209         Reviewed by Maciej Stachowiak.
3210
3211         - fix a CachedResource leak introduced in r37176 
3212
3213         Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
3214         afterwards bail out of the outer pruneDeadResources().
3215
3216         * loader/Cache.cpp:
3217         (WebCore::Cache::Cache):
3218         (WebCore::Cache::pruneDeadResources):
3219         (WebCore::Cache::remove):
3220         * loader/Cache.h:
3221
3222 2008-10-03  David Hyatt  <hyatt@apple.com>
3223
3224         https://bugs.webkit.org/show_bug.cgi?id=21330
3225
3226         Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
3227         scrollbars.
3228         
3229         Reviewed by Oliver Hunt
3230
3231         * platform/ScrollView.cpp:
3232         (WebCore::ScrollView::setHasHorizontalScrollbar):
3233         (WebCore::ScrollView::setHasVerticalScrollbar):
3234         (WebCore::ScrollView::platformHasHorizontalAdjustment):
3235         (WebCore::ScrollView::platformHasVerticalAdjustment):
3236         * platform/ScrollView.h:
3237         * platform/gtk/ScrollViewGtk.cpp:
3238         (WebCore::ScrollView::adjustmentChanged):
3239         (WebCore::ScrollView::ScrollView):
3240         (WebCore::ScrollView::~ScrollView):
3241         (WebCore::ScrollView::setGtkAdjustments):
3242         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
3243         (WebCore::ScrollView::platformHandleVerticalAdjustment):
3244
3245 2008-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
3246
3247         Reviewed by Maciej Stachowiak.
3248
3249         Bug 21106: .in format discussed changes
3250         https://bugs.webkit.org/show_bug.cgi?id=21106
3251
3252         Change "upperCase" to "interfaceName" per-tag parameter as
3253         discussed on the mailing list. Removed the per-attribute version
3254         as it was not used.
3255
3256         Also add the "Element" suffix to all interfaceName parameter to match
3257         the class name (and thus remove it from make_names.pl).
3258
3259         * dom/make_names.pl:
3260         * html/HTMLTagNames.in:
3261         * svg/svgtags.in:
3262
3263 2008-10-03  David Hyatt  <hyatt@apple.com>
3264
3265         Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
3266         Hopefully this is a temporary hack that could eventually be removed.
3267
3268         Reviewed by Sam Weinig
3269
3270         * platform/ScrollView.cpp:
3271         (WebCore::ScrollView::scrollContents):
3272         * platform/ScrollView.h:
3273         (WebCore::ScrollView::rootPreventsBlitting):
3274         * platform/qt/ScrollViewQt.cpp:
3275         (WebCore::ScrollView::ScrollView):
3276         (WebCore::ScrollView::~ScrollView):
3277         (WebCore::ScrollView::platformAddChild):
3278         (WebCore::ScrollView::platformRemoveChild):
3279
3280 2008-10-02  David Hyatt  <hyatt@apple.com>
3281
3282         https://bugs.webkit.org/show_bug.cgi?id=21328
3283         
3284         Make widget invalidation more cross-platform.
3285         
3286         (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
3287         
3288         (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
3289         This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
3290         
3291         (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
3292         
3293         (4) FrameViews now do a repaintRectangle on their owner element's renderer.
3294
3295         Reviewed by Sam Weinig
3296
3297         * WebCore.base.exp:
3298         * page/FrameView.cpp:
3299         (WebCore::FrameView::invalidateRect):
3300         (WebCore::FrameView::invalidateScrollbarRect):
3301         * page/FrameView.h:
3302         * platform/PopupMenu.h:
3303         * platform/ScrollView.cpp:
3304         (WebCore::ScrollView::scrollContents):
3305         * platform/ScrollView.h:
3306         * platform/Scrollbar.cpp:
3307         (WebCore::Scrollbar::setEnabled):
3308         (WebCore::Scrollbar::invalidateRect):
3309         * platform/Scrollbar.h:
3310         * platform/ScrollbarClient.h:
3311         * platform/Widget.h:
3312         * platform/gtk/WidgetGtk.cpp:
3313         * platform/mac/WidgetMac.mm:
3314         * platform/win/PopupMenuWin.cpp:
3315         (WebCore::PopupMenu::invalidateScrollbarRect):
3316         * platform/win/WidgetWin.cpp:
3317         * plugins/PluginView.cpp:
3318         (WebCore::PluginView::invalidateTimerFired):
3319         (WebCore::PluginView::invalidateWindowlessPluginRect):
3320         * plugins/PluginView.h:
3321         * plugins/gtk/PluginViewGtk.cpp:
3322         (WebCore::PluginView::invalidateRect):
3323         * plugins/qt/PluginViewQt.cpp:
3324         (WebCore::PluginView::invalidateRect):
3325         * plugins/win/PluginViewWin.cpp:
3326         (WebCore::PluginView::invalidateRect):
3327         (WebCore::PluginView::invalidateRegion):
3328         * rendering/RenderLayer.cpp:
3329         (WebCore::RenderLayer::invalidateScrollbarRect):
3330         * rendering/RenderLayer.h:
3331         * rendering/RenderListBox.cpp:
3332         (WebCore::RenderListBox::paintObject):
3333         (WebCore::RenderListBox::paintScrollbar):
3334         (WebCore::RenderListBox::invalidateScrollbarRect):
3335         * rendering/RenderListBox.h:
3336
3337 2008-10-02  Dan Bernstein  <mitz@apple.com>
3338
3339         Reviewed by Geoffrey Garen and Sam Weinig.
3340
3341         - fix SVGFontFaceElement leaks seen in Acid3
3342         - make font-face elements take effect only when they are in the document tree
3343
3344         Test: svg/custom/font-face-not-in-document.svg
3345
3346         * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
3347         RefPtr to a plain pointer to break a ref cycle.
3348         (WebCore::SVGFontData::svgFontFaceElement):
3349
3350         * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
3351         @font-face rule from the document's mapped element sheet when the
3352         element is inserted and removed from the document, and to update it
3353         only when the element is in the document.
3354         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3355         (WebCore::SVGFontFaceElement::parseMappedAttribute):
3356         (WebCore::SVGFontFaceElement::rebuildFontFace):
3357         (WebCore::SVGFontFaceElement::insertedIntoDocument):
3358         (WebCore::SVGFontFaceElement::removedFromDocument):
3359         (WebCore::SVGFontFaceElement::childrenChanged):
3360         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
3361         * svg/SVGFontFaceElement.h:
3362
3363 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
3364
3365         Reviewed by Dave Hyatt
3366
3367         Fix RenderFileUploadControl::setStyle() and 
3368         RenderMenuList::setStyle() to not touch the style; replace
3369         with html4.css and CSSStyleSelector changes.
3370
3371         https://bugs.webkit.org/show_bug.cgi?id=21287
3372
3373         * css/CSSStyleSelector.cpp:
3374         (WebCore::CSSStyleSelector::adjustRenderStyle):
3375         * css/html4.css:
3376         * rendering/RenderBlock.cpp:
3377         (WebCore::RenderBlock::setStyle):
3378         * rendering/RenderFileUploadControl.cpp:
3379         * rendering/RenderMenuList.cpp:
3380         (WebCore::RenderMenuList::setStyle):
3381
3382 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
3383
3384         Reviewed by Dave Hyatt
3385
3386         Clean up code that changes the RenderStyle passed in to
3387         table renderer setStyle() methods.
3388         
3389         https://bugs.webkit.org/show_bug.cgi?id=21287
3390         
3391         Tests: fast/table/floating-th.html
3392                fast/table/table-display-types-strict.html
3393                fast/table/table-display-types.html
3394
3395         * css/CSSStyleSelector.cpp:
3396         (WebCore::CSSStyleSelector::adjustRenderStyle):
3397         * rendering/RenderTableCell.cpp:
3398         (WebCore::RenderTableCell::setStyle):
3399         * rendering/RenderTableRow.cpp:
3400         (WebCore::RenderTableRow::setStyle):
3401         * rendering/RenderTableSection.cpp:
3402         (WebCore::RenderTableSection::setStyle):
3403
3404 2008-10-02  Darin Adler  <darin@apple.com>
3405
3406         - fix build
3407
3408         * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
3409         Not just locally in my generated file!
3410
3411 2008-10-02  Adele Peterson  <adele@apple.com>
3412
3413         Reviewed by Dan Bernstein.
3414
3415         Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
3416         REGRESSION: <input> color specified in inline style applies to placeholder
3417
3418         I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes.  A pseudo-element
3419         is more appropriate.  This change adds "-webkit-input-placeholder".
3420
3421         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
3422         Added definition for "-webkit-input-placeholder" pseudo element.
3423         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
3424         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3425         Added case for PseudoInputPlaceholder.
3426         * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
3427         * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
3428
3429         * html/HTMLInputElement.cpp:
3430         (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
3431         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
3432         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
3433         setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
3434         * rendering/RenderTextControl.cpp:
3435         (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
3436         (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
3437         the text will be updated correctly.
3438         * rendering/RenderTextControl.h:
3439
3440 2008-10-02  Chris Fleizach  <cfleizach@apple.com>
3441
3442         Reviewed by Darin Adler.
3443
3444         https://bugs.webkit.org/show_bug.cgi?id=21280
3445         <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
3446
3447         Updated AXTable detection to be more robust to false-positives. Specifically, added checks
3448         to ensure that there is more than one valid table cell, and that at least half of the cells
3449         have borders or have specific background colors. Modified the table detection layout test
3450         to test for the tables mentioned in the bug
3451
3452         * page/AccessibilityTable.cpp:
3453         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
3454
3455 2008-10-02  Darin Adler  <darin@apple.com>
3456
3457         Reviewed by Geoff Garen.
3458
3459         - https://bugs.webkit.org/show_bug.cgi?id=21321
3460           Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
3461
3462         * bindings/js/GCController.cpp:
3463         (WebCore::collect): Use heap. instead of heap-> to work with the heap.
3464         (WebCore::GCController::gcTimerFired): Ditto.
3465         (WebCore::GCController::garbageCollectNow): Ditto.
3466         * bindings/js/JSDOMWindowShell.cpp:
3467         (WebCore::JSDOMWindowShell::operator new): Ditto.
3468         * storage/Database.cpp:
3469         (WebCore::Database::Database): Ditto.
3470
3471 2008-10-02  Dan Bernstein  <mitz@apple.com>
3472
3473         Reviewed by Alexey Proskuryakov.
3474
3475         - fix a Database leak that resulted in Document leaks
3476
3477         * storage/Database.cpp:
3478         (WebCore::Database::openDatabase): Account for the fact that RefCounted 
3479         objects start out with a ref count of 1.
3480
3481 2008-10-02  Sam Weinig  <sam@webkit.org>
3482
3483         Reviewed by Mr. Geoffrey Garen.
3484
3485         Always mark your parent before marking members.
3486
3487         * bindings/js/JSDOMWindowCustom.cpp:
3488         (WebCore::JSDOMWindow::mark):
3489
3490 2008-10-02  David Hyatt  <hyatt@apple.com>
3491
3492         https://bugs.webkit.org/show_bug.cgi?id=21314
3493         
3494         Make scrollBackingStore cross-platform.
3495
3496         Reviewed by Sam Weinig
3497
3498         * loader/EmptyClients.h:
3499         (WebCore::EmptyChromeClient::repaint):
3500         (WebCore::EmptyChromeClient::scroll):
3501         * page/Chrome.cpp:
3502         (WebCore::Chrome::repaint):
3503         (WebCore::Chrome::scroll):
3504         * page/Chrome.h:
3505         * page/ChromeClient.h:
3506         * page/EventHandler.cpp:
3507         (WebCore::EventHandler::handleAutoscroll):
3508         * platform/HostWindow.h:
3509         * platform/ScrollView.cpp:
3510         (WebCore::ScrollView::scrollContents):
3511         (WebCore::ScrollView::addPanScrollIcon):
3512         (WebCore::ScrollView::removePanScrollIcon):
3513         * platform/ScrollView.h:
3514         * platform/gtk/ScrollViewGtk.cpp:
3515         * platform/qt/ScrollViewQt.cpp:
3516         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3517         (WebCore::ScrollView::~ScrollView):
3518         * platform/win/ScrollViewWin.cpp:
3519         (WebCore::ScrollView::ScrollView):
3520         (WebCore::ScrollView::~ScrollView):
3521
3522 2008-10-02  Kevin Ollivier  <kevino@theolliviers.com>
3523
3524         wx build fixes after Frame/ScrollView changes.
3525
3526         * WebCoreSources.bkl:
3527         * platform/wx/ScrollViewWx.cpp:
3528         (WebCore::ScrollView::platformContentsToScreen):
3529         (WebCore::ScrollView::platformScreenToContents):
3530         (WebCore::ScrollView::platformIsOffscreen):
3531
3532 2008-10-02  Brett Wilson  <brettw@chromium.org>
3533
3534         Reviewed by Sam Weinig
3535
3536         https://bugs.webkit.org/show_bug.cgi?id=21292
3537
3538         Revert the changes to enclosingIntRect made in r12530 since the new code
3539         doesn't round correctly.
3540
3541         * ChangeLog:
3542         * platform/graphics/FloatRect.cpp:
3543         (WebCore::enclosingIntRect):
3544
3545 2008-10-02  Dan Bernstein  <mitz@apple.com>
3546
3547         Reviewed by Anders Carlsson and Eric Seidel.
3548
3549         - fix HTMLCanvaseElement leak from -webkit-canvas() values
3550
3551         Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
3552         pointer, as the document owns the canvas elements. Added code to release
3553         those elements in Document::removedLastRef() because they reference
3554         the document.
3555
3556         * css/CSSCanvasValue.cpp:
3557         (WebCore::CSSCanvasValue::element):
3558         * css/CSSCanvasValue.h:
3559         (WebCore::CSSCanvasValue::CSSCanvasValue):
3560         * dom/Document.cpp:
3561         (WebCore::Document::removedLastRef):
3562
3563 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
3564
3565         Reviewed by Maciej Stachowiak.
3566
3567         Build fix for platforms that don't implement WTF::ThreadSpecific.
3568
3569         *