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