LayoutTests:
[WebKit-https.git] / WebCore / ChangeLog
1 2007-07-06  Anders Carlsson  <andersca@apple.com>
2
3         Reviewed by Mitz.
4
5         <rdar://problem/5280532> 
6         REGRESSION: Can't access nested embed by document.name if object is not immediate parent
7         
8         Traverse up the tree looking for an object element.
9         
10         * html/HTMLEmbedElement.cpp:
11         (WebCore::HTMLEmbedElement::getInstance):
12
13 2007-07-06  George Staikos  <staikos@kde.org>
14
15         Qt build fix: Don't clobber qmake variables that are already set.
16
17         * WebCore.pro:
18
19 2007-07-05  Maciej Stachowiak  <mjs@apple.com>
20
21         Reviewed by Antti.
22
23         - <rdar://problem/5311093> JavaScriptCore fails to build with strict-aliasing warnings
24
25         * platform/StringHash.h:
26         (WTF::): Adapt to newer way to do storage types.
27
28 2007-07-06  Bernhard Rosenkraenzer  <bero@arklinux.org>
29
30         Reviewed by Sam.
31
32         Fix for http://bugs.webkit.org/show_bug.cgi?id=13985
33         Bug 13985: WebCore/rendering/RenderTable.cpp fails to compile with gcc 4.2.x
34
35         * rendering/RenderTable.cpp:
36         (WebKit::RenderTable::calcBorderLeft)
37         (WebKit::RenderTable::calcBorderRight)
38
39 2007-07-06  Maxime Britto  <mbritto@pleyo.com>
40
41         Reviewed by Maciej.
42
43         Fix http://bugs.webkit.org/show_bug.cgi?id=13038
44         Bug 13038: ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame
45
46         Modify an ASSERT in goToItem related to going back/forward in history.  We don't need to check the frameset if the target is _blank.
47         The attached test case is a manual one since it relies on having pages opened in tabs in Safari.
48
49         * manual-tests/goBack-blank-tab-page.html: Added.
50         * manual-tests/resources/before-go-back.html: Added.
51         * manual-tests/resources/will-go-back.html: Added.
52         * page/Page.cpp:
53         (WebCore::Page::goToItem):
54
55 2007-07-06  Mitz Pettel  <mitz@webkit.org>
56
57         Reviewed by Maciej.
58
59         - fix http://bugs.webkit.org/show_bug.cgi?id=14400
60           Assertion failure (SHOULD NEVER BE REACHED) going back on YouTube
61
62         Test: fast/forms/button-state-restore.html
63
64         * dom/Document.h:
65         (WebCore::Document::isFormElementRegistered): Added.
66         * html/HTMLGenericFormElement.cpp:
67         (WebCore::HTMLGenericFormElement::closeRenderer): Restore saved form
68         element state only if the element is registered with the document to
69         have its state saved.
70
71 2007-07-06  Mitz Pettel  <mitz@webkit.org>
72
73         Reviewed by Maciej.
74
75         - fix http://bugs.webkit.org/show_bug.cgi?id=14487
76           Incomplete repaint of background and border of boxes with -webkit-border-fit:lines
77
78         Test: fast/repaint/border-fit-lines.html
79
80         * rendering/RenderObject.cpp:
81         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Do a full repaint if
82         -webkit-border-fit:lines was specified.
83
84 2007-07-06  Tony Chang  <idealisms@gmail.com>
85
86         Reviewed by Maciej.
87
88         http://bugs.webkit.org/show_bug.cgi?id=14516
89         Bug 14516: crash loading multipart/x-mixed-replace data on windows safari
90
91         NULL check m_resourceData to prevent a crash in Safari on Windows.
92
93         * loader/ResourceLoader.cpp:
94         (WebCore::ResourceLoader::clearResourceData):
95
96 2007-07-06  Jungshik Shin  <jungshik.shin@gmail.com>
97
98         Reviewed by Alexey.
99
100         - Add UTF-32 encoding support 
101           http://bugs.webkit.org/show_bug.cgi?id=13415
102
103         Test:
104          - fast/encoding/utf-32-big-endian-bom.html
105          - fast/encoding/utf-32-big-endian-nobom.xml
106          - fast/encoding/utf-32-little-endian-bom.html
107          - fast/encoding/utf-32-little-endian-nobom.xml
108
109         * loader/TextResourceDecoder.cpp:
110         (WebCore::TextResourceDecoder::checkForBOM):
111         (WebCore::TextResourceDecoder::checkForHeadCharset):
112         * platform/TextDecoder.cpp:
113         (WebCore::TextDecoder::checkForBOM):
114         * platform/TextDecoder.h:
115         * platform/TextEncoding.cpp:
116         (WebCore::UTF32BigEndianEncoding):
117         (WebCore::UTF32LittleEndianEncoding):
118         * platform/TextEncoding.h:
119
120 2007-07-06  Holger Hans Peter Freyther  <zecke@selfish.org>
121
122         Reviewed by Maciej.
123
124         Start implementening RenderThemeGdk/Gtk using GtkStyle. The approach is
125         to allocate one native control for each widget type. And use margins, spacing,
126         style properties from the Widget. And for drawing use GtkStyle on the rect supplied.
127
128         This should allow nice integration and be relative resource friendly. Mozilla is using
129         a similiar approach. They seem to share the GdkPixmap among several operations and this
130         will be an obvious candidate for improvements. Create a normally big enough GdkPixmap and
131         use that for drawing and then set clip regions for cairo to make sure to not go beyond the
132         width and height.
133
134         The next steps will be to introduce states for the widgets, add more widgets, handle focus,
135         and various other style attributes, honor the size and margin and use that to propagate this
136         back to RenderStyle*.
137
138         * platform/gdk/RenderThemeGdk.cpp:
139         (WebCore::RenderThemeGdk::RenderThemeGdk):
140         (WebCore::RenderThemeGdk::setCheckboxSize):
141         (WebCore::RenderThemeGdk::paintCheckbox):
142         (WebCore::RenderThemeGdk::setRadioSize):
143         (WebCore::RenderThemeGdk::paintRadio):
144         (WebCore::RenderThemeGdk::paintButton):
145         (WebCore::RenderThemeGdk::copyToContext):
146         (WebCore::RenderThemeGdk::gtkButton):
147         (WebCore::RenderThemeGdk::gtkCheckbox):
148         (WebCore::RenderThemeGdk::gtkRadioButton):
149         (WebCore::RenderThemeGdk::gtkWindowContainer):
150         * platform/gdk/RenderThemeGdk.h:
151
152 2007-07-06  Rob Buis  <buis@kde.org>
153
154         Reviewed by Adam.
155
156         http://bugs.webkit.org/show_bug.cgi?id=14442
157         Adding a stop with value 1.0 to a gradient that has already been used has no effect
158
159         Implement start and end stop handling differently so they are not
160         in the color stop array.
161
162         * html/CanvasGradient.cpp:
163         (WebCore::compareStops):
164         (WebCore::CanvasGradient::getColor):
165         (WebCore::CanvasGradient::findStop):
166
167 2007-07-06  Adam Roben  <aroben@apple.com>
168
169         Fix <rdar://problem/5301994> Garbled text still showing on some sites
170
171         Replace calls to GetGlyphIndices with wkGetGlyphs.
172
173         Reviewed by Alice.
174
175         * platform/win/GlyphPageTreeNodeWin.cpp:
176         (WebCore::GlyphPage::fill): Use wkGetGlyphs.
177         * platform/win/FontDataWin.cpp:
178         (WebCore::FontData::containsCharacters):
179
180 2007-07-06  Matt Lilek  <pewtermoose@gmail.com>
181
182         Not reviewed - Windows build fix.
183
184         * bridge/win/FrameWin.cpp:
185         (WebCore::imageFromSelection):
186
187 2007-07-06  George Staikos  <staikos@kde.org>
188
189         Reviewed by Maciej.
190
191         Switch USE(ICONDATABASE) to ENABLE(ICONDATABASE) and activate the
192         flag via the .pro file
193
194         * WebCore.pro:
195         * loader/icon/IconDatabase.h:
196
197 2007-07-05  John Sullivan  <sullivan@apple.com>
198
199         Reviewed by Adam
200
201         - WebCore part of fix for <rdar://problem/5315033>
202
203         * rendering/RenderObject.h:
204         replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText
205         (WebCore::RenderObject::PaintInfo::PaintInfo):
206         replaced forceWhiteText with forceBlackText
207
208         * rendering/RenderObject.cpp:
209         (WebCore::RenderObject::addLineBoxRects):
210         added a useSelectionHeight parameter, which defaults to false; this method is unimplemented
211         at this level so this has no effect.
212
213         * rendering/RenderText.h:
214         * rendering/RenderText.cpp:
215         (WebCore::RenderText::addLineBoxRects):
216         added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position
217         and height returned by selectionRect rather than replacing it with the more tight-fitting position
218         and height of the line box.
219
220         * dom/Range.h:
221         * dom/Range.cpp:
222         (WebCore::Range::addLineBoxRects):
223         added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject.        
224
225         * page/Frame.h:
226         renamed parameter to selectionImage
227         * page/Frame.cpp:
228         (WebCore::Frame::selectionTextRects):
229         pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new
230         method will match the height that the selection would be painted here
231         (WebCore::Frame::paint):
232         updated for white->black name changes
233         
234         * page/mac/FrameMac.mm:
235         (WebCore::Frame::selectionImage):
236         updated for white->black name changes
237         
238         * rendering/InlineFlowBox.cpp:
239         (WebCore::InlineFlowBox::paintTextDecorations):
240         updated for white->black name changes
241
242         * rendering/RenderLayer.cpp:
243         (WebCore::RenderLayer::paintLayer):
244         updated for white->black name changes
245
246         * rendering/InlineTextBox.cpp:
247         (WebCore::InlineTextBox::paint):
248         updated for white->black name changes, and actually use black instead of white. This was the goal
249         of all the name changes.
250
251 2007-07-05  Anders Carlsson  <andersca@apple.com>
252
253         Reviewed by Oliver.
254
255         Fix layout test failures.
256         
257         * loader/FrameLoader.cpp:
258         (WebCore::FrameLoader::commitProvisionalLoad):
259         Don't make a representation if we're creating the initial document.
260
261 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
262
263         Fix Bug 14388: Input in text fields limited to 1024 characters
264         http://bugs.webkit.org/show_bug.cgi?id=14388
265
266         Slightly modified by Adam Roben.
267
268         Reviewed by Adele.
269
270         Tests: fast/forms/input-implicit-length-limit.html
271                fast/forms/input-maxlength.html
272
273         * html/HTMLInputElement.cpp: Bump limit to 524288.
274         (WebCore::HTMLInputElement::init):
275         (WebCore::HTMLInputElement::parseMappedAttribute):
276         * html/HTMLInputElement.h:
277
278 2007-07-05  Anders Carlsson  <andersca@apple.com>
279
280         Build fix.
281         
282         * loader/FrameLoader.cpp:
283         (WebCore::FrameLoader::init):
284
285 2007-07-05  Sam Weinig  <sam@webkit.org>
286
287         Reviewed by Geoff.
288
289         Add focus, blur and close functions to DOMWindow implementation class
290         and move bindings from Window to JSDOMWindow.
291
292         * bindings/js/JSDOMWindowCustom.cpp:
293         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
294         * bindings/js/kjs_window.cpp:
295         (KJS::Window::getOwnPropertySlot):
296         (KJS::WindowFunc::callAsFunction):
297         * bindings/js/kjs_window.h:
298         (KJS::Window::):
299         * bindings/scripts/CodeGeneratorJS.pm: Move prototype function declaration from
300         the implementation to the header.
301         * page/DOMWindow.cpp:
302         (WebCore::DOMWindow::focus):
303         (WebCore::DOMWindow::blur):
304         (WebCore::DOMWindow::close):
305         * page/DOMWindow.h:
306         * page/DOMWindow.idl:
307
308 2007-07-05  Justin Garcia  <justin.garcia@apple.com>
309
310         Reviewed by Harrison.
311
312         <rdar://problem/5279521> REGRESSION: In Mail, a crash occurs at WebCore::Range::startPosition() when attempting to apply alignment to selected image/text in message body
313
314         * editing/TextIterator.cpp:
315         (WebCore::TextIterator::exitNode): Previously emitted content shouldn't have
316         to come from a text node in order to emit a '\n' as we exit block containers.
317
318 2007-07-05  Anders Carlsson  <andersca@apple.com>
319
320         Reviewed by Geoff.
321
322         <rdar://problem/5315284> REGRESSION: Leopard Launch Time - plugins are being accessed at startup.
323
324         Set a response that has a MIME type of "text/html" on the document loader so WebKit won't refresh the 
325         plugin database looking for a plug-in that can handle the document's MIME type (which will be null anyway).
326                  
327         * loader/FrameLoader.cpp:
328         (WebCore::FrameLoader::init):
329
330 2007-07-05  Anders Carlsson  <andersca@apple.com>
331
332         Reviewed by Oliver.
333
334         <rdar://problem/5106788>
335         WebKit loads user style sheets too late as seen in Mail (breaks DataDetectors; Mail flashes wrong font)
336
337         Let the document know when the user style sheet is loading so that it try not to display anything
338         until the user style sheet has finished loading.
339         
340         * page/Frame.cpp:
341         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
342         (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
343         (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
344         (WebCore::Frame::setUserStyleSheetLocation):
345
346 2007-07-05  Sam Weinig  <sam@webkit.org>
347
348         Reviewed by Darin.
349
350         Move JSDOMWindow overriding getOwnPropertySlot logic from KJS::Window
351         up into JSDOMWindow.  No change in functionality so no testcase required. 
352
353         * bindings/js/JSDOMWindowCustom.cpp:
354         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
355         * bindings/js/kjs_window.cpp:
356         (KJS::Window::getOwnPropertySlot):
357         * bindings/js/kjs_window.h:
358
359 2007-07-05  Mitz Pettel  <mitz@webkit.org>
360
361         Reviewed and Landed by Sam.
362
363         - fix bug 14465 for window.showModalDialog
364
365         * bindings/js/kjs_window.cpp:
366         (KJS::parseModalDialogFeatures):
367         (KJS::showModalDialog):
368
369 2007-07-05  Sam Weinig  <sam@webkit.org>
370
371         Reviewed by Mitz.
372
373         Patch for http://bugs.webkit.org/show_bug.cgi?id=14465
374         window.open() uses the literal "undefined" as the URL
375
376         * bindings/js/kjs_window.cpp:
377         (KJS::WindowFunc::callAsFunction): add checks for undefined and null values when setting the url.
378         * manual-tests/open-url-undefined.html: Added.
379
380 2007-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
381
382         Reviewed by Rob Buis.
383
384         Rework FontData and FontPlatformData for the Gdk work to make valgrind
385         happy.
386
387         Move destroying of FontConfig and Cairo objects held in FontPlatformData
388         to FontData::platformDestroy. The ownership of these objects is held by
389         FontData. This is following the Mac and Qt port at least.
390
391         Currently it is possible that FontPlatformData will not create cairo resources
392         in this case at least make sure the variables are initialized to 0.
393         Initialize x,y of the cairo_glyph_t with zero to avoid extents.x_advance depending
394         on subtracing with not defined values.
395
396         FontPlatformData::hash. Using FontDescription is a bad idea as we don't have a clue
397         about how it is packed, if holes are present, etc. The FcPattern and the m_fontMatrix
398         should be good enough to describe the Font. All other objects are created using these
399         variables
400
401         Replace C-style casts with C++ casts, in this case reinterpret_cast.
402
403         * platform/gdk/FontDataGdk.cpp:
404         (WebCore::FontData::platformInit): Don't assert
405         (WebCore::FontData::platformDestroy): Take over ownership
406         (WebCore::FontData::platformWidthForGlyph): initialize
407         (WebCore::FontData::setFont): be paranoid and assert
408         * platform/gdk/FontPlatformData.h:
409         (WebCore::FontPlatformData::FontPlatformData): Initialize everything
410         (WebCore::FontPlatformData::hash): make valgrind happy and don't use m_fontDescription
411         * platform/gdk/FontPlatformDataGdk.cpp:
412         (WebCore::FontPlatformData::FontPlatformData):
413         (WebCore::FontPlatformData::~FontPlatformData): FontData::platformDestroy will do this
414         (WebCore::FontPlatformData::list): Don't use C-style casts.
415         (WebCore::FontPlatformData::setFont): m_fontFace, m_fontMatrix, m_options might not be initialized
416         (WebCore::FontPlatformData::operator==): Don't use C-style casts.
417
418 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
419
420         Reviewed by Mark Rowe.
421
422         http://bugs.webkit.org/show_bug.cgi?id=14445
423         GraphicsContextCairo code style cleanup
424
425         Follow the cr naming convention for cairo_t*.
426         Remove trailing whitespace.
427         Replace C casts with C++ casts.
428         Avoid needless casts.
429
430         * platform/graphics/cairo/GraphicsContextCairo.cpp:
431         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
432         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
433         (WebCore::GraphicsContext::GraphicsContext):
434         (WebCore::GraphicsContext::platformContext):
435         (WebCore::GraphicsContext::savePlatformState):
436         (WebCore::GraphicsContext::restorePlatformState):
437         (WebCore::GraphicsContext::drawRect):
438         (WebCore::adjustLineToPixelBoundaries):
439         (WebCore::GraphicsContext::drawLine):
440         (WebCore::GraphicsContext::drawEllipse):
441         (WebCore::GraphicsContext::strokeArc): Save/restore the graphics state.
442         (WebCore::GraphicsContext::drawConvexPolygon):
443         (WebCore::GraphicsContext::fillRect):
444         (WebCore::GraphicsContext::clip):
445         (WebCore::GraphicsContext::drawFocusRing):
446         (WebCore::GraphicsContext::roundToDevicePixels):
447         (WebCore::GraphicsContext::translate):
448         (WebCore::GraphicsContext::origin):
449         (WebCore::GraphicsContext::setPlatformStrokeThickness):
450         (WebCore::GraphicsContext::setPlatformStrokeStyle):
451         (WebCore::GraphicsContext::setPlatformFont):
452         (WebCore::GraphicsContext::concatCTM):
453         (WebCore::GraphicsContext::addInnerRoundedRectClip):
454         (WebCore::GraphicsContext::beginTransparencyLayer):
455         (WebCore::GraphicsContext::endTransparencyLayer):
456         (WebCore::GraphicsContext::clearRect):
457         (WebCore::GraphicsContext::setLineCap):
458         (WebCore::GraphicsContext::setLineJoin):
459         (WebCore::GraphicsContext::setMiterLimit):
460         (WebCore::GraphicsContext::setCompositeOperation):
461         (WebCore::GraphicsContext::beginPath):
462         (WebCore::GraphicsContext::addPath):
463         (WebCore::GraphicsContext::rotate):
464         (WebCore::GraphicsContext::scale):
465         * platform/graphics/cairo/ImageBufferCairo.cpp:
466         (WebCore::ImageBuffer::ImageBuffer):
467         * platform/graphics/cairo/ImageCairo.cpp: Avoid the confusing ctxt/context naming scheme.
468         (WebCore::BitmapImage::draw):
469         (WebCore::Image::drawPattern):
470
471 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
472
473         Reviewed by Mark Rowe.
474
475         http://bugs.webkit.org/show_bug.cgi?id=14531
476         Cairo SVGImage::nativeImageForCurrentFrame() has no return
477
478         Return the Cairo surface from the frame cache.
479
480         Also add a fall-through else macro with notImplemented() so that future
481         ports do not make the same mistake.
482
483         * platform/graphics/svg/SVGImage.cpp:
484         (WebCore::SVGImage::nativeImageForCurrentFrame):
485
486 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
487
488         Reviewed by Mark Rowe.
489
490         http://bugs.webkit.org/show_bug.cgi?id=14513
491         Cairo animated GIF support is broken
492
493         Implement ImageSource::frameIsCompleteAtIndex() to enable animated GIFs.
494
495         * platform/graphics/cairo/ImageSourceCairo.cpp:
496         (WebCore::ImageSource::frameIsCompleteAtIndex):
497
498 2007-07-04  Matt Perry  <mpComplete@gmail.com>
499
500         Reviewed by Adam.
501
502         Fix for http://bugs.webkit.org/show_bug.cgi?id=13400
503         Bug 13400: REGRESSION (r20809-20814): No back entry created for navigations created by assigning to document.location
504         <rdar://problem/5153025>
505
506         Treat userGesture as always true for setLocation, forcing a back/forward
507         entry to be created.
508
509         * bindings/js/JSHTMLDocumentCustom.cpp:
510         (WebCore::JSHTMLDocument::setLocation):
511
512 2007-07-04  Adam Roben  <aroben@apple.com>
513
514         Restore MouseEventWithHitTestResults::targetNode's old behavior
515
516         Reviewed by Mark.
517
518         Fixes fast/images/imagemap-case and fast/replace/image-map.
519
520         * page/MouseEventWithHitTestResults.cpp:
521         (WebCore::MouseEventWithHitTestResults::targetNode): Use the inner
522         node, not the inner non-shared node.
523
524 2007-07-04  Adam Roben  <aroben@apple.com>
525
526         Mac, Qt, and Gdk build fixes.
527
528         * page/EventHandler.h:
529         * page/gdk/EventHandlerGdk.cpp:
530         * page/mac/EventHandlerMac.mm:
531         (WebCore::EventHandler::passSubframeEventToSubframe):
532         * page/qt/EventHandlerQt.cpp:
533
534 2007-07-04  Adam Roben  <aroben@apple.com>
535
536         Fix the Qt/Gdk builds.
537
538         * page/gdk/EventHandlerGdk.cpp:
539         * page/qt/EventHandlerQt.cpp:
540
541 2007-07-04  Adam Roben  <aroben@apple.com>
542
543         Move tooltip logic down into WebCore so that it can be shared cross-platform
544
545         Reviewed by Sam.
546
547         * page/Chrome.cpp:
548         (WebCore::Chrome::setToolTip): Added.
549         * page/Chrome.h:
550         * page/ChromeClient.h:
551         * page/EventHandler.cpp:
552         (WebCore::EventHandler::mouseMoved): Call Chrome::setToolTip.
553         * platform/graphics/svg/SVGImageEmptyClients.h:
554
555         Added stubs for Gdk:
556
557         * platform/gdk/ChromeClientGdk.h:
558         * platform/gdk/TemporaryLinkStubs.cpp:
559         (ChromeClientGdk::setToolTip):
560
561 2007-07-04  Adam Roben  <aroben@apple.com>
562
563         Add Settings::showsURLsInToolTips
564
565         Reviewed by Sam.
566
567         * WebCore.exp:
568         * page/Settings.cpp:
569         (WebCore::Settings::Settings):
570         * page/Settings.h:
571
572 2007-07-04  Adam Roben  <aroben@apple.com>
573
574         Move logic for calling mouseDidMoveOverElement into WebCore
575
576         Reviewed by Sam.
577
578         * page/EventHandler.cpp:
579         (WebCore::EventHandler::mouseMoved): Added. Calls Chrome::mouseDidMoveOverElement.
580         (WebCore::EventHandler::handleMouseMoveEvent): Now takes an optional
581         HitTestResult* parameter which is used to communicate to the caller the
582         node the mouse is over.
583         * page/EventHandler.h:
584         * page/mac/EventHandlerMac.mm:
585         (WebCore::EventHandler::mouseMoved): Changed to call the overloaded
586         mouseMoved().
587         (WebCore::EventHandler::passMouseMoveEventToSubframe): Pass hoveredNode
588         through to the subframe so we can get the deepest node hovered, not
589         just the node's parent frame.
590         * page/win/EventHandlerWin.cpp:
591         (WebCore::EventHandler::passMouseMoveEventToSubframe): Ditto.
592
593 2007-07-04  Adam Roben  <aroben@apple.com>
594
595         Add Chrome::mouseDidMoveOverElement
596
597         This does the work of calling up to the ChromeClient (which will call
598         the UI delegate).
599
600         Reviewed by Sam.
601
602         * page/Chrome.cpp:
603         (WebCore::Chrome::mouseDidMoveOverElement): Added.
604         * page/Chrome.h:
605         * page/ChromeClient.h:
606         * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to
607         ChromeClient.
608         * platform/gdk/ChromeClientGdk.h:
609         * platform/gdk/TemporaryLinkStubs.cpp:
610         (ChromeClientGdk::mouseDidMoveOverElement):
611
612 2007-07-04  Adam Roben  <aroben@apple.com>
613
614         Changed PlatformMouseEvent to store the modifier flags of the event
615
616         Reviewed by Sam.
617
618         * platform/PlatformMouseEvent.h:
619         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
620         * platform/mac/PlatformMouseEventMac.mm:
621         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
622         * platform/win/PlatformMouseEventWin.cpp:
623         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
624
625 2007-07-04  Adam Roben  <aroben@apple.com>
626
627         Add HitTestResult::setToNonShadowAncestor
628
629         Reviewed by Sam.
630
631         * page/EventHandler.cpp:
632         (WebCore::EventHandler::hitTestResultAtPoint): Moved logic into
633         HitTestResult::setToNonShadowAncestor.
634         * rendering/HitTestResult.cpp:
635         (WebCore::HitTestResult::setToNonShadowAncestor):
636         * rendering/HitTestResult.h:
637
638 2007-07-04  Adam Roben  <aroben@apple.com>
639
640         Change MouseEventWithHitTestResults to hold onto a HitTestResult
641
642         Reviewed by Sam.
643
644         * dom/Document.cpp:
645         (WebCore::Document::prepareMouseEvent):
646         * page/MouseEventWithHitTestResults.cpp:
647         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
648         (WebCore::MouseEventWithHitTestResults::targetNode):
649         (WebCore::MouseEventWithHitTestResults::localPoint):
650         (WebCore::MouseEventWithHitTestResults::scrollbar):
651         * page/MouseEventWithHitTestResults.h:
652         (WebCore::MouseEventWithHitTestResults::event):
653         (WebCore::MouseEventWithHitTestResults::hitTestResult):
654
655 2007-07-04  Matt Lilek  <pewtermoose@gmail.com>
656
657         Not reviewed, gdk build fix.
658
659         * platform/gdk/FrameGdk.cpp:
660
661 2007-07-05  Antti Koivisto  <antti@apple.com>
662
663         Reviewed by John.
664         
665         Fix Repro crash due to infinite recursion in HTMLParser::handleError @ youos.com
666         <rdar://problem/5237811>
667         
668         It is possible to add table parts (thead etc) without table ancestor to a document fragment. If a new table element
669         was added to such a part, as in
670         
671         div.innerHTML = '<tbody><table>';
672         
673         the parser error handling code would try to pop the previous table as normal. However since
674         the table does not actually exist nothing would happen and parser would go to infinite recursion.
675         
676         Solution here is to pop table parts one by one when handling the error inside a fragment instead of trying to pop
677         the table straight away (as it might not exist).
678
679         * html/HTMLParser.cpp:
680         (WebCore::HTMLParser::handleError):
681
682 2007-07-04  Qing Zhao  <qing@staikos.net>
683
684         Reviewed by George Staikos.
685
686         Draw menulist (comboboxes) without text overlap on the button.
687
688         * platform/qt/RenderThemeQt.cpp:
689         (WebCore::RenderThemeQt::setPopupPadding):
690
691 2007-07-04  George Staikos  <staikos@kde.org>
692
693         Compile
694
695         * page/qt/FrameQt.cpp:
696         * WebCore.pro:
697
698 2007-07-04  Sam Weinig  <sam@webkit.org>
699
700         Reviewed by Mitz.
701
702         Patch for http://bugs.webkit.org/show_bug.cgi?id=14504
703         REGRESSION (r23573): Amazon Book Excerpt can not be viewed in recent nightly
704
705         - Made it possible (again) to shadow window properties with local variable names.
706
707         Test: fast/dom/Window/window-property-shadowing.html
708
709         * bindings/js/JSDOMWindowCustom.cpp:
710         (WebCore::JSDOMWindow::customPut):
711         * bindings/js/kjs_window.cpp:
712         (KJS::Window::put):
713         * bindings/scripts/CodeGeneratorJS.pm:
714         * page/DOMWindow.idl:
715
716 2007-07-03  Alice Liu  <alice.liu@apple.com>
717
718         Reviewed by Adam.
719
720         Fixed <rdar://problem/5225119> support smart pasting on Windows
721
722         * WebCore.vcproj/WebCore.vcproj:
723         * WebCore.xcodeproj/project.pbxproj:
724             Added new files
725         * editing/SmartReplace.cpp: Added.
726         (WebCore::isCharacterSmartReplaceExempt):
727             Added non-CF implementation placeholder
728         * editing/SmartReplace.h: Added.
729         * editing/SmartReplaceCF.cpp: Added.
730         (WebCore::getSmartSet):
731         (WebCore::isCharacterSmartReplaceExempt):
732             Added new implementation
733
734         * bridge/win/FrameWin.cpp:
735         * page/Frame.h:
736         * page/mac/FrameMac.mm:
737             Removed old declaration and implementation
738
739         * editing/ReplaceSelectionCommand.cpp:
740         (WebCore::ReplaceSelectionCommand::doApply):
741             Changed to call the new function instead of old
742
743         * page/mac/WebCoreFrameBridge.h:
744         * page/mac/WebCoreFrameBridge.mm:
745             Removed old declaration and implementation
746         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
747             Changed to call the new function instead of old
748
749         * platform/win/PasteboardWin.cpp:
750         (WebCore::Pasteboard::Pasteboard):
751             Register new clipboard format
752         (WebCore::Pasteboard::writeSelection):
753             Set data for smartpaste format on clipboard
754         (WebCore::Pasteboard::canSmartReplace):
755             Added non-stub implementation
756
757 2007-07-04  Qing Zhao  <qing@staikos.net>
758
759         Reviewed by George Staikos.
760
761         Similar to the PlatformScrollbar fixes, adjust the painter to make the
762         styler draw all subcontrols, and in this case the focus rect, in the
763         proper location
764
765         * platform/qt/RenderThemeQt.cpp:
766         (WebCore::RenderThemeQt::paintMenuList):
767
768 2007-07-04  Mitz Pettel  <mitz@webkit.org>
769
770         Reviewed by Maciej.
771
772         - fix http://bugs.webkit.org/show_bug.cgi?id=14495
773           REGRESSION: Wrong cursor is displayed during drag and drop when text is selected
774           <rdar://problem/5312384>
775
776         No test possible because DumpRenderTree cannot query the current cursor.
777
778         * page/EventHandler.cpp:
779         (WebCore::EventHandler::selectCursor): Changed into a member function and
780         added that if the last mouse down event could not have started a
781         selection, then the cursor should not change to an I-beam unconditionally.
782         (WebCore::EventHandler::handleMouseMoveEvent):
783         * page/EventHandler.h:
784
785 2007-07-04  Holger Hans Peter Freyther  <zecke@selfish.org>
786
787         Reviewed by Rob Buis.
788
789         A little progress in tracking dependencies.
790
791         * WebCore.pro: Add DEPENDPATH for the Gdk port.
792
793 2007-07-03  Darin Adler  <darin@apple.com>
794
795         Reviewed by Tim Hatcher.
796
797         - fix <rdar://problem/5221297> Font family name in the cssText for a DOMCSSStyleDeclaration needs quotes
798
799         Test: editing/style/font-family-with-space.html
800
801         * css/FontFamilyValue.cpp:
802         (WebCore::isValidCSSIdentifier): Added. Implements the same rule that the CSS lexer does.
803         (WebCore::quoteStringIfNeeded): Changed to call isValidCSSIdentifier instead of just
804         checking for a leading "#" character.
805         * editing/markup.cpp:
806         (WebCore::escapeTextForMarkup): Changed to take a String parameter for better efficiency.
807         (WebCore::renderedText): Changed to return a String for better efficiency.
808         (WebCore::addNamespace): Updated to pass String to escapeTextForMarkup.
809         (WebCore::startMarkup): Updated to pass String to escapeTextForMarkup. Added missing call
810         to escapeTextForMarkup in the special case for the style property.
811         (WebCore::createMarkup): Changed from single quotes to double quotes and also added missing
812         call to escapeTextForMarkup in two special cases for the style property.
813
814 2007-07-03  Sam Weinig  <sam@webkit.org>
815
816         Reviewed by Darin.
817
818         Twelfth round of fixes for implicit 64-32 bit conversion errors.
819         <rdar://problem/5292262>
820
821         - Add casts and accompanying FIXMEs to avoid remaining compiler errors.
822
823         * WebCore.xcodeproj/project.pbxproj:
824         * loader/FrameLoader.cpp:
825         (WebCore::FrameLoader::opened):
826         (WebCore::FrameLoader::sendRemainingDelegateMessages):
827         * loader/FrameLoader.h:
828         * loader/ResourceLoader.cpp:
829         (WebCore::ResourceLoader::didReceiveData):
830         * platform/network/mac/ResourceHandleMac.mm:
831         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
832         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
833         * platform/network/mac/ResourceResponseMac.mm:
834         (WebCore::ResourceResponse::nsURLResponse):
835
836 2007-07-03  Anders Carlsson  <andersca@apple.com>
837
838         Reviewed by Adam.
839
840         <rdar://problem/5093862>
841         Nothing shown in plugin area when trying to play content using the DivX plugin
842         
843         Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.
844                 
845         * plugins/win/PluginViewWin.cpp:
846         (WebCore::PluginViewWin::determineQuirks):
847
848 2007-07-03  Sam Weinig  <sam@webkit.org>
849
850         Reviewed by Brady Eidson.
851
852         Ninth round of fixes for implicit 64-32 bit conversion errors.
853         <rdar://problem/5292262>
854
855         - Fix function signature to use unsigned long instead of unsigned long long.
856
857         * loader/ProgressTracker.cpp:
858         (WebCore::ProgressTracker::completeProgress):
859         * loader/ProgressTracker.h:
860
861 2007-07-03  Sam Weinig  <sam@webkit.org>
862
863         Reviewed by Oliver.
864
865         Eighth round of fixes for implicit 64-32 bit conversion errors.
866         <rdar://problem/5292262>
867
868         - Convert SVG implementation files to use floats instead of doubles
869           to match the spec/IDLs.
870
871         * bindings/scripts/CodeGeneratorJS.pm:
872         * ksvg2/svg/SVGAngle.cpp:
873         * ksvg2/svg/SVGAnimatedTemplate.h:
874         * ksvg2/svg/SVGAnimationElement.cpp:
875         (WebCore::SVGAnimationElement::getEndTime):
876         (WebCore::SVGAnimationElement::getStartTime):
877         (WebCore::SVGAnimationElement::getCurrentTime):
878         (WebCore::SVGAnimationElement::getSimpleDuration):
879         * ksvg2/svg/SVGAnimationElement.h:
880         * ksvg2/svg/SVGFitToViewBox.cpp:
881         (WebCore::SVGFitToViewBox::parseViewBox):
882         * ksvg2/svg/SVGLength.cpp:
883         (WebCore::SVGLength::setValueAsString):
884         * ksvg2/svg/SVGLinearGradientElement.cpp:
885         (WebCore::SVGLinearGradientElement::buildGradient):
886         * ksvg2/svg/SVGMatrix.idl:
887         * ksvg2/svg/SVGNumber.idl:
888         * ksvg2/svg/SVGParserUtilities.cpp:
889         (WebCore::SVGPathParser::parseSVG):
890         (WebCore::SVGPathParser::calculateArc):
891         (WebCore::SVGPathParser::svgLineToHorizontal):
892         (WebCore::SVGPathParser::svgLineToVertical):
893         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
894         (WebCore::SVGPathParser::svgCurveToQuadratic):
895         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
896         (WebCore::SVGPathParser::svgArcTo):
897         * ksvg2/svg/SVGParserUtilities.h:
898         * ksvg2/svg/SVGPathElement.cpp:
899         (WebCore::SVGPathElement::SVGPathElement):
900         (WebCore::SVGPathElement::getTotalLength):
901         (WebCore::SVGPathElement::getPointAtLength):
902         (WebCore::SVGPathElement::getPathSegAtLength):
903         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
904         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
905         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
906         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
907         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
908         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
909         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
910         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
911         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
912         (WebCore::SVGPathElement::createSVGPathSegArcRel):
913         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
914         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
915         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
916         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
917         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
918         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
919         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
920         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
921         (WebCore::SVGPathElement::svgMoveTo):
922         (WebCore::SVGPathElement::svgLineTo):
923         (WebCore::SVGPathElement::svgLineToHorizontal):
924         (WebCore::SVGPathElement::svgLineToVertical):
925         (WebCore::SVGPathElement::svgCurveToCubic):
926         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
927         (WebCore::SVGPathElement::svgCurveToQuadratic):
928         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
929         (WebCore::SVGPathElement::svgArcTo):
930         (WebCore::SVGPathElement::parseMappedAttribute):
931         * ksvg2/svg/SVGPathElement.h:
932         * ksvg2/svg/SVGPathSegArc.cpp:
933         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
934         (WebCore::SVGPathSegArcAbs::setX):
935         (WebCore::SVGPathSegArcAbs::x):
936         (WebCore::SVGPathSegArcAbs::setY):
937         (WebCore::SVGPathSegArcAbs::y):
938         (WebCore::SVGPathSegArcAbs::setR1):
939         (WebCore::SVGPathSegArcAbs::r1):
940         (WebCore::SVGPathSegArcAbs::setR2):
941         (WebCore::SVGPathSegArcAbs::r2):
942         (WebCore::SVGPathSegArcAbs::setAngle):
943         (WebCore::SVGPathSegArcAbs::angle):
944         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
945         (WebCore::SVGPathSegArcRel::setX):
946         (WebCore::SVGPathSegArcRel::x):
947         (WebCore::SVGPathSegArcRel::setY):
948         (WebCore::SVGPathSegArcRel::y):
949         (WebCore::SVGPathSegArcRel::setR1):
950         (WebCore::SVGPathSegArcRel::r1):
951         (WebCore::SVGPathSegArcRel::setR2):
952         (WebCore::SVGPathSegArcRel::r2):
953         (WebCore::SVGPathSegArcRel::setAngle):
954         (WebCore::SVGPathSegArcRel::angle):
955         * ksvg2/svg/SVGPathSegArc.h:
956         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
957         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
958         (WebCore::SVGPathSegCurvetoCubicAbs::setX):
959         (WebCore::SVGPathSegCurvetoCubicAbs::x):
960         (WebCore::SVGPathSegCurvetoCubicAbs::setY):
961         (WebCore::SVGPathSegCurvetoCubicAbs::y):
962         (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
963         (WebCore::SVGPathSegCurvetoCubicAbs::x1):
964         (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
965         (WebCore::SVGPathSegCurvetoCubicAbs::y1):
966         (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
967         (WebCore::SVGPathSegCurvetoCubicAbs::x2):
968         (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
969         (WebCore::SVGPathSegCurvetoCubicAbs::y2):
970         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
971         (WebCore::SVGPathSegCurvetoCubicRel::setX):
972         (WebCore::SVGPathSegCurvetoCubicRel::x):
973         (WebCore::SVGPathSegCurvetoCubicRel::setY):
974         (WebCore::SVGPathSegCurvetoCubicRel::y):
975         (WebCore::SVGPathSegCurvetoCubicRel::setX1):
976         (WebCore::SVGPathSegCurvetoCubicRel::x1):
977         (WebCore::SVGPathSegCurvetoCubicRel::setY1):
978         (WebCore::SVGPathSegCurvetoCubicRel::y1):
979         (WebCore::SVGPathSegCurvetoCubicRel::setX2):
980         (WebCore::SVGPathSegCurvetoCubicRel::x2):
981         (WebCore::SVGPathSegCurvetoCubicRel::setY2):
982         (WebCore::SVGPathSegCurvetoCubicRel::y2):
983         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
984         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
985         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
986         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
987         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x):
988         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
989         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y):
990         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
991         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x2):
992         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
993         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y2):
994         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
995         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
996         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x):
997         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
998         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y):
999         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
1000         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x2):
1001         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
1002         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y2):
1003         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
1004         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
1005         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
1006         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
1007         (WebCore::SVGPathSegCurvetoQuadraticAbs::x):
1008         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
1009         (WebCore::SVGPathSegCurvetoQuadraticAbs::y):
1010         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
1011         (WebCore::SVGPathSegCurvetoQuadraticAbs::x1):
1012         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
1013         (WebCore::SVGPathSegCurvetoQuadraticAbs::y1):
1014         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
1015         (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
1016         (WebCore::SVGPathSegCurvetoQuadraticRel::x):
1017         (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
1018         (WebCore::SVGPathSegCurvetoQuadraticRel::y):
1019         (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
1020         (WebCore::SVGPathSegCurvetoQuadraticRel::x1):
1021         (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
1022         (WebCore::SVGPathSegCurvetoQuadraticRel::y1):
1023         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
1024         (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
1025         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1026         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
1027         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
1028         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::x):
1029         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
1030         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::y):
1031         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
1032         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
1033         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::x):
1034         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
1035         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::y):
1036         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
1037         * ksvg2/svg/SVGPathSegLineto.cpp:
1038         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
1039         (WebCore::SVGPathSegLinetoAbs::setX):
1040         (WebCore::SVGPathSegLinetoAbs::x):
1041         (WebCore::SVGPathSegLinetoAbs::setY):
1042         (WebCore::SVGPathSegLinetoAbs::y):
1043         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
1044         (WebCore::SVGPathSegLinetoRel::setX):
1045         (WebCore::SVGPathSegLinetoRel::x):
1046         (WebCore::SVGPathSegLinetoRel::setY):
1047         (WebCore::SVGPathSegLinetoRel::y):
1048         * ksvg2/svg/SVGPathSegLineto.h:
1049         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
1050         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
1051         (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
1052         (WebCore::SVGPathSegLinetoHorizontalAbs::x):
1053         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
1054         (WebCore::SVGPathSegLinetoHorizontalRel::setX):
1055         (WebCore::SVGPathSegLinetoHorizontalRel::x):
1056         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
1057         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
1058         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
1059         (WebCore::SVGPathSegLinetoVerticalAbs::setY):
1060         (WebCore::SVGPathSegLinetoVerticalAbs::y):
1061         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
1062         (WebCore::SVGPathSegLinetoVerticalRel::setY):
1063         (WebCore::SVGPathSegLinetoVerticalRel::y):
1064         * ksvg2/svg/SVGPathSegLinetoVertical.h:
1065         * ksvg2/svg/SVGPathSegList.cpp:
1066         (WebCore::SVGPathSegList::getPathSegAtLength):
1067         * ksvg2/svg/SVGPathSegList.h:
1068         * ksvg2/svg/SVGPathSegMoveto.cpp:
1069         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
1070         (WebCore::SVGPathSegMovetoAbs::setX):
1071         (WebCore::SVGPathSegMovetoAbs::x):
1072         (WebCore::SVGPathSegMovetoAbs::setY):
1073         (WebCore::SVGPathSegMovetoAbs::y):
1074         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
1075         (WebCore::SVGPathSegMovetoRel::setX):
1076         (WebCore::SVGPathSegMovetoRel::x):
1077         (WebCore::SVGPathSegMovetoRel::setY):
1078         (WebCore::SVGPathSegMovetoRel::y):
1079         * ksvg2/svg/SVGPathSegMoveto.h:
1080         * ksvg2/svg/SVGPolyElement.cpp:
1081         (WebCore::SVGPolyElement::svgPolyTo):
1082         * ksvg2/svg/SVGRadialGradientElement.cpp:
1083         (WebCore::SVGRadialGradientElement::buildGradient):
1084         * ksvg2/svg/SVGSVGElement.cpp:
1085         (WebCore::SVGSVGElement::viewport):
1086         (WebCore::SVGSVGElement::getCurrentTime):
1087         * ksvg2/svg/SVGStopElement.cpp:
1088         (WebCore::SVGStopElement::SVGStopElement):
1089         (WebCore::SVGStopElement::parseMappedAttribute):
1090         * ksvg2/svg/SVGStopElement.h:
1091         * ksvg2/svg/SVGTransform.cpp:
1092         (SVGTransform::translate):
1093         (SVGTransform::scale):
1094         * ksvg2/svg/SVGTransformDistance.cpp:
1095         (WebCore::SVGTransformDistance::addToSVGTransform):
1096         (WebCore::SVGTransformDistance::distance):
1097         * ksvg2/svg/SVGTransformable.cpp:
1098         (WebCore::SVGTransformable::parseTransformAttribute):
1099
1100 2007-07-03  Anders Carlsson  <andersca@apple.com>
1101
1102         Reviewed by Darin.
1103
1104         <rdar://problem/5289718>
1105         http://bugs.webkit.org/show_bug.cgi?id=14437
1106         CrashTracer: [REGRESSION] 76 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 6 (14437)
1107         
1108         Based on a patch from Maxime Britto.
1109         
1110         * page/mac/WebCoreFrameBridge.mm:
1111         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1112         If the script caused the frame to go away, return nil. This can only happen if a plugin in a subframe destroys
1113         its frame.
1114
1115         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
1116         ASSERT that this is only called on the main frame.
1117
1118 2007-07-03  John Sullivan  <sullivan@apple.com>
1119
1120         Written by Darin, reviewed by me
1121         
1122         - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local 
1123           documents more than once due to canonicalization change
1124
1125         * loader/mac/LoaderNSURLExtras.m:
1126         (canonicalURL):
1127         pass URL through KURL so we get KURL's version of canonicalization as well as
1128         NSURLProtocol's version of canonicalization
1129
1130 2007-07-03  Sam Weinig  <sam@webkit.org>
1131
1132         Reviewed by Darin.
1133
1134         Seventh round of fixes for implicit 64-32 bit conversion errors.
1135         <rdar://problem/5292262>
1136
1137         - Adds more narrowPrecision functions to FloatPoint, FloatSize and FloatRect.
1138         - Changes over more implicit conversions to use new functions.
1139
1140         * bindings/js/kjs_window.cpp:
1141         (KJS::WindowFunc::callAsFunction):
1142         * platform/graphics/FloatPoint.cpp:
1143         (WebCore::FloatPoint::matrixTransform):
1144         (WebCore::FloatPoint::narrowPrecision):
1145         * platform/graphics/FloatPoint.h:
1146         * platform/graphics/FloatRect.cpp:
1147         (WebCore::FloatRect::narrowPrecision):
1148         * platform/graphics/FloatRect.h:
1149         * platform/graphics/FloatSize.cpp:
1150         (WebCore::FloatSize::narrowPrecision):
1151         * platform/graphics/FloatSize.h:
1152         * platform/graphics/Path.cpp:
1153         (WebCore::Path::createRoundedRectangle):
1154         (WebCore::Path::createRectangle):
1155         (WebCore::Path::createEllipse):
1156         * platform/graphics/mac/ColorMac.mm:
1157         (WebCore::nsColor):
1158         * platform/graphics/mac/IconMac.mm:
1159         (WebCore::Icon::paint):
1160         * platform/graphics/svg/cg/CgSupport.cpp:
1161         (WebCore::applyStrokeStyleToContext):
1162         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1163         (WebCore::CGShadingRefForRadialGradient):
1164         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
1165         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
1166         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1167         (WebCore::applyLuminanceToAlphaFilter):
1168         (WebCore::applyExpandAlphatoGrayscaleFilter):
1169         (WebCore::transformImageIntoGrayscaleMask):
1170         * platform/mac/WebCoreTextRenderer.mm:
1171         (WebCoreDrawTextAtPoint):
1172         * rendering/RenderPath.cpp:
1173         (WebCore::RenderPath::mapAbsolutePointToLocal):
1174         * rendering/RenderSVGContainer.cpp:
1175         (WebCore::RenderSVGContainer::calcViewport):
1176         * rendering/RenderSVGImage.cpp:
1177         (WebCore::RenderSVGImage::nodeAtPoint):
1178         * rendering/RenderSVGText.cpp:
1179         (WebCore::RenderSVGText::relativeBBox):
1180
1181 2007-07-03  Anders Carlsson  <andersca@apple.com>
1182
1183         Reviewed by Adam.
1184
1185         <rdar://problem/5261523>
1186         Crash playing MP11 on cnbc.com
1187         
1188         The WMP Netscape plugin still creates a window even when windowless mode is turned on. Work around this by
1189         always removing the "windowlessvideo" parameter before passing it to the plugin.
1190         According to http://msdn2.microsoft.com/en-us/library/bb249373.aspx, "The windowlessVideo property is not 
1191         supported for Netscape Navigator. Setting a value for this property in Navigator may yield unexpected results."
1192         
1193         * plugins/win/PluginViewWin.cpp:
1194         (WebCore::PluginViewWndProc):
1195         (WebCore::PluginViewWin::paint):
1196         (WebCore::PluginViewWin::invalidateRect):
1197         (WebCore::PluginViewWin::determineQuirks):
1198         (WebCore::PluginViewWin::setParameters):
1199         (WebCore::PluginViewWin::PluginViewWin):
1200         (WebCore::PluginViewWin::init):
1201         * plugins/win/PluginViewWin.h:
1202         (WebCore::):
1203
1204 2007-07-03  Qing Zhao  <qing@staikos.net>
1205
1206         Reviewed by George Staikos.
1207
1208         Only draw sunken state for appropriate widgets. Not, for example, for
1209         lineedits.
1210
1211         * platform/qt/RenderThemeQt.cpp:
1212         (WebCore::RenderThemeQt::applyTheme):
1213
1214 2007-07-03  Antti Koivisto  <antti@apple.com>
1215
1216         Reviewed by Maciej.
1217         
1218         REGRESSION: misplaced selection ring remains after link is no longer focused.
1219         <rdar://problem/5205580>
1220         
1221         Fix placement of selection ring when part of the ring is in a different layer.
1222
1223         * rendering/RenderFlow.cpp:
1224         (WebCore::RenderFlow::addFocusRingRects): Get coordinates right when moving to a different layer.
1225         * rendering/RenderObject.cpp:
1226         (WebCore::RenderObject::setStyle): 
1227         Don't reset state variables when not necessary.  When repaint() was called at the end of setSyle() it would
1228         get repaint rects wrong in some cases.
1229
1230 2007-07-03  Antti Koivisto  <antti@apple.com>
1231
1232         Reviewed by Maciej.
1233
1234         Blind fix for CrashTracer: [USER] 25 crashes in Safari at com.apple.WebCore: WebCore::Frame::document const + 6
1235         <rdar://problem/5263939>
1236         
1237         No one has managed to reproduce this but it looks like null check is needed here. There are plausible ways
1238         m_frame could be null for a live FrameView object.
1239
1240         * page/FrameView.cpp:
1241         (WebCore::FrameView::needsLayout):
1242
1243 2007-07-02  Oliver Hunt  <oliver@apple.com>
1244
1245         Reviewed by Darin.
1246
1247         Fix for <rdar://problem/5098378> single-pixel image optimization needs to be rewritten to not depend on floating point bitmap
1248         Tested by fast/replaced/image-solid-color-with-alpha.html
1249
1250         Switch from float to byte based bitmap when pulling the color from 1x1 pixel images so
1251         that we can use the single pixel image optimisation in WebKit/win.
1252
1253         * platform/graphics/cg/ImageCG.cpp:
1254         (WebCore::BitmapImage::checkForSolidColor):
1255
1256 2007-07-02  Adam Roben  <aroben@apple.com>
1257
1258         Fix Bug 14498: RenderContainer::positionForCoordinates contains an order of operations error
1259         http://bugs.webkit.org/show_bug.cgi?id=14498
1260
1261         There were two bugs:
1262         1) xPos/yPos were flipped
1263         2) + binds tighter than ?:, so the order of operations was incorrect
1264
1265         Reviewed by Darin.
1266
1267         Test: fast/inline-block/14498-positionForCoordinates.html
1268
1269         * rendering/RenderContainer.cpp:
1270         (WebCore::RenderContainer::positionForCoordinates):
1271
1272 2007-07-02  Darin Adler  <darin@apple.com>
1273
1274         Reviewed by Kevin Decker and Tim Hatcher.
1275
1276         - fix <rdar://problem/5307906> some classes need finalize methods because
1277           of non-trivial work done in dealloc methods
1278
1279         * bindings/objc/DOMRGBColor.mm:
1280         (+[DOMRGBColor initialize]): Added. Tells finalizer to run on main thread,
1281         which is needed because we are sharing a CFDictionary here with no locking.
1282
1283         * bridge/mac/WebCoreAXObject.mm:
1284         (+[WebCoreAXObject initialize]): Added. Tells finalizer to run on main thread.
1285         (-[WebCoreAXObject finalize]): Added. Calls detach.
1286
1287         * WebCore.xcodeproj/project.pbxproj: Let Xcode do what it wants to do.
1288
1289 2007-07-02  Sam Weinig  <sam@webkit.org>
1290
1291         Reviewed by Darin.
1292
1293         Sixth round of fixes for implicit 64-32 bit conversion errors.
1294         <rdar://problem/5292262>
1295
1296         Use new narrowPrecisionToFloat() and narrowPrecisionToCGFloat() where
1297         appropriate.
1298
1299         * html/CanvasRenderingContext2D.cpp:
1300         (WebCore::CanvasRenderingContext2D::setShadow):
1301         (WebCore::CanvasRenderingContext2D::applyShadow):
1302         * html/CanvasStyle.cpp:
1303         (WebCore::CanvasStyle::applyStrokeColor):
1304         (WebCore::CanvasStyle::applyFillColor):
1305         * ksvg2/svg/SVGAngle.cpp:
1306         * ksvg2/svg/SVGAnimationElement.cpp:
1307         (WebCore::SVGAnimationElement::parseKeyNumbers):
1308         (WebCore::parseKeySplines):
1309         (WebCore::SVGAnimationElement::handleTimerEvent):
1310         (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
1311         * ksvg2/svg/SVGPatternElement.cpp:
1312         (WebCore::SVGPatternElement::buildPattern):
1313         * ksvg2/svg/SVGRadialGradientElement.cpp:
1314         (WebCore::SVGRadialGradientElement::buildGradient):
1315         * platform/graphics/cg/AffineTransformCG.cpp:
1316         (WebCore::AffineTransform::AffineTransform):
1317         (WebCore::AffineTransform::setMatrix):
1318         (WebCore::AffineTransform::map):
1319         (WebCore::AffineTransform::setA):
1320         (WebCore::AffineTransform::setB):
1321         (WebCore::AffineTransform::setC):
1322         (WebCore::AffineTransform::setD):
1323         (WebCore::AffineTransform::setE):
1324         (WebCore::AffineTransform::setF):
1325         (WebCore::AffineTransform::scale):
1326         (WebCore::AffineTransform::rotate):
1327         (WebCore::AffineTransform::translate):
1328         (WebCore::AffineTransform::shear):
1329
1330 2007-07-02  John Sullivan  <sullivan@apple.com>
1331
1332         * page/mac/WebCoreFrameBridge.mm:
1333         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1334         added a comment
1335
1336 2007-07-02  Sam Weinig  <sam@webkit.org>
1337
1338         Rubberstamped by Darin.
1339
1340         Rename FloatConversionUtilities.h to FloatConversion.h.
1341         Fix Win32 build.
1342
1343         * WebCore.vcproj/WebCore.vcproj:
1344         * WebCore.xcodeproj/project.pbxproj:
1345         * platform/DeprecatedString.cpp:
1346         * platform/FloatConversion.h: Copied from platform/FloatConversionUtilities.h.
1347         * platform/FloatConversionUtilities.h: Removed.
1348         * platform/StringImpl.cpp:
1349
1350 2007-07-02  Sam Weinig  <sam@webkit.org>
1351
1352         Reviewed by Darin.
1353
1354         Fifth round of fixes for implicit 64-32 bit conversion errors.
1355         <rdar://problem/5292262>
1356
1357         Add toFloat() method to string classes and use it where appropriate.
1358
1359         * WebCore.xcodeproj/project.pbxproj:
1360         * css/cssparser.cpp:
1361         (WebCore::CSSParser::lex):
1362         * ksvg2/svg/SVGAngle.cpp:
1363         (WebCore::SVGAngle::setValueAsString):
1364         * platform/AtomicString.h:
1365         (WebCore::AtomicString::toFloat):
1366         * platform/DeprecatedString.cpp:
1367         (WebCore::DeprecatedString::toFloat):
1368         * platform/DeprecatedString.h:
1369         * platform/FloatConversionUtilities.h: Added.
1370         (WebCore::narrowPrecisionToFloat):
1371         (WebCore::narrowPrecisionToCGFloat):
1372         * platform/PlatformString.h:
1373         * platform/String.cpp:
1374         (WebCore::String::toFloat):
1375         * platform/StringImpl.cpp:
1376         (WebCore::StringImpl::toFloat):
1377         * platform/StringImpl.h:
1378
1379 2007-07-02  Sam Weinig  <sam@webkit.org>
1380
1381         Reviewed by Kevin McCullough.
1382
1383         Fourth round of fixes for implicit 64-32 bit conversion errors.
1384         <rdar://problem/5292262>
1385
1386         Use new piDouble and piFloat constants instead of M_PI.
1387
1388         * html/CanvasRenderingContext2D.cpp:
1389         (WebCore::CanvasRenderingContext2D::rotate):
1390         * ksvg2/svg/SVGParserUtilities.cpp:
1391         (WebCore::SVGPathParser::calculateArc):
1392         * platform/graphics/Path.cpp:
1393         (WebCore::pathLengthApplierFunction):
1394         (WebCore::Path::createEllipse):
1395         * platform/graphics/cg/GraphicsContextCG.cpp:
1396         (WebCore::GraphicsContext::drawEllipse):
1397         (WebCore::GraphicsContext::strokeArc):
1398         * platform/graphics/cg/PDFDocumentImage.cpp:
1399         (WebCore::PDFDocumentImage::setCurrentPage):
1400         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
1401         * rendering/RenderPath.cpp:
1402         (WebCore::drawMarkerWithData):
1403
1404 2007-07-01  Adam Roben  <aroben@apple.com>
1405
1406         Clarify/fix {Shadow,BorderImage}ParseContext's memory management
1407
1408         Prefast emitted warnings that drew my attention to
1409         {Shadow,BorderImage}ParseContext::failed().  It turned out that these
1410         methods were actually correct, but rather confusing. "failed" really
1411         meant "abort and clean up" rather than "did you fail?", which was
1412         unclear. However, once I figured that out, the "and clean up" part was
1413         still a bit confusing, because all failed() did was to set a flag that
1414         would later cause the ParseContext's members to be deleted in the
1415         destructor. To clear this up, I've gotten rid of the failed() method
1416         altogether. It always returned false, so I've replaced all calls to
1417         it with the value false.
1418
1419         I also noticed that the lifetime management of the ParseContexts'
1420         members was in all cases confusing, and in some cases wrong. The
1421         m_border{Top,Right,Bottom,Left} members of BorderImageParseContext
1422         were leaked whenever a border-image property was successfully parsed.
1423         I fixed that by holding these members in OwnPtrs. The
1424         CSSPrimitiveValue members of {Shadow,BorderImage}ParseContext, which
1425         inherit from Shared, were being explicitly deleted, which is not a
1426         safe way to manage the lifetime of objects that inherit from Shared.
1427         To fix this, I put those members inside RefPtrs. These two changes
1428         allowed me to remove the destructors entirely.
1429
1430         Reviewed by Darin.
1431
1432         All regression tests pass.
1433
1434         * css/cssparser.cpp:
1435         (WebCore::ShadowParseContext::commitValue): Use .release() to avoid
1436         ref-count churn.
1437         (WebCore::ShadowParseContext::commitLength): Use a RefPtr for the new
1438         value to avoid a leak.
1439         (WebCore::CSSParser::parseShadow): Use 'false' instead of
1440         'context.failed()', and use .release() to avoid ref-count churn.
1441         (WebCore::BorderImageParseContext::commitWidth): Updated to use
1442         OwnPtr.
1443         (WebCore::CSSParser::parseBorderImage): Use 'false' instead of
1444         'context.failed'.
1445
1446 2007-07-01  Anders Carlsson  <andersca@apple.com>
1447
1448         Reviewed by John Sullivan.
1449
1450         <rdar://problem/5297146>
1451         Crash in Mail at WebCore::Frame::setUserStyleSheetLocation (reproducible w/ particular message)
1452         
1453         * loader/Cache.cpp:
1454         (WebCore::Cache::requestResource):
1455         Only insert the resource in the LRU list if the cache is enabled.
1456         
1457         (WebCore::Cache::insertInLRUList):
1458         (WebCore::Cache::resourceAccessed):
1459         Assert that the resource is in the cache.
1460
1461 2007-07-01  Darin Adler  <darin@apple.com>
1462
1463         * css/tokenizer.flex: Rolled out the fix for 14453.
1464         The layout test wasn't passing. We'll try again.
1465
1466 2007-07-01  Adam Roben  <aroben@apple.com>
1467
1468         Fix a crash in ~PluginViewWin()
1469
1470         This crash was introduced in r23827.
1471
1472         Reviewed by Anders.
1473
1474         Fixes dom/html/level2/html/HTMLAnchorElement01.html
1475
1476         * plugins/win/PluginViewWin.cpp:
1477         (WebCore::PluginViewWin::~PluginViewWin): Allow m_plugin to be null.
1478
1479 2007-07-01  Rob Buis  <buis@kde.org>
1480
1481         Reviewed by Darin.
1482
1483         http://bugs.webkit.org/show_bug.cgi?id=14453
1484         REGRESSION: www.nzherald.co.nz almost all the formating is gone
1485  
1486         * css/tokenizer.flex: Allow hex colors with 2, 4, or 5 hex digits.
1487
1488 2007-07-01  Sam Weinig  <sam@webkit.org>
1489
1490         Reviewed by Oliver.
1491
1492         Third round of implicit 64-32 bit conversion errors fixes.
1493         <rdar://problem/5292262>
1494
1495         - Use new CSSPrimitiveValue::getDoubleValue() and CSSPrimitiveValue::getIntValue()
1496           methods instead of CSSPrimitiveValue::getFloatValue() where appropriate.
1497
1498         * css/CSSPrimitiveValue.cpp:
1499         (WebCore::CSSPrimitiveValue::computeLengthInt):
1500         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
1501         (WebCore::CSSPrimitiveValue::computeLengthShort):
1502         (WebCore::CSSPrimitiveValue::computeLengthFloat):
1503         (WebCore::CSSPrimitiveValue::computeLengthDouble):
1504         (WebCore::CSSPrimitiveValue::getDoubleValue):
1505         * css/CSSPrimitiveValue.h:
1506         (WebCore::CSSPrimitiveValue::getDoubleValue):
1507         (WebCore::CSSPrimitiveValue::getFloatValue):
1508         (WebCore::CSSPrimitiveValue::getIntValue):
1509         * css/Counter.h:
1510         (WebCore::Counter::listStyleNumber):
1511         * css/MediaQueryEvaluator.cpp:
1512         (WebCore::parseAspectRatio):
1513         * css/cssparser.cpp:
1514         (WebCore::BorderImageParseContext::commitBorderImage):
1515         * css/cssstyleselector.cpp:
1516         (WebCore::convertToLength):
1517         (WebCore::applyCounterList):
1518         (WebCore::CSSStyleSelector::applyProperty):
1519         (WebCore::CSSStyleSelector::mapBackgroundSize):
1520         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1521         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1522         * html/HTMLTableElement.cpp:
1523         (WebCore::HTMLTableElement::parseMappedAttribute):
1524         * ksvg2/css/SVGCSSStyleSelector.cpp:
1525         (WebCore::CSSStyleSelector::applySVGProperty):
1526         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1527         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
1528         (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
1529
1530 2007-07-01  Pamela Greene  <pamg.bugs@gmail.com>
1531
1532         Reviewed by Darin.
1533
1534         Fix for <http://bugs.webkit.org/show_bug.cgi?id=14320>
1535         Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order
1536         <rdar://problem/5290084>
1537
1538         Use std::stable_sort() instead of qsort() to sort gradient stops.
1539         Adjust the comparison function accordingly.
1540
1541         * html/CanvasGradient.cpp:
1542         (WebCore::compareStops):
1543         (WebCore::CanvasGradient::findStop):
1544
1545 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
1546
1547         Reviewed by Darin.
1548
1549         m_usesPageCache was not initialized. As the b/f cache is only
1550         implemented in the Mac port and WebView.mm is taking care of calling
1551         Settings::setUsesPageCache I decided to make it false by default.
1552
1553         * page/Settings.cpp:
1554         (WebCore::Settings::Settings): m_usesPageCache was not initialized
1555
1556 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
1557
1558         Reviewed by Darin.
1559
1560         Inherited- and NonInheritedFlags is a bit field. But for comparsion
1561         the other part of the union _iflags/_niflags is used for comparions.
1562         This will compare 5 uninitialized bits of _iflags and 22 of _niflags.
1563         Make sure the unused bits have a specified value.
1564
1565         * ksvg2/css/SVGRenderStyle.h:
1566         (WebCore::SVGRenderStyle::setBitDefaults): Make sure the unused bits
1567         have a value as well.
1568
1569 2007-06-30  Adam Roben  <aroben@apple.com>
1570
1571         Compile WebCore with /W4 on Windows
1572
1573         Some more warnings were disabled globally, including assignment within
1574         a conditional, unused variable, and various warnings related to
1575         inability to instantiate opaque structs.
1576
1577         In addition, the "unreachable code" warning was turned off for
1578         CSSGrammar.cpp and XPathGrammar.cpp.
1579
1580         Reviewed by Oliver.
1581
1582         * WebCore.vcproj/WebCore.vcproj:
1583
1584 2007-06-29  Adam Roben  <aroben@apple.com>
1585
1586         Give CString an equality operator to fix a bug in HTMLFormElement::formData
1587
1588         The bug was spotted by MSVC /W4. The problem was that we were comparing
1589         a CString to a char* using ==, but CString had no equality operator.
1590         The result was that the CString was being cast to a const char* and a
1591         pointer comparison was being done, which would (essentially) always
1592         return false.
1593
1594         There are two parts to the fix: get rid of CString's const char*
1595         casting operator, and add an equality operator. Previous uses of the
1596         casting operator have been changed to use CString::data().
1597
1598         Test: http/misc/isindex-formdata.html
1599
1600         Reviewed by Oliver.
1601
1602         * dom/XMLTokenizer.cpp:
1603         (WebCore::parseXMLDocumentFragment):
1604         * html/HTMLDocument.cpp:
1605         (WebCore::HTMLDocument::determineParseMode):
1606         * html/HTMLFormElement.cpp:
1607         (WebCore::HTMLFormElement::formData):
1608         * loader/TextResourceDecoder.cpp:
1609         (WebCore::TextResourceDecoder::checkForCSSCharset):
1610         * platform/CString.cpp:
1611         (WebCore::operator==):
1612         * platform/CString.h:
1613         * platform/KURL.cpp:
1614         (WebCore::encodeRelativeString):
1615         * platform/StringImpl.cpp:
1616         (WebCore::StringImpl::toDouble):
1617         * platform/network/cf/FormDataStreamCFNet.cpp:
1618         (WebCore::setHTTPBody):
1619         * platform/network/mac/FormDataStreamMac.mm:
1620         (WebCore::setHTTPBody):
1621         * platform/win/ClipboardUtilitiesWin.cpp:
1622         (WebCore::markupToCF_HTML):
1623         * plugins/win/PluginPackageWin.cpp:
1624         (WebCore::splitString):
1625         * plugins/win/PluginStreamWin.cpp:
1626         (WebCore::PluginStreamWin::startStream):
1627         (WebCore::PluginStreamWin::destroyStream):
1628         (WebCore::PluginStreamWin::sendJavaScriptStream):
1629         (WebCore::PluginStreamWin::didFinishLoading):
1630         * plugins/win/PluginViewWin.cpp:
1631         (WebCore::PluginViewWin::start):
1632         (WebCore::createUTF8String):
1633         (WebCore::PluginViewWin::userAgent):
1634         * xml/XSLStyleSheet.cpp:
1635         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
1636         * xml/XSLTProcessor.cpp:
1637         (WebCore::xsltParamArrayFromParameterMap):
1638
1639 2007-06-29  Adam Roben  <aroben@apple.com>
1640
1641         Initialize two variables that MSVC /W4 isn't smart enough to realize always get initialized
1642
1643         Reviewed by John.
1644
1645         * editing/Editor.cpp:
1646         (WebCore::Editor::advanceToNextMisspelling):
1647         * html/HTMLParser.cpp:
1648
1649 2007-06-29  Adam Roben  <aroben@apple.com>
1650
1651         Fix some possibly unitialized variables found by MSVC /W4
1652
1653         Reviewed by John.
1654
1655         * rendering/bidi.cpp:
1656         (WebCore::RenderBlock::layoutInlineChildren):
1657
1658 2007-06-29  Adam Roben  <aroben@apple.com>
1659
1660         Remove bogus cast found by MSVC /W4
1661
1662         Reviewed by John and Oliver.
1663
1664         * ksvg2/css/SVGCSSParser.cpp:
1665         (WebCore::CSSParser::parseSVGValue):
1666
1667 2007-06-29  Adam Roben  <aroben@apple.com>
1668
1669         Remove unused local functions uncovered by MSVC /W4
1670
1671         Reviewed by John and Oliver.
1672
1673         * platform/win/SearchPopupMenuWin.cpp:
1674         * rendering/RenderText.cpp:
1675
1676 2007-06-29  Adam Roben  <aroben@apple.com>
1677
1678         Don't take the address of temporary values to appease MSVC /W4
1679
1680         Reviewed by Oliver.
1681
1682         No regression test possible.
1683
1684         * platform/win/PopupMenuWin.cpp:
1685         (WebCore::PopupMenu::invalidateItem):
1686         (WebCore::PopupMenu::valueChanged):
1687         (WebCore::PopupWndProc):
1688         * platform/win/ScrollViewWin.cpp:
1689         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1690         * platform/win/UniscribeController.cpp:
1691         (WebCore::UniscribeController::shapeAndPlaceItem):
1692         * platform/win/WidgetWin.cpp:
1693         (WebCore::Widget::invalidateRect):
1694
1695 2007-06-29  Adam Roben  <aroben@apple.com>
1696
1697         Make an int -> UINT conversion explicit that MSVC /W4 complains about
1698
1699         Reviewed by John and Oliver.
1700
1701         No regression test possible.
1702
1703         * platform/win/SoundWin.cpp:
1704
1705 2007-06-29  Adam Roben  <aroben@apple.com>
1706
1707         Remove unreachable code uncovered by MSVC /W4
1708
1709         Reviewed by Oliver.
1710
1711         No regression test possible.
1712
1713         * html/CanvasRenderingContext2D.cpp:
1714         (WebCore::CanvasRenderingContext2D::createPattern):
1715         * html/HTMLAnchorElement.cpp:
1716         (WebCore::HTMLAnchorElement::isLiveLink):
1717         * html/HTMLElement.cpp:
1718         (WebCore::HTMLElement::contentEditable):
1719         * platform/DeprecatedString.cpp:
1720         (WebCore::allocateHandle):
1721         (WebCore::freeHandle):
1722         * plugins/win/npapi.cpp:
1723         (pluginViewForInstance):
1724         * rendering/RenderImage.cpp:
1725         (WebCore::RenderImage::isWidthSpecified):
1726         (WebCore::RenderImage::isHeightSpecified):
1727         * rendering/RenderTheme.cpp:
1728         (WebCore::RenderTheme::isControlStyled):
1729
1730 2007-06-29  John Sullivan  <sullivan@apple.com>
1731
1732         Reviewed by Oliver Hunt.
1733         
1734         - WebCore support for accessing the set of rectangles that encompass the selected text
1735         
1736         * page/Frame.h:
1737         * page/Frame.cpp:
1738         (WebCore::Frame::selectionTextRects):
1739         new function, fills in a passed Vector with the line box rects that represent the selected range
1740
1741         * rendering/RenderText.cpp:
1742         (WebCore::RenderText::addLineBoxRects):
1743         fixed off-by-one bug involving use of the confusing function InlineTextBox::end()
1744
1745         * WebCore.exp:
1746         exported symbol for this new function
1747
1748 2007-06-29  Justin Garcia  <justin.garcia@apple.com>
1749
1750         Reviewed by Harrison.
1751         
1752         <rdar://problem/5299513> REGRESSION: In Mail, a crash occurs when attempting to undo a newly created To Do
1753         
1754         Rolled out a change made in r23787.
1755         
1756         * editing/DeleteSelectionCommand.cpp:
1757         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1758
1759 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
1760
1761         Reviewed by Darin Adler, Anders Carlsson.
1762         
1763         Fixed <rdar://problem/5303567> REGRESSION: XMLHttpRequest.responseXML 
1764         returns NULL if response MIME type is not XML -- breaks Wikipedia widget
1765         
1766         The spec says that responseXML must return null for any HTTP response
1767         with a non-XML MIME type. Technically, that leaves non-HTTP responses
1768         free to do whatever they want.
1769
1770         * xml/xmlhttprequest.cpp:
1771         (WebCore::XMLHttpRequest::getResponseXML): Only return null for non-XML
1772         MIME types if the response was HTTP.
1773
1774 2007-06-29  Sam Weinig  <sam@webkit.org>
1775
1776         Reviewed by Darin.
1777
1778         Second pass at fixing implicit 64-32 bit conversion errors.
1779         <rdar://problem/5292262>
1780
1781         - Use new JSValue::toFloat() method instead of toNumber() where
1782           appropriate.
1783
1784         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1785         (WebCore::JSCanvasRenderingContext2D::setFillColor):
1786         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
1787         (WebCore::JSCanvasRenderingContext2D::strokeRect):
1788         (WebCore::JSCanvasRenderingContext2D::drawImage):
1789         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
1790         (WebCore::JSCanvasRenderingContext2D::setShadow):
1791         * bindings/js/JSHTMLSelectElementCustom.cpp:
1792         (WebCore::JSHTMLSelectElement::remove):
1793         * bindings/js/JSSVGMatrixCustom.cpp:
1794         (WebCore::JSSVGMatrix::rotateFromVector):
1795         * bindings/js/kjs_events.cpp:
1796         (KJS::JSClipboardPrototypeFunction::callAsFunction):
1797         * bindings/scripts/CodeGeneratorJS.pm:
1798         * ksvg2/svg/SVGScriptElement.cpp:
1799         (WebCore::SVGScriptElement::executeScript):
1800
1801 2007-06-29  Adele Peterson  <adele@apple.com>
1802
1803         Rolling out fix for <rdar://problem/5301322> since it broke layout tests.
1804
1805         * html/HTMLInputElement.h:
1806         * html/HTMLTextAreaElement.h:
1807
1808 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
1809
1810         Reviewed by Oliver Hunt.
1811
1812         Fixed <rdar://problem/4962298> REGRESSION: Synchronous XHR for missing 
1813         local file throws exception -- breaks Wikipedia widget
1814
1815         * WebCore.xcodeproj/project.pbxproj:
1816         * xml/xmlhttprequest.cpp:
1817         (WebCore::XMLHttpRequest::send): Don't throw exceptions for local files.
1818
1819 2007-06-29  Ada Chan  <adachan@apple.com>
1820
1821         Reviewed by Adam.
1822
1823         Fixed a previous fix to a signed/unsigned mismatch.
1824
1825         * plugins/win/PluginPackageWin.cpp:
1826         (WebCore::splitString):
1827
1828 2007-06-29  Adele Peterson  <adele@apple.com>
1829
1830         Reviewed by Ada and Kevin McCullough.
1831
1832         Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
1833
1834         Implemented canSelectAll and selectAll for text fields and textareas, since they're special cases even when they're not editable.
1835
1836         Tests:
1837         fast/forms/input-readonly-select-all.html
1838         fast/forms/textarea-readonly-select-all.html
1839
1840         * html/HTMLInputElement.h:
1841         (WebCore::HTMLInputElement::canSelectAll):
1842         (WebCore::HTMLInputElement::selectAll):
1843         * html/HTMLTextAreaElement.h:
1844         (WebCore::HTMLTextAreaElement::canSelectAll):
1845         (WebCore::HTMLTextAreaElement::selectAll):
1846
1847 2007-06-29  Adam Roben  <aroben@apple.com>
1848
1849         Build fix
1850
1851         This is what happens when you test your patch on two OSs and then
1852         commit from the wrong one.
1853
1854         * rendering/RenderTextControl.cpp:
1855         (WebCore::RenderTextControl::valueChanged):
1856         (WebCore::RenderTextControl::itemText):
1857         (WebCore::RenderTextControl::itemIsSeparator):
1858
1859 2007-06-29  Adam Roben  <aroben@apple.com>
1860
1861         Start compiling WebCore with /W3 under MSVC
1862
1863         One warning was globally disabled: implicit conversion of int to bool.
1864
1865         Reviewed by Darin.
1866
1867         * WebCore.vcproj/WebCore.vcproj:
1868
1869 2007-06-29  Adam Roben  <aroben@apple.com>
1870
1871         Turn DeprecatedStringData's copy constructor into a static method to appease MSVC /W3
1872
1873         DeprecatedStringData now has no public copy constructor. The single
1874         call to the old one has been replaced with a call to the new
1875         DeprecatedStringData::createAndAdopt static method.
1876
1877         Reviewed by Darin.
1878
1879         All regression tests pass.
1880
1881         * platform/DeprecatedString.cpp:
1882         (WebCore::DeprecatedStringData::createAndAdopt):
1883         (WebCore::DeprecatedStringData::adopt):
1884         (WebCore::DeprecatedString::detachIfInternal):
1885         * platform/DeprecatedString.h:
1886
1887 2007-06-29  Adam Roben  <aroben@apple.com>
1888
1889         Fix more signed/unsigned mismatches uncovered by MSVC /W3
1890
1891         Reviewed by John.
1892
1893         No regression tests possible.
1894
1895         * platform/network/cf/ResourceResponseCFNet.cpp:
1896         (WebCore::filenameHasSaneExtension):
1897         * platform/win/FontDataWin.cpp:
1898         (WebCore::FontData::containsCharacters):
1899         * platform/win/PlatformScrollBarSafari.cpp:
1900         (WebCore::):
1901         * platform/win/UniscribeController.cpp:
1902         (WebCore::UniscribeController::advance):
1903         (WebCore::UniscribeController::shapeAndPlaceItem):
1904         * platform/win/WebCoreTextRenderer.cpp:
1905         (WebCore::doDrawTextAtPoint):
1906         * plugins/win/PluginDatabaseWin.cpp:
1907         (WebCore::parseVersionString):
1908         * plugins/win/PluginPackageWin.cpp:
1909         (WebCore::splitString):
1910         * plugins/win/PluginViewWin.cpp:
1911         (WebCore::freeStringArray):
1912         (WebCore::PluginViewWin::invalidateTimerFired):
1913
1914 2007-06-29  Adam Roben  <aroben@apple.com>
1915
1916         Change PopupMenuClient::listSize to return an int to appease warnings from MSVC /W3
1917
1918         Reviewed by John.
1919
1920         No regression test possible.
1921
1922         * html/HTMLSelectElement.cpp:
1923         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1924         * platform/PopupMenuClient.h:
1925         * platform/win/PopupMenuWin.cpp:
1926         (WebCore::PopupMenu::calculatePositionAndSize):
1927         (WebCore::PopupMenu::focusFirst):
1928         (WebCore::PopupMenu::focusLast):
1929         (WebCore::PopupMenu::down):
1930         (WebCore::PopupMenu::up):
1931         (WebCore::PopupMenu::paint):
1932         * rendering/RenderMenuList.cpp:
1933         * rendering/RenderMenuList.h:
1934         * rendering/RenderTextControl.cpp:
1935         * rendering/RenderTextControl.h:
1936
1937 2007-06-29  Adam Roben  <aroben@apple.com>
1938
1939         Fix two typos spotted by MSVC /W3
1940
1941         Both typos were a semicolon following the condition of an if. This
1942         would cause the intended body of the if to always execute.
1943
1944         Unfortunately neither of these fixes are testable.
1945         BackForwardList::goForward is only called from WebBackForwardList, and
1946         the createDragImageFromImage bug would only manifest itself when
1947         CreateCompatibleDC failed.
1948
1949         Reviewed by Mark.
1950
1951         * history/BackForwardList.cpp:
1952         (WebCore::BackForwardList::goForward):
1953         * platform/win/DragImageWin.cpp:
1954         (WebCore::createDragImageFromImage):
1955
1956 2007-06-29  Adam Treat  <adam@staikos.net>
1957
1958         Reviewed by george Staikos.
1959
1960         Support horizontal and vertical scroll, and set the right units.
1961
1962         * platform/qt/WheelEventQt.cpp:
1963         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1964
1965 2007-06-28  Adam Roben  <aroben@apple.com>
1966
1967         Get WebCore compiling with /W2 on Windows
1968
1969         Reviewed by Steve.
1970
1971         No regression tests affected.
1972
1973         * WebCore.vcproj/WebCore.vcproj: Turn the warning level up to 2, and
1974         disable two warnings: implicit int <=> float conversion, and class vs.
1975         struct inconsistency.
1976         * dom/CharacterData.cpp:
1977         (WebCore::CharacterData::deleteData): Cast to int before negating.
1978         * loader/Cache.cpp:
1979         (WebCore::Cache::remove): Ditto.
1980         * platform/graphics/Path.cpp:
1981         (WebCore::pathLengthApplierFunction): Consistently use floats.
1982         * platform/graphics/cg/GraphicsContextCG.cpp:
1983         (WebCore::GraphicsContext::drawEllipse): Ditto.
1984         * platform/win/GraphicsContextWin.cpp:
1985         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): Ditto.
1986
1987 2007-06-28  Geoffrey Garen  <ggaren@apple.com>
1988
1989         Reviewed by Maciej Stachowiak.
1990         
1991         Fixed <rdar://problem/5299005> DOM timers fire without a local autorelease 
1992         pool => pathologically high high water mark
1993         
1994         I couldn't measure any performance problems with iBench HTML or PLT.
1995
1996         * WebCore.xcodeproj/project.pbxproj: Changed .cpp file to be ObjC++.
1997         * platform/mac/SharedTimerMac.cpp:
1998         (WebCore::timerFired): Added autorelease pool.
1999
2000 2007-06-28  Mitz Pettel  <mitz@webkit.org>
2001
2002         Reviewed by Beth.
2003
2004         - fix http://bugs.webkit.org/show_bug.cgi?id=14118
2005           ASSERTION FAILED: !needsLayout() seen again
2006
2007         Test: fast/dynamic/recursive-layout.html
2008
2009         * page/FrameView.cpp:
2010         (WebCore::FrameView::layout): Removed the midLayout guards around
2011         the calls to invalidateSelection() and updateWidgetPositions(). Those
2012         calls may dirty the layout, but in that case they also update it, so
2013         they should be allowed to do it. Added an ASSERT to make sure that when
2014         they return, the root is not marked for layout.
2015
2016 2007-06-28  Sam Weinig  <sam@webkit.org>
2017
2018         Rubberstamped by Adam Roben.
2019
2020         Roll out r23861.  It caused the buildbot to fail on intel.
2021
2022         * page/Page.cpp:
2023         (WebCore::Page::goToItem):
2024
2025 2007-06-26  Maxime Britto  <mbritto@pleyo.com>
2026
2027         Reviewed by Geoff.
2028
2029         Patch for http://bugs.webkit.org/show_bug.cgi?id=13038
2030         ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame
2031
2032         Modification of an ASSERT on goToItem related to go back/forward in
2033         history.Don't need to check the frameset if the target is _blank.
2034
2035          * page/Page.cpp:
2036          (WebCore::Page::goToItem):
2037
2038 2007-06-28  Anders Carlsson  <andersca@apple.com>
2039
2040         Reviewed by Oliver.
2041
2042         <rdar://problem/5234139>
2043         <object> with PNG src rendered as image document.
2044         
2045         Complete the URL before passing it to the frame loader client.
2046         
2047         * html/HTMLObjectElement.cpp:
2048         (WebCore::HTMLObjectElement::isImageType):
2049
2050 2007-06-28  Rob Buis  <buis@kde.org>
2051
2052         Reviewed by Maciej.
2053
2054         http://bugs.webkit.org/show_bug.cgi?id=14373
2055         CSS1: selectors (classes and IDs) cannot start with a dash or with a digit
2056
2057         Make sure the id selector validates against the CSS2.1 identfier
2058         definition, not the hexcolor/HASH definition.
2059
2060         * css/CSSGrammar.y:
2061         * css/cssparser.cpp:
2062         (WebCore::CSSParser::lex):
2063         (WebCore::CSSParser::text):
2064         * css/tokenizer.flex:
2065
2066 2007-06-28  Simon Hausmann  <hausmann@kde.org>
2067
2068         Reviewed by Zack.
2069
2070         Implemented PasteboardQt::writeSelection to copy the selected text into the Clipboard as well as PasteboardQt::plainText to retrieve plain text from the clipboard for pasting for example into form fields.
2071
2072         * platform/qt/PasteboardQt.cpp:
2073         (WebCore::Pasteboard::writeSelection):
2074
2075 2007-06-28  Antti Koivisto  <antti@apple.com>
2076
2077         Reviewed by Mitz.
2078         
2079         Fix http://bugs.webkit.org/show_bug.cgi?id=14332
2080         Bug 14332: REGRESSION (r21145): <td> width ignored
2081         <rdar://problem/5290123>
2082         
2083         Cells in table with non-zero cellpadding are not considered empty.
2084
2085         * rendering/AutoTableLayout.cpp:
2086         (WebCore::AutoTableLayout::recalcColumn):
2087
2088 2007-06-28  Adam Roben  <aroben@apple.com>
2089
2090         Fix <rdar://problem/5300455> Prefast: typo in RenderBlock::paintObject
2091
2092         Reviewed by Hyatt.
2093
2094         No layout test possible, as this bug didn't have any effect since
2095         "bool & bool" has the same value as "bool && bool"
2096
2097         * rendering/RenderBlock.cpp:
2098         (WebCore::RenderBlock::paintObject): Changed & to &&.
2099
2100 2007-06-28  Adam Roben  <aroben@apple.com>
2101
2102         Fix <rdar://problem/5300443> word-break and -webkit-user-modify allow any value
2103
2104         The bug was caused by two typos found by prefast.
2105
2106         Reviewed by Hyatt.
2107
2108         * css/cssparser.cpp:
2109         (WebCore::CSSParser::parseValue): Fixed typos.
2110
2111 2007-06-20  Matt Perry  <mpComplete@gmail.com>
2112
2113         Reviewed by Adam.
2114
2115         - Fix http://bugs.webkit.org/show_bug.cgi?id=14251:
2116           onchange handler for select controls doesn't fire when changing via keyboard
2117
2118         * html/HTMLSelectElement.cpp:
2119         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Got rid of
2120         a call to saveLastSelection in the "Enter" key handler for select
2121         controls that was preventing onchange from firing.
2122
2123 2007-06-27  Sam Weinig  <sam@webkit.org>
2124
2125         Fix Gdk, Qt, and Win32 builds.
2126
2127         * WebCore.pro:
2128         * WebCore.vcproj/WebCore.vcproj:
2129
2130 2007-06-27  Sam Weinig  <sam@webkit.org>
2131
2132         Reviewed by Geoff.
2133
2134         Patch for http://bugs.webkit.org/show_bug.cgi?id=14319
2135         Move the Selection object out of the JS bindings
2136
2137         - Renames JS Object Selection to DOMSelection to avoid a name
2138           conflict.
2139
2140         * DerivedSources.make:
2141         * WebCore.xcodeproj/project.pbxproj:
2142         * bindings/js/kjs_window.cpp:
2143         (KJS::WindowPrivate::WindowPrivate):
2144         (KJS::Window::mark):
2145         (KJS::Window::clearHelperObjectProperties):
2146         (KJS::WindowFunc::callAsFunction):
2147         (KJS::Window::disconnectFrame):
2148         * bindings/js/kjs_window.h:
2149         (KJS::Window::):
2150         * page/DOMSelection.cpp: Added.
2151         (WebCore::DOMSelection::DOMSelection):
2152         (WebCore::DOMSelection::frame):
2153         (WebCore::DOMSelection::disconnectFrame):
2154         (WebCore::DOMSelection::anchorNode):
2155         (WebCore::DOMSelection::baseNode):
2156         (WebCore::DOMSelection::anchorOffset):
2157         (WebCore::DOMSelection::baseOffset):
2158         (WebCore::DOMSelection::focusNode):
2159         (WebCore::DOMSelection::extentNode):
2160         (WebCore::DOMSelection::focusOffset):
2161         (WebCore::DOMSelection::extentOffset):
2162         (WebCore::DOMSelection::isCollapsed):
2163         (WebCore::DOMSelection::type):
2164         (WebCore::DOMSelection::rangeCount):
2165         (WebCore::DOMSelection::collapse):
2166         (WebCore::DOMSelection::collapseToEnd):
2167         (WebCore::DOMSelection::collapseToStart):
2168         (WebCore::DOMSelection::empty):
2169         (WebCore::DOMSelection::setBaseAndExtent):
2170         (WebCore::DOMSelection::setPosition):
2171         (WebCore::DOMSelection::modify):
2172         (WebCore::DOMSelection::getRangeAt):
2173         (WebCore::DOMSelection::removeAllRanges):
2174         (WebCore::DOMSelection::addRange):
2175         (WebCore::DOMSelection::toString):
2176         * page/DOMSelection.h: Added.
2177         * page/DOMSelection.idl: Added.
2178         * page/DOMWindow.cpp:
2179         (WebCore::DOMWindow::disconnectFrame):
2180         (WebCore::DOMWindow::getSelection):
2181         * page/DOMWindow.h:
2182         * page/DOMWindow.idl:
2183
2184 2007-06-27  Sam Weinig  <sam@webkit.org>
2185
2186         Reviewed by Maciej.
2187
2188         2nd patch for http://bugs.webkit.org/show_bug.cgi?id=14111
2189         Autogenerate Event JS binding
2190
2191         - Cleanup kjs_events
2192
2193         * bindings/js/kjs_events.cpp:
2194         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
2195         (WebCore::JSAbstractEventListener::handleEvent):
2196         (WebCore::JSAbstractEventListener::isHTMLEventListener):
2197         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
2198         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
2199         (WebCore::JSUnprotectedEventListener::listenerObj):
2200         (WebCore::JSUnprotectedEventListener::windowObj):
2201         (WebCore::JSUnprotectedEventListener::clearWindowObj):
2202         (WebCore::JSUnprotectedEventListener::mark):
2203         (WebCore::JSEventListener::JSEventListener):
2204         (WebCore::JSEventListener::~JSEventListener):
2205         (WebCore::JSEventListener::listenerObj):
2206         (WebCore::JSEventListener::windowObj):
2207         (WebCore::JSEventListener::clearWindowObj):
2208         (WebCore::JSLazyEventListener::JSLazyEventListener):
2209         (WebCore::JSLazyEventListener::listenerObj):
2210         (WebCore::JSLazyEventListener::parseCode):
2211         (WebCore::getNodeEventListener):
2212         (WebCore::JSClipboard::JSClipboard):
2213         (WebCore::JSClipboard::getValueProperty):
2214         (WebCore::JSClipboard::putValueProperty):
2215         (WebCore::JSClipboardPrototypeFunction::callAsFunction):
2216         (WebCore::toJS):
2217         (WebCore::toClipboard):
2218         * bindings/js/kjs_events.h:
2219         (WebCore::JSClipboard::classInfo):
2220         (WebCore::JSClipboard::impl):
2221         * bindings/js/kjs_window.h:
2222         * ksvg2/events/JSSVGLazyEventListener.h:
2223
2224 2007-06-27  Sam Weinig  <sam@webkit.org>
2225
2226         Reviewed by Adam Roben.
2227
2228         Patch for http://bugs.webkit.org/show_bug.cgi?id=12045
2229         Crash under gmalloc at WTF::RefPtr<WebCore::HTMLSliderThumbElement>::operator->
2230         <rdar://problem/5286670>
2231
2232         Test: fast/forms/thumbslider-no-parent-slider.html
2233         Test: fast/forms/thumbslider-crash.html
2234
2235         * rendering/RenderObject.h:
2236         (WebCore::RenderObject::isSlider):
2237         * rendering/RenderSlider.h:
2238         (WebCore::RenderSlider::isSlider):
2239         * rendering/RenderTheme.cpp:
2240         (WebCore::RenderTheme::paint): Only paint thumbslider
2241         if the parent renderer is a RenderSlider.
2242         * rendering/RenderThemeMac.mm:
2243         (WebCore::RenderThemeMac::paintSliderThumb):
2244         * rendering/RenderThemeSafari.cpp:
2245         (WebCore::RenderThemeSafari::paintSliderThumb):
2246
2247 2007-06-27  George Staikos  <staikos@kde.org>
2248
2249         Make Qt builds link when XSLT is turned off.
2250
2251         * WebCore.pro:
2252
2253 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
2254
2255         Turn on static code analysis (Windows only).
2256
2257         Affects only folks that have Visual Studio Team Suite installed,
2258         or who have replaced their compiler with the version shipping in the
2259         Vista SDK.
2260         
2261         Reviewed by Oliver.
2262
2263         * WebCore.vcproj/WebCore.vcproj:
2264
2265 2007-06-27  George Staikos  <staikos@kde.org>
2266
2267         Remove old commented out files that no-longer exist.
2268
2269         * WebCore.pro:
2270
2271 2007-06-27  Justin Garcia  <justin.garcia@apple.com>
2272
2273         Reviewed by John.
2274
2275         <rdar://problem/5247341> REGRESSION: Pasting sometimes leaves out trailing newline
2276         
2277         Pasting with a trailing interchange newline doesn't work when pasting
2278         into an empty line.  Code that handles removing brs at the insertion
2279         position tries to also handle trailing interchange newlines by re-using
2280         those brs and fails.  Removed that code and handle all interchange
2281         newlines with code later in doApply().
2282
2283         * editing/ReplaceSelectionCommand.cpp:
2284         (WebCore::ReplaceSelectionCommand::doApply): Don't try to re-use the
2285         endBR when there's a trailing interchange newline.
2286         
2287 2007-06-27  Anders Carlsson  <andersca@apple.com>
2288
2289         Reviewed by Oliver.
2290
2291         <rdar://problem/5253950>
2292         When Shockwave plugin has been loaded, exiting crashes Safari
2293         
2294         Add a "load count" for plugin packages. When the load count is zero, unload the plugin.
2295         
2296         * plugins/win/PluginPackageWin.cpp:
2297         (WebCore::PluginPackageWin::PluginPackageWin):
2298         (WebCore::PluginPackageWin::load):
2299         (WebCore::PluginPackageWin::unload):
2300         (WebCore::PluginPackageWin::unloadWithoutShutdown):
2301         * plugins/win/PluginPackageWin.h:
2302         
2303         * plugins/win/PluginViewWin.cpp:
2304         (WebCore::PluginViewWin::~PluginViewWin):
2305         Make sure to unload the plugin package and clear any references to plugin script objects.
2306
2307 2007-06-27  George Staikos  <staikos@kde.org>
2308
2309         This was succeeding compile by luck.  Setup dependencies properly.
2310
2311         * WebCore.pro:
2312
2313 2007-06-27  Justin Garcia  <justin.garcia@apple.com>
2314
2315         Reviewed by John.
2316
2317         <rdar://problem/4580583> Breaking blockquoted list should not automatically renumber the second list
2318         
2319         When a quoted numbered list is broken in half, it's cloned
2320         to make the second list. That second list needs its start attribute
2321         set so that the numbers of the list items in it will be preserved.
2322
2323         * editing/BreakBlockquoteCommand.cpp:
2324         (WebCore::BreakBlockquoteCommand::doApply): Set the start attribute
2325         of a cloned list to be the original number of the first list item in it.
2326
2327 2007-06-27  Alexey Proskuryakov  <ap@webkit.org>
2328
2329         Reviewed by Geoff.
2330
2331         http://bugs.webkit.org/show_bug.cgi?id=14413
2332         GIF animation throttling is different from MSIE
2333
2334         * platform/graphics/cg/ImageSourceCG.cpp:
2335         (WebCore::ImageSource::frameDurationAtIndex):
2336         Change the cut-off value to 50ms to match MSIE.
2337
2338 2007-06-27  Sam Weinig  <sam@webkit.org>
2339
2340         Reviewed by Darin.
2341
2342         First pass at fixing implicit 64-32 bit conversion errors.
2343         <rdar://problem/5292262>
2344
2345         - Add 'f' suffix where necessary.
2346
2347         * bridge/mac/WebCoreAXObject.mm:
2348         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
2349         * css/csshelper.h:
2350         * css/cssstyleselector.cpp:
2351         (WebCore::):
2352         (WebCore::CSSStyleSelector::largerFontSize):
2353         (WebCore::CSSStyleSelector::smallerFontSize):
2354         * html/CanvasGradient.cpp:
2355         (WebCore::CanvasGradient::addColorStop):
2356         * html/CanvasPattern.cpp:
2357         (WebCore::CanvasPattern::createPattern):
2358         * ksvg2/css/SVGCSSStyleSelector.cpp:
2359         (WebCore::CSSStyleSelector::applySVGProperty):
2360         * ksvg2/css/SVGRenderStyle.h:
2361         * ksvg2/events/SVGZoomEvent.cpp:
2362         (WebCore::SVGZoomEvent::SVGZoomEvent):
2363         * ksvg2/svg/SVGLength.cpp:
2364         (WebCore::SVGLength::SVGLength):
2365         (WebCore::SVGLength::value):
2366         (WebCore::SVGLength::setValue):
2367         (WebCore::SVGLength::valueAsPercentage):
2368         (WebCore::SVGLength::PercentageOfViewport):
2369         * ksvg2/svg/SVGSVGElement.cpp:
2370         (WebCore::SVGSVGElement::pixelUnitToMillimeterX):
2371         (WebCore::SVGSVGElement::pixelUnitToMillimeterY):
2372         (WebCore::SVGSVGElement::getScreenCTM):
2373         * ksvg2/svg/SVGTextContentElement.cpp:
2374         (WebCore::SVGTextContentElement::getComputedTextLength):
2375         (WebCore::SVGTextContentElement::getSubStringLength):
2376         (WebCore::SVGTextContentElement::getRotationOfChar):
2377         * ksvg2/svg/SVGTransformDistance.cpp:
2378         (WebCore::SVGTransformDistance::SVGTransformDistance):
2379         (WebCore::SVGTransformDistance::distance):
2380         * page/InspectorController.cpp:
2381         (WebCore::InspectorResource::InspectorResource):
2382         * platform/graphics/FloatPoint3D.cpp:
2383         (WebCore::FloatPoint3D::normalize):
2384         * platform/graphics/Path.cpp:
2385         (WebCore::pathLengthApplierFunction):
2386         (WebCore::Path::createRoundedRectangle):
2387         * platform/graphics/cg/GraphicsContextCG.cpp:
2388         (WebCore::GraphicsContext::drawLine):
2389         (WebCore::GraphicsContext::strokeArc):
2390         * platform/graphics/cg/ImageCG.cpp:
2391         (WebCore::FrameData::clear):
2392         * platform/graphics/cg/ImageSourceCG.cpp:
2393         (WebCore::ImageSource::frameDurationAtIndex):
2394         * platform/graphics/cg/PDFDocumentImage.cpp:
2395         (WebCore::PDFDocumentImage::setCurrentPage):
2396         * platform/graphics/svg/SVGPaintServerPattern.cpp:
2397         (WebCore::SVGPaintServerPattern::externalRepresentation):
2398         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp:
2399         (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
2400         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2401         (WebCore::cgGradientCallback):
2402         (WebCore::CGShadingRefForRadialGradient):
2403         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2404         * platform/mac/FontDataMac.mm:
2405         (WebCore::webFallbackFontFamily):
2406         * platform/mac/PopupMenuMac.mm:
2407         (WebCore::PopupMenu::show):
2408         * rendering/InlineFlowBox.cpp:
2409         (WebCore::InlineFlowBox::placeBoxesHorizontally):
2410         * rendering/RenderSlider.cpp:
2411         (WebCore::RenderSlider::setValueForPosition):
2412         (WebCore::RenderSlider::setPositionFromValue):
2413
2414 2007-06-27  Alexey Proskuryakov  <ap@webkit.org>
2415
2416         Reviewed by Geoff.
2417
2418         http://bugs.webkit.org/show_bug.cgi?id=14288
2419         XMLHttpRequest doesn't use a correct content type for file:// URLs
2420
2421         Test: fast/dom/xmlhttprequest-html-response-encoding.html
2422
2423         * xml/xmlhttprequest.cpp:
2424         (WebCore::XMLHttpRequest::responseMIMEType): Use MIME type provided by
2425         the network layer, since it provides it even for non-HTTP responses.
2426
2427 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
2428
2429         Reviewed by Sam Weinig.
2430
2431         http://bugs.webkit.org/show_bug.cgi?id=14061
2432         Implement more of FrameLoaderClientGdk
2433
2434         Make FrameLoaderClientGdk work properly when the MIME type is set.
2435
2436         * loader/gdk/FrameLoaderClientGdk.cpp:
2437         (WebCore::FrameLoaderClientGdk::objectContentType):
2438         (WebCore::FrameLoaderClientGdk::canShowMIMEType):
2439
2440 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
2441
2442         Reviewed by Maciej.
2443
2444         http://bugs.webkit.org/show_bug.cgi?id=14058
2445         Gdk font backend cleanup
2446
2447         * platform/FontData.h: Remove obsolete function.
2448         * platform/gdk/FontDataGdk.cpp:
2449         (WebCore::FontData::containsCharacters): Lock/unlock only once.
2450         (WebCore::FontData::platformWidthForGlyph): Remove needless cast.
2451         * platform/gdk/FontPlatformData.h: Remove obsolete function.
2452         * platform/gdk/FontPlatformDataGdk.cpp:
2453         (WebCore::FontPlatformData::FontPlatformData): Pass the actual size,
2454         not the pixel size.
2455         (WebCore::FontPlatformData::~FontPlatformData): Free m_fontMatrix.
2456         * platform/gdk/GlyphPageTreeNodeGdk.cpp:
2457         (WebCore::GlyphPage::fill): Lock/unlock only once.
2458
2459 2007-06-26  Mitz Pettel  <mitz@webkit.org>
2460
2461         Reviewed by Hyatt.
2462
2463         - fix http://bugs.webkit.org/show_bug.cgi?id=14406
2464           <colgroup>'s borders are ignored when it has <col> children
2465
2466         Covered by existing tests.
2467
2468         * rendering/RenderTableCell.cpp:
2469         (WebCore::RenderTableCell::collapsedLeftBorder):
2470         (WebCore::RenderTableCell::collapsedRightBorder):
2471         (WebCore::RenderTableCell::collapsedTopBorder):
2472         (WebCore::RenderTableCell::collapsedBottomBorder):
2473
2474 2007-06-26  Mitz Pettel  <mitz@webkit.org>
2475
2476         Reviewed by Oliver.
2477
2478         - fix http://bugs.webkit.org/show_bug.cgi?id=14329
2479           REGRESSION: TEXTAREA - cannot drag-and-drop text at en.wikipedia.org/
2480
2481         Test: fast/repaint/text-selection-rect-in-overflow-2.html
2482
2483         * rendering/RenderObject.cpp:
2484         (WebCore::RenderObject::computeAbsoluteRepaintRect): Added code to account
2485         for overflow scroll and columns.
2486         * rendering/RenderText.cpp:
2487         (WebCore::RenderText::selectionRect): Adjust for columns only in the
2488         non-clipped case, since RenderObject::absolutePosition() does not.
2489
2490 2007-06-26  Mitz Pettel  <mitz@webkit.org>
2491
2492         Reviewed by Sam.
2493
2494         - http://bugs.webkit.org/show_bug.cgi?id=14415
2495           Remove the unused method RenderObject::setTable()
2496
2497         * rendering/RenderObject.h:
2498
2499 2007-06-26  MorganL  <morganl.webkit@yahoo.com>
2500
2501         Reviewed by Maciej.
2502
2503         Implement http://bugs.webkit.org/show_bug.cgi?id=14225
2504         Bug 14225: Make it possible to define platform-specific ResourceRequest without #ifdefs
2505
2506         This change moves the bulk of ResourceRequest into a base class named
2507         ResourceRequestBase with all platform-specific bits pushed into
2508         ResourceRequest.  This allows ports to easily add new members to a
2509         ResourceRequest without having to #ifdef the code that is shared
2510         between ports.
2511
2512         * WebCore.exp:
2513         * WebCore.pro:
2514         * WebCore.vcproj/WebCore.vcproj:
2515         * WebCore.xcodeproj/project.pbxproj:
2516         * platform/network/ResourceRequest.cpp: Removed.
2517         * platform/network/ResourceRequest.h: Removed.
2518         * platform/network/ResourceRequestBase.cpp: Added.
2519         (WebCore::ResourceRequestBase::asResourceRequest):
2520         (WebCore::ResourceRequestBase::isEmpty):
2521         (WebCore::ResourceRequestBase::isNull):
2522         (WebCore::ResourceRequestBase::url):
2523         (WebCore::ResourceRequestBase::setURL):
2524         (WebCore::ResourceRequestBase::cachePolicy):
2525         (WebCore::ResourceRequestBase::setCachePolicy):
2526         (WebCore::ResourceRequestBase::timeoutInterval):
2527         (WebCore::ResourceRequestBase::setTimeoutInterval):
2528         (WebCore::ResourceRequestBase::mainDocumentURL):
2529         (WebCore::ResourceRequestBase::setMainDocumentURL):
2530         (WebCore::ResourceRequestBase::httpMethod):
2531         (WebCore::ResourceRequestBase::setHTTPMethod):
2532         (WebCore::ResourceRequestBase::httpHeaderFields):
2533         (WebCore::ResourceRequestBase::httpHeaderField):
2534         (WebCore::ResourceRequestBase::setHTTPHeaderField):
2535         (WebCore::ResourceRequestBase::httpBody):
2536         (WebCore::ResourceRequestBase::setHTTPBody):
2537         (WebCore::ResourceRequestBase::allowHTTPCookies):
2538         (WebCore::ResourceRequestBase::setAllowHTTPCookies):
2539         (WebCore::ResourceRequestBase::addHTTPHeaderField):
2540         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
2541         (WebCore::operator==):
2542         (WebCore::ResourceRequestBase::isConditional):
2543         (WebCore::ResourceRequestBase::updatePlatformRequest):
2544         (WebCore::ResourceRequestBase::updateResourceRequest):
2545         * platform/network/ResourceRequestBase.h: Added.
2546         (WebCore::):
2547         (WebCore::ResourceRequestBase::httpContentType):
2548         (WebCore::ResourceRequestBase::setHTTPContentType):
2549         (WebCore::ResourceRequestBase::httpReferrer):
2550         (WebCore::ResourceRequestBase::setHTTPReferrer):
2551         (WebCore::ResourceRequestBase::clearHTTPReferrer):
2552         (WebCore::ResourceRequestBase::httpUserAgent):
2553         (WebCore::ResourceRequestBase::setHTTPUserAgent):
2554         (WebCore::ResourceRequestBase::httpAccept):
2555         (WebCore::ResourceRequestBase::setHTTPAccept):
2556         (WebCore::ResourceRequestBase::ResourceRequestBase):
2557         (WebCore::operator!=):
2558         * platform/network/cf/ResourceRequest.h: Added.
2559         (WebCore::ResourceRequest::ResourceRequest):
2560         * platform/network/curl/ResourceRequest.h: Added.
2561         (WebCore::ResourceRequest::ResourceRequest):
2562         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2563         (WebCore::ResourceRequest::doUpdateResourceRequest):
2564         * platform/network/mac/ResourceRequest.h: Added.
2565         (WebCore::ResourceRequest::ResourceRequest):
2566         * platform/network/qt/ResourceRequest.h: Added.
2567         (WebCore::ResourceRequest::ResourceRequest):
2568         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2569         (WebCore::ResourceRequest::doUpdateResourceRequest):
2570
2571 2007-06-26  Adam Roben  <aroben@apple.com>
2572
2573         Add ChangeLog entries from the Windows merge.
2574
2575         Reviewed by Maciej.
2576
2577         * ChangeLog:
2578
2579 2007-06-26  Sam Weinig  <sam@webkit.org>
2580
2581         Reviewed by Maciej.
2582
2583         Make sure not to enumerate the toString() function.
2584         <rdar://problem/5297118>
2585
2586         * bindings/js/kjs_window.cpp:
2587         * bindings/scripts/CodeGeneratorJS.pm: Add support for [DontEnum].
2588         * html/HTMLAnchorElement.idl:
2589
2590 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
2591
2592         Reviewed by Mitz, landed by Anders.
2593
2594         http://bugs.webkit.org/show_bug.cgi?id=14421
2595         Implement GraphicsContext::clearRect()
2596
2597         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2598         (WebCore::GraphicsContext::clearRect):
2599
2600 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
2601
2602         Reviewed and landed by Anders.
2603
2604         http://bugs.webkit.org/show_bug.cgi?id=14416
2605         Content does not render fully in some cases
2606
2607         Fix mismatched calls to cairo_save/restore due to an early method return.
2608
2609         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2610         (WebCore::GraphicsContext::drawLine):
2611
2612 2007-06-26  Tristan O'Tierney  <tristan@apple.com>
2613
2614         Reviewed by John Sullivan.
2615
2616         Added two accessor functions for <rdar://problem/4119138>
2617
2618         * bindings/objc/DOMHTML.mm:
2619         (-[DOMHTMLInputElement _isEdited]):
2620         (-[DOMHTMLTextAreaElement _isEdited]):
2621         Added an accessor to the isEdited value of a DOM node's render object
2622
2623         * bindings/objc/DOMPrivate.h:
2624         Added header definitions for _isEdited
2625
2626 2007-06-26  Sam Weinig  <sam@webkit.org>
2627
2628         Fix Win32 build.
2629
2630         * WebCore.vcproj/WebCore.vcproj:
2631
2632 2007-06-26  Sam Weinig  <sam@webkit.org>
2633
2634         Fix Qt and Gdk builds.
2635
2636         * WebCore.pro:
2637
2638 2007-06-26  Sam Weinig  <sam@webkit.org>
2639
2640         Reviewed by Geoff.
2641
2642         Patch for http://bugs.webkit.org/show_bug.cgi?id=14111
2643         Autogenerate Event JS binding
2644
2645         - Moves the dataTransfer method into MouseEvent where it should be.
2646
2647         * WebCore.xcodeproj/project.pbxproj:
2648         * bindings/js/JSEventCustom.cpp: Added.
2649         (WebCore::JSEvent::clipboardData):
2650         (WebCore::toJS):
2651         * bindings/js/JSEventTargetNode.cpp:
2652         * bindings/js/JSXMLHttpRequest.cpp:
2653         * bindings/js/kjs_events.cpp:
2654         * bindings/js/kjs_events.h:
2655         * bindings/objc/DOMUtility.mm:
2656         (KJS::createDOMWrapper):
2657         * bindings/scripts/CodeGeneratorJS.pm:
2658         * dom/Event.h:
2659         (WebCore::Event::returnValue):
2660         (WebCore::Event::setReturnValue):
2661         (WebCore::Event::clipboardData):
2662         * dom/Event.idl:
2663         * dom/MouseEvent.h:
2664         (WebCore::MouseEvent::dataTransfer):
2665         * dom/MouseEvent.idl:
2666
2667 2007-06-26  Timothy Hatcher  <timothy@apple.com>
2668
2669         Reviewed by Mark Rowe.
2670
2671         Follow up fix for: Bug 14385: Web Inspector's computed style doesn't show implicitly set properties
2672         http://bugs.webkit.org/show_bug.cgi?id=14385
2673
2674         Correctly remember the "Show implicit properties" setting as you switch nodes.
2675
2676         * page/inspector/ResourcePanel.js:
2677
2678 2007-06-26  Justin Garcia  <justin.garcia@apple.com>
2679
2680         Reviewed by John.
2681
2682         <rdar://problem/5290534> Crash at RenderTextControl::calcHeight() after deleting text in a search field
2683         
2684         Editing removed a node that was part of a search field's internal
2685         structure that should not be removed.
2686
2687         * editing/DeleteSelectionCommand.cpp:
2688         (WebCore::DeleteSelectionCommand::handleGeneralDelete): If the
2689         selection to delete ends at [container, x], where x is the number
2690         of children in container, don't remove container.  Special case
2691         code elsewhere in this function will remove it if necessary.
2692
2693 2007-06-25  Sam Weinig  <sam@webkit.org>
2694
2695         Reviewed by Maciej.
2696
2697         Patch for http://bugs.webkit.org/show_bug.cgi?id=11315
2698         Mutating document.constructor.prototype mutates Object.prototype
2699
2700         Test: fast/js/constructor.html
2701
2702         * bindings/scripts/CodeGeneratorJS.pm: add constructor attribute to
2703         classes with constructors.  It is an non-enumeratable, non-deletable,
2704         readonly attribute.
2705
2706 2007-06-26  George Staikos  <staikos@kde.org>
2707
2708         Repair the OS X build.
2709
2710         * WebCore.exp:
2711
2712 2007-06-26  Adam Treat  <adam@staikos.net>
2713
2714         Reviewed by Adam Roben.
2715
2716         Make the SQLite icon database optional.
2717
2718         * loader/icon/IconDatabase.cpp:
2719         (WebCore::IconDatabase::isOpen):
2720         (WebCore::IconDatabase::isPrivateBrowsingEnabled):
2721         (WebCore::IconDatabase::enabled):
2722         * loader/icon/IconDatabase.h:
2723
2724 2007-06-25  Sam Weinig  <sam@webkit.org>
2725
2726         Reviewed by Adam Roben.
2727
2728         Patch for http://bugs.webkit.org/show_bug.cgi?id=14369
2729         HTML syntax highlighting colors and DOM tree colors should be the same
2730
2731         * css/view-source.css:
2732         * page/inspector/ResourcePanel.js:
2733         * page/inspector/inspector.css:
2734         * page/inspector/inspector.js:
2735         * page/inspector/utilities.js:
2736
2737 2007-06-25  Adam Roben  <aroben@apple.com>
2738
2739         Fix Bug 14402: Main resource of http://www.apple.com/safari/ is called "www.apple.com" instead of "safari"
2740         http://bugs.webkit.org/show_bug.cgi?id=14402
2741
2742         The solution was to make KURL::lastPathComponent ignore trailing
2743         slashes, which is what -[NSURL lastPathComponent] does, too.
2744
2745         Reviewed by Oliver.
2746
2747         * platform/KURL.cpp:
2748         (WebCore::KURL::lastPathComponent):
2749
2750 2007-06-25  Sam Weinig  <sam@webkit.org>
2751
2752         Reviewed by Adam Roben.
2753
2754         Patch for http://bugs.webkit.org/show_bug.cgi?id=14257
2755         Web Inspector lists favicon.ico as "other" instead of "image"
2756
2757         * page/InspectorController.cpp:
2758         (WebCore::InspectorResource::type):
2759
2760 2007-06-25  Adele Peterson  <adele@apple.com>
2761
2762         Reviewed by Hyatt.
2763
2764         Fix for <rdar://problem/5286410> Scrollbar and resize corner for overflow area is not hidden with style "visibility: hidden;"
2765         http://bugs.webkit.org/show_bug.cgi?id=14297
2766
2767         Test: fast/overflow/hidden-scrollbar-resize.html
2768
2769         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer):
2770         Updated our shouldPaint check to consider visibility.
2771
2772 2007-06-25  Oliver Hunt  <oliver@apple.com>
2773
2774         Reviewed by Darin.
2775
2776         <rdar://problem/5293444> REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info
2777
2778         Fixing logic error in DragController
2779
2780         * manual-tests/drop-text-acquires-style.html: Added.
2781         * page/DragController.cpp:
2782         (WebCore::documentFragmentFromDragData):
2783
2784 2007-06-25  Sam Weinig  <sam@webkit.org>
2785
2786         Reviewed by Adam Roben.
2787
2788         Annotate prototypes by adding "Prototype" subtitle.
2789
2790         * page/inspector/ResourcePanel.js:
2791
2792 2007-06-25  George Staikos  <staikos@kde.org>
2793
2794         Reviewed by Zack.
2795
2796         Start to add proxy and SSL support to WebKitQt.  Proxying works.
2797
2798         * platform/network/ResourceHandleInternal.h:
2799         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2800         * platform/network/qt/ResourceHandleQt.cpp:
2801         (WebCore::ResourceHandle::start):
2802
2803 2007-06-25  Alp Toker  <alp.toker@collabora.co.uk>
2804
2805         Reviewed by Adam Roben.
2806
2807         http://bugs.webkit.org/show_bug.cgi?id=14386
2808         Gdk build fix
2809
2810         * WebCore.pro: Fix gtk/gdk typo.
2811
2812 2007-06-25  Timothy Hatcher  <timothy@apple.com>
2813
2814         Reviewed by Anders.
2815
2816         Bug 14385: Web Inspector's computed style doesn't show implicitly set properties
2817         http://bugs.webkit.org/show_bug.cgi?id=14385
2818
2819         Add a toggle to show implict computed properties.
2820
2821         * page/inspector/ResourcePanel.js:
2822         * page/inspector/inspector.css:
2823         * page/inspector/inspector.js:
2824
2825 2007-06-25  Alp Toker  <alp.toker@collabora.co.uk>
2826
2827         Reviewed by Mark.
2828
2829         http://bugs.webkit.org/show_bug.cgi?id=13975
2830         Use system-provided libjpeg and libpng
2831
2832         * WebCore.pro: Remove bundled libjpeg and libpng sources.
2833         * platform/image-decoders/jpeg: Remove sources.
2834         * platform/image-decoders/png: Remove sources.
2835
2836 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2837
2838         Reviewed by Darin.
2839
2840         - fix http://bugs.webkit.org/show_bug.cgi?id=14202
2841           Table caption renders too narrow sometimes
2842
2843         Test: fast/table/caption-relayout.html
2844
2845         * rendering/RenderTable.cpp:
2846         (WebCore::RenderTable::layout): Mark the caption for layout if the table
2847         width changed.
2848
2849 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2850
2851         Reviewed by Darin.
2852
2853         - fix http://bugs.webkit.org/show_bug.cgi?id=14245
2854           Underline painted under <br>, not repainted properly
2855
2856         Test: fast/inline/br-text-decoration.html
2857
2858         * platform/graphics/cg/GraphicsContextCG.cpp:
2859         (WebCore::GraphicsContext::drawLineForText): Added an early return if the line width
2860         is zero. Also changed the line stroke to a rect fill, so that lines with length shorter
2861         than their thickness paint correctly.
2862
2863 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2864
2865         Reviewed by Maciej.
2866
2867         - fix http://bugs.webkit.org/show_bug.cgi?id=14341
2868           rules="none" ignored in certain cases
2869
2870         Covered by existing tests.
2871
2872         * html/HTMLTableElement.cpp:
2873         (WebCore::HTMLTableElement::getSharedCellDecl):
2874
2875 2007-06-24  Sam Weinig  <sam@webkit.org>
2876
2877         Reviewed by Mitz.
2878
2879         Patch for http://bugs.webkit.org/show_bug.cgi?id=14379
2880         Anchor elements show up as their href in the properties pane, not HTMLAnchorElement
2881
2882         * page/inspector/ResourcePanel.js: make sure not to call an overriden
2883         toString() by using Object.prototype.toString.call().
2884
2885 2007-06-24  Adam Roben  <aroben@apple.com>
2886
2887         Fix http://bugs.webkit.org/show_bug.cgi?id=14374
2888         Bug 14374: Computed Style section should be expanded by default
2889
2890         Reviewed by Sam.
2891
2892         No regression test possible.
2893
2894         * page/inspector/ResourcePanel.js: Expand all style sections.
2895
2896 2007-06-24  Adam Roben  <aroben@apple.com>
2897
2898         Unify the style of enums in the Inspector JS
2899
2900         All our enums are now represented by an object with a property for
2901         each enum value.
2902
2903         Reviewed by Sam.
2904
2905         No regression test possible.
2906
2907         * page/inspector/ConsolePanel.js:
2908         * page/inspector/Resource.js:
2909         * page/inspector/ResourcePanel.js:
2910         * page/inspector/inspector.js:
2911
2912 2007-06-23  Sam Weinig  <sam@webkit.org>
2913
2914         Reviewed by Mitz.
2915
2916         Patch for http://bugs.webkit.org/show_bug.cgi?id=14321
2917         getComputedStyle(...).zIndex returns string "normal"
2918
2919         Test: fast/css/getComputedStyle-zIndex-auto.html
2920
2921         * css/CSSComputedStyleDeclaration.cpp:
2922         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return 'auto' instead of 'normal'.
2923
2924 2007-06-24  Matt Lilek  <pewtermoose@gmail.com>
2925
2926         Reviewed by Tim Hatcher.
2927
2928         Bug 14265: Cannot resize columns in webinspector
2929         http://bugs.webkit.org/show_bug.cgi?id=14265
2930
2931         * page/inspector/inspector.css:
2932         * page/inspector/inspector.html:
2933         * page/inspector/inspector.js:
2934
2935 2007-06-23  Adam Roben  <aroben@apple.com>
2936
2937         Silence a build warning about not finding `num-cpus`
2938
2939         Reviewed by Mark Rowe.
2940
2941         * WebCore.vcproj/build-generated-files.sh: Look for num-cpus in its new
2942         location.
2943
2944 2007-06-22  Anders Carlsson  <andersca@apple.com>
2945
2946         Reviewed by Darin.
2947
2948         * plugins/win/PluginStreamWin.cpp:
2949         (WebCore::PluginStreamWin::didFinishLoading):
2950         No need to fetch the size from resourceData.
2951
2952 2007-06-22  Anders Carlsson  <andersca@apple.com>
2953
2954         Reviewed by Darin.
2955
2956         <rdar://problem/5288617>
2957         Crash playing a very large QuickTime movie inside Safari.
2958
2959         Get rid of m_completeDeliveryData and use the loader's resource data instead. This reduces the memory usage for 
2960         plug-ins which loads large files and use a transfer mode of NP_ASFILE or NP_ASFILEONLY.
2961         
2962         * plugins/win/PluginStreamWin.cpp:
2963         (WebCore::PluginStreamWin::PluginStreamWin):
2964         (WebCore::PluginStreamWin::~PluginStreamWin):
2965         (WebCore::PluginStreamWin::didReceiveData):
2966         (WebCore::PluginStreamWin::didFinishLoading):
2967         * plugins/win/PluginStreamWin.h:
2968
2969 2007-06-22  Beth Dakin  <bdakin@apple.com>
2970
2971         Reviewed by Oliver and Darin.
2972
2973         Fix for <rdar://problem/5266999> Loading page from MangleMe fuzz 
2974         tester crashes in RenderTableRow::addChild (giant ROWSPAN)
2975
2976         We already have code that tries to prevent allocating too-large 
2977         rowspans. The rowspan in this test, however, was small enough that 
2978         we thought it was okay in that code, even though clearly it was 
2979         still too large. I did a bunch of testing in Firefox, and it seems 
2980         that they set a hard limit on the maximum rowspan right in the DOM 
2981         -- 8k. So that is what this patch implements. 
2982
2983         * html/HTMLTableCellElement.cpp:
2984         (WebCore::HTMLTableCellElement::parseMappedAttribute):
2985
2986 2007-06-22  Justin Garcia  <justin.garcia@apple.com>
2987
2988         Reviewed by Darin.
2989         
2990         <rdar://problem/5272440> Adding To Do via Note received in e-mail adds newlines on delete
2991         
2992         Deletion inserts a placeholder after it removes full paragraphs if
2993         one doesn't already exist.  The code that looked for a pre-existing
2994         placeholder didn't work because of a bug in enclosingNodeOfType.
2995
2996         * editing/htmlediting.cpp:
2997         (WebCore::enclosingNodeOfType): We start looking at node->parentNode(),
2998         but don't go above an editing root.
2999
3000 2007-06-22  Anders Carlsson  <andersca@apple.com>
3001
3002         Reviewed by Maciej and Geoff.
3003
3004         <rdar://problem/5244734>
3005         WebKit shouldn't send delegate resource load methods for the user stylesheet (doing so causes assertions in Safari)
3006         
3007         Add a sendResourceLoadCallbacks argument to the ResourceLoader and only send resource load callbacks if it's true. Make it so that
3008         loading the user style sheet creates a resource loader with sendResourceLoadCallbacks set to false (done by adding a sendResourceLoadCallbacks 
3009         argument to a bunch of classes).
3010         
3011         * loader/Cache.cpp:
3012         (WebCore::createResource):
3013         (WebCore::Cache::requestResource):
3014         * loader/Cache.h:
3015         * loader/CachedCSSStyleSheet.cpp:
3016         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
3017         * loader/CachedCSSStyleSheet.h:
3018         * loader/CachedResource.cpp:
3019         (WebCore::CachedResource::CachedResource):
3020         * loader/CachedResource.h:
3021         (WebCore::CachedResource::sendResourceLoadCallbacks):
3022         * loader/DocLoader.cpp:
3023         (WebCore::DocLoader::requestCSSStyleSheet):
3024         (WebCore::DocLoader::requestResource):
3025         (WebCore::DocLoader::checkCacheObjectStatus):
3026         * loader/DocLoader.h:
3027         * loader/MainResourceLoader.cpp:
3028         (WebCore::MainResourceLoader::MainResourceLoader):
3029         * loader/Request.cpp:
3030         (WebCore::Request::Request):
3031         * loader/Request.h:
3032         (WebCore::Request::sendResourceLoadCallbacks):
3033         * loader/ResourceLoader.cpp:
3034         (WebCore::ResourceLoader::ResourceLoader):
3035         (WebCore::ResourceLoader::willSendRequest):
3036         (WebCore::ResourceLoader::didReceiveResponse):
3037         (WebCore::ResourceLoader::didReceiveData):
3038         (WebCore::ResourceLoader::didFinishLoadingOnePart):
3039         (WebCore::ResourceLoader::didFail):
3040         (WebCore::ResourceLoader::didCancel):
3041         * loader/ResourceLoader.h:
3042         (WebCore::ResourceLoader::sendResourceLoadCallbacks):
3043         * loader/SubresourceLoader.cpp:
3044         (WebCore::SubresourceLoader::SubresourceLoader):
3045         (WebCore::SubresourceLoader::create):
3046         * loader/SubresourceLoader.h:
3047         * loader/loader.cpp:
3048         (WebCore::Loader::load):
3049         (WebCore::Loader::servePendingRequests):
3050         * loader/loader.h:
3051         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
3052         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
3053
3054 2007-06-21  Richard Connamacher  <rich@indieimage.com>
3055
3056         Reviewed by Tim Hatcher.
3057
3058         Bug 14305: Web Inspector marks local files with server-side compression tip
3059         http://bugs.webkit.org/show_bug.cgi?id=14305
3060
3061         * page/inspector/Resource.js:
3062         (WebInspector.Resource._shouldCompress): Prevent server-side compression tip
3063         from being given to local files
3064
3065 2007-06-21  Mark Rowe  <mrowe@apple.com>
3066
3067         Reviewed by Darin.
3068
3069         Fix for <rdar://problem/5266928> REGRESSION: crash/assert failure beneath RenderFrameSet::layOutAxis when loading
3070
3071         * platform/StringImpl.cpp:
3072         (WebCore::StringImpl::toLengthArray): Simplify whitespace before checking for an empty string.  This avoids returning
3073         a length of zero when the string is collapsed to empty by whitespace simplification.
3074
3075 2007-06-21  Dave Hyatt  <hyatt@apple.com>
3076
3077         Fix for <rdar://problem/5286978>, large font sizes crash Windows.
3078         
3079         Limit the maximum font size to 1,000,000 to avoid crashes and issues with platforms that
3080         start failing to do anything useful if the font size is too big.
3081         
3082         Reviewed by olliej
3083
3084         * css/cssstyleselector.cpp:
3085         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
3086         
3087 2007-06-21  Andrew Wellington  <proton@wiretapped.net>
3088
3089         Reviewed by Timothy.
3090
3091         Stop shift+scroll wheel performing a horizontal scroll in Web Inspector
3092
3093         * page/inspector/inspector.css: Set body margin to 0
3094
3095 2007-06-21  Adam Treat  <adam@staikos.net>
3096
3097         Reviewed by George Staikos.
3098
3099         Implement the default resources on Qt.
3100
3101         * platform/graphics/BitmapImage.h:
3102         * platform/graphics/Image.h:
3103         * platform/graphics/qt/ImageQt.cpp:
3104         (WebCore::Image::loadPlatformResource):
3105         (WebCore::BitmapImage::BitmapImage):
3106         (WebCore::BitmapImage::initPlatformData):
3107         (WebCore::BitmapImage::invalidatePlatformData):
3108         (WebCore::BitmapImage::getPixmap):
3109         * platform/qt/TemporaryLinkStubs.cpp:
3110
3111 2007-06-21  Oliver Hunt  <oliver@apple.com>
3112
3113         Reviewed by Darin.
3114
3115         Use RetainPtr for holding currentEvent.  This removes explicit HardRetain/Release calls
3116         and makes reference handling simpler in advance of IME refactoring.
3117
3118         * WebCore.xcodeproj/project.pbxproj:
3119         * page/mac/EventHandlerMac.mm:
3120         (WebCore::currentEvent):
3121         (WebCore::EventHandler::currentNSEvent):
3122         (WebCore::EventHandler::wheelEvent):
3123         (WebCore::EventHandler::keyEvent):
3124         (WebCore::lastEventIsMouseUp):
3125         (WebCore::EventHandler::passMouseDownEventToWidget):
3126         (WebCore::EventHandler::eventLoopHandleMouseDragged):
3127         (WebCore::EventHandler::eventLoopHandleMouseUp):
3128         (WebCore::EventHandler::passSubframeEventToSubframe):
3129         (WebCore::EventHandler::passWheelEventToWidget):
3130         (WebCore::EventHandler::mouseDown):
3131         (WebCore::EventHandler::mouseDragged):
3132         (WebCore::EventHandler::mouseUp):
3133         (WebCore::EventHandler::mouseMoved):
3134
3135 2007-06-21  George Staikos  <staikos@kde.org>
3136
3137         Reviewed by George & Marius.
3138
3139         Patch by me, revision by Marius, minor rev by me.  Adds rendered
3140         and stylable scrollbars.
3141
3142         * page/qt/EventHandlerQt.cpp:
3143         (WebCore::EventHandler::passMousePressEventToScrollbar):
3144         * platform/Widget.h:
3145         * platform/qt/PlatformScrollBar.h:
3146         (WebCore::PlatformScrollbar::isWidget):
3147         * platform/qt/PlatformScrollBarQt.cpp:
3148         (WebCore::PlatformScrollbar::PlatformScrollbar):
3149         (WebCore::PlatformScrollbar::~PlatformScrollbar):
3150         (WebCore::PlatformScrollbar::updateThumbPosition):
3151         (WebCore::PlatformScrollbar::updateThumbProportion):
3152         (WebCore::PlatformScrollbar::width):
3153         (WebCore::PlatformScrollbar::height):
3154         (WebCore::PlatformScrollbar::setRect):
3155         (WebCore::PlatformScrollbar::isEnabled):
3156         (WebCore::PlatformScrollbar::setEnabled):
3157         (WebCore::PlatformScrollbar::paint):
3158         (WebCore::PlatformScrollbar::thumbPosition):
3159         (WebCore::PlatformScrollbar::thumbLength):
3160         (WebCore::PlatformScrollbar::trackLength):
3161         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
3162         (WebCore::PlatformScrollbar::handleMouseOutEvent):
3163         (WebCore::PlatformScrollbar::handleMousePressEvent):
3164         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
3165         (WebCore::PlatformScrollbar::startTimerIfNeeded):
3166         (WebCore::PlatformScrollbar::stopTimerIfNeeded):
3167         (WebCore::PlatformScrollbar::autoscrollPressedPart):
3168         (WebCore::PlatformScrollbar::autoscrollTimerFired):
3169         (WebCore::PlatformScrollbar::pressedPartScrollDirection):
3170         (WebCore::PlatformScrollbar::pressedPartScrollGranularity):
3171         (WebCore::PlatformScrollbar::thumbUnderMouse):
3172         (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
3173         (WebCore::PlatformScrollbar::verticalScrollbarWidth):
3174         (WebCore::PlatformScrollbar::windowClipRect):
3175         * platform/qt/ScrollViewQt.cpp:
3176         (WebCore::ScrollView::addChild):
3177         (WebCore::ScrollView::removeChild):
3178         * platform/qt/WidgetQt.cpp:
3179         (WebCore::WidgetPrivate::WidgetPrivate):
3180         (WebCore::Widget::setQWidget):
3181         (WebCore::Widget::invalidate):
3182         (WebCore::Widget::invalidateRect):
3183         (WebCore::Widget::setParent):
3184         (WebCore::Widget::parent):
3185
3186 2007-06-21  Geoffrey Garen  <ggaren@apple.com>
3187
3188         Reviewed by Dave Hyatt.
3189         
3190         Fixed <rdar://problem/4977124> | http://bugs.webkit.org/show_bug.cgi?id=12646
3191         REGRESSION: RapidWeaver's "Hello" HTML page doesn't display any DHTML 
3192         effects when clicking on its links (12646)
3193         
3194         I'm rolling our r7703 for these reasons:
3195
3196         1. It broke RapidWeaver.
3197         
3198         2. WebKit is now orders of magnitude faster when handling deep nesting
3199         (5 seconds vs 3 minutes on my MBP in this particular case).
3200
3201         3. Firefox, IE, and HTML5 all allow nested heading tags.
3202         
3203         4. Hyatt said so.
3204
3205         * html/HTMLParser.cpp:
3206         (WebCore::HTMLParser::parseToken):
3207
3208 2007-06-21  Sam Weinig  <sam@webkit.org>
3209
3210         Reviewed by Tim Hatcher.
3211
3212         http://bugs.webkit.org/show_bug.cgi?id=14260
3213         ASSERTION FAILED: m_mainResource->loader == loader going back in history on any page
3214
3215         Remove assert for now as it is causing the back button to not
3216         work in debug builds.
3217
3218         * page/InspectorController.cpp:
3219         (WebCore::InspectorController::didCommitLoad):
3220
3221 2007-06-21  Lars Knoll <lars@trolltech.com>
3222
3223         Remove some debug output.
3224
3225         * platform/qt/FontQt.cpp:
3226         (WebCore::generateComponents):
3227         (WebCore::Font::width):
3228
3229 2007-06-21  George Staikos  <staikos@kde.org>
3230
3231         Repair Qt/Mac OS X build.
3232
3233         * WebCore.pro:
3234
3235 2007-06-21  Alexey Proskuryakov  <ap@webkit.org>
3236
3237         Reviewed by Anders.
3238
3239         http://bugs.webkit.org/show_bug.cgi?id=13905
3240         REGRESSION: A Chinese dictionary widget has a problem with XMLHttpRequest response encoding
3241
3242         Tiger WebKit accidentally looked at HTML Http-Equiv META to determine the response encoding
3243         (regardless of the actual response MIME type). This was corrected a while ago to match other 
3244         browsers and the draft XHR spec.
3245
3246         Now restoring this functionality for "text/html", with spec editor's blessing.
3247
3248         * xml/xmlhttprequest.cpp:
3249         (WebCore::XMLHttpRequest::responseMIMEType):
3250         (WebCore::XMLHttpRequest::responseIsXML):
3251         (WebCore::XMLHttpRequest::didReceiveData):
3252         * xml/xmlhttprequest.h:
3253
3254 2007-06-21  Andrew Wellington  <proton@wiretapped.net>
3255
3256         Mac build fix.
3257
3258         * platform/Font.h:
3259
3260 2007-06-21  Lars Knoll  <lars@trolltech.com>
3261
3262         Reviewed by Simon.
3263
3264         another small fix for letter spacing
3265
3266         * platform/qt/FontQt.cpp:
3267         (WebCore::generateComponents):
3268
3269 2007-06-21  Lars Knoll  <lars@trolltech.com>
3270
3271         Reviewed by Simon.
3272
3273         fix word-spacing
3274
3275         * platform/qt/FontQt.cpp:
3276         (WebCore::generateComponents):
3277         (WebCore::Font::width):
3278
3279 2007-06-21  Lars Knoll  <lars@trolltech.com>
3280
3281         Reviewed by Simon.
3282
3283         fix letterspacing and small caps.
3284
3285         * platform/Font.h:
3286         * platform/graphics/qt/GraphicsContextQt.cpp:
3287         (WebCore::GraphicsContext::setPlatformFont):
3288         * platform/qt/FileChooserQt.cpp:
3289         * platform/qt/FontQt.cpp:
3290         (WebCore::TextRunComponent::TextRunComponent):
3291         (WebCore::Font::Font):
3292         (WebCore::Font::operator=):
3293         (WebCore::Font::update):
3294         (WebCore::generateComponents):
3295         (WebCore::Font::selectionRectForText):
3296         * platform/qt/RenderThemeQt.cpp:
3297
3298 2007-06-21  Lars Knoll  <lars@trolltech.com>
3299
3300         Reviewed by Simon.
3301
3302         store the metrics and space width in the Font object
3303
3304         * platform/Font.h:
3305         * platform/qt/FontQt.cpp:
3306         (WebCore::Font::Font):
3307         (WebCore::Font::drawText):
3308         (WebCore::Font::width):
3309         (WebCore::Font::isFixedPitch):
3310         (WebCore::Font::ascent):
3311         (WebCore::Font::descent):
3312         (WebCore::Font::lineSpacing):
3313
3314 2007-06-21  Lars Knoll  <lars@trolltech.com>
3315
3316         Reviewed by Simon.
3317
3318         simplify some codepaths
3319
3320         * platform/qt/FontQt.cpp:
3321         (WebCore::Font::drawText):
3322         (WebCore::Font::width):
3323
3324 2007-06-21  Lars Knoll  <lars@trolltech.com>
3325
3326         Reviewed by Simon.
3327
3328         fix copyright header
3329
3330         * platform/qt/FontQt.cpp:
3331
3332 2007-06-21  Lars Knoll  <lars@trolltech.com>
3333
3334         Reviewed by Simon.
3335
3336         correctly load fonts when a list of font families is given
3337
3338         * platform/qt/FontQt.cpp:
3339         (WebCore::Font::Font):
3340
3341 2007-06-21  Lars Knoll  <lars@trolltech.com>
3342
3343         Reviewed by Simon.
3344
3345         fix some more of the font support
3346
3347         * platform/qt/FontQt.cpp:
3348         (WebCore::Font::drawText):
3349         (WebCore::Font::width):
3350
3351 2007-06-21  Lars Knoll  <lars@trolltech.com>
3352
3353         Reviewed by Simon.
3354
3355         Compile fixes
3356
3357         * platform/Font.h:
3358         (WebCore::Font::isRoundingHackCharacter):
3359         * platform/qt/FontQt.cpp:
3360         (WebCore::Font::drawText):
3361
3362 2007-06-21  Lars Knoll  <lars@trolltech.com>
3363
3364         Reviewed by Simon.
3365
3366         Some more work on the implementation of FontQt.
3367
3368         * platform/qt/FontQt.cpp:
3369         (WebCore::Font::Font):
3370         (WebCore::Font::~Font):
3371         (WebCore::Font::operator=):
3372
3373 2007-06-21  Lars Knoll  <lars@trolltech.com>
3374
3375         Reviewed by Simon.
3376
3377         Started work on the new font infrastructure for the Qt port.
3378
3379         * WebCore.pro:
3380         * editing/Editor.cpp:
3381         (WebCore::Editor::fontForSelection):
3382         * platform/Font.h:
3383         (WebCore::Font::treatAsSpace):
3384         (WebCore::Font::treatAsZeroWidthSpace):
3385         (WebCore::Font::isRoundingHackCharacter):
3386         * platform/qt/FontQt.cpp:
3387         (WebCore::Font::operator QFont):
3388         * platform/qt/TemporaryLinkStubs.cpp:
3389
3390 2007-06-21  Adam Roben  <aroben@apple.com>
3391
3392         More Gdk build fixes.
3393
3394         * page/gdk/ContextMenuClientGdk.cpp:
3395         (WebCore::ContextMenuClientGdk::shouldIncludeInspectElementItem):
3396         * page/gdk/ContextMenuClientGdk.h:
3397         * platform/gdk/TemporaryLinkStubs.cpp:
3398
3399 2007-06-21  Adam Roben  <aroben@apple.com>
3400
3401         Speculative Gdk build fix.
3402
3403         * page/InspectorController.h: Only include the JS headers we really
3404         need to avoid pulling in ones like JSStringRefCF.h.
3405
3406 2007-06-20  Adam Roben  <aroben@apple.com>
3407
3408         Speculative Gdk build fix.
3409
3410         * WebCore.pro: Don't try to build WebKitQt/Plugins on Gdk.
3411
3412 2007-06-20  Adam Roben  <aroben@apple.com>
3413
3414         Windows build fix.
3415
3416         * WebCore.vcproj/WebCore.vcproj: Include ForwardingHeaders after
3417         everything but $WebKitLibrariesDir so that we will pick up
3418         JavaScriptCore headers directly.
3419
3420 2007-06-15  George Staikos  <staikos@kde.org>
3421
3422         Add missing symbol.
3423
3424         * platform/qt/TemporaryLinkStubs.cpp:
3425         (WebCore::contextMenuItemTagInspectElement):
3426
3427 2007-06-20  Steve Falkenburg  <sfalken@apple.com>
3428
3429         Reviewed by Maciej, Anders.
3430         
3431         <rdar://problem/5283789> Crash after dismissing JavaScript alert at end of test on http://lcamtuf.coredump.cx/ierace/
3432
3433         Keep a reference to the Page (via the main frame) for the
3434         load deferred pages.
3435         
3436         Reference is held via the frame since Page isn't refcounted.
3437
3438         * page/Chrome.cpp:
3439         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3440         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
3441
3442 2007-06-15  Adam Treat <adam@staikos.net>
3443
3444         Reviewed by George Staikos.
3445
3446         Add ICO support to the Qt build.
3447
3448         * WebCore.pro:
3449         * platform/graphics/qt/ImageDecoderQt.cpp:
3450         (Q_IMPORT_PLUGIN):
3451
3452 2007-06-15  George Staikos  <staikos@kde.org>
3453
3454         Fixing Qt build.
3455
3456         * ForwardingHeaders/JavaScriptCore/APICast.h: Added.
3457         * WebCore.pro:
3458         * page/InspectorController.h:
3459
3460 2007-06-20  Adam Roben  <aroben@apple.com>
3461
3462         More speculative Qt/Gdk build fixes.
3463
3464         * WebCore.pro: Add new files.
3465
3466 2007-06-20  Adam Roben  <aroben@apple.com>
3467
3468         Speculative Qt/Gdk build fix.
3469
3470         Added forwarding headers for JavaScriptCore. We may eventually move
3471         InspectorController off of the JSC API, but for now this is the
3472         quickest way to a working build.
3473
3474         * ForwardingHeaders/JavaScriptCore/JSBase.h: Added.
3475         * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Added.
3476         * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Added.
3477         * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Added.
3478         * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Added.
3479         * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Added.
3480         * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Added.
3481
3482 2007-06-20  Sam Weinig  <sam@webkit.org>
3483
3484         Rubber stamped by Adam Roben.
3485
3486         Add licenses.
3487
3488         * page/inspector/ConsolePanel.js:
3489         * page/inspector/NetworkPanel.js:
3490         * page/inspector/Resource.js:
3491         * page/inspector/ResourceCategory.js:
3492         * page/inspector/ResourcePanel.js:
3493
3494 2007-06-20  Mark Rowe  <mrowe@apple.com>
3495
3496         Reviewed by Adam.
3497
3498         * WebCore.exp: Export InspectorController::inspect so WebKit can see it.
3499
3500 2007-06-20  Geoffrey Garen  <ggaren@apple.com>
3501
3502         Reviewed by Adele Peterson, Oliver Hunt, Anders Carlsson.
3503
3504         Fixed <rdar://problem/5222911> Leopard9A446 : VitalSource Bookshelf 4.5: 
3505         Crashes when you click on sign in (stringByEvaluatingJavaScriptFromString 
3506         returning nil instead of "")
3507
3508         I'm basically rolling out the change for <rdar://problem/4782422> because
3509         my testing shows that it was backwards.
3510         
3511         * html/HTMLElement.cpp:
3512         (dumpInnerHTML): New debug-only function to work around gdb being 
3513         perpetually suck-tastic.
3514
3515         * page/mac/WebCoreFrameBridge.mm:
3516         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
3517         
3518         Return "", not nil. This function never used to return nil, so let's not
3519         start now. I've filed <rdar://problem/5283271> to cover the documentation bug,
3520
3521 2007-06-20  Adam Roben  <aroben@apple.com>
3522
3523         Addressed some of Geoff's comments.
3524
3525         * page/ContextMenuController.cpp:
3526         (WebCore::ContextMenuController::handleContextMenuEvent): Added a
3527         FIXME.
3528         * platform/ContextMenu.cpp:
3529         (WebCore::ContextMenu::addInspectElementItem): Null-check
3530         frame->page().
3531
3532 2007-06-20  Adam Roben  <aroben@apple.com>
3533
3534         Fix crash in fast/dom/dir-no-body.html
3535
3536         Reviewed by Mark.
3537
3538         * html/HTMLDocument.cpp:
3539         (WebCore::HTMLDocument::createTokenizer): Don't assume we have a
3540         Frame, since we won't if someone creates an HTMLDocument from JS.
3541
3542 2007-06-20  Adam Roben  <aroben@apple.com>
3543
3544         Land the new Inspector.
3545
3546         Co-written with Tim Hatcher.
3547
3548         Reviewed by Anders, Adele, Hyatt, and Sam.
3549
3550         No regression tests possible.
3551
3552         Add a new InspectorController that is in charge of the Inspector. It
3553         has an InspectorClient that controls the Inspector's window and node
3554         highlight.
3555
3556         * page/InspectorClient.h: Added.
3557         (WebCore::InspectorClient::~InspectorClient):
3558         * page/InspectorController.cpp: Added.
3559         (WebCore::ConsoleMessage::ConsoleMessage):
3560         (WebCore::InspectorResource::): Represents a single resource that the
3561         Inspector knows about.
3562         (WebCore::InspectorResource::InspectorResource):
3563         (WebCore::InspectorResource::~InspectorResource):
3564         (WebCore::InspectorResource::type):
3565         (WebCore::InspectorResource::setScriptObject):
3566         (WebCore::addSourceToFrame): Callback available from JS.
3567         (WebCore::getResourceDocumentNode): Ditto.
3568         (WebCore::highlightDOMNode): Ditto.
3569         (WebCore::hideDOMNodeHighlight): Ditto.
3570         (WebCore::loaded): Ditto.
3571         (WebCore::unloading): Ditto.
3572         (WebCore::attach): Ditto.
3573         (WebCore::detach): Ditto.
3574         (WebCore::log): Ditto.
3575         (WebCore::search): Ditto.
3576         (WebCore::inspectedWindow): Ditto.
3577         (WebCore::InspectorController::InspectorController):
3578         (WebCore::InspectorController::~InspectorController):
3579         (WebCore::InspectorController::inspect): Called by
3580         ContextMenuController to inspect a node.
3581         (WebCore::InspectorController::focusNode):
3582         (WebCore::InspectorController::highlight):
3583         (WebCore::InspectorController::hideHighlight):
3584         (WebCore::InspectorController::windowVisible):
3585         (WebCore::InspectorController::setWindowVisible):
3586         (WebCore::InspectorController::addMessageToConsole):
3587         (WebCore::InspectorController::attachWindow):
3588         (WebCore::InspectorController::detachWindow):
3589         (WebCore::InspectorController::windowScriptObjectAvailable):
3590         (WebCore::InspectorController::scriptObjectReady):
3591         (WebCore::InspectorController::windowUnloading):
3592         (WebCore::addHeaders): Static helper function.
3593         (WebCore::objectForRequest): Ditto.
3594         (WebCore::objectForResponse): Ditto.
3595         (WebCore::InspectorController::addScriptResource):
3596         (WebCore::InspectorController::addAndUpdateScriptResource):
3597         (WebCore::InspectorController::removeScriptResource):
3598         (WebCore::InspectorController::updateScriptResource):
3599         (WebCore::InspectorController::populateScriptResources):
3600         (WebCore::InspectorController::addScriptConsoleMessage):
3601         (WebCore::callClearFunction): Static helper function.
3602         (WebCore::InspectorController::clearScriptResources):
3603         (WebCore::InspectorController::clearScriptConsoleMessages):
3604         (WebCore::InspectorController::clearNetworkTimeline):
3605         (WebCore::InspectorController::pruneResources):
3606         (WebCore::InspectorController::didCommitLoad): Callback from
3607         FrameLoader.
3608         (WebCore::InspectorController::frameDetachedFromParent): Ditto.
3609         (WebCore::InspectorController::addResource): Ditto.
3610         (WebCore::InspectorController::removeResource): Ditto.
3611         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto.
3612         (WebCore::InspectorController::identifierForInitialRequest): Ditto.
3613         (WebCore::InspectorController::willSendRequest): Ditto.
3614         (WebCore::InspectorController::didReceiveResponse): Ditto.
3615         (WebCore::InspectorController::didReceiveContentLength): Ditto.
3616         (WebCore::InspectorController::didFinishLoading): Ditto.
3617         (WebCore::InspectorController::didFailLoading): Ditto.
3618         * page/InspectorController.h: Added.
3619         (WebCore::InspectorController::inspectedPage):
3620         (WebCore::InspectorController::scriptContext):
3621         (WebCore::InspectorController::setScriptContext):
3622         (WebCore::InspectorController::resources):
3623         (WebCore::InspectorController::removeAllResources):
3624
3625         Add the JavaScript that defines most of the behavior of the Inspector.
3626         
3627         * page/inspector/ConsolePanel.js: Added.
3628         * page/inspector/NetworkPanel.js: Added.
3629         * page/inspector/Resource.js: Added.
3630         * page/inspector/ResourceCategory.js: Added.
3631         * page/inspector/ResourcePanel.js: Added.
3632         * page/inspector/inspector.js: Added.
3633         * page/inspector/treeoutline.js: Renamed from WebKit/WebInspector/webInspector/treeoutline.js.
3634         * page/inspector/utilities.js: Added.
3635
3636         Add the Inspector's CSS and HTML.
3637
3638         * page/inspector/inspector.css: Added.
3639         * page/inspector/inspector.html: Added.
3640
3641         Hang the InspectorController off of Page. We only create an
3642         InspectorController if an InspectorClient is given to the Page.
3643
3644         * page/Page.cpp:
3645         (WebCore::Page::Page):
3646         * page/Page.h:
3647         (WebCore::Page::inspectorController):
3648
3649         Use FrameLoader to notify the InspectorController of resource loads.
3650
3651         * loader/FrameLoader.cpp:
3652         (WebCore::FrameLoader::begin):
3653         (WebCore::FrameLoader::transitionToCommitted):
3654         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
3655         (WebCore::FrameLoader::detachFromParent):
3656         (WebCore::FrameLoader::assignIdentifierToInitialRequest):
3657         (WebCore::FrameLoader::willSendRequest):
3658         (WebCore::FrameLoader::didReceiveResponse):
3659         (WebCore::FrameLoader::didReceiveData):
3660         (WebCore::FrameLoader::sendRemainingDelegateMessages):
3661         (WebCore::FrameLoader::requestFromDelegate):
3662         (WebCore::FrameLoader::didFinishLoad):
3663         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
3664         (WebCore::FrameLoader::dispatchDidCommitLoad):
3665         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
3666         (WebCore::FrameLoader::dispatchWillSendRequest):
3667         (WebCore::FrameLoader::dispatchDidReceive