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