Reviewed by Tim Hatcher.
[WebKit-https.git] / WebCore / ChangeLog
1 2007-07-13  Matt Lilek  <pewtermoose@gmail.com>
2
3         Reviewed by Tim Hatcher.
4
5         Bug 14401: Semi-regression: Can no longer copy anything from the inspector
6         http://bugs.webkit.org/show_bug.cgi?id=14401
7
8         * page/inspector/inspector.css:
9
10 2007-07-13  Beth Dakin  <bdakin@apple.com>
11
12         Reviewed by Hyatt.
13
14         Fix for <rdar://problem/5304742> A hang occurs when attempting to 
15         display web clip banner at http://www.signonsandiego.com/sports/
16         chargers/index.html
17
18         Here is the actual fix. 
19         * rendering/RenderInline.cpp:
20         (WebCore::RenderInline::absoluteRects): Set topLevel to 
21         false when we recurse to get our children's absoluteRects.
22         * rendering/RenderInline.h: New boolean parameter 
23         topLevel that defaults to true.
24         * rendering/RenderObject.cpp:
25         (WebCore::RenderObject::absoluteRects):
26         * rendering/RenderObject.h:
27
28         And these are just other implementations/declarations of this 
29         (virtual) function that have to add the parameter. No behavior 
30         change here.
31         * rendering/RenderPath.cpp:
32         (WebCore::RenderPath::absoluteRects):
33         * rendering/RenderPath.h:
34         * rendering/RenderSVGContainer.cpp:
35         (WebCore::RenderSVGContainer::absoluteRects):
36         * rendering/RenderSVGContainer.h:
37         * rendering/RenderSVGHiddenContainer.cpp:
38         (WebCore::RenderSVGHiddenContainer::absoluteRects):
39         * rendering/RenderSVGHiddenContainer.h:
40         * rendering/RenderSVGImage.cpp:
41         (WebCore::RenderSVGImage::absoluteRects):
42         * rendering/RenderSVGImage.h:
43         * rendering/RenderSVGInlineText.cpp:
44         (WebCore::RenderSVGInlineText::absoluteRects):
45         * rendering/RenderSVGInlineText.h:
46         * rendering/RenderSVGTSpan.cpp:
47         (WebCore::RenderSVGTSpan::absoluteRects):
48         * rendering/RenderSVGTSpan.h:
49         * rendering/RenderSVGText.cpp:
50         (WebCore::RenderSVGText::absoluteRects):
51         * rendering/RenderSVGText.h:
52         * rendering/RenderText.cpp:
53         (WebCore::RenderText::absoluteRects):
54         * rendering/RenderText.h:
55         * rendering/RenderView.cpp:
56         (WebCore::RenderView::absoluteRects):
57         * rendering/RenderView.h:
58
59 2007-07-13  Mitz Pettel  <mitz@webkit.org>
60
61         Reviewed by Hyatt.
62
63         - fix http://bugs.webkit.org/show_bug.cgi?id=13438 <rdar://problem/5153030>
64               Run rounding makes word-break:break-all/word not functional
65
66         Test: fast/text/word-break-run-rounding.html
67
68         * rendering/RenderText.cpp:
69         (WebCore::RenderText::calcPrefWidths): Update the maximum width only on word
70         boundaries to avoid rounding errors.
71         * rendering/bidi.cpp:
72         (WebCore::RenderBlock::findNextLineBreak): Integrated breakAll with the
73         midWordBreak/wrapW mechanism. Also made the wrapW upper bound more accurate
74         by resetting it when tmpW is committed.
75
76 2007-07-13  Sam Weinig  <sam@webkit.org>
77
78         Reviewed by Geoff Garen.
79
80         Patch for <rdar://problem/5318394>
81         http site can read/write content of https site in same domain
82
83         Add protocol and port checks in isSafeScript.
84
85         * bindings/js/kjs_window.cpp:
86         (KJS::Window::isSafeScript):
87
88 2007-07-13  Anders Carlsson  <andersca@apple.com>
89
90         Reviewed by Mitz Pettel.
91
92         <rdar://problem/5298870> 
93         REGRESSION: In Yahoo Mail modal dialog, OK and Cancel buttons do not work, and descriptive text is missing (14327)
94         
95         http://bugs.webkit.org/show_bug.cgi?id=14327
96         REGRESSION (r21367): dialogArguments not set in window generated by showModalDialog
97
98         When creating popup windows/dialogs, prevent the window properties from being cleared by the initial frame load.
99         
100         * loader/FrameLoader.cpp:
101         (WebCore::FrameLoader::FrameLoader):
102         (WebCore::FrameLoader::createWindow):
103         (WebCore::FrameLoader::clear):
104         (WebCore::FrameLoader::begin):
105         (WebCore::FrameLoader::open):
106         * loader/FrameLoader.h:
107         (WebCore::FrameLoader::setShouldClearWindowProperties):
108         * manual-tests/modal-dialog-arguments.html: Added.
109
110 2007-07-13  Steve Falkenburg  <sfalken@apple.com>
111
112         Update ResourceError related code to account for changes in CF interfaces.
113
114         Reviewed by Darin, Ada.
115
116         * platform/network/ResourceError.h: Change Mac conditionals to CF to share more code.
117         * platform/network/cf/ResourceErrorCF.cpp:
118         (WebCore::ResourceError::ResourceError): Modified based on CFErrorRef changes
119         (WebCore::ResourceError::unpackPlatformError): Ported from ResourceErrorMac.mm.
120         (WebCore::ResourceError::operator CFErrorRef): Ported from ResourceErrorMac.mm.
121         (WebCore::ResourceError::operator CFStreamError): Modified based on CFErrorRef changes.
122
123 2007-07-13  Antti Koivisto  <antti@apple.com>
124
125         Reviewed by Adele.
126         
127         Fix <rdar://problem/5192256>
128         click() in onchange handler causes another change event (causes hang at http://forums.whirlpool.net.au/)
129         
130         Guard against generating a simulated event from within a simulated event in the same node. Try to
131         match Firefox behavior.
132
133         * dom/EventTargetNode.cpp:
134         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent):
135         (WebCore::EventTargetNode::dispatchSimulatedClick):
136         * dom/Node.cpp:
137         (WebCore::Node::Node):
138         * dom/Node.h:
139
140 2007-07-13  Antti Koivisto  <antti@apple.com>
141
142         Reviewed by Darin.
143         
144         Fix <rdar://problem/5333387>
145         Combination of selection and click() on checkbox crashes
146         
147         Ensure there is no pending style update before doing synchronous paint. Under certain
148         circumstances this ends up doing style recalc in middle of paint() which may
149         for example tear down the rendering tree being painted, with bad results.
150
151         * dom/ContainerNode.cpp:
152         (WebCore::ContainerNode::setActive):
153
154 2007-07-13  Antti Koivisto  <antti@apple.com>
155
156         Reviewed by Adele.
157         
158         Fix <rdar://problem/5333365>
159         Calling click() is very slow
160         
161         There is a 100ms delay in ContainerNode::setActive() to do an activation effect. It is used for
162         simulated mouse activations (using keyboard for example). However, it shouldn't be done when calling from javascript 
163         (through click() interface) since it hangs script execution.
164
165         * html/HTMLElement.cpp:
166         (WebCore::HTMLElement::click):
167
168 2007-07-13  Mitz Pettel  <mitz@webkit.org>
169
170         Reviewed by Dave Hyatt.
171
172         - fix http://bugs.webkit.org/show_bug.cgi?id=13873
173           Incomplete repaint of replaced element's box shadow
174
175         Tests: fast/repaint/box-shadow-h.html
176                fast/repaint/box-shadow-v.html
177
178         * rendering/RenderHTMLCanvas.cpp:
179         (WebCore::RenderHTMLCanvas::layout): Added a call to adjustOverflowForBoxShadow().
180         * rendering/RenderImage.cpp:
181         (WebCore::RenderImage::layout): Ditto.
182         * rendering/RenderPartObject.cpp:
183         (WebCore::RenderPartObject::layout): Ditto.
184         * rendering/RenderReplaced.cpp:
185         (WebCore::RenderReplaced::RenderReplaced): Initialize m_hasOverflow.
186         (WebCore::RenderReplaced::~RenderReplaced): Added. Removes this object from the
187         overflow rect map if it has overflow.
188         (WebCore::RenderReplaced::shouldPaint): Account for overflow.
189         (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Added. Creates or
190         removes an entry for this object in the global overflow rect map.
191         (WebCore::RenderReplaced::overflowHeight): Added.
192         (WebCore::RenderReplaced::overflowWidth): Added.
193         (WebCore::RenderReplaced::overflowLeft): Added.
194         (WebCore::RenderReplaced::overflowTop): Added.
195         (WebCore::RenderReplaced::overflowRect): Added.
196         * rendering/RenderReplaced.h:
197
198 2007-07-13  Mitz Pettel  <mitz@webkit.org>
199
200         Reviewed by Dave Hyatt.
201
202         - fix http://bugs.webkit.org/show_bug.cgi?id=14395
203           When a <p> is inside <li> two <BR>s are rendered
204
205         Test: fast/lists/marker-before-empty-inline.html
206
207         * rendering/RenderBlock.h:
208         * rendering/RenderListItem.cpp:
209         (WebCore::getParentOfFirstLineBox): Changed to skip empty inline flows that
210         do not actually generate any line boxes. Limited the nested lists quirk to
211         the case where the list is a child of the list item, to match Firefox.
212         * rendering/bidi.cpp:
213         (WebCore::requiresLineBox): Added. Factored out of skipWhitespace.
214         (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Added. Checkes
215         whether the child or any of its siblings following it will generate a line
216         box in the flow.
217         (WebCore::RenderBlock::skipWhitespace):
218
219 2007-07-13  Holger Hans Peter Freyther  <zecke@selfish.org>
220
221         Reviewed by Alexey.
222
223         Move HTTP methods to parse Content-Type from xmlhttprequest.cpp
224         which is LGPL to HTTPParsers.cpp. As both files were written by the
225         same author and the advice to move them came from him I think this move
226         is what is meant to be done.
227
228         Move filenameFromHTTPContentDisposition to HTTPParsers as well. This parse
229         function uses Vector<String>::split and doesn't honor quoting. This needs
230         to be fixed in later versions.
231
232         http://bugs.webkit.org/show_bug.cgi?id=5954 and http://bugs.webkit.org/show_bug.cgi?id=14059
233         benefit from this change.
234
235         * platform/network/HTTPParsers.cpp:
236         (WebCore::filenameFromHTTPContentDisposition):
237         (WebCore::extractMIMETypeFromMediaType):
238         (WebCore::extractCharsetFromMediaType):
239         * platform/network/HTTPParsers.h:
240         * platform/network/cf/ResourceResponseCFNet.cpp:
241         * xml/xmlhttprequest.cpp:
242         (WebCore::XMLHttpRequest::responseMIMEType):
243         (WebCore::XMLHttpRequest::didReceiveResponse):
244
245 2007-07-13  Mark Rowe  <mrowe@apple.com>
246
247         Reviewed by Mitz.
248
249         Build fix.  Stub out ChromeClientGdk::print and SVGEmptyChromeClient::print.
250
251         * platform/gdk/ChromeClientGdk.h:
252         * platform/gdk/TemporaryLinkStubs.cpp:
253         (ChromeClientGdk::print):
254         * platform/graphics/svg/SVGImageEmptyClients.h:
255         (WebCore::SVGEmptyChromeClient::print):
256
257 2007-07-12  Alice Liu  <alice.liu@apple.com>
258
259         Reviewed by Maciej and Steve.
260
261         fixed <rdar://4982432> window.print() needs to be implemented
262
263         * bridge/win/FrameWin.cpp:
264         (WebCore::Frame::print):
265         * page/Chrome.cpp:
266         (WebCore::Chrome::print):
267         * page/Chrome.h:
268         * page/ChromeClient.h:
269         * platform/win/TemporaryLinkStubs.cpp:
270
271 2007-07-11  Justin Garcia  <justin.garcia@apple.com>
272
273         Reviewed by Harrison.
274         
275         <rdar://problem/5300379> Mail hung on option-delete
276         
277         We were starting backward iteration at [container, 0] and
278         emitting for container over and over.
279
280         * editing/TextIterator.cpp:
281         (WebCore::SimplifiedBackwardsTextIterator::advance): Don't 
282         emit characters for a node if we're starting iteration at 
283         [container, 0].  Don't emit characters for exiting containers
284         if we've already done so.
285
286 2007-07-12  Kevin Decker  <kdecker@apple.com>
287
288         Reviewed by Mark Rowe.
289
290         <rdar://problem/5039463> find a good gray that works well for full frame plug-ins; consistent look for plugins
291
292         * loader/PluginDocument.cpp:
293         (WebCore::PluginTokenizer::createDocumentStructure): Changed values to a darker gray, per request from the HI team.
294
295 2007-07-11  Sam Weinig  <sam@webkit.org>
296
297         Reviewed by Maciej.
298
299         Patch for <rdar://problem/5329841>
300         Calling window.closed on a closed window causes Safari to crash
301
302         - Replaces the Frame member variable in KJS::Window for more appropriate DOMWindow
303         - Adds additional new null checks as necessary
304         - Removes bogus toBoolean method
305         - Removes unused scheduleClose method
306
307         Test: fast/dom/Window/window-closed-crash.html
308
309         * bindings/js/JSCustomXPathNSResolver.cpp:
310         (WebCore::JSCustomXPathNSResolver::create):
311         * bindings/js/JSDOMWindowCustom.cpp:
312         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
313         (WebCore::JSDOMWindow::customPut):
314         * bindings/js/JSXMLHttpRequest.cpp:
315         (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
316         * bindings/js/kjs_events.cpp:
317         (WebCore::JSAbstractEventListener::handleEvent):
318         (WebCore::JSLazyEventListener::parseCode):
319         * bindings/js/kjs_window.cpp:
320         (KJS::Window::Window):
321         (KJS::Window::impl):
322         (KJS::Window::interpreter):
323         (KJS::Window::location):
324         (KJS::Window::find):
325         (KJS::allowPopUp):
326         (KJS::createWindow):
327         (KJS::canShowModalDialog):
328         (KJS::canShowModalDialogNow):
329         (KJS::showModalDialog):
330         (KJS::Window::getValueProperty):
331         (KJS::Window::childFrameGetter):
332         (KJS::Window::indexGetter):
333         (KJS::Window::namedItemGetter):
334         (KJS::Window::getOwnPropertySlot):
335         (KJS::Window::put):
336         (KJS::Window::isSafeScript):
337         (KJS::Window::setListener):
338         (KJS::Window::getListener):
339         (KJS::Window::clear):
340         (KJS::WindowFunc::callAsFunction):
341         (KJS::Window::updateLayout):
342         (KJS::ScheduledAction::execute):
343         (KJS::Window::disconnectFrame):
344         (KJS::Location::put):
345         (KJS::LocationFunc::callAsFunction):
346         * bindings/js/kjs_window.h:
347         * page/mac/WebCoreFrameBridge.mm:
348         (updateRenderingForBindings):
349
350 2007-07-12  Mark Rowe  <mrowe@apple.com>
351
352         Reviewed by Ada.
353
354         <rdar://problem/5329877> REGRESSION: Document::setTransformSource leaks an xmlDocPtr if called more than once per document
355
356         * dom/Document.cpp:
357         (WebCore::Document::setTransformSource): Free any existing m_transformSource before overwriting it, rather than simply leaking it.
358         * dom/Document.h:
359
360 2007-07-12  Holger Hans Peter Freyther  <zecke@selfish.org>
361
362         Reviewed by Mark Rowe.
363
364         Fix compilation of the CURL backend after the removing of accessors from ResourceHandle in r24202
365
366         * platform/network/curl/ResourceHandleManager.cpp:
367         (WebCore::ResourceHandleManager::setupPOST):
368         (WebCore::ResourceHandleManager::startJob):
369
370 2007-07-12  Mark Rowe  <mrowe@apple.com>
371
372         Reviewed by Darin.
373
374         <rdar://problem/5327189> Logic error in DeprecatedString::to{,U}Int{,64} can lead to reading past end of buffer
375
376         The fix for reading past the end of the buffer is to verify we are not at the end of the string before checking
377         for a leading '+' character.  Rather than fixing the logic error in four nearly-identical functions I chose to
378         extract the common functionality into the toIntegralType helper function which the four functions call through to.
379
380         * platform/DeprecatedString.cpp:
381         (WebCore::isCharacterAllowedInBase):
382         (WebCore::toIntegralType):
383         (WebCore::DeprecatedString::toInt):
384         (WebCore::DeprecatedString::toInt64):
385         (WebCore::DeprecatedString::toUInt):
386         (WebCore::DeprecatedString::toUInt64):
387
388 2007-07-12  George Staikos  <staikos@kde.org>
389
390         Reviewed by Alexey.
391
392         Remove unused variables and fix rendering of comoboxes.
393
394         * platform/graphics/qt/ImageQt.cpp:
395         (WebCore::BitmapImage::draw):
396         * platform/qt/RenderThemeQt.cpp:
397         (WebCore::RenderThemeQt::paintMenuList):
398
399 2007-07-11  Oliver Hunt  <oliver@apple.com>
400
401         Reviewed by Maciej
402
403         Fix for <rdar://problem/5329712> GMail crash when trying to compose new message
404
405         * platform/win/FontDataWin.cpp:
406         (WebCore::FontData::containsCharacters):
407
408 2007-07-11  Alexey Proskuryakov  <ap@webkit.org>
409
410         Reviewed by Darin.
411
412         http://bugs.webkit.org/show_bug.cgi?id=14584
413         XMLHttpRequest treats null login/password incorrectly
414
415         Test: http/tests/xmlhttprequest/null-auth.php
416
417         * xml/xmlhttprequest.cpp:
418         (WebCore::XMLHttpRequest::open):
419         * xml/xmlhttprequest.h:
420         Split the open() method into three to distinguish between missing and null credentials.
421
422         * bindings/js/JSXMLHttpRequest.cpp:
423         (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): Call the appropriate open().
424
425 2007-07-11  Oliver Hunt  <oliver@apple.com>
426
427         Build fix for windows
428
429         * page/Frame.cpp:
430         (WebCore::Frame::firstRectForRange):
431
432 2007-07-11  Oliver Hunt  <oliver@apple.com>
433
434         Reviewed by Maciej.
435
436         Fix <rdar://problem/5329481> Character range rect code for IME support needs to be crossplatform
437
438         Move -[WebCoreFrameBridge firstRectForDOMRange:] to Frame::firstRectForRange
439
440         * page/Frame.cpp:
441         (WebCore::Frame::firstRectForRange):
442         * page/Frame.h:
443         * page/mac/WebCoreFrameBridge.mm:
444         (-[WebCoreFrameBridge firstRectForDOMRange:]):
445
446 2007-07-11  Steve Falkenburg  <sfalken@apple.com>
447
448         Static analysis build fix.
449         
450         Only specify /analyze (PREfast) if it is available.
451         Prevents entire project from rebuilding each time.        
452
453         Reviewed by Hyatt.
454
455         * WebCore.vcproj/WebCore.vcproj:
456
457 2007-07-11  George Staikos  <staikos@kde.org>
458
459         Reviewed by Olliej.
460
461         Make comboboxes update when the current item is changed.
462
463         * platform/qt/PopupMenuQt.cpp:
464         (WebCore::PopupMenu::updateFromElement):
465         * platform/qt/QWebPopup.cpp:
466         (WebCore::QWebPopup::activeChanged):
467
468 2007-07-11  George Staikos  <staikos@kde.org>
469
470         Reviewed by Brady.
471
472         Add a destructor to cleanup the SQL handle.
473
474         * loader/icon/SQLDatabase.h:
475         (WebCore::SQLDatabase::~SQLDatabase):
476
477 2007-07-11  Holger Hans Peter Freyther  <zecke@selfish.org>
478
479         Reviewed by Darin.
480
481         As of http://bugs.webkit.org/show_bug.cgi?id=14527 move the
482         WebCore/ForwardingHeader/JavaScriptCore to JavaScriptCore
483
484         * ForwardingHeaders/JavaScriptCore: Removed.
485         * ForwardingHeaders/JavaScriptCore/APICast.h: Removed.
486         * ForwardingHeaders/JavaScriptCore/JSBase.h: Removed.
487         * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Removed.
488         * ForwardingHeaders/JavaScriptCore/JSLock.h: Removed.
489         * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Removed.
490         * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Removed.
491         * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Removed.
492         * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Removed.
493         * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Removed.
494
495 2007-07-11  Anders Carlsson  <andersca@apple.com>
496
497         Fix build.
498         
499         * platform/network/cf/ResourceHandleCFNet.cpp:
500         (WebCore::willSendRequest):
501         (WebCore::didReceiveResponse):
502         (WebCore::didReceiveData):
503         (WebCore::didFinishLoading):
504         (WebCore::didFail):
505         (WebCore::didReceiveChallenge):
506
507 2007-07-11  George Staikos  <staikos@kde.org>
508
509         Repair the build.
510
511         * platform/network/qt/ResourceHandleQt.cpp:
512         (WebCore::ResourceHandle::start):
513
514 2007-07-11  Adele Peterson  <adele@apple.com>
515
516         Reviewed by Darin.
517
518         Fix for <rdar://problem/5230188> REGRESSION: Active/inactive marked text is not distinguished in textfields and textareas
519
520         We were previously trying to leave room for 1px of space between the text and the underline.
521         This change removes that requirement so that if we don't have room for the extra space, we still draw the thick underline
522         touching the text.
523
524         * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextUnderline):
525
526 2007-07-11  Anders Carlsson  <andersca@apple.com>
527
528         Reviewed by Darin and Geoff.
529
530         <rdar://problem/5313508>
531         REGRESSION (Leopard): http/tests/xmlhttprequest/basic-auth.html hangs
532         
533         Leopard Foundation now ignores credentials passed in as part of the URL so we need to pass them ourselves.
534         
535         For the asynchronous case, we simply keep track of the URL and if it has a user name and password, we
536         pass those if we're asked to authenticate.
537                 
538         For the synchronous case, implement a new connection delegate and run it in a separate mode so 
539         no other sources will fire.
540
541         * platform/network/mac/ResourceHandleMac.mm:
542         (WebCore::ResourceHandle::loadResourceSynchronously):
543         (-[WebCoreResourceHandleAsDelegate dealloc]):
544         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
545         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
546         (-[WebCoreSynchronousLoader _isDone]):
547         (-[WebCoreSynchronousLoader dealloc]):
548         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]):
549         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
550         (-[WebCoreSynchronousLoader connection:didReceiveResponse:]):
551         (-[WebCoreSynchronousLoader connection:didReceiveData:]):
552         (-[WebCoreSynchronousLoader connectionDidFinishLoading:]):
553         (-[WebCoreSynchronousLoader connection:didFailWithError:]):
554         (-[WebCoreSynchronousLoader _data]):
555         (-[WebCoreSynchronousLoader _response]):
556         (-[WebCoreSynchronousLoader _error]):
557         (+[WebCoreSynchronousLoader loadRequest:returningResponse:error:]):
558
559 2007-07-11  Darin Adler  <darin@apple.com>
560
561         Reviewed by Sam Weinig.
562
563         - fix <rdar://problem/5315265> REGRESSION: Leopard launch time -
564           there are about 190 stats of icudt36b files during launch
565
566         * platform/TextEncodingRegistry.cpp: (WebCore::atomicCanonicalTextEncodingName):
567         Add a special case for the empty string so we don't load the extended text
568         encodings just so we can return 0 for that case.
569
570 2007-07-11  Anders Carlsson  <andersca@apple.com>
571
572         Reviewed by Darin.
573
574         Remove a bunch of unneeded accessors from ResourceHandle.
575         
576         * loader/icon/IconLoader.cpp:
577         (WebCore::IconLoader::didReceiveResponse):
578         (WebCore::IconLoader::didFail):
579         (WebCore::IconLoader::didFinishLoading):
580         * platform/network/ResourceHandle.cpp:
581         * platform/network/ResourceHandle.h:
582
583 2007-07-09  Justin Garcia  <justin.garcia@apple.com>
584
585         Reviewed by Darin.
586         
587         <rdar://problem/5234383> REGRESSION: Sentence breaker method returning entire document length
588         
589         The functions for moving the caret to the next/previous sentence boundary
590         were in many cases moving to the beginning/end of the document.  The functions that 
591         should move the caret to an equivalent position in the next/previous sentence behaved
592         like the aforementioned functions ought to.  Put the code from the second two functions
593         in the first and made sure that the second two are properly FIXMEd.  They're rarely 
594         used (filed 5323691).
595         
596         * editing/SelectionController.cpp:
597         (WebCore::SelectionController::modify): Added an option for sentenceBoundary granularity,
598         so that we can test the functions that were broken from JS.
599         * editing/visible_units.cpp:
600         (WebCore::startOfSentence): Removed the FIXME about 5234383.
601         (WebCore::endSentenceBoundary): Make this function do what nextSentencePositionBoundary
602         current does.
603         (WebCore::endOfSentence): Removed the FIXME about 5234383.
604         (WebCore::previousSentencePosition): Removed an incorrect FIXME.
605         (WebCore::nextSentencePositionBoundary): Tweaked FIXME.  This function is
606         identical, not close to endSentenceBoundary.
607         (WebCore::nextSentencePosition): Removed an incorrect FIXME.
608
609 2007-07-11  Rob Buis  <buis@kde.org>
610
611         Reviewed by Darin.
612
613         http://bugs.webkit.org/show_bug.cgi?id=14453
614         REGRESSION: www.nzherald.co.nz almost all the formating is gone
615  
616         Be less strict for the hex color definition.
617
618         * css/CSSGrammar.y:
619         * css/cssparser.cpp:
620         (WebCore::CSSParser::lex):
621         (WebCore::CSSParser::text):
622         * css/tokenizer.flex:
623
624 2007-07-11  Rob Buis  <buis@kde.org>
625
626         Reviewed by Oliver.
627
628         Forgot to commit this as part of commit r24146. Now we are sure
629         createElement creates elements in the xhtml namespace only.
630
631         * ksvg2/svg/SVGDocument.cpp:
632         * ksvg2/svg/SVGDocument.h:
633
634 2007-07-10  Sam Weinig  <sam@webkit.org>
635
636         Reviewed by Oliver.
637
638         Move more attributes from the pure JS bindings in KJS::Window
639         to the implementation in DOMWindow and autogenerate the new bindings
640
641         Test: fast/dom/Window/get-set-properties.html
642
643         * bindings/js/JSDOMWindowCustom.cpp:
644         (WebCore::JSDOMWindow::customGetOwnPropertySlot): Change to use propHashTable in
645         JSDOMWindow instead of KJS::Window
646         * bindings/js/kjs_window.cpp:
647         (KJS::Window::getValueProperty):
648         (KJS::Window::put):
649         * bindings/js/kjs_window.h:
650         (KJS::Window::):
651         * bindings/scripts/CodeGeneratorJS.pm: Cleanup getValueProperty and put generation
652         to reduce code duplication. 
653         * page/DOMWindow.cpp:
654         (WebCore::DOMWindow::closed):
655         (WebCore::DOMWindow::length):
656         (WebCore::DOMWindow::name):
657         (WebCore::DOMWindow::setName):
658         (WebCore::DOMWindow::status):
659         (WebCore::DOMWindow::setStatus):
660         (WebCore::DOMWindow::defaultStatus):
661         (WebCore::DOMWindow::setDefaultStatus):
662         * page/DOMWindow.h:
663         (WebCore::DOMWindow::defaultstatus):
664         (WebCore::DOMWindow::setDefaultstatus):
665         * page/DOMWindow.idl:
666
667 2007-07-10  Sam Weinig  <sam@webkit.org>
668
669         Reviewed by Geoff.
670
671         Fix for <rdar://problem/5326791> XSS vulnerability: ability to set window.defaultStatus,
672         window.defaultstatus and window.status cross domains
673
674         Test: http/tests/security/cross-frame-access-put.html
675
676         * bindings/js/kjs_window.cpp:
677         (KJS::Window::put): Adds isSafeScript check for defaultStatus,
678         defaultstatus and status cases.
679
680 2007-07-10  Sam Weinig  <sam@webkit.org>
681
682         Fix build for BuildBot.
683
684         * page/DOMWindow.cpp:
685         (WebCore::DOMWindow::outerHeight):
686         (WebCore::DOMWindow::outerWidth):
687         (WebCore::DOMWindow::screenX):
688         (WebCore::DOMWindow::screenY):
689
690 2007-07-10  Brady Eidson  <beidson@apple.com>
691
692         Reviewed by Sam
693
694         <rdar://problem/5326653> - REGRESSION: [WebBackForwardList forwardListCount] might return incorrect result
695
696         No layout test because this is an API issue that can't be tested in DRT or the browser
697
698         * history/BackForwardList.cpp:
699         (WebCore::BackForwardList::forwardListCount): If the index is NoCurrentItemIndex, return 0
700
701 2007-07-10  Sam Weinig  <sam@webkit.org>
702
703         Reviewed by Darin.
704
705         Move more readonly attributes from pure JS bindings in KJS::Window
706         to the implementation in DOMWindow and autogenerate the new bindings.
707
708         * bindings/js/kjs_window.cpp:
709         (KJS::Window::getValueProperty):  Sort the hashmap comment into categories
710         to make further migration easier.
711         * bindings/js/kjs_window.h: Sort the enum into categories to make further
712         migration easier.
713         (KJS::Window::):
714         * page/DOMWindow.cpp: Add new methods.
715         (WebCore::DOMWindow::focus):
716         (WebCore::DOMWindow::blur):
717         (WebCore::DOMWindow::offscreenBuffering):
718         (WebCore::DOMWindow::outerHeight):
719         (WebCore::DOMWindow::outerWidth):
720         (WebCore::DOMWindow::innerHeight):
721         (WebCore::DOMWindow::innerWidth):
722         (WebCore::DOMWindow::screenX):
723         (WebCore::DOMWindow::screenY):
724         (WebCore::DOMWindow::scrollX):
725         (WebCore::DOMWindow::scrollY):
726         (WebCore::DOMWindow::getComputedStyle):
727         (WebCore::DOMWindow::getMatchedCSSRules): Add null Document assertion.
728         (WebCore::DOMWindow::devicePixelRatio): Add null Frame and Page checks.
729         * page/DOMWindow.h:
730         (WebCore::DOMWindow::screenLeft):
731         (WebCore::DOMWindow::screenTop):
732         (WebCore::DOMWindow::pageXOffset):
733         (WebCore::DOMWindow::pageYOffset):
734         * page/DOMWindow.idl:
735
736 2007-07-10  Oliver Hunt  <oliver@apple.com>
737
738         Reviewed by Maciej.
739
740         Fix for <rdar://problem/5326417> Editor::unmarkText needs to be crossplatform
741
742         Missed this in earlier patch to make text marking platform independent.
743
744         * editing/Editor.cpp:
745         (WebCore::Editor::unmarkText):
746            Add platform independent impl
747         * editing/mac/EditorMac.mm:
748            Remove the old mac path.
749
750 2007-07-10  Geoffrey Garen  <ggaren@apple.com>
751
752         Reviewed by Tim Hatcher.
753
754         Added a Page counter. This helped me while investigating 
755         <rdar://problem/5314463> 40MB of WebKit memory still allocated after 
756         closing large email in Mail
757
758         * WebCore.xcodeproj/project.pbxproj:
759         * page/Page.cpp:
760         (WebCore::):
761         (WebCore::PageCounter::~PageCounter):
762         (WebCore::Page::Page):
763         (WebCore::Page::~Page):
764
765 2007-07-10  Timothy Hatcher  <timothy@apple.com>
766
767         Reviewed by Geoff.
768
769         <rdar://problem/5326126> InspectorResource holds onto more data than it needs
770
771         Reduces the fixed size of InspectorResource from 630 bytes to 224 bytes. Now
772         selectively pick out parts of the ResourceRequest and ResourceResponse objects
773         for the info needed and store that directly in InspectorResource.
774
775         The ResourceRequest and ResourceResponse objects hold a reference to the original
776         NSURL object, so almost double the data was being kept around. So the struct size
777         reduction is just the tip of the ice burg on what this really saves.
778
779         In a test of 100,000 XMLHTTPRequests using a 85 byte long data URL, I see ~21 MB less
780         RSIZE compared to Safari running without this change.
781
782         * page/InspectorController.cpp:
783         (WebCore::InspectorResource::InspectorResource):
784         (WebCore::InspectorResource::type):
785         (WebCore::addSourceToFrame):
786         (WebCore::scriptObjectForRequest):
787         (WebCore::scriptObjectForResponse):
788         (WebCore::InspectorController::addScriptResource):
789         (WebCore::InspectorController::addAndUpdateScriptResource):
790         (WebCore::updateResourceRequest):
791         (WebCore::updateResourceResponse):
792         (WebCore::InspectorController::updateScriptResourceRequest):
793         (WebCore::InspectorController::updateScriptResourceResponse):
794         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
795         (WebCore::InspectorController::identifierForInitialRequest):
796         (WebCore::InspectorController::willSendRequest):
797         (WebCore::InspectorController::didReceiveResponse):
798         (WebCore::InspectorController::didFailLoading):
799         * page/InspectorController.h:
800
801 2007-07-10  Darin Adler  <darin@apple.com>
802
803         Reviewed by Brady.
804
805         - fix crash introduced by my patch for 5318732, only seen in release builds
806
807         * page/Page.cpp: (WebCore::Page::~Page): Added a missing null check.
808
809 2007-07-10  Andrea Cavalli  <amc82@cam.ac.uk>
810
811         Reviewed by George Staikos.
812
813         Fixed render theme for text field.
814
815         * platform/qt/RenderThemeQt.cpp:
816         (WebCore::RenderThemeQt::paintTextField):
817
818 2007-07-10  Qing Zhao  <qing@staikos.net>
819
820         Reviewed by George Staikos.
821
822         Draw focus rings for nodes that are not rendered by QStyle.
823
824         * platform/graphics/qt/GraphicsContextQt.cpp:
825         (WebCore::focusRingColor):
826         (WebCore::GraphicsContext::drawFocusRing):
827         * platform/qt/RenderThemeQt.cpp:
828         (WebCore::RenderThemeQt::supportsFocusRing):
829         (WebCore::RenderThemeQt::supportsFocus):
830
831 2007-07-10  Nikolas Zimmermann  <zimmermann@kde.org>
832
833         Reviewed by Geoff.
834
835         Fix 'unsigned int' overflow in CodeGeneratorJS.pm.
836         This fixes hashing of "SVG_FEBLEND_MODE_NORMAL". Its hashvalue exceeded 2^32, which
837         is no problem in perl but in the cpp code. Emulate C/C++ behaviour by using "% 2^32" in
838         the perl code. Testcase available in feature-branch soon (js-svg-constructors.svg).
839
840         * bindings/scripts/CodeGeneratorJS.pm:
841
842 2007-07-10  Geoffrey Garen  <ggaren@apple.com>
843
844         Reviewed by Maciej Stachowiak.
845
846         Disabled Arena recycling in RenderArena. PLT shows no regression 
847         (possibly a small speedup), and this can reduce allocated memory in 
848         WebKit clients by about 120K (4K per Arena * 30 Arenas).
849         
850         I happened upon this optimization while investigating 
851         <rdar://problem/5314463> WebKit hangs on to 40MB RAM after closing 
852         large email in Mail (appears to be render tree arena allocator), 
853         although I don't think it will come close to fixing that bug 
854         completely.
855
856         * rendering/RenderArena.cpp:
857         (WebCore::RenderArena::~RenderArena): Use FinishArenaPool, which frees
858         the ArenaPool's Arenas immediately.
859
860 2007-07-10  Mitz Pettel  <mitz@webkit.org>
861
862         Reviewed by Hyatt.
863
864         - fix http://bugs.webkit.org/show_bug.cgi?id=14449
865           REGRESSION (r14345-r14375): Absolutely positioned image does not scale to containing element's height
866
867         Test: fast/replaced/absolute-position-percentage-height.html
868
869         * rendering/RenderBox.cpp:
870         (WebCore::RenderBox::calcReplacedHeightUsing): For positioned elements, evaluate
871         the percentage with respect to the container's final height.
872
873 2007-07-10  Brady Eidson  <beidson@apple.com>
874
875         Reviewed by Mark Rowe
876
877         Add 64-bit integer converters to our string classes for future work
878
879         * platform/DeprecatedString.cpp:
880         (WebCore::DeprecatedString::toInt64):
881         (WebCore::DeprecatedString::toUInt64):
882         * platform/DeprecatedString.h:
883
884         * platform/PlatformString.h:
885         * platform/String.cpp:
886         (WebCore::String::toInt64):
887         (WebCore::String::toUInt64):
888
889         * platform/StringImpl.cpp:
890         (WebCore::StringImpl::toInt64):
891         (WebCore::StringImpl::toUInt64):
892         * platform/StringImpl.h:
893
894 2007-07-10  Darin Adler  <darin@apple.com>
895
896         Reviewed by Anders.
897
898         - fix <rdar://problem/5318732> REGRESSION: In Mail, a crash occurs when attempting to send
899           a HTML based message (nytimes.com, washingtonpost.com, latimes.com)
900
901         Did an audit of calls to get the inspector and most other uses of Page* and added null
902         checks since Frame* can outlast its Page*.
903
904         * loader/FrameLoader.cpp:
905         (WebCore::FrameLoader::createWindow): Added null check.
906         (WebCore::FrameLoader::loadSubframe): Ditto.
907         (WebCore::FrameLoader::load): Ditto.
908         (WebCore::FrameLoader::transitionToCommitted): Ditto.
909         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
910         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Ditto.
911         (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
912         (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
913         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
914         (WebCore::FrameLoader::requestFromDelegate): Ditto.
915         (WebCore::FrameLoader::canGoBackOrForward): Ditto.
916         (WebCore::FrameLoader::getHistoryLength): Ditto.
917         (WebCore::FrameLoader::historyURL): Ditto.
918         (WebCore::FrameLoader::cachePageForHistoryItem): Ditto.
919         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Ditto.
920         (WebCore::FrameLoader::goToItem): Ditto.
921         (WebCore::FrameLoader::dispatchWindowObjectAvailable): Ditto.
922         (WebCore::FrameLoader::dispatchDidCommitLoad): Ditto.
923         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest): Ditto.
924         (WebCore::FrameLoader::dispatchWillSendRequest): Ditto.
925         (WebCore::FrameLoader::dispatchDidReceiveResponse): Ditto.
926         (WebCore::FrameLoader::dispatchDidReceiveContentLength): Ditto.
927         (WebCore::FrameLoader::dispatchDidFinishLoading): Ditto.
928         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Ditto.
929
930         * page/ContextMenuController.h:
931         * page/ContextMenuController.cpp:
932         (WebCore::ContextMenuController::ContextMenuController): Removed unneeded and
933         unused Page* parameter.
934         (WebCore::openNewWindow): Added null check.
935         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
936
937         * page/InspectorController.h:
938         (WebCore::InspectorController::pageDestroyed): Added. Since this object is
939         owned by the Page and has a back-pointer to it, it needs an explicit disconnect.
940         There's already a higher-level one, but this is more reliable than that.
941         * page/InspectorController.cpp:
942         (WebCore::InspectorController::windowScriptObjectAvailable): Added null check.
943         (WebCore::InspectorController::windowUnloading): Ditto.
944
945         * page/Page.cpp:
946         (WebCore::Page::Page): Updated for change in parameters of ContextMenuController 
947         constructor.
948         (WebCore::Page::~Page): Added call to InspectorController pageDestroyed().
949
950         * page/Chrome.cpp: Updated includes.
951         * page/DragController.cpp: Ditto.
952
953 2007-07-10  Adam Treat  <adam@staikos.net>
954
955         Reviewed by George Staikos.
956
957         Bring scroll wheel out of Ludicrous Speed.
958
959         * platform/qt/WheelEventQt.cpp:
960         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
961
962 2007-07-09  Geoffrey Garen  <ggaren@apple.com>
963
964         Reviewed by Maciej Stachowiak.
965
966         Fixed http://bugs.webkit.org/show_bug.cgi?id=13241 | <rdar://problem/5126396>
967         onload fires before content is finished loading (woot.com)
968         
969         * dom/Document.cpp:
970         (WebCore::Document::close): Try to go through the normal "Am I done loading?"
971         machinery before dispatching the load event. As the comment indicates, 
972         we can't do this in all cases, so the fix isn't perfect. However, a perfect 
973         solution would require much riskier sweeping changes to the loader, which 
974         are best left for later, I think.
975
976         * xml/XSLTProcessor.cpp:
977         (WebCore::XSLTProcessor::createDocumentFromSource): Removed a slightly
978         worse solution to the same problem.
979
980 2007-07-10  Rob Buis  <buis@kde.org>
981
982         Reviewed by Maciej.
983
984         http://bugs.webkit.org/show_bug.cgi?id=8007
985         createElement() and XHTML (A dynamically created table not rendered as such)
986
987         Follow the HTML5 rules of making the name lowercase and then
988         creating the element in the xhtml namespace.
989
990         * dom/Document.cpp:
991         (WebCore::Document::createElement):
992         * dom/Document.h:
993         * html/HTMLDocument.cpp:
994         * html/HTMLDocument.h:
995
996 2007-07-09  Qing Zhao  <qing@staikos.net>
997
998         Reviewed by George Staikos.
999
1000         Add qt context menu support.
1001
1002         * WebCore.pro:
1003         * platform/ContextMenu.h:
1004         * platform/ContextMenuItem.h:
1005         (WebCore::PlatformMenuItemDescriptionType::PlatformMenuItemDescriptionType):
1006         * platform/qt/ContextMenuItemQt.cpp:
1007         (WebCore::ContextMenuItem::ContextMenuItem):
1008         (WebCore::ContextMenuItem::~ContextMenuItem):
1009         (WebCore::ContextMenuItem::releasePlatformDescription):
1010         (WebCore::ContextMenuItem::type):
1011         (WebCore::ContextMenuItem::setType):
1012         (WebCore::ContextMenuItem::action):
1013         (WebCore::ContextMenuItem::setAction):
1014         (WebCore::ContextMenuItem::title):
1015         (WebCore::ContextMenuItem::setTitle):
1016         (WebCore::ContextMenuItem::platformSubMenu):
1017         (WebCore::ContextMenuItem::setSubMenu):
1018         (WebCore::ContextMenuItem::setChecked):
1019         (WebCore::ContextMenuItem::setEnabled):
1020         (WebCore::ContextMenuItem::enabled):
1021         * platform/qt/ContextMenuQt.cpp:
1022         (WebCore::ContextMenu::ContextMenu):
1023         (WebCore::ContextMenu::~ContextMenu):
1024         (WebCore::ContextMenu::appendItem):
1025         (WebCore::ContextMenu::itemCount):
1026         (WebCore::ContextMenu::insertItem):
1027         (WebCore::ContextMenu::setPlatformDescription):
1028         (WebCore::ContextMenu::platformDescription):
1029
1030 2007-07-09  Anders Carlsson  <andersca@apple.com>
1031
1032         Build fix.
1033         
1034         * plugins/win/PluginViewWin.cpp:
1035         (WebCore::PluginViewWin::performRequest):
1036
1037 2007-07-09  Anders Carlsson  <andersca@apple.com>
1038
1039         Reviewed by Geoff.
1040
1041         Get rid of the node argument in our various script execution functions.
1042         
1043         * bindings/js/kjs_proxy.cpp:
1044         (WebCore::KJSProxy::evaluate):
1045         * bindings/js/kjs_proxy.h:
1046         * bindings/js/kjs_window.cpp:
1047         (KJS::ScheduledAction::execute):
1048         * dom/XMLTokenizer.cpp:
1049         (WebCore::XMLTokenizer::endElementNs):
1050         (WebCore::XMLTokenizer::notifyFinished):
1051         * html/HTMLScriptElement.cpp:
1052         (WebCore::HTMLScriptElement::evaluateScript):
1053         * html/HTMLTokenizer.cpp:
1054         (WebCore::HTMLTokenizer::scriptExecution):
1055         * loader/FrameLoader.cpp:
1056         (WebCore::FrameLoader::changeLocation):
1057         (WebCore::FrameLoader::urlSelected):
1058         (WebCore::FrameLoader::submitForm):
1059         (WebCore::FrameLoader::replaceContentsWithScriptResult):
1060         (WebCore::FrameLoader::executeScript):
1061         * loader/FrameLoader.h:
1062         * page/mac/WebCoreFrameBridge.mm:
1063         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1064         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
1065
1066 2007-07-09  Justin Garcia  <justin.garcia@apple.com>
1067
1068         Rolling the fix for 5290534 back in now that 5310404 has been fixed in Mail.
1069
1070         * editing/DeleteSelectionCommand.cpp:
1071         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1072
1073 2007-07-09  Geoffrey Garen  <ggaren@apple.com>
1074
1075         Reviewed by Anders Carlsson.
1076
1077         A little more FrameLoader cleanup while working on <rdar://problem/5126396>.
1078         
1079         Rename: "checkEmitLoadEvent" => "checkCallImplicitClose" because the function
1080         doesn't emit the load event; it just calls implicitClose.
1081         
1082         Rename: "m_wasLoadEventEmitted" => "m_didCallImplicitClose" because the variable
1083         tracks whether implicitClose was called.
1084
1085         * dom/Document.cpp:
1086         (WebCore::Document::implicitClose): Turned 12 lines of code into 6, adding ASSERT.
1087         * loader/FrameLoader.h: Removed bogus declaration of non-existent emitLoadEvent().
1088
1089 2007-07-09  Justin Garcia  <justin.garcia@apple.com>
1090
1091         Reviewed by John.
1092         
1093         REGRESSION: Crash when deleting table content in Leopard Mail
1094
1095         * editing/DeleteSelectionCommand.cpp:
1096         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Use a RefPtr
1097         for the next node to delete, in case it is destroyed when the
1098         current node is deleted.  In the crash reported in the radar, we
1099         crash because the next node is the div that holds the delete button
1100         and it's destroyed when the node that contains the selection is removed.
1101
1102 2007-07-09  Adam Treat  <adam@staikos.net>
1103
1104         Reviewed by George Staikos.
1105
1106         Convert QWebFrame from a QFrame to a pure QObject to eliminate all
1107         traces of widgets.
1108
1109         * page/qt/EventHandlerQt.cpp:
1110         (WebCore::EventHandler::passSubframeEventToSubframe):
1111         * platform/ScrollView.h:
1112         * platform/Widget.h:
1113         * platform/qt/PlatformScrollBarQt.cpp:
1114         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1115         (WebCore::PlatformScrollbar::handleMousePressEvent):
1116         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1117         * platform/qt/PopupMenuQt.cpp:
1118         (WebCore::PopupMenu::show):
1119         * platform/qt/ScrollViewQt.cpp:
1120         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1121         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1122         (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
1123         (WebCore::ScrollView::updateContents):
1124         (WebCore::ScrollView::update):
1125         (WebCore::ScrollView::geometryChanged):
1126         (WebCore::ScrollView::windowToContents):
1127         (WebCore::ScrollView::contentsToWindow):
1128         (WebCore::ScrollView::convertChildToSelf):
1129         (WebCore::ScrollView::convertSelfToChild):
1130         (WebCore::ScrollView::scrollbarUnderMouse):
1131         (WebCore::ScrollView::addChild):
1132         (WebCore::ScrollView::paint):
1133         * platform/qt/WidgetQt.cpp:
1134         (WebCore::WidgetPrivate::WidgetPrivate):
1135         (WebCore::WidgetPrivate::~WidgetPrivate):
1136         (WebCore::WidgetPrivate::setGeometry):
1137         (WebCore::WidgetPrivate::geometry):
1138         (WebCore::Widget::frameGeometry):
1139         (WebCore::Widget::setFocus):
1140         (WebCore::Widget::setCursor):
1141         (WebCore::Widget::show):
1142         (WebCore::Widget::hide):
1143         (WebCore::Widget::qwebframe):
1144         (WebCore::Widget::setQWebFrame):
1145         (WebCore::Widget::qwidget):
1146         (WebCore::Widget::setQWidget):
1147         (WebCore::Widget::setFrameGeometry):
1148         (WebCore::Widget::isEnabled):
1149         (WebCore::Widget::setEnabled):
1150         (WebCore::Widget::setIsSelected):
1151         (WebCore::Widget::invalidate):
1152         (WebCore::Widget::invalidateRect):
1153         (WebCore::Widget::removeFromParent):
1154         (WebCore::Widget::geometryChanged):
1155         (WebCore::Widget::convertToContainingWindow):
1156         (WebCore::Widget::convertFromContainingWindow):
1157         (WebCore::Widget::convertChildToSelf):
1158         (WebCore::Widget::convertSelfToChild):
1159         (WebCore::Widget::containingWindow):
1160
1161 2007-07-09  Anders Carlsson  <andersca@apple.com>
1162
1163         Reviewed by Oliver.
1164
1165         Add DocumentLoader::isLoadingMainResource.
1166
1167         * WebCore.exp:
1168
1169 2007-07-09  John Sullivan  <sullivan@apple.com>
1170
1171         Reviewed by Darin
1172
1173         * WebCore.exp:
1174         * WebCore.xcodeproj/project.pbxproj:
1175         exported String::createCFString, needed for <rdar://problem/5320208>
1176
1177 2007-07-09  Mitz Pettel  <mitz@webkit.org>
1178
1179         Reviewed by Maciej.
1180
1181         Test case for the bug below, which is http://bugs.webkit.org/show_bug.cgi?id=14207
1182
1183         * manual-tests/flash-unload-tab.html: Added.
1184
1185 2007-07-09  Maciej Stachowiak  <mjs@apple.com>
1186
1187         Reviewed by Oliver.
1188
1189         <rdar://problem/5295734> Repro crash closing tab/window @ maps.google.com in
1190         WTF::HashSet<KJS::RuntimeObjectImp*, WTF::PtrHash<KJS::RuntimeObjectImp*>,
1191         WTF::HashTraits<KJS::RuntimeObjectImp*> >::add + 11
1192         
1193         Automated test case is not possible. Did not bother with manual test this time.
1194
1195         * bindings/js/kjs_dom.cpp:
1196         (WebCore::getRuntimeObject): Check that runtime root isn't null, as well as instance;
1197         this should cover the case where the plugin is already shut down and onunload time.
1198
1199 2007-07-08  Maciej Stachowiak  <mjs@apple.com>
1200
1201         Reviewed by Sam.
1202
1203         - fixed <rdar://problem/5220706> REGRESSION (TOT): repro crash in -[WebView(WebViewInternal) _addObject:forIdentifier:] [14425]
1204         http://bugs.webkit.org/show_bug.cgi?id=14425
1205
1206         * bindings/js/kjs_window.cpp:
1207         (KJS::createWindow): No longer take an immediate argument - always do immediate loads
1208         on a newly created Window. Also, do a load of "" to make sure that the right info makes
1209         it to the app.
1210         (KJS::showModalDialog): Updated for above.
1211         (KJS::WindowFunc::callAsFunction): Updated for above.
1212         * dom/Document.cpp:
1213         (WebCore::Document::shouldBeAllowedToLoadLocalResources): If our URL is about:blank,
1214         we're allowed if our opener is (since the opener must have written the contents).
1215         * loader/FrameLoader.cpp:
1216         (WebCore::FrameLoader::changeLocation): Add a variant which takes a KURL, which it
1217         expects to be pre-completed. This is to avoid completing "" to the opener URL.
1218         (WebCore::FrameLoader::urlSelected): Allow loading empty URLs.
1219         * loader/FrameLoader.h:
1220         
1221         Test case is manual only, since it takes particular app behavior to reproduce:
1222         
1223         * manual-tests/new-window-subresource-crash.html: Added.
1224
1225 2007-07-08  Mitz Pettel  <mitz@webkit.org>
1226
1227         Reviewed by Maciej.
1228
1229         - fix leaks introduced in r24099
1230
1231         * dom/Element.cpp:
1232         (WebCore::Element::~Element): Do not delete the cached computed style here.
1233         (WebCore::Element::detach): Delete the computed style here instead.
1234         (WebCore::Element::computedStyle): Removed a redundant ref() which was
1235         causing the leak. Changed to return 0 if the element is not attached,
1236         because in that case there is currently no way to tell when to delete the computed
1237         style.
1238
1239 2007-07-08  Mitz Pettel  <mitz@webkit.org>
1240
1241         Reviewed by Darin.
1242
1243         - fix http://bugs.webkit.org/show_bug.cgi?id=12384
1244           getComputedStyle with td.style.display='none' reports '' for all properties except display
1245
1246         Test: fast/css/computed-style-without-renderer.html
1247
1248         Implement rich computed style for elements that do not have a renderer.
1249
1250         * css/CSSComputedStyleDeclaration.cpp:
1251         (WebCore::getPositionOffsetValue): Changed to take a RenderStyle instead of
1252         a RenderObject.
1253         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to
1254         use the computed style returned by the node instead of going through the
1255         renderer. Changed properties that compute by measuring the renderer to
1256         fall back on returning the length from the RenderStyle if a renderer does
1257         not exist.
1258         (WebCore::CSSComputedStyleDeclaration::length): Changed to return the number
1259         of properties we can compute even if the element has no renderer.
1260         (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): Changed
1261         to use the computed style returned by the node instead of going through the
1262         renderer.
1263         * dom/Element.cpp:
1264         (WebCore::ElementRareData::ElementRareData): Added a computed style member,
1265         used to cache computed style for elements that do not have a renderer.
1266         (WebCore::ElementRareData::resetComputedStyle): Added.
1267         (WebCore::Element::~Element): Delete the cached computed style.
1268         (WebCore::Element::recalcStyle): Added code to delete the cached computed
1269         style when necessary.
1270         (WebCore::Element::computedStyle): Added. Returns the style used in rendering
1271         the element, if available. Otherwise uses the style selector to compute style
1272         for the element.
1273         * dom/Element.h:
1274         * dom/Node.cpp:
1275         (WebCore::Node::computedStyle): Added. This method returns either the style
1276         used in rendering the node, or the style that would be used if the node
1277         had a renderer.
1278         * dom/Node.h:
1279
1280 2007-07-08  Mitz Pettel  <mitz@webkit.org>
1281
1282         Reviewed by Darin.
1283
1284         - fix http://bugs.webkit.org/show_bug.cgi?id=14544
1285           Scroll wheel events are ignored when the cursor is over an iframe's border
1286
1287         * page/mac/EventHandlerMac.mm:
1288         (WebCore::EventHandler::passWheelEventToWidget): Changed to return false if
1289         the event coordinates are not inside the widget's NSView hierarchy.
1290
1291 2007-07-08  Rob Buis  <buis@kde.org>
1292
1293         Reviewed by Mitz.
1294
1295         http://bugs.webkit.org/show_bug.cgi?id=10752
1296         The inspector should not respond to Make Text Smaller/Bigger commands
1297
1298         Use the -webkit-text-size-adjust property to ignore text sizing        
1299         and do not take the zoom factor into account for line height when
1300         -webkit-text-size-adjust is set to none.
1301
1302         * css/cssstyleselector.cpp:
1303         (WebCore::CSSStyleSelector::applyProperty):
1304         * page/inspector/inspector.css:
1305
1306 2007-07-08  Darin Adler  <darin@apple.com>
1307
1308         Reviewed by Maciej.
1309
1310         - fix <rdar://problem/5318994> Integer overflow in WebCore's Base64.cpp:base64Encode
1311
1312         * platform/Base64.cpp:
1313         (WebCore::base64Encode): Check against a maximum size.
1314         (WebCore::base64Decode): Ditto.
1315
1316 2007-07-08  Darin Adler  <darin@apple.com>
1317
1318         Reviewed by Maciej.
1319
1320         - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
1321
1322         * platform/ThreadCheck.h: Renamed _WebCoreThreadViolationCheck to reportThreadViolation
1323         since it's in the WebCore namespace and also we shouldn't use leading underscores since
1324         those are reserved for the compiler and standard library. Added a new function named
1325         setDefaultThreadViolationBehavior and an enum for the parameter. Removed the
1326         threadViolationIsException parameter from WebCoreReportThreadViolation since we use
1327         a global variable for it now. Got rid of the unnecessary use of do while (0) in the
1328         WebCoreThreadViolationCheck macro -- since it's only a single function call it's already
1329         a statement and doesn't need to be turned into one with the do while (0) trick.
1330
1331         * platform/mac/ThreadCheck.mm:
1332         (WebCore::readThreadViolationBehaviorFromUserDefaults): Moved the code to read from
1333         NSUserDefaults into this helper function. Changed it to use stringForKey instead of
1334         objectForKey so we don't get a "method not found" if someone puts something other than
1335         a string in there. Updated to use the new globals.
1336         (WebCore::setDefaultThreadViolationBehavior): Added.
1337         (WebCore::reportThreadViolation): Simplified, now that most of the work is in the
1338         readThreadViolationBehaviorFromUserDefaults function.
1339         (WebCoreReportThreadViolation): Changed to use a global variable instead of parameter
1340         to determine how to report a violation. Added LogOnFirstThreadViolation, which will
1341         log only once for each function that violates.
1342
1343         * WebCore.exp: Updated for above changes.
1344
1345 2007-07-08  Mitz Pettel  <mitz@webkit.org>
1346
1347         Reviewed by Darin.
1348
1349         - fix http://bugs.webkit.org/show_bug.cgi?id=14221
1350           Repro crash (ASSERTION FAILED: oldText in RenderBlock::updateFirstLetter() during relayout of :before content with first-letter style)
1351
1352         Test: fast/css-generated-content/before-with-first-letter.html
1353
1354         * rendering/RenderContainer.cpp:
1355         (WebCore::RenderContainer::updateBeforeAfterContentForContainer): If a child
1356         of the existing 'before' container is not text, do not assume that it is an
1357         image, since it can also be an inline wrapping a first-letter. In that case,
1358         do not update its style (so in particular, keep it a FIRST_LETTER type style)
1359         and leave it to updateFirstLetter() to take care of.
1360
1361 2007-07-07  Sam Weinig  <sam@webkit.org>
1362
1363         Reviewed by Oliver Hunt.
1364
1365         Bailout early in Window::put() if attribute is readonly to avoid
1366         extra calls to isSafeScript().
1367
1368         * bindings/js/kjs_window.cpp:
1369         (KJS::Window::put):
1370
1371 2007-07-07  Darin Adler  <darin@apple.com>
1372
1373         Reviewed by Oliver Hunt.
1374
1375         - fix <rdar://problem/5292364> REGRESSION: ZX Spectrum 3.0 widget - graphic anomalies in widget window frame
1376
1377         Updated Dashboard quirk so it affects fill, stroke, and clip, rather than just stroke.
1378
1379         Test: fast/canvas/fill-stroke-clip-reset-path.html
1380
1381         * html/CanvasRenderingContext2D.h: Added clearPathForDashboardBackwardCompatibilityMode.
1382         * html/CanvasRenderingContext2D.cpp:
1383         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): Added.
1384         (WebCore::CanvasRenderingContext2D::fill): Call the new function.
1385         (WebCore::CanvasRenderingContext2D::stroke): Replaced in-line code with a call to the new function.
1386         (WebCore::CanvasRenderingContext2D::clip): Call the new function.
1387
1388 2007-07-07  Rob Buis  <buis@kde.org>
1389
1390         Reviewed and tweaked by Darin.
1391
1392         http://bugs.webkit.org/show_bug.cgi?id=8994
1393         Canvas doesn't reset on resize
1394
1395         Also reset the rendering context when resetting the canvas.
1396
1397         * html/HTMLCanvasElement.cpp:
1398         (WebCore::HTMLCanvasElement::reset):
1399         (WebCore::HTMLCanvasElement::drawingContext):
1400
1401 2007-07-07  Alexey Proskuryakov  <ap@webkit.org>
1402
1403         Reviewed by Maciej.
1404
1405         http://bugs.webkit.org/show_bug.cgi?id=14525
1406         Support exslt:node-set()
1407
1408         Test: fast/xsl/exslt-node-set.xml
1409
1410         * xml/XSLTExtensions.cpp: Added.
1411         (WebCore::exsltNodeSetFunction): A copy of exslt:node-set() implementation
1412         from libexslt 1.1.11 (shipped with Tiger).
1413         (WebCore::registerXSLTExtensions): This function registers any WebCore-provided
1414         extensions on a context. Currently, the only extension is exslt:node-set().
1415         * xml/XSLTExtensions.h: Added.
1416
1417         * xml/XSLTProcessor.cpp:
1418         (WebCore::XSLTProcessor::transformToString):
1419         Register extensions when creating a context.
1420
1421         * WebCore.pro:
1422         * WebCore.vcproj/WebCore.vcproj:
1423         * WebCore.xcodeproj/project.pbxproj:
1424         * WebCoreSources.bkl:
1425         Add XSLTExtensions.{h,cpp} to projects.
1426
1427 2007-07-06  Maciej Stachowiak  <mjs@apple.com>
1428
1429         Reviewed by Oliver.
1430
1431         - fixed <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message
1432         
1433         test case: fast/loader/early-load-cancel.html
1434
1435         * loader/ResourceLoader.cpp:
1436         (WebCore::ResourceLoader::didCancel): Don't send cancel-related client callbacks
1437         if we never even sent willSendRequest because we were deferred.
1438
1439 2007-07-06  Oliver Hunt  <oliver@apple.com>
1440
1441         Reviewed by Maciej.
1442
1443         Pulled a number of methods from WebKit and WebCoreFrameBridge into 
1444         C++ objects.
1445
1446         * WebCore.exp:
1447         * WebCore.xcodeproj/project.pbxproj:
1448         * editing/Editor.cpp:
1449         (WebCore::Editor::replaceMarkedText):
1450             From -[WebCoreFrameBridge replaceMarkedTextWithText:]
1451         * editing/Editor.h:
1452         * page/Frame.cpp:
1453         (WebCore::Frame::setMarkedTextRange):
1454             Pulled platform independent logic from Mac specific implementation
1455         (WebCore::Frame::selectRangeInMarkedText):
1456             Converted from -[WebHTMLView _selectRangeInMarkedText:]
1457         * page/Frame.h:
1458         * page/mac/FrameMac.mm:
1459         (WebCore::Frame::setMarkedTextRange):
1460             Now only does Mac specific logic when manipulating initial
1461             NSAttributedString
1462         * page/mac/WebCoreFrameBridge.h:
1463         * page/mac/WebCoreFrameBridge.mm:
1464             Removed -[WebCoreFrameBridge replaceMarkedTextWithText:]
1465
1466 2007-07-06  Mitz Pettel  <mitz@webkit.org>
1467
1468         Reviewed by Darin.
1469
1470         - fix http://bugs.webkit.org/show_bug.cgi?id=14545
1471           REGRESSION (r21854-r21869): Repro crash in RenderBlock::updateFirstLetter @ nola.com/rose/
1472
1473         Test: fast/css/first-letter-capitalized.html
1474
1475         * rendering/RenderBlock.cpp:
1476         (WebCore::RenderBlock::updateFirstLetter): Moved the call to setFirstLetter
1477         further down so that the first letter is not destroyed if a text transform
1478         is applied to the remaining text fragment when it is add to the render tree.
1479         * rendering/RenderText.cpp:
1480         (WebCore::RenderText::previousCharacter): Factored out of setTextInternal.
1481         (WebCore::RenderText::setTextInternal): Changed to call previousCharacter().
1482         * rendering/RenderText.h:
1483         * rendering/RenderTextFragment.cpp:
1484         (WebCore::RenderTextFragment::previousCharacter): Override to return the
1485         character in the original string before the start of the fragment. 
1486         * rendering/RenderTextFragment.h:
1487
1488 2007-07-06  Mitz Pettel  <mitz@webkit.org>
1489
1490         Reviewed by Beth.
1491
1492         - fix http://bugs.webkit.org/show_bug.cgi?id=14536
1493           Unnecessary layout done when mousing down in text field
1494
1495         No test possible because there is no change in functionality.
1496
1497         * rendering/RenderTextControl.cpp:
1498         (WebCore::RenderTextControl::setStyle): Reset the height and the width in
1499         the old style to avoid getting a layout hint as a result of having mutated
1500         the old style during layout.
1501         (WebCore::RenderTextControl::layout): Update children's layout if an inner
1502         block's dimensions should change. This need for layout was previously masked
1503         by the bug.
1504
1505 2007-07-06  Brady Eidson  <beidson@apple.com>
1506
1507         Fix builds that use IconDatabaseNone.cpp - better, this time
1508
1509         * loader/icon/IconDatabaseNone.cpp:
1510         (WebCore::IconDatabase::isOpen):
1511
1512 2007-07-06  Brady Eidson  <beidson@apple.com>
1513
1514         Fix builds that use IconDatabaseNone.cpp
1515
1516         * loader/icon/IconDatabaseNone.cpp:
1517         (WebCore::IconDatabase::databasePath): 
1518
1519 2007-07-06  John Sullivan  <sullivan@apple.com>
1520
1521         Reviewed by Brady
1522         
1523         - WebCore part of fix for: 
1524           <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
1525         
1526         * loader/icon/IconDatabase.h:
1527         * loader/icon/IconDatabase.cpp:
1528         (WebCore::IconDatabase::isOpen): 
1529         made this method const (necessary to make IconDatabase::databasePath const)
1530         (WebCore::IconDatabase::databasePath): 
1531         new method, returns SQLDatabase's path if open, otherwise empty string
1532         
1533         * loader/icon/SQLDatabase.cpp:
1534         (WebCore::SQLDatabase::open):
1535         don't append a null character to the m_path ivar. The appended null character was making the path()
1536         method return a String with a trailing null, which is bad. However, there were no callers to the
1537         path() method until now. Instead of appending a null character to the ivar, use charactersWithNullTermination()
1538         instead of characters() when opening the database.
1539         
1540         * loader/icon/SQLDatabase.h:
1541         (WebCore::SQLDatabase::isOpen):
1542         made this method const (necessary to make IconDatabase::databasePath const)
1543         (WebCore::SQLDatabase::path):
1544         made this method const (not required for these changes, but seemed worth doing at the same time)
1545
1546         * WebCore.exp:
1547         added symbol for IconDatabase::databasePath
1548
1549 2007-07-06  George Staikos  <staikos@kde.org>
1550
1551         No real functional change - just move the localizations out and
1552         stick some placeholder text in.
1553
1554         * platform/qt/Localizations.cpp: Added.
1555         (WebCore::submitButtonDefaultLabel):
1556         (WebCore::inputElementAltText):
1557         (WebCore::resetButtonDefaultLabel):
1558         (WebCore::defaultLanguage):
1559         (WebCore::searchableIndexIntroduction):
1560         (WebCore::fileButtonChooseFileLabel):
1561         (WebCore::fileButtonNoFileSelectedLabel):
1562         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1563         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1564         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1565         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1566         (WebCore::contextMenuItemTagDownloadImageToDisk):
1567         (WebCore::contextMenuItemTagCopyImageToClipboard):
1568         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1569         (WebCore::contextMenuItemTagCopy):
1570         (WebCore::contextMenuItemTagGoBack):
1571         (WebCore::contextMenuItemTagGoForward):
1572         (WebCore::contextMenuItemTagStop):
1573         (WebCore::contextMenuItemTagReload):
1574         (WebCore::contextMenuItemTagCut):
1575         (WebCore::contextMenuItemTagPaste):
1576         (WebCore::contextMenuItemTagNoGuessesFound):
1577         (WebCore::contextMenuItemTagIgnoreSpelling):
1578         (WebCore::contextMenuItemTagLearnSpelling):
1579         (WebCore::contextMenuItemTagSearchWeb):
1580         (WebCore::contextMenuItemTagLookUpInDictionary):
1581         (WebCore::contextMenuItemTagOpenLink):
1582         (WebCore::contextMenuItemTagIgnoreGrammar):
1583         (WebCore::contextMenuItemTagSpellingMenu):
1584         (WebCore::contextMenuItemTagShowSpellingPanel):
1585         (WebCore::contextMenuItemTagCheckSpelling):
1586         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1587         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1588         (WebCore::contextMenuItemTagFontMenu):
1589         (WebCore::contextMenuItemTagBold):
1590         (WebCore::contextMenuItemTagItalic):
1591         (WebCore::contextMenuItemTagUnderline):
1592         (WebCore::contextMenuItemTagOutline):
1593         (WebCore::contextMenuItemTagWritingDirectionMenu):
1594         (WebCore::contextMenuItemTagDefaultDirection):
1595         (WebCore::contextMenuItemTagLeftToRight):
1596         (WebCore::contextMenuItemTagRightToLeft):
1597         (WebCore::contextMenuItemTagInspectElement):
1598         (WebCore::searchMenuNoRecentSearchesText):
1599         (WebCore::searchMenuRecentSearchesText):
1600         (WebCore::searchMenuClearRecentSearchesText):
1601         (WebCore::AXWebAreaText):
1602         (WebCore::AXLinkText):
1603         (WebCore::AXListMarkerText):
1604         (WebCore::AXImageMapText):
1605         (WebCore::AXHeadingText):
1606         * platform/qt/TemporaryLinkStubs.cpp:
1607
1608 2007-07-06  Geoffrey Garen  <ggaren@apple.com>
1609
1610         Reviewed by Anders Carlsson.
1611
1612         A little more FrameLoader cleanup while working on <rdar://problem/5126396>.
1613         
1614         Moved url() and URL() methods next to each other to highlight their subtlety.
1615
1616         * loader/FrameLoader.cpp:
1617         (WebCore::FrameLoader::url):
1618         * loader/FrameLoader.h:
1619
1620 2007-07-06  Geoffrey Garen  <ggaren@apple.com>
1621
1622         Reviewed by Anders Carlsson.
1623
1624         A little FrameLoader cleanup while working on <rdar://problem/5126396>.
1625         
1626         Renamed endIfNotLoading() to endIfNotLoadingMainResource() because "loading"
1627         and "loadingMainResource" have distinct meanings and this function
1628         honors the latter.
1629
1630         (WebCore::FrameLoader::endIfNotLoadingMainResource): Protect after the
1631         early return to avoid ref count churn.
1632         * loader/FrameLoader.h:
1633         (WebCore::FrameLoader::isLoadingMainResource): Inlined this function.
1634
1635 2007-07-06  Adam Treat  <adam@staikos.net>
1636
1637         Reviewed by George Staikos.
1638
1639         Convert QWebFrame to a QFrame from a scroll area.
1640
1641         * page/qt/EventHandlerQt.cpp:
1642         (WebCore::EventHandler::passSubframeEventToSubframe):
1643         (WebCore::EventHandler::passWheelEventToWidget):
1644         (WebCore::EventHandler::createDraggingClipboard):
1645         (WebCore::EventHandler::passMousePressEventToScrollbar):
1646         * platform/ScrollView.h:
1647         * platform/Widget.h:
1648         * platform/qt/PlatformScrollBar.h:
1649         * platform/qt/PlatformScrollBarQt.cpp:
1650         (WebCore::PlatformScrollbar::setRect):
1651         (WebCore::PlatformScrollbar::frameGeometry):
1652         (WebCore::PlatformScrollbar::setFrameGeometry):
1653         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1654         (WebCore::PlatformScrollbar::handleMousePressEvent):
1655         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1656         * platform/qt/ScrollViewQt.cpp:
1657         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1658         (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate):
1659         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
1660         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
1661         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1662         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1663         (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
1664         (WebCore::ScrollView::ScrollView):
1665         (WebCore::ScrollView::~ScrollView):
1666         (WebCore::ScrollView::setScrollArea):
1667         (WebCore::ScrollView::horizontalScrollBar):
1668         (WebCore::ScrollView::verticalScrollBar):
1669         (WebCore::ScrollView::updateContents):
1670         (WebCore::ScrollView::update):
1671         (WebCore::ScrollView::visibleWidth):
1672         (WebCore::ScrollView::visibleHeight):
1673         (WebCore::ScrollView::visibleContentRect):
1674         (WebCore::ScrollView::setContentsPos):
1675         (WebCore::ScrollView::resizeContents):
1676         (WebCore::ScrollView::setFrameGeometry):
1677         (WebCore::ScrollView::geometryChanged):
1678         (WebCore::ScrollView::contentsX):
1679         (WebCore::ScrollView::contentsY):
1680         (WebCore::ScrollView::contentsWidth):
1681         (WebCore::ScrollView::contentsHeight):
1682         (WebCore::ScrollView::windowToContents):
1683         (WebCore::ScrollView::contentsToWindow):
1684         (WebCore::ScrollView::scrollOffset):
1685         (WebCore::ScrollView::maximumScroll):
1686         (WebCore::ScrollView::scrollBy):
1687         (WebCore::ScrollView::scrollRectIntoViewRecursively):
1688         (WebCore::ScrollView::hScrollbarMode):
1689         (WebCore::ScrollView::vScrollbarMode):
1690         (WebCore::ScrollView::suppressScrollbars):
1691         (WebCore::ScrollView::setHScrollbarMode):
1692         (WebCore::ScrollView::setVScrollbarMode):
1693         (WebCore::ScrollView::setScrollbarsMode):
1694         (WebCore::ScrollView::setStaticBackground):
1695         (WebCore::ScrollView::inWindow):
1696         (WebCore::ScrollView::updateScrollbars):
1697         (WebCore::ScrollView::scrollbarUnderMouse):
1698         (WebCore::ScrollView::addChild):
1699         (WebCore::ScrollView::removeChild):
1700         (WebCore::ScrollView::paint):
1701         (WebCore::ScrollView::wheelEvent):
1702         (WebCore::ScrollView::scroll):
1703         (WebCore::ScrollView::windowResizerRect):
1704         (WebCore::ScrollView::resizerOverlapsContent):
1705         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
1706         (WebCore::ScrollView::setParent):
1707         (WebCore::ScrollView::addToDirtyRegion):
1708         (WebCore::ScrollView::scrollBackingStore):
1709         (WebCore::ScrollView::updateBackingStore):
1710         * platform/qt/WidgetQt.cpp:
1711         (WebCore::WidgetPrivate::canvas):
1712         (WebCore::WidgetPrivate::setGeometry):
1713         (WebCore::WidgetPrivate::geometry):
1714         (WebCore::Widget::setQWidget):
1715         (WebCore::Widget::paint):
1716         (WebCore::Widget::originalGeometry):
1717         (WebCore::Widget::geometryChanged):
1718
1719 2007-07-06  Anders Carlsson  <andersca@apple.com>
1720
1721         Reviewed by Mitz.
1722
1723         <rdar://problem/5280532> 
1724         REGRESSION: Can't access nested embed by document.name if object is not immediate parent
1725         
1726         Traverse up the tree looking for an object element.
1727         
1728         * html/HTMLEmbedElement.cpp:
1729         (WebCore::HTMLEmbedElement::getInstance):
1730
1731 2007-07-06  George Staikos  <staikos@kde.org>
1732
1733         Qt build fix: Don't clobber qmake variables that are already set.
1734
1735         * WebCore.pro:
1736
1737 2007-07-05  Maciej Stachowiak  <mjs@apple.com>
1738
1739         Reviewed by Antti.
1740
1741         - <rdar://problem/5311093> JavaScriptCore fails to build with strict-aliasing warnings
1742
1743         * platform/StringHash.h:
1744         (WTF::): Adapt to newer way to do storage types.
1745
1746 2007-07-06  Bernhard Rosenkraenzer  <bero@arklinux.org>
1747
1748         Reviewed by Sam.
1749
1750         Fix for http://bugs.webkit.org/show_bug.cgi?id=13985
1751         Bug 13985: WebCore/rendering/RenderTable.cpp fails to compile with gcc 4.2.x
1752
1753         * rendering/RenderTable.cpp:
1754         (WebKit::RenderTable::calcBorderLeft)
1755         (WebKit::RenderTable::calcBorderRight)
1756
1757 2007-07-06  Maxime Britto  <mbritto@pleyo.com>
1758
1759         Reviewed by Maciej.
1760
1761         Fix http://bugs.webkit.org/show_bug.cgi?id=13038
1762         Bug 13038: ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame
1763
1764         Modify an ASSERT in goToItem related to going back/forward in history.  We don't need to check the frameset if the target is _blank.
1765         The attached test case is a manual one since it relies on having pages opened in tabs in Safari.
1766
1767         * manual-tests/goBack-blank-tab-page.html: Added.
1768         * manual-tests/resources/before-go-back.html: Added.
1769         * manual-tests/resources/will-go-back.html: Added.
1770         * page/Page.cpp:
1771         (WebCore::Page::goToItem):
1772
1773 2007-07-06  Mitz Pettel  <mitz@webkit.org>
1774
1775         Reviewed by Maciej.
1776
1777         - fix http://bugs.webkit.org/show_bug.cgi?id=14400
1778           Assertion failure (SHOULD NEVER BE REACHED) going back on YouTube
1779
1780         Test: fast/forms/button-state-restore.html
1781
1782         * dom/Document.h:
1783         (WebCore::Document::isFormElementRegistered): Added.
1784         * html/HTMLGenericFormElement.cpp:
1785         (WebCore::HTMLGenericFormElement::closeRenderer): Restore saved form
1786         element state only if the element is registered with the document to
1787         have its state saved.
1788
1789 2007-07-06  Mitz Pettel  <mitz@webkit.org>
1790
1791         Reviewed by Maciej.
1792
1793         - fix http://bugs.webkit.org/show_bug.cgi?id=14487
1794           Incomplete repaint of background and border of boxes with -webkit-border-fit:lines
1795
1796         Test: fast/repaint/border-fit-lines.html
1797
1798         * rendering/RenderObject.cpp:
1799         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Do a full repaint if
1800         -webkit-border-fit:lines was specified.
1801
1802 2007-07-06  Tony Chang  <idealisms@gmail.com>
1803
1804         Reviewed by Maciej.
1805
1806         http://bugs.webkit.org/show_bug.cgi?id=14516
1807         Bug 14516: crash loading multipart/x-mixed-replace data on windows safari
1808
1809         NULL check m_resourceData to prevent a crash in Safari on Windows.
1810
1811         * loader/ResourceLoader.cpp:
1812         (WebCore::ResourceLoader::clearResourceData):
1813
1814 2007-07-06  Jungshik Shin  <jungshik.shin@gmail.com>
1815
1816         Reviewed by Alexey.
1817
1818         - Add UTF-32 encoding support 
1819           http://bugs.webkit.org/show_bug.cgi?id=13415
1820
1821         Test:
1822          - fast/encoding/utf-32-big-endian-bom.html
1823          - fast/encoding/utf-32-big-endian-nobom.xml
1824          - fast/encoding/utf-32-little-endian-bom.html
1825          - fast/encoding/utf-32-little-endian-nobom.xml
1826
1827         * loader/TextResourceDecoder.cpp:
1828         (WebCore::TextResourceDecoder::checkForBOM):
1829         (WebCore::TextResourceDecoder::checkForHeadCharset):
1830         * platform/TextDecoder.cpp:
1831         (WebCore::TextDecoder::checkForBOM):
1832         * platform/TextDecoder.h:
1833         * platform/TextEncoding.cpp:
1834         (WebCore::UTF32BigEndianEncoding):
1835         (WebCore::UTF32LittleEndianEncoding):
1836         * platform/TextEncoding.h:
1837
1838 2007-07-06  Holger Hans Peter Freyther  <zecke@selfish.org>
1839
1840         Reviewed by Maciej.
1841
1842         Start implementening RenderThemeGdk/Gtk using GtkStyle. The approach is
1843         to allocate one native control for each widget type. And use margins, spacing,
1844         style properties from the Widget. And for drawing use GtkStyle on the rect supplied.
1845
1846         This should allow nice integration and be relative resource friendly. Mozilla is using
1847         a similiar approach. They seem to share the GdkPixmap among several operations and this
1848         will be an obvious candidate for improvements. Create a normally big enough GdkPixmap and
1849         use that for drawing and then set clip regions for cairo to make sure to not go beyond the
1850         width and height.
1851
1852         The next steps will be to introduce states for the widgets, add more widgets, handle focus,
1853         and various other style attributes, honor the size and margin and use that to propagate this
1854         back to RenderStyle*.
1855
1856         * platform/gdk/RenderThemeGdk.cpp:
1857         (WebCore::RenderThemeGdk::RenderThemeGdk):
1858         (WebCore::RenderThemeGdk::setCheckboxSize):
1859         (WebCore::RenderThemeGdk::paintCheckbox):
1860         (WebCore::RenderThemeGdk::setRadioSize):
1861         (WebCore::RenderThemeGdk::paintRadio):
1862         (WebCore::RenderThemeGdk::paintButton):
1863         (WebCore::RenderThemeGdk::copyToContext):
1864         (WebCore::RenderThemeGdk::gtkButton):
1865         (WebCore::RenderThemeGdk::gtkCheckbox):
1866         (WebCore::RenderThemeGdk::gtkRadioButton):
1867         (WebCore::RenderThemeGdk::gtkWindowContainer):
1868         * platform/gdk/RenderThemeGdk.h:
1869
1870 2007-07-06  Rob Buis  <buis@kde.org>
1871
1872         Reviewed by Adam.
1873
1874         http://bugs.webkit.org/show_bug.cgi?id=14442
1875         Adding a stop with value 1.0 to a gradient that has already been used has no effect
1876
1877         Implement start and end stop handling differently so they are not
1878         in the color stop array.
1879
1880         * html/CanvasGradient.cpp:
1881         (WebCore::compareStops):
1882         (WebCore::CanvasGradient::getColor):
1883         (WebCore::CanvasGradient::findStop):
1884
1885 2007-07-06  Adam Roben  <aroben@apple.com>
1886
1887         Fix <rdar://problem/5301994> Garbled text still showing on some sites
1888
1889         Replace calls to GetGlyphIndices with wkGetGlyphs.
1890
1891         Reviewed by Alice.
1892
1893         * platform/win/GlyphPageTreeNodeWin.cpp:
1894         (WebCore::GlyphPage::fill): Use wkGetGlyphs.
1895         * platform/win/FontDataWin.cpp:
1896         (WebCore::FontData::containsCharacters):
1897
1898 2007-07-06  Matt Lilek  <pewtermoose@gmail.com>
1899
1900         Not reviewed - Windows build fix.
1901
1902         * bridge/win/FrameWin.cpp:
1903         (WebCore::imageFromSelection):
1904
1905 2007-07-06  George Staikos  <staikos@kde.org>
1906
1907         Reviewed by Maciej.
1908
1909         Switch USE(ICONDATABASE) to ENABLE(ICONDATABASE) and activate the
1910         flag via the .pro file
1911
1912         * WebCore.pro:
1913         * loader/icon/IconDatabase.h:
1914
1915 2007-07-05  John Sullivan  <sullivan@apple.com>
1916
1917         Reviewed by Adam
1918
1919         - WebCore part of fix for <rdar://problem/5315033>
1920
1921         * rendering/RenderObject.h:
1922         replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText
1923         (WebCore::RenderObject::PaintInfo::PaintInfo):
1924         replaced forceWhiteText with forceBlackText
1925
1926         * rendering/RenderObject.cpp:
1927         (WebCore::RenderObject::addLineBoxRects):
1928         added a useSelectionHeight parameter, which defaults to false; this method is unimplemented
1929         at this level so this has no effect.
1930
1931         * rendering/RenderText.h:
1932         * rendering/RenderText.cpp:
1933         (WebCore::RenderText::addLineBoxRects):
1934         added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position
1935         and height returned by selectionRect rather than replacing it with the more tight-fitting position
1936         and height of the line box.
1937
1938         * dom/Range.h:
1939         * dom/Range.cpp:
1940         (WebCore::Range::addLineBoxRects):
1941         added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject.        
1942
1943         * page/Frame.h:
1944         renamed parameter to selectionImage
1945         * page/Frame.cpp:
1946         (WebCore::Frame::selectionTextRects):
1947         pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new
1948         method will match the height that the selection would be painted here
1949         (WebCore::Frame::paint):
1950         updated for white->black name changes
1951         
1952         * page/mac/FrameMac.mm:
1953         (WebCore::Frame::selectionImage):
1954         updated for white->black name changes
1955         
1956         * rendering/InlineFlowBox.cpp:
1957         (WebCore::InlineFlowBox::paintTextDecorations):
1958         updated for white->black name changes
1959
1960         * rendering/RenderLayer.cpp:
1961         (WebCore::RenderLayer::paintLayer):
1962         updated for white->black name changes
1963
1964         * rendering/InlineTextBox.cpp:
1965         (WebCore::InlineTextBox::paint):
1966         updated for white->black name changes, and actually use black instead of white. This was the goal
1967         of all the name changes.
1968
1969 2007-07-05  Anders Carlsson  <andersca@apple.com>
1970
1971         Reviewed by Oliver.
1972
1973         Fix layout test failures.
1974         
1975         * loader/FrameLoader.cpp:
1976         (WebCore::FrameLoader::commitProvisionalLoad):
1977         Don't make a representation if we're creating the initial document.
1978
1979 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
1980
1981         Fix Bug 14388: Input in text fields limited to 1024 characters
1982         http://bugs.webkit.org/show_bug.cgi?id=14388
1983
1984         Slightly modified by Adam Roben.
1985
1986         Reviewed by Adele.
1987
1988         Tests: fast/forms/input-implicit-length-limit.html
1989                fast/forms/input-maxlength.html
1990
1991         * html/HTMLInputElement.cpp: Bump limit to 524288.
1992         (WebCore::HTMLInputElement::init):
1993         (WebCore::HTMLInputElement::parseMappedAttribute):
1994         * html/HTMLInputElement.h:
1995
1996 2007-07-05  Anders Carlsson  <andersca@apple.com>
1997
1998         Build fix.
1999         
2000         * loader/FrameLoader.cpp:
2001         (WebCore::FrameLoader::init):
2002
2003 2007-07-05  Sam Weinig  <sam@webkit.org>
2004
2005         Reviewed by Geoff.
2006
2007         Add focus, blur and close functions to DOMWindow implementation class
2008         and move bindings from Window to JSDOMWindow.
2009
2010         * bindings/js/JSDOMWindowCustom.cpp:
2011         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2012         * bindings/js/kjs_window.cpp:
2013         (KJS::Window::getOwnPropertySlot):
2014         (KJS::WindowFunc::callAsFunction):
2015         * bindings/js/kjs_window.h:
2016         (KJS::Window::):
2017         * bindings/scripts/CodeGeneratorJS.pm: Move prototype function declaration from
2018         the implementation to the header.
2019         * page/DOMWindow.cpp:
2020         (WebCore::DOMWindow::focus):
2021         (WebCore::DOMWindow::blur):
2022         (WebCore::DOMWindow::close):
2023         * page/DOMWindow.h:
2024         * page/DOMWindow.idl:
2025
2026 2007-07-05  Justin Garcia  <justin.garcia@apple.com>
2027
2028         Reviewed by Harrison.
2029
2030         <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
2031
2032         * editing/TextIterator.cpp:
2033         (WebCore::TextIterator::exitNode): Previously emitted content shouldn't have
2034         to come from a text node in order to emit a '\n' as we exit block containers.
2035
2036 2007-07-05  Anders Carlsson  <andersca@apple.com>
2037
2038         Reviewed by Geoff.
2039
2040         <rdar://problem/5315284> REGRESSION: Leopard Launch Time - plugins are being accessed at startup.
2041
2042         Set a response that has a MIME type of "text/html" on the document loader so WebKit won't refresh the 
2043         plugin database looking for a plug-in that can handle the document's MIME type (which will be null anyway).
2044                  
2045         * loader/FrameLoader.cpp:
2046         (WebCore::FrameLoader::init):
2047
2048 2007-07-05  Anders Carlsson  <andersca@apple.com>
2049
2050         Reviewed by Oliver.
2051
2052         <rdar://problem/5106788>
2053         WebKit loads user style sheets too late as seen in Mail (breaks DataDetectors; Mail flashes wrong font)
2054
2055         Let the document know when the user style sheet is loading so that it try not to display anything
2056         until the user style sheet has finished loading.
2057         
2058         * page/Frame.cpp:
2059         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
2060         (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
2061         (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
2062         (WebCore::Frame::setUserStyleSheetLocation):
2063
2064 2007-07-05  Sam Weinig  <sam@webkit.org>
2065
2066         Reviewed by Darin.
2067
2068         Move JSDOMWindow overriding getOwnPropertySlot logic from KJS::Window
2069         up into JSDOMWindow.  No change in functionality so no testcase required. 
2070
2071         * bindings/js/JSDOMWindowCustom.cpp:
2072         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2073         * bindings/js/kjs_window.cpp:
2074         (KJS::Window::getOwnPropertySlot):
2075         * bindings/js/kjs_window.h:
2076
2077 2007-07-05  Mitz Pettel  <mitz@webkit.org>
2078
2079         Reviewed and Landed by Sam.
2080
2081         - fix bug 14465 for window.showModalDialog
2082
2083         * bindings/js/kjs_window.cpp:
2084         (KJS::parseModalDialogFeatures):
2085         (KJS::showModalDialog):
2086
2087 2007-07-05  Sam Weinig  <sam@webkit.org>
2088
2089         Reviewed by Mitz.
2090
2091         Patch for http://bugs.webkit.org/show_bug.cgi?id=14465
2092         window.open() uses the literal "undefined" as the URL
2093
2094         * bindings/js/kjs_window.cpp:
2095         (KJS::WindowFunc::callAsFunction): add checks for undefined and null values when setting the url.
2096         * manual-tests/open-url-undefined.html: Added.
2097
2098 2007-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
2099
2100         Reviewed by Rob Buis.
2101
2102         Rework FontData and FontPlatformData for the Gdk work to make valgrind
2103         happy.
2104
2105         Move destroying of FontConfig and Cairo objects held in FontPlatformData
2106         to FontData::platformDestroy. The ownership of these objects is held by
2107         FontData. This is following the Mac and Qt port at least.
2108
2109         Currently it is possible that FontPlatformData will not create cairo resources
2110         in this case at least make sure the variables are initialized to 0.
2111         Initialize x,y of the cairo_glyph_t with zero to avoid extents.x_advance depending
2112         on subtracing with not defined values.
2113
2114         FontPlatformData::hash. Using FontDescription is a bad idea as we don't have a clue
2115         about how it is packed, if holes are present, etc. The FcPattern and the m_fontMatrix
2116         should be good enough to describe the Font. All other objects are created using these
2117         variables
2118
2119         Replace C-style casts with C++ casts, in this case reinterpret_cast.
2120
2121         * platform/gdk/FontDataGdk.cpp:
2122         (WebCore::FontData::platformInit): Don't assert
2123         (WebCore::FontData::platformDestroy): Take over ownership
2124         (WebCore::FontData::platformWidthForGlyph): initialize
2125         (WebCore::FontData::setFont): be paranoid and assert
2126         * platform/gdk/FontPlatformData.h:
2127         (WebCore::FontPlatformData::FontPlatformData): Initialize everything
2128         (WebCore::FontPlatformData::hash): make valgrind happy and don't use m_fontDescription
2129         * platform/gdk/FontPlatformDataGdk.cpp:
2130         (WebCore::FontPlatformData::FontPlatformData):
2131         (WebCore::FontPlatformData::~FontPlatformData): FontData::platformDestroy will do this
2132         (WebCore::FontPlatformData::list): Don't use C-style casts.
2133         (WebCore::FontPlatformData::setFont): m_fontFace, m_fontMatrix, m_options might not be initialized
2134         (WebCore::FontPlatformData::operator==): Don't use C-style casts.
2135
2136 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
2137
2138         Reviewed by Mark Rowe.
2139
2140         http://bugs.webkit.org/show_bug.cgi?id=14445
2141         GraphicsContextCairo code style cleanup
2142
2143         Follow the cr naming convention for cairo_t*.
2144         Remove trailing whitespace.
2145         Replace C casts with C++ casts.
2146         Avoid needless casts.
2147
2148         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2149         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2150         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2151         (WebCore::GraphicsContext::GraphicsContext):
2152         (WebCore::GraphicsContext::platformContext):
2153         (WebCore::GraphicsContext::savePlatformState):
2154         (WebCore::GraphicsContext::restorePlatformState):
2155         (WebCore::GraphicsContext::drawRect):
2156         (WebCore::adjustLineToPixelBoundaries):
2157         (WebCore::GraphicsContext::drawLine):
2158         (WebCore::GraphicsContext::drawEllipse):
2159         (WebCore::GraphicsContext::strokeArc): Save/restore the graphics state.
2160         (WebCore::GraphicsContext::drawConvexPolygon):
2161         (WebCore::GraphicsContext::fillRect):
2162         (WebCore::GraphicsContext::clip):
2163         (WebCore::GraphicsContext::drawFocusRing):
2164         (WebCore::GraphicsContext::roundToDevicePixels):
2165         (WebCore::GraphicsContext::translate):
2166         (WebCore::GraphicsContext::origin):
2167         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2168         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2169         (WebCore::GraphicsContext::setPlatformFont):
2170         (WebCore::GraphicsContext::concatCTM):
2171         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2172         (WebCore::GraphicsContext::beginTransparencyLayer):
2173         (WebCore::GraphicsContext::endTransparencyLayer):
2174         (WebCore::GraphicsContext::clearRect):
2175         (WebCore::GraphicsContext::setLineCap):
2176         (WebCore::GraphicsContext::setLineJoin):
2177         (WebCore::GraphicsContext::setMiterLimit):
2178         (WebCore::GraphicsContext::setCompositeOperation):
2179         (WebCore::GraphicsContext::beginPath):
2180         (WebCore::GraphicsContext::addPath):
2181         (WebCore::GraphicsContext::rotate):
2182         (WebCore::GraphicsContext::scale):
2183         * platform/graphics/cairo/ImageBufferCairo.cpp:
2184         (WebCore::ImageBuffer::ImageBuffer):
2185         * platform/graphics/cairo/ImageCairo.cpp: Avoid the confusing ctxt/context naming scheme.
2186         (WebCore::BitmapImage::draw):
2187         (WebCore::Image::drawPattern):
2188
2189 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
2190
2191         Reviewed by Mark Rowe.
2192
2193         http://bugs.webkit.org/show_bug.cgi?id=14531
2194         Cairo SVGImage::nativeImageForCurrentFrame() has no return
2195
2196         Return the Cairo surface from the frame cache.
2197
2198         Also add a fall-through else macro with notImplemented() so that future
2199         ports do not make the same mistake.
2200
2201         * platform/graphics/svg/SVGImage.cpp:
2202         (WebCore::SVGImage::nativeImageForCurrentFrame):
2203
2204 2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>
2205
2206         Reviewed by Mark Rowe.
2207
2208         http://bugs.webkit.org/show_bug.cgi?id=14513
2209         Cairo animated GIF support is broken
2210
2211         Implement ImageSource::frameIsCompleteAtIndex() to enable animated GIFs.
2212
2213         * platform/graphics/cairo/ImageSourceCairo.cpp:
2214         (WebCore::ImageSource::frameIsCompleteAtIndex):
2215
2216 2007-07-04  Matt Perry  <mpComplete@gmail.com>
2217
2218         Reviewed by Adam.
2219
2220         Fix for http://bugs.webkit.org/show_bug.cgi?id=13400
2221         Bug 13400: REGRESSION (r20809-20814): No back entry created for navigations created by assigning to document.location
2222         <rdar://problem/5153025>
2223
2224         Treat userGesture as always true for setLocation, forcing a back/forward
2225         entry to be created.
2226
2227         * bindings/js/JSHTMLDocumentCustom.cpp:
2228         (WebCore::JSHTMLDocument::setLocation):
2229
2230 2007-07-04  Adam Roben  <aroben@apple.com>
2231
2232         Restore MouseEventWithHitTestResults::targetNode's old behavior
2233
2234         Reviewed by Mark.
2235
2236         Fixes fast/images/imagemap-case and fast/replace/image-map.
2237
2238         * page/MouseEventWithHitTestResults.cpp:
2239         (WebCore::MouseEventWithHitTestResults::targetNode): Use the inner
2240         node, not the inner non-shared node.
2241
2242 2007-07-04  Adam Roben  <aroben@apple.com>
2243
2244         Mac, Qt, and Gdk build fixes.
2245
2246         * page/EventHandler.h:
2247         * page/gdk/EventHandlerGdk.cpp:
2248         * page/mac/EventHandlerMac.mm:
2249         (WebCore::EventHandler::passSubframeEventToSubframe):
2250         * page/qt/EventHandlerQt.cpp:
2251
2252 2007-07-04  Adam Roben  <aroben@apple.com>
2253
2254         Fix the Qt/Gdk builds.
2255
2256         * page/gdk/EventHandlerGdk.cpp:
2257         * page/qt/EventHandlerQt.cpp:
2258
2259 2007-07-04  Adam Roben  <aroben@apple.com>
2260
2261         Move tooltip logic down into WebCore so that it can be shared cross-platform
2262
2263         Reviewed by Sam.
2264
2265         * page/Chrome.cpp:
2266         (WebCore::Chrome::setToolTip): Added.
2267         * page/Chrome.h:
2268         * page/ChromeClient.h:
2269         * page/EventHandler.cpp:
2270         (WebCore::EventHandler::mouseMoved): Call Chrome::setToolTip.
2271         * platform/graphics/svg/SVGImageEmptyClients.h:
2272
2273         Added stubs for Gdk:
2274
2275         * platform/gdk/ChromeClientGdk.h:
2276         * platform/gdk/TemporaryLinkStubs.cpp:
2277         (ChromeClientGdk::setToolTip):
2278
2279 2007-07-04  Adam Roben  <aroben@apple.com>
2280
2281         Add Settings::showsURLsInToolTips
2282
2283         Reviewed by Sam.
2284
2285         * WebCore.exp:
2286         * page/Settings.cpp:
2287         (WebCore::Settings::Settings):
2288         * page/Settings.h:
2289
2290 2007-07-04  Adam Roben  <aroben@apple.com>
2291
2292         Move logic for calling mouseDidMoveOverElement into WebCore
2293
2294         Reviewed by Sam.
2295
2296         * page/EventHandler.cpp:
2297         (WebCore::EventHandler::mouseMoved): Added. Calls Chrome::mouseDidMoveOverElement.
2298         (WebCore::EventHandler::handleMouseMoveEvent): Now takes an optional
2299         HitTestResult* parameter which is used to communicate to the caller the
2300         node the mouse is over.
2301         * page/EventHandler.h:
2302         * page/mac/EventHandlerMac.mm:
2303         (WebCore::EventHandler::mouseMoved): Changed to call the overloaded
2304         mouseMoved().
2305         (WebCore::EventHandler::passMouseMoveEventToSubframe): Pass hoveredNode
2306         through to the subframe so we can get the deepest node hovered, not
2307         just the node's parent frame.
2308         * page/win/EventHandlerWin.cpp:
2309         (WebCore::EventHandler::passMouseMoveEventToSubframe): Ditto.
2310
2311 2007-07-04  Adam Roben  <aroben@apple.com>
2312
2313         Add Chrome::mouseDidMoveOverElement
2314
2315         This does the work of calling up to the ChromeClient (which will call
2316         the UI delegate).
2317
2318         Reviewed by Sam.
2319
2320         * page/Chrome.cpp:
2321         (WebCore::Chrome::mouseDidMoveOverElement): Added.
2322         * page/Chrome.h:
2323         * page/ChromeClient.h:
2324         * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to
2325         ChromeClient.
2326         * platform/gdk/ChromeClientGdk.h:
2327         * platform/gdk/TemporaryLinkStubs.cpp:
2328         (ChromeClientGdk::mouseDidMoveOverElement):
2329
2330 2007-07-04  Adam Roben  <aroben@apple.com>
2331
2332         Changed PlatformMouseEvent to store the modifier flags of the event
2333
2334         Reviewed by Sam.
2335
2336         * platform/PlatformMouseEvent.h:
2337         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2338         * platform/mac/PlatformMouseEventMac.mm:
2339         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2340         * platform/win/PlatformMouseEventWin.cpp:
2341         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2342
2343 2007-07-04  Adam Roben  <aroben@apple.com>
2344
2345         Add HitTestResult::setToNonShadowAncestor
2346
2347         Reviewed by Sam.
2348
2349         * page/EventHandler.cpp:
2350         (WebCore::EventHandler::hitTestResultAtPoint): Moved logic into
2351         HitTestResult::setToNonShadowAncestor.
2352         * rendering/HitTestResult.cpp:
2353         (WebCore::HitTestResult::setToNonShadowAncestor):
2354         * rendering/HitTestResult.h:
2355
2356 2007-07-04  Adam Roben  <aroben@apple.com>
2357
2358         Change MouseEventWithHitTestResults to hold onto a HitTestResult
2359
2360         Reviewed by Sam.
2361
2362         * dom/Document.cpp:
2363         (WebCore::Document::prepareMouseEvent):
2364         * page/MouseEventWithHitTestResults.cpp:
2365         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
2366         (WebCore::MouseEventWithHitTestResults::targetNode):
2367         (WebCore::MouseEventWithHitTestResults::localPoint):
2368         (WebCore::MouseEventWithHitTestResults::scrollbar):
2369         * page/MouseEventWithHitTestResults.h:
2370         (WebCore::MouseEventWithHitTestResults::event):
2371         (WebCore::MouseEventWithHitTestResults::hitTestResult):
2372
2373 2007-07-04  Matt Lilek  <pewtermoose@gmail.com>
2374
2375         Not reviewed, gdk build fix.
2376
2377         * platform/gdk/FrameGdk.cpp:
2378
2379 2007-07-05  Antti Koivisto  <antti@apple.com>
2380
2381         Reviewed by John.
2382         
2383         Fix Repro crash due to infinite recursion in HTMLParser::handleError @ youos.com
2384         <rdar://problem/5237811>
2385         
2386         It is possible to add table parts (thead etc) without table ancestor to a document fragment. If a new table element
2387         was added to such a part, as in
2388         
2389         div.innerHTML = '<tbody><table>';
2390         
2391         the parser error handling code would try to pop the previous table as normal. However since
2392         the table does not actually exist nothing would happen and parser would go to infinite recursion.
2393         
2394         Solution here is to pop table parts one by one when handling the error inside a fragment instead of trying to pop
2395         the table straight away (as it might not exist).
2396
2397         * html/HTMLParser.cpp:
2398         (WebCore::HTMLParser::handleError):
2399
2400 2007-07-04  Qing Zhao  <qing@staikos.net>
2401
2402         Reviewed by George Staikos.
2403
2404         Draw menulist (comboboxes) without text overlap on the button.
2405
2406         * platform/qt/RenderThemeQt.cpp:
2407         (WebCore::RenderThemeQt::setPopupPadding):
2408
2409 2007-07-04  George Staikos  <staikos@kde.org>
2410
2411         Compile
2412
2413         * page/qt/FrameQt.cpp:
2414         * WebCore.pro:
2415
2416 2007-07-04  Sam Weinig  <sam@webkit.org>
2417
2418         Reviewed by Mitz.
2419
2420         Patch for http://bugs.webkit.org/show_bug.cgi?id=14504
2421         REGRESSION (r23573): Amazon Book Excerpt can not be viewed in recent nightly
2422
2423         - Made it possible (again) to shadow window properties with local variable names.
2424
2425         Test: fast/dom/Window/window-property-shadowing.html
2426
2427         * bindings/js/JSDOMWindowCustom.cpp:
2428         (WebCore::JSDOMWindow::customPut):
2429         * bindings/js/kjs_window.cpp:
2430         (KJS::Window::put):
2431         * bindings/scripts/CodeGeneratorJS.pm:
2432         * page/DOMWindow.idl:
2433
2434 2007-07-03  Alice Liu  <alice.liu@apple.com>
2435
2436         Reviewed by Adam.
2437
2438         Fixed <rdar://problem/5225119> support smart pasting on Windows
2439
2440         * WebCore.vcproj/WebCore.vcproj:
2441         * WebCore.xcodeproj/project.pbxproj:
2442             Added new files
2443         * editing/SmartReplace.cpp: Added.
2444         (WebCore::isCharacterSmartReplaceExempt):
2445             Added non-CF implementation placeholder
2446         * editing/SmartReplace.h: Added.
2447         * editing/SmartReplaceCF.cpp: Added.
2448         (WebCore::getSmartSet):
2449         (WebCore::isCharacterSmartReplaceExempt):
2450             Added new implementation
2451
2452         * bridge/win/FrameWin.cpp:
2453         * page/Frame.h:
2454         * page/mac/FrameMac.mm:
2455             Removed old declaration and implementation
2456
2457         * editing/ReplaceSelectionCommand.cpp:
2458         (WebCore::ReplaceSelectionCommand::doApply):
2459             Changed to call the new function instead of old
2460
2461         * page/mac/WebCoreFrameBridge.h:
2462         * page/mac/WebCoreFrameBridge.mm:
2463             Removed old declaration and implementation
2464         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
2465             Changed to call the new function instead of old
2466
2467         * platform/win/PasteboardWin.cpp:
2468         (WebCore::Pasteboard::Pasteboard):
2469             Register new clipboard format
2470         (WebCore::Pasteboard::writeSelection):
2471             Set data for smartpaste format on clipboard
2472         (WebCore::Pasteboard::canSmartReplace):
2473             Added non-stub implementation
2474
2475 2007-07-04  Qing Zhao  <qing@staikos.net>
2476
2477         Reviewed by George Staikos.
2478
2479         Similar to the PlatformScrollbar fixes, adjust the painter to make the
2480         styler draw all subcontrols, and in this case the focus rect, in the
2481         proper location
2482
2483         * platform/qt/RenderThemeQt.cpp:
2484         (WebCore::RenderThemeQt::paintMenuList):
2485
2486 2007-07-04  Mitz Pettel  <mitz@webkit.org>
2487
2488         Reviewed by Maciej.
2489
2490         - fix http://bugs.webkit.org/show_bug.cgi?id=14495
2491           REGRESSION: Wrong cursor is displayed during drag and drop when text is selected
2492           <rdar://problem/5312384>
2493
2494         No test possible because DumpRenderTree cannot query the current cursor.
2495
2496         * page/EventHandler.cpp:
2497         (WebCore::EventHandler::selectCursor): Changed into a member function and
2498         added that if the last mouse down event could not have started a
2499         selection, then the cursor should not change to an I-beam unconditionally.
2500         (WebCore::EventHandler::handleMouseMoveEvent):
2501         * page/EventHandler.h:
2502
2503 2007-07-04  Holger Hans Peter Freyther  <zecke@selfish.org>
2504
2505         Reviewed by Rob Buis.
2506
2507         A little progress in tracking dependencies.
2508
2509         * WebCore.pro: Add DEPENDPATH for the Gdk port.
2510
2511 2007-07-03  Darin Adler  <darin@apple.com>
2512
2513         Reviewed by Tim Hatcher.
2514
2515         - fix <rdar://problem/5221297> Font family name in the cssText for a DOMCSSStyleDeclaration needs quotes
2516
2517         Test: editing/style/font-family-with-space.html
2518
2519         * css/FontFamilyValue.cpp:
2520         (WebCore::isValidCSSIdentifier): Added. Implements the same rule that the CSS lexer does.
2521         (WebCore::quoteStringIfNeeded): Changed to call isValidCSSIdentifier instead of just
2522         checking for a leading "#" character.
2523         * editing/markup.cpp:
2524         (WebCore::escapeTextForMarkup): Changed to take a String parameter for better efficiency.
2525         (WebCore::renderedText): Changed to return a String for better efficiency.
2526         (WebCore::addNamespace): Updated to pass String to escapeTextForMarkup.
2527         (WebCore::startMarkup): Updated to pass String to escapeTextForMarkup. Added missing call
2528         to escapeTextForMarkup in the special case for the style property.
2529         (WebCore::createMarkup): Changed from single quotes to double quotes and also added missing
2530         call to escapeTextForMarkup in two special cases for the style property.
2531
2532 2007-07-03  Sam Weinig  <sam@webkit.org>
2533
2534         Reviewed by Darin.
2535
2536         Twelfth round of fixes for implicit 64-32 bit conversion errors.
2537         <rdar://problem/5292262>
2538
2539         - Add casts and accompanying FIXMEs to avoid remaining compiler errors.
2540
2541         * WebCore.xcodeproj/project.pbxproj:
2542         * loader/FrameLoader.cpp:
2543         (WebCore::FrameLoader::opened):
2544         (WebCore::FrameLoader::sendRemainingDelegateMessages):
2545         * loader/FrameLoader.h:
2546         * loader/ResourceLoader.cpp:
2547         (WebCore::ResourceLoader::didReceiveData):
2548         * platform/network/mac/ResourceHandleMac.mm:
2549         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
2550         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
2551         * platform/network/mac/ResourceResponseMac.mm:
2552         (WebCore::ResourceResponse::nsURLResponse):
2553
2554 2007-07-03  Anders Carlsson  <andersca@apple.com>
2555
2556         Reviewed by Adam.
2557
2558         <rdar://problem/5093862>
2559         Nothing shown in plugin area when trying to play content using the DivX plugin
2560         
2561         Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.
2562                 
2563         * plugins/win/PluginViewWin.cpp:
2564         (WebCore::PluginViewWin::determineQuirks):
2565
2566 2007-07-03  Sam Weinig  <sam@webkit.org>
2567
2568         Reviewed by Brady Eidson.
2569
2570         Ninth round of fixes for implicit 64-32 bit conversion errors.
2571         <rdar://problem/5292262>
2572
2573         - Fix function signature to use unsigned long instead of unsigned long long.
2574
2575         * loader/ProgressTracker.cpp:
2576         (WebCore::ProgressTracker::completeProgress):
2577         * loader/ProgressTracker.h:
2578
2579 2007-07-03  Sam Weinig  <sam@webkit.org>
2580
2581         Reviewed by Oliver.
2582
2583         Eighth round of fixes for implicit 64-32 bit conversion errors.
2584         <rdar://problem/5292262>
2585
2586         - Convert SVG implementation files to use floats instead of doubles
2587           to match the spec/IDLs.
2588
2589         * bindings/scripts/CodeGeneratorJS.pm:
2590         * ksvg2/svg/SVGAngle.cpp:
2591         * ksvg2/svg/SVGAnimatedTemplate.h:
2592         * ksvg2/svg/SVGAnimationElement.cpp:
2593         (WebCore::SVGAnimationElement::getEndTime):
2594         (WebCore::SVGAnimationElement::getStartTime):
2595         (WebCore::SVGAnimationElement::getCurrentTime):
2596         (WebCore::SVGAnimationElement::getSimpleDuration):
2597         * ksvg2/svg/SVGAnimationElement.h:
2598         * ksvg2/svg/SVGFitToViewBox.cpp:
2599         (WebCore::SVGFitToViewBox::parseViewBox):
2600         * ksvg2/svg/SVGLength.cpp:
2601         (WebCore::SVGLength::setValueAsString):
2602         * ksvg2/svg/SVGLinearGradientElement.cpp:
2603         (WebCore::SVGLinearGradientElement::buildGradient):
2604         * ksvg2/svg/SVGMatrix.idl:
2605         * ksvg2/svg/SVGNumber.idl:
2606         * ksvg2/svg/SVGParserUtilities.cpp:
2607         (WebCore::SVGPathParser::parseSVG):
2608         (WebCore::SVGPathParser::calculateArc):
2609         (WebCore::SVGPathParser::svgLineToHorizontal):
2610         (WebCore::SVGPathParser::svgLineToVertical):
2611         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
2612         (WebCore::SVGPathParser::svgCurveToQuadratic):
2613         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
2614         (WebCore::SVGPathParser::svgArcTo):
2615         * ksvg2/svg/SVGParserUtilities.h:
2616         * ksvg2/svg/SVGPathElement.cpp:
2617         (WebCore::SVGPathElement::SVGPathElement):
2618         (WebCore::SVGPathElement::getTotalLength):
2619         (WebCore::SVGPathElement::getPointAtLength):
2620         (WebCore::SVGPathElement::getPathSegAtLength):
2621         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2622         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2623         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2624         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2625         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2626         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2627         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2628         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2629         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2630         (WebCore::SVGPathElement::createSVGPathSegArcRel):
2631         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2632         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2633         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2634         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2635         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2636         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2637         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2638         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2639         (WebCore::SVGPathElement::svgMoveTo):
2640         (WebCore::SVGPathElement::svgLineTo):
2641         (WebCore::SVGPathElement::svgLineToHorizontal):
2642         (WebCore::SVGPathElement::svgLineToVertical):
2643         (WebCore::SVGPathElement::svgCurveToCubic):
2644         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
2645         (WebCore::SVGPathElement::svgCurveToQuadratic):
2646         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
2647         (WebCore::SVGPathElement::svgArcTo):
2648         (WebCore::SVGPathElement::parseMappedAttribute):
2649         * ksvg2/svg/SVGPathElement.h:
2650         * ksvg2/svg/SVGPathSegArc.cpp:
2651         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
2652         (WebCore::SVGPathSegArcAbs::setX):
2653         (WebCore::SVGPathSegArcAbs::x):
2654         (WebCore::SVGPathSegArcAbs::setY):
2655         (WebCore::SVGPathSegArcAbs::y):
2656         (WebCore::SVGPathSegArcAbs::setR1):
2657         (WebCore::SVGPathSegArcAbs::r1):
2658         (WebCore::SVGPathSegArcAbs::setR2):
2659         (WebCore::SVGPathSegArcAbs::r2):
2660         (WebCore::SVGPathSegArcAbs::setAngle):
2661         (WebCore::SVGPathSegArcAbs::angle):
2662         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
2663         (WebCore::SVGPathSegArcRel::setX):
2664         (WebCore::SVGPathSegArcRel::x):
2665         (WebCore::SVGPathSegArcRel::setY):
2666         (WebCore::SVGPathSegArcRel::y):
2667         (WebCore::SVGPathSegArcRel::setR1):
2668         (WebCore::SVGPathSegArcRel::r1):
2669         (WebCore::SVGPathSegArcRel::setR2):
2670         (WebCore::SVGPathSegArcRel::r2):
2671         (WebCore::SVGPathSegArcRel::setAngle):
2672         (WebCore::SVGPathSegArcRel::angle):
2673         * ksvg2/svg/SVGPathSegArc.h:
2674         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
2675         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
2676         (WebCore::SVGPathSegCurvetoCubicAbs::setX):
2677         (WebCore::SVGPathSegCurvetoCubicAbs::x):
2678         (WebCore::SVGPathSegCurvetoCubicAbs::setY):
2679         (WebCore::SVGPathSegCurvetoCubicAbs::y):
2680         (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
2681         (WebCore::SVGPathSegCurvetoCubicAbs::x1):
2682         (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
2683         (WebCore::SVGPathSegCurvetoCubicAbs::y1):
2684         (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
2685         (WebCore::SVGPathSegCurvetoCubicAbs::x2):
2686         (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
2687         (WebCore::SVGPathSegCurvetoCubicAbs::y2):
2688         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
2689         (WebCore::SVGPathSegCurvetoCubicRel::setX):
2690         (WebCore::SVGPathSegCurvetoCubicRel::x):
2691         (WebCore::SVGPathSegCurvetoCubicRel::setY):
2692         (WebCore::SVGPathSegCurvetoCubicRel::y):
2693         (WebCore::SVGPathSegCurvetoCubicRel::setX1):
2694         (WebCore::SVGPathSegCurvetoCubicRel::x1):
2695         (WebCore::SVGPathSegCurvetoCubicRel::setY1):
2696         (WebCore::SVGPathSegCurvetoCubicRel::y1):
2697         (WebCore::SVGPathSegCurvetoCubicRel::setX2):
2698         (WebCore::SVGPathSegCurvetoCubicRel::x2):
2699         (WebCore::SVGPathSegCurvetoCubicRel::setY2):
2700         (WebCore::SVGPathSegCurvetoCubicRel::y2):
2701         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2702         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
2703         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
2704         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
2705         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x):
2706         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
2707         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y):
2708         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
2709         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x2):
2710         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
2711         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y2):
2712         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
2713         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
2714         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x):
2715         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
2716         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y):
2717         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
2718         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x2):
2719         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
2720         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y2):
2721         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2722         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
2723         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
2724         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
2725         (WebCore::SVGPathSegCurvetoQuadraticAbs::x):
2726         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
2727         (WebCore::SVGPathSegCurvetoQuadraticAbs::y):
2728         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
2729         (WebCore::SVGPathSegCurvetoQuadraticAbs::x1):
2730         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
2731         (WebCore::SVGPathSegCurvetoQuadraticAbs::y1):
2732         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
2733         (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
2734         (WebCore::SVGPathSegCurvetoQuadraticRel::x):
2735         (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
2736         (WebCore::SVGPathSegCurvetoQuadraticRel::y):
2737         (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
2738         (WebCore::SVGPathSegCurvetoQuadraticRel::x1):
2739         (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
2740         (WebCore::SVGPathSegCurvetoQuadraticRel::y1):
2741         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2742         (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
2743         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
2744         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
2745         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
2746         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::x):
2747         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
2748         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::y):
2749         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
2750         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
2751         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::x):
2752         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
2753         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::y):
2754         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2755         * ksvg2/svg/SVGPathSegLineto.cpp:
2756         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
2757         (WebCore::SVGPathSegLinetoAbs::setX):
2758         (WebCore::SVGPathSegLinetoAbs::x):
2759         (WebCore::SVGPathSegLinetoAbs::setY):
2760         (WebCore::SVGPathSegLinetoAbs::y):
2761         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
2762         (WebCore::SVGPathSegLinetoRel::setX):
2763         (WebCore::SVGPathSegLinetoRel::x):
2764         (WebCore::SVGPathSegLinetoRel::setY):
2765         (WebCore::SVGPathSegLinetoRel::y):
2766         * ksvg2/svg/SVGPathSegLineto.h:
2767         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
2768         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
2769         (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
2770         (WebCore::SVGPathSegLinetoHorizontalAbs::x):
2771         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
2772         (WebCore::SVGPathSegLinetoHorizontalRel::setX):
2773         (WebCore::SVGPathSegLinetoHorizontalRel::x):
2774         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2775         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
2776         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
2777         (WebCore::SVGPathSegLinetoVerticalAbs::setY):
2778         (WebCore::SVGPathSegLinetoVerticalAbs::y):
2779         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
2780         (WebCore::SVGPathSegLinetoVerticalRel::setY):
2781         (WebCore::SVGPathSegLinetoVerticalRel::y):
2782         * ksvg2/svg/SVGPathSegLinetoVertical.h:
2783         * ksvg2/svg/SVGPathSegList.cpp:
2784         (WebCore::SVGPathSegList::getPathSegAtLength):
2785         * ksvg2/svg/SVGPathSegList.h:
2786         * ksvg2/svg/SVGPathSegMoveto.cpp:
2787         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
2788         (WebCore::SVGPathSegMovetoAbs::setX):
2789         (WebCore::SVGPathSegMovetoAbs::x):
2790         (WebCore::SVGPathSegMovetoAbs::setY):
2791         (WebCore::SVGPathSegMovetoAbs::y):
2792         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
2793         (WebCore::SVGPathSegMovetoRel::setX):
2794         (WebCore::SVGPathSegMovetoRel::x):
2795         (WebCore::SVGPathSegMovetoRel::setY):
2796         (WebCore::SVGPathSegMovetoRel::y):
2797         * ksvg2/svg/SVGPathSegMoveto.h:
2798         * ksvg2/svg/SVGPolyElement.cpp:
2799         (WebCore::SVGPolyElement::svgPolyTo):
2800         * ksvg2/svg/SVGRadialGradientElement.cpp:
2801         (WebCore::SVGRadialGradientElement::buildGradient):
2802         * ksvg2/svg/SVGSVGElement.cpp:
2803         (WebCore::SVGSVGElement::viewport):
2804         (WebCore::SVGSVGElement::getCurrentTime):
2805         * ksvg2/svg/SVGStopElement.cpp:
2806         (WebCore::SVGStopElement::SVGStopElement):
2807         (WebCore::SVGStopElement::parseMappedAttribute):
2808         * ksvg2/svg/SVGStopElement.h:
2809         * ksvg2/svg/SVGTransform.cpp:
2810         (SVGTransform::translate):
2811         (SVGTransform::scale):
2812         * ksvg2/svg/SVGTransformDistance.cpp:
2813         (WebCore::SVGTransformDistance::addToSVGTransform):
2814         (WebCore::SVGTransformDistance::distance):
2815         * ksvg2/svg/SVGTransformable.cpp:
2816         (WebCore::SVGTransformable::parseTransformAttribute):
2817
2818 2007-07-03  Anders Carlsson  <andersca@apple.com>
2819
2820         Reviewed by Darin.
2821
2822         <rdar://problem/5289718>
2823         http://bugs.webkit.org/show_bug.cgi?id=14437
2824         CrashTracer: [REGRESSION] 76 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 6 (14437)
2825         
2826         Based on a patch from Maxime Britto.
2827         
2828         * page/mac/WebCoreFrameBridge.mm:
2829         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2830         If the script caused the frame to go away, return nil. This can only happen if a plugin in a subframe destroys
2831         its frame.
2832
2833         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
2834         ASSERT that this is only called on the main frame.
2835
2836 2007-07-03  John Sullivan  <sullivan@apple.com>
2837
2838         Written by Darin, reviewed by me
2839         
2840         - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local 
2841           documents more than once due to canonicalization change
2842
2843         * loader/mac/LoaderNSURLExtras.m:
2844         (canonicalURL):
2845         pass URL through KURL so we get KURL's version of canonicalization as well as
2846         NSURLProtocol's version of canonicalization
2847
2848 2007-07-03  Sam Weinig  <sam@webkit.org>
2849
2850         Reviewed by Darin.
2851
2852         Seventh round of fixes for implicit 64-32 bit conversion errors.
2853         <rdar://problem/5292262>
2854
2855         - Adds more narrowPrecision functions to FloatPoint, FloatSize and FloatRect.
2856         - Changes over more implicit conversions to use new functions.
2857
2858         * bindings/js/kjs_window.cpp:
2859         (KJS::WindowFunc::callAsFunction):
2860         * platform/graphics/FloatPoint.cpp:
2861         (WebCore::FloatPoint::matrixTransform):
2862         (WebCore::FloatPoint::narrowPrecision):
2863         * platform/graphics/FloatPoint.h:
2864         * platform/graphics/FloatRect.cpp:
2865         (WebCore::FloatRect::narrowPrecision):
2866         * platform/graphics/FloatRect.h:
2867         * platform/graphics/FloatSize.cpp:
2868         (WebCore::FloatSize::narrowPrecision):
2869         * platform/graphics/FloatSize.h:
2870         * platform/graphics/Path.cpp:
2871         (WebCore::Path::createRoundedRectangle):
2872         (WebCore::Path::createRectangle):
2873         (WebCore::Path::createEllipse):
2874         * platform/graphics/mac/ColorMac.mm:
2875         (WebCore::nsColor):
2876         * platform/graphics/mac/IconMac.mm:
2877         (WebCore::Icon::paint):
2878         * platform/graphics/svg/cg/CgSupport.cpp:
2879         (WebCore::applyStrokeStyleToContext):
2880         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2881         (WebCore::CGShadingRefForRadialGradient):
2882         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2883         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
2884         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
2885         (WebCore::applyLuminanceToAlphaFilter):
2886         (WebCore::applyExpandAlphatoGrayscaleFilter):
2887         (WebCore::transformImageIntoGrayscaleMask):
2888         * platform/mac/WebCoreTextRenderer.mm:
2889         (WebCoreDrawTextAtPoint):
2890         * rendering/RenderPath.cpp:
2891         (WebCore::RenderPath::mapAbsolutePointToLocal):
2892         * rendering/RenderSVGContainer.cpp:
2893         (WebCore::RenderSVGContainer::calcViewport):
2894         * rendering/RenderSVGImage.cpp:
2895         (WebCore::RenderSVGImage::nodeAtPoint):
2896         * rendering/RenderSVGText.cpp:
2897         (WebCore::RenderSVGText::relativeBBox):
2898
2899 2007-07-03  Anders Carlsson  <andersca@apple.com>
2900
2901         Reviewed by Adam.
2902
2903         <rdar://problem/5261523>
2904         Crash playing MP11 on cnbc.com
2905         
2906         The WMP Netscape plugin still creates a window even when windowless mode is turned on. Work around this by
2907         always removing the "windowlessvideo" parameter before passing it to the plugin.
2908         According to http://msdn2.microsoft.com/en-us/library/bb249373.aspx, "The windowlessVideo property is not 
2909         supported for Netscape Navigator. Setting a value for this property in Navigator may yield unexpected results."
2910         
2911         * plugins/win/PluginViewWin.cpp:
2912         (WebCore::PluginViewWndProc):
2913         (WebCore::PluginViewWin::paint):
2914         (WebCore::PluginViewWin::invalidateRect):
2915         (WebCore::PluginViewWin::determineQuirks):
2916         (WebCore::PluginViewWin::setParameters):
2917         (WebCore::PluginViewWin::PluginViewWin):
2918         (WebCore::PluginViewWin::init):
2919         * plugins/win/PluginViewWin.h:
2920         (WebCore::):
2921
2922 2007-07-03  Qing Zhao  <qing@staikos.net>
2923
2924         Reviewed by George Staikos.
2925
2926         Only draw sunken state for appropriate widgets. Not, for example, for
2927         lineedits.
2928
2929         * platform/qt/RenderThemeQt.cpp:
2930         (WebCore::RenderThemeQt::applyTheme):
2931
2932 2007-07-03  Antti Koivisto  <antti@apple.com>
2933
2934         Reviewed by Maciej.
2935         
2936         REGRESSION: misplaced selection ring remains after link is no longer focused.
2937         <rdar://problem/5205580>
2938         
2939         Fix placement of selection ring when part of the ring is in a different layer.
2940
2941         * rendering/RenderFlow.cpp:
2942         (WebCore::RenderFlow::addFocusRingRects): Get coordinates right when moving to a different layer.
2943         * rendering/RenderObject.cpp:
2944         (WebCore::RenderObject::setStyle): 
2945         Don't reset state variables when not necessary.  When repaint() was called at the end of setSyle() it would
2946         get repaint rects wrong in some cases.
2947
2948 2007-07-03  Antti Koivisto  <antti@apple.com>
2949
2950         Reviewed by Maciej.
2951
2952         Blind fix for CrashTracer: [USER] 25 crashes in Safari at com.apple.WebCore: WebCore::Frame::document const + 6
2953         <rdar://problem/5263939>
2954         
2955         No one has managed to reproduce this but it looks like null check is needed here. There are plausible ways
2956         m_frame could be null for a live FrameView object.
2957
2958         * page/FrameView.cpp:
2959         (WebCore::FrameView::needsLayout):
2960
2961 2007-07-02  Oliver Hunt  <oliver@apple.com>
2962
2963         Reviewed by Darin.
2964
2965         Fix for <rdar://problem/5098378> single-pixel image optimization needs to be rewritten to not depend on floating point bitmap
2966         Tested by fast/replaced/image-solid-color-with-alpha.html
2967
2968         Switch from float to byte based bitmap when pulling the color from 1x1 pixel images so
2969         that we can use the single pixel image optimisation in WebKit/win.
2970
2971         * platform/graphics/cg/ImageCG.cpp:
2972         (WebCore::BitmapImage::checkForSolidColor):
2973
2974 2007-07-02  Adam Roben  <aroben@apple.com>
2975
2976         Fix Bug 14498: RenderContainer::positionForCoordinates contains an order of operations error
2977         http://bugs.webkit.org/show_bug.cgi?id=14498
2978
2979         There were two bugs:
2980         1) xPos/yPos were flipped
2981         2) + binds tighter than ?:, so the order of operations was incorrect
2982
2983         Reviewed by Darin.
2984
2985         Test: fast/inline-block/14498-positionForCoordinates.html
2986
2987         * rendering/RenderContainer.cpp:
2988         (WebCore::RenderContainer::positionForCoordinates):
2989
2990 2007-07-02  Darin Adler  <darin@apple.com>
2991
2992         Reviewed by Kevin Decker and Tim Hatcher.
2993
2994         - fix <rdar://problem/5307906> some classes need finalize methods because
2995           of non-trivial work done in dealloc methods
2996
2997         * bindings/objc/DOMRGBColor.mm:
2998         (+[DOMRGBColor initialize]): Added. Tells finalizer to run on main thread,
2999         which is needed because we are sharing a CFDictionary here with no locking.
3000
3001         * bridge/mac/WebCoreAXObject.mm:
3002         (+[WebCoreAXObject initialize]): Added. Tells finalizer to run on main thread.
3003         (-[WebCoreAXObject finalize]): Added. Calls detach.
3004
3005         * WebCore.xcodeproj/project.pbxproj: Let Xcode do what it wants to do.
3006
3007 2007-07-02  Sam Weinig  <sam@webkit.org>
3008
3009         Reviewed by Darin.
3010
3011         Sixth round of fixes for implicit 64-32 bit conversion errors.
3012         <rdar://problem/5292262>
3013
3014         Use new narrowPrecisionToFloat() and narrowPrecisionToCGFloat() where
3015         appropriate.
3016
3017         * html/CanvasRenderingContext2D.cpp:
3018         (WebCore::CanvasRenderingContext2D::setShadow):
3019         (WebCore::CanvasRenderingContext2D::applyShadow):
3020         * html/CanvasStyle.cpp:
3021         (WebCore::CanvasStyle::applyStrokeColor):
3022         (WebCore::CanvasStyle::applyFillColor):
3023         * ksvg2/svg/SVGAngle.cpp:
3024         * ksvg2/svg/SVGAnimationElement.cpp:
3025         (WebCore::SVGAnimationElement::parseKeyNumbers):
3026         (WebCore::parseKeySplines):
3027         (WebCore::SVGAnimationElement::handleTimerEvent):
3028         (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
3029         * ksvg2/svg/SVGPatternElement.cpp:
3030         (WebCore::SVGPatternElement::buildPattern):
3031         * ksvg2/svg/SVGRadialGradientElement.cpp:
3032         (WebCore::SVGRadialGradientElement::buildGradient):
3033         * platform/graphics/cg/AffineTransformCG.cpp:
3034         (WebCore::AffineTransform::AffineTransform):
3035         (WebCore::AffineTransform::setMatrix):
3036         (WebCore::AffineTransform::map):
3037         (WebCore::AffineTransform::setA):
3038         (WebCore::AffineTransform::setB):
3039         (WebCore::AffineTransform::setC):
3040         (WebCore::AffineTransform::setD):
3041         (WebCore::AffineTransform::setE):
3042         (WebCore::AffineTransform::setF):
3043         (WebCore::AffineTransform::scale):
3044         (WebCore::AffineTransform::rotate):
3045         (WebCore::AffineTransform::translate):
3046         (WebCore::AffineTransform::shear):
3047
3048 2007-07-02  John Sullivan  <sullivan@apple.com>
3049
3050         * page/mac/WebCoreFrameBridge.mm:
3051         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
3052         added a comment
3053
3054 2007-07-02  Sam Weinig  <sam@webkit.org>
3055
3056         Rubberstamped by Darin.
3057
3058         Rename FloatConversionUtilities.h to FloatConversion.h.
3059         Fix Win32 build.
3060
3061         * WebCore.vcproj/WebCore.vcproj:
3062         * WebCore.xcodeproj/project.pbxproj:
3063         * platform/DeprecatedString.cpp:
3064         * platform/FloatConversion.h: Copied from platform/FloatConversionUtilities.h.
3065         * platform/FloatConversionUtilities.h: Removed.
3066         * platform/StringImpl.cpp:
3067
3068 2007-07-02  Sam Weinig  <sam@webkit.org>
3069
3070         Reviewed by Darin.
3071
3072         Fifth round of fixes for implicit 64-32 bit conversion errors.
3073         <rdar://problem/5292262>
3074
3075         Add toFloat() method to string classes and use it where appropriate.
3076
3077         * WebCore.xcodeproj/project.pbxproj:
3078         * css/cssparser.cpp:
3079         (WebCore::CSSParser::lex):
3080         * ksvg2/svg/SVGAngle.cpp:
3081         (WebCore::SVGAngle::setValueAsString):
3082         * platform/AtomicString.h:
3083         (WebCore::AtomicString::toFloat):
3084         * platform/DeprecatedString.cpp:
3085         (WebCore::DeprecatedString::toFloat):
3086         * platform/DeprecatedString.h:
3087         * platform/FloatConversionUtilities.h: Added.
3088         (WebCore::narrowPrecisionToFloat):
3089         (WebCore::narrowPrecisionToCGFloat):
3090         * platform/PlatformString.h:
3091         * platform/String.cpp:
3092         (WebCore::String::toFloat):
3093         * platform/StringImpl.cpp:
3094         (WebCore::StringImpl::toFloat):
3095         * platform/StringImpl.h:
3096
3097 2007-07-02  Sam Weinig  <sam@webkit.org>
3098
3099         Reviewed by Kevin McCullough.
3100
3101         Fourth round of fixes for implicit 64-32 bit conversion errors.
3102         <rdar://problem/5292262>
3103
3104         Use new piDouble and piFloat constants instead of M_PI.
3105
3106         * html/CanvasRenderingContext2D.cpp:
3107         (WebCore::CanvasRenderingContext2D::rotate):
3108         * ksvg2/svg/SVGParserUtilities.cpp:
3109         (WebCore::SVGPathParser::calculateArc):
3110         * platform/graphics/Path.cpp:
3111         (WebCore::pathLengthApplierFunction):
3112         (WebCore::Path::createEllipse):
3113         * platform/graphics/cg/GraphicsContextCG.cpp:
3114         (WebCore::GraphicsContext::drawEllipse):
3115         (WebCore::GraphicsContext::strokeArc):
3116         * platform/graphics/cg/PDFDocumentImage.cpp:
3117         (WebCore::PDFDocumentImage::setCurrentPage):
3118         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
3119         * rendering/RenderPath.cpp:
3120         (WebCore::drawMarkerWithData):
3121
3122 2007-07-01  Adam Roben  <aroben@apple.com>
3123
3124         Clarify/fix {Shadow,BorderImage}ParseContext's memory management
3125
3126         Prefast emitted warnings that drew my attention to
3127         {Shadow,BorderImage}ParseContext::failed().  It turned out that these
3128         methods were actually correct, but rather confusing. "failed" really
3129         meant "abort and clean up" rather than "did you fail?", which was
3130         unclear. However, once I figured that out, the "and clean up" part was
3131         still a bit confusing, because all failed() did was to set a flag that
3132         would later cause the ParseContext's members to be deleted in the
3133         destructor. To clear this up, I've gotten rid of the failed() method
3134         altogether. It always returned false, so I've replaced all calls to
3135         it with the value false.
3136
3137         I also noticed that the lifetime management of the ParseContexts'
3138         members was in all cases confusing, and in some cases wrong. The
3139         m_border{Top,Right,Bottom,Left} members of BorderImageParseContext
3140         were leaked whenever a border-image property was successfully parsed.
3141         I fixed that by holding these members in OwnPtrs. The
3142         CSSPrimitiveValue members of {Shadow,BorderImage}ParseContext, which
3143         inherit from Shared, were being explicitly deleted, which is not a
3144         safe way to manage the lifetime of objects that inherit from Shared.
3145         To fix this, I put those members inside RefPtrs. These two changes
3146         allowed me to remove the destructors entirely.
3147
3148         Reviewed by Darin.
3149
3150         All regression tests pass.
3151
3152         * css/cssparser.cpp:
3153         (WebCore::ShadowParseContext::commitValue): Use .release() to avoid
3154         ref-count churn.
3155         (WebCore::ShadowParseContext::commitLength): Use a RefPtr for the new
3156         value to avoid a leak.
3157         (WebCore::CSSParser::parseShadow): Use 'false' instead of
3158         'context.failed()', and use .release() to avoid ref-count churn.
3159         (WebCore::BorderImageParseContext::commitWidth): Updated to use
3160         OwnPtr.
3161         (WebCore::CSSParser::parseBorderImage): Use 'false' instead of
3162         'context.failed'.
3163
3164 2007-07-01  Anders Carlsson  <andersca@apple.com>
3165
3166         Reviewed by John Sullivan.
3167
3168         <rdar://problem/5297146>
3169         Crash in Mail at WebCore::Frame::setUserStyleSheetLocation (reproducible w/ particular message)
3170         
3171         * loader/Cache.cpp:
3172         (WebCore::Cache::requestResource):
3173         Only insert the resource in the LRU list if the cache is enabled.
3174         
3175         (WebCore::Cache::insertInLRUList):
3176         (WebCore::Cache::resourceAccessed):
3177         Assert that the resource is in the cache.
3178
3179 2007-07-01  Darin Adler  <darin@apple.com>
3180
3181         * css/tokenizer.flex: Rolled out the fix for 14453.
3182         The layout test wasn't passing. We'll try again.
3183
3184 2007-07-01  Adam Roben  <aroben@apple.com>
3185
3186         Fix a crash in ~PluginViewWin()
3187
3188         This crash was introduced in r23827.
3189
3190         Reviewed by Anders.
3191
3192         Fixes dom/html/level2/html/HTMLAnchorElement01.html
3193
3194         * plugins/win/PluginViewWin.cpp:
3195         (WebCore::PluginViewWin::~PluginViewWin): Allow m_plugin to be null.
3196
3197 2007-07-01  Rob Buis  <buis@kde.org>
3198
3199         Reviewed by Darin.
3200
3201         http://bugs.webkit.org/show_bug.cgi?id=14453
3202         REGRESSION: www.nzherald.co.nz almost all the formating is gone
3203  
3204         * css/tokenizer.flex: Allow hex colors with 2, 4, or 5 hex digits.
3205
3206 2007-07-01  Sam Weinig  <sam@webkit.org>
3207
3208         Reviewed by Oliver.
3209
3210         Third round of implicit 64-32 bit conversion errors fixes.
3211         <rdar://problem/5292262>
3212
3213         - Use new CSSPrimitiveValue::getDoubleValue() and CSSPrimitiveValue::getIntValue()
3214           methods instead of CSSPrimitiveValue::getFloatValue() where appropriate.
3215
3216         * css/CSSPrimitiveValue.cpp:
3217         (WebCore::CSSPrimitiveValue::computeLengthInt):
3218         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
3219         (WebCore::CSSPrimitiveValue::computeLengthShort):
3220         (WebCore::CSSPrimitiveValue::computeLengthFloat):
3221         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3222         (WebCore::CSSPrimitiveValue::getDoubleValue):
3223         * css/CSSPrimitiveValue.h:
3224         (WebCore::CSSPrimitiveValue::getDoubleValue):
3225         (WebCore::CSSPrimitiveValue::getFloatValue):
3226         (WebCore::CSSPrimitiveValue::getIntValue):
3227         * css/Counter.h:
3228         (WebCore::Counter::listStyleNumber):
3229         * css/MediaQueryEvaluator.cpp:
3230         (WebCore::parseAspectRatio):
3231         * css/cssparser.cpp:
3232         (WebCore::BorderImageParseContext::commitBorderImage):
3233         * css/cssstyleselector.cpp:
3234         (WebCore::convertToLength):
3235         (WebCore::applyCounterList):
3236         (WebCore::CSSStyleSelector::applyProperty):
3237         (WebCore::CSSStyleSelector::mapBackgroundSize):
3238         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
3239         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
3240         * html/HTMLTableElement.cpp:
3241         (WebCore::HTMLTableElement::parseMappedAttribute):
3242         * ksvg2/css/SVGCSSStyleSelector.cpp:
3243         (WebCore::CSSStyleSelector::applySVGProperty):
3244         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3245         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
3246         (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
3247
3248 2007-07-01  Pamela Greene  <pamg.bugs@gmail.com>
3249
3250         Reviewed by Darin.
3251
3252         Fix for <http://bugs.webkit.org/show_bug.cgi?id=14320>
3253         Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order
3254         <rdar://problem/5290084>
3255
3256         Use std::stable_sort() instead of qsort() to sort gradient stops.
3257         Adjust the comparison function accordingly.
3258
3259         * html/CanvasGradient.cpp:
3260         (WebCore::compareStops):
3261         (WebCore::CanvasGradient::findStop):
3262
3263 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
3264
3265         Reviewed by Darin.
3266
3267         m_usesPageCache was not initialized. As the b/f cache is only
3268         implemented in the Mac port and WebView.mm is taking care of calling
3269         Settings::setUsesPageCache I decided to make it false by default.
3270
3271         * page/Settings.cpp:
3272         (WebCore::Settings::Settings): m_usesPageCache was not initialized
3273
3274 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
3275
3276         Reviewed by Darin.
3277
3278         Inherited- and NonInheritedFlags is a bit field. But for comparsion
3279         the other part of the union _iflags/_niflags is used for comparions.
3280         This will compare 5 uninitialized bits of _iflags and 22 of _niflags.
3281         Make sure the unused bits have a specified value.
3282
3283         * ksvg2/css/SVGRenderStyle.h:
3284         (WebCore::SVGRenderStyle::setBitDefaults): Make sure the unused bits
3285         have a value as well.
3286
3287 2007-06-30  Adam Roben  <aroben@apple.com>
3288
3289         Compile WebCore with /W4 on Windows
3290
3291         Some more warnings were disabled globally, including assignment within
3292         a conditional, unused variable, and various warnings related to
3293         inability to instantiate opaque structs.
3294
3295         In addition, the "unreachable code" warning was turned off for
3296         CSSGrammar.cpp and XPathGrammar.cpp.
3297
3298         Reviewed by Oliver.
3299
3300         * WebCore.vcproj/WebCore.vcproj:
3301
3302 2007-06-29  Adam Roben  <aroben@apple.com>
3303
3304         Give CString an equality operator to fix a bug in HTMLFormElement::formData
3305
3306         The bug was spotted by MSVC /W4. The problem was that we were comparing
3307         a CString to a char* using ==, but CString had no equality operator.
3308         The result was that the CString was being cast to a const char* and a
3309         pointer comparison was being done, which would (essentially) always
3310         return false.
3311
3312         There are two parts to the fix: get rid of CString's const char*
3313         casting operator, and add an equality operator. Previous uses of the
3314         casting operator have been changed to use CString::data().
3315
3316         Test: http/misc/isindex-formdata.html
3317
3318         Reviewed by Oliver.
3319
3320         * dom/XMLTokenizer.cpp:
3321         (WebCore::parseXMLDocumentFragment):
3322         * html/HTMLDocument.cpp:
3323         (WebCore::HTMLDocument::determineParseMode):
3324         * html/HTMLFormElement.cpp:
3325         (WebCore::HTMLFormElement::formData):
3326         * loader/TextResourceDecoder.cpp:
3327         (WebCore::TextResourceDecoder::checkForCSSCharset):
3328         * platform/CString.cpp:
3329         (WebCore::operator==):
3330         * platform/CString.h:
3331         * platform/KURL.cpp:
3332         (WebCore::encodeRelativeString):
3333         * platform/StringImpl.cpp:
3334         (WebCore::StringImpl::toDouble):
3335         * platform/network/cf/FormDataStreamCFNet.cpp:
3336         (WebCore::setHTTPBody):
3337         * platform/network/mac/FormDataStreamMac.mm:
3338         (WebCore::setHTTPBody):
3339         * platform/win/ClipboardUtilitiesWin.cpp:
3340         (WebCore::markupToCF_HTML):
3341         * plugins/win/PluginPackageWin.cpp:
3342         (WebCore::splitString):
3343         * plugins/win/PluginStreamWin.cpp:
3344         (WebCore::PluginStreamWin::startStream):
3345         (WebCore::PluginStreamWin::destroyStream):
3346         (WebCore::PluginStreamWin::sendJavaScriptStream):
3347         (WebCore::PluginStreamWin::didFinishLoading):
3348         * plugins/win/PluginViewWin.cpp:
3349         (WebCore::PluginViewWin::start):
3350         (WebCore::createUTF8String):
3351         (WebCore::PluginViewWin::userAgent):
3352         * xml/XSLStyleSheet.cpp:
3353         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
3354         * xml/XSLTProcessor.cpp:
3355         (WebCore::xsltParamArrayFromParameterMap):
3356
3357 2007-06-29  Adam Roben  <aroben@apple.com>
3358
3359         Initialize two variables that MSVC /W4 isn't smart enough to realize always get initialized
3360
3361         Reviewed by John.
3362
3363         * editing/Editor.cpp:
3364         (WebCore::Editor::advanceToNextMisspelling):
3365         * html/HTMLParser.cpp:
3366
3367 2007-06-29  Adam Roben  <aroben@apple.com>
3368
3369         Fix some possibly unitialized variables found by MSVC /W4
3370
3371         Reviewed by John.
3372
3373         * rendering/bidi.cpp:
3374         (WebCore::RenderBlock::layoutInlineChildren):
3375
3376 2007-06-29  Adam Roben  <aroben@apple.com>
3377
3378         Remove bogus cast found by MSVC /W4
3379
3380         Reviewed by John and Oliver.
3381
3382         * ksvg2/css/SVGCSSParser.cpp:
3383         (WebCore::CSSParser::parseSVGValue):
3384
3385 2007-06-29  Adam Roben  <aroben@apple.com>
3386
3387         Remove unused local functions uncovered by MSVC /W4
3388
3389         Reviewed by John and Oliver.
3390
3391         * platform/win/SearchPopupMenuWin.cpp:
3392         * rendering/RenderText.cpp:
3393
3394 2007-06-29  Adam Roben  <aroben@apple.com>
3395
3396         Don't take the address of temporary values to appease MSVC /W4
3397
3398         Reviewed by Oliver.
3399
3400         No regression test possible.
3401
3402         * platform/win/PopupMenuWin.cpp:
3403         (WebCore::PopupMenu::invalidateItem):
3404         (WebCore::PopupMenu::valueChanged):
3405         (WebCore::PopupWndProc):
3406         * platform/win/ScrollViewWin.cpp:
3407         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3408         * platform/win/UniscribeController.cpp:
3409         (WebCore::UniscribeController::shapeAndPlaceItem):
3410         * platform/win/WidgetWin.cpp:
3411         (WebCore::Widget::invalidateRect):
3412
3413 2007-06-29  Adam Roben  <aroben@apple.com>
3414
3415         Make an int -> UINT conversion explicit that MSVC /W4 complains about
3416
3417         Reviewed by John and Oliver.
3418
3419         No regression test possible.
3420
3421         * platform/win/SoundWin.cpp:
3422
3423 2007-06-29  Adam Roben  <aroben@apple.com>
3424
3425         Remove unreachable code uncovered by MSVC /W4
3426
3427         Reviewed by Oliver.
3428
3429         No regression test possible.
3430
3431         * html/CanvasRenderingContext2D.cpp:
3432         (WebCore::CanvasRenderingContext2D::createPattern):
3433         * html/HTMLAnchorElement.cpp:
3434         (WebCore::HTMLAnchorElement::isLiveLink):
3435         * html/HTMLElement.cpp:
3436         (WebCore::HTMLElement::contentEditable):
3437         * platform/DeprecatedString.cpp:
3438         (WebCore::allocateHandle):
3439         (WebCore::freeHandle):
3440         * plugins/win/npapi.cpp:
3441         (pluginViewForInstance):
3442         * rendering/RenderImage.cpp:
3443         (WebCore::RenderImage::isWidthSpecified):
3444         (WebCore::RenderImage::isHeightSpecified):
3445         * rendering/RenderTheme.cpp:
3446         (WebCore::RenderTheme::isControlStyled):
3447
3448 2007-06-29  John Sullivan  <sullivan@apple.com>
3449
3450         Reviewed by Oliver Hunt.
3451         
3452         - WebCore support for accessing the set of rectangles that encompass the selected text
3453         
3454         * page/Frame.h:
3455         * page/Frame.cpp:
3456         (WebCore::Frame::selectionTextRects):
3457         new function, fills in a passed Vector with the line box rects that represent the selected range
3458
3459         * rendering/RenderText.cpp:
3460         (WebCore::RenderText::addLineBoxRects):
3461         fixed off-by-one bug involving use of the confusing function InlineTextBox::end()
3462
3463         * WebCore.exp:
3464         exported symbol for this new function
3465
3466 2007-06-29  Justin Garcia  <justin.garcia@apple.com>
3467
3468         Reviewed by Harrison.
3469         
3470         <rdar://problem/5299513> REGRESSION: In Mail, a crash occurs when attempting to undo a newly created To Do
3471         
3472         Rolled out a change made in r23787.
3473         
3474         * editing/DeleteSelectionCommand.cpp:
3475         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3476
3477 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
3478
3479         Reviewed by Darin Adler, Anders Carlsson.
3480         
3481         Fixed <rdar://problem/5303567> REGRESSION: XMLHttpRequest.responseXML 
3482         returns NULL if response MIME type is not XML -- breaks Wikipedia widget
3483         
3484         The spec says that responseXML must return null for any HTTP response
3485         with a non-XML MIME type. Technically, that leaves non-HTTP responses
3486         free to do whatever they want.
3487
3488         * xml/xmlhttprequest.cpp:
3489         (WebCore::XMLHttpRequest::getResponseXML): Only return null for non-XML
3490         MIME types if the response was HTTP.
3491
3492 2007-06-29  Sam Weinig  <sam@webkit.org>
3493
3494         Reviewed by Darin.
3495
3496         Second pass at fixing implicit 64-32 bit conversion errors.
3497         <rdar://problem/5292262>
3498
3499         - Use new JSValue::toFloat() method instead of toNumber() where
3500           appropriate.
3501
3502         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3503         (WebCore::JSCanvasRenderingContext2D::setFillColor):
3504         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
3505         (WebCore::JSCanvasRenderingContext2D::strokeRect):
3506         (WebCore::JSCanvasRenderingContext2D::drawImage):
3507         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
3508         (WebCore::JSCanvasRenderingContext2D::setShadow):
3509         * bindings/js/JSHTMLSelectElementCustom.cpp:
3510         (WebCore::JSHTMLSelectElement::remove):
3511         * bindings/js/JSSVGMatrixCustom.cpp:
3512         (WebCore::JSSVGMatrix::rotateFromVector):
3513         * bindings/js/kjs_events.cpp:
3514         (KJS::JSClipboardPrototypeFunction::callAsFunction):
3515         * bindings/scripts/CodeGeneratorJS.pm:
3516         * ksvg2/svg/SVGScriptElement.cpp:
3517         (WebCore::SVGScriptElement::executeScript):
3518
3519 2007-06-29  Adele Peterson  <adele@apple.com>
3520
3521         Rolling out fix for <rdar://problem/5301322> since it broke layout tests.
3522
3523         * html/HTMLInputElement.h:
3524         * html/HTMLTextAreaElement.h:
3525
3526 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
3527
3528         Reviewed by Oliver Hunt.
3529
3530         Fixed <rdar://problem/4962298> REGRESSION: Synchronous XHR for missing 
3531         local file throws exception -- breaks Wikipedia widget
3532
3533         * WebCore.xcodeproj/project.pbxproj:
3534         * xml/xmlhttprequest.cpp:
3535         (WebCore::XMLHttpRequest::send): Don't throw exceptions for local files.
3536
3537 2007-06-29  Ada Chan  <adachan@apple.com>
3538
3539         Reviewed by Adam.
3540
3541         Fixed a previous fix to a signed/unsigned mismatch.
3542
3543         * plugins/win/PluginPackageWin.cpp:
3544         (WebCore::splitString):
3545
3546 2007-06-29  Adele Peterson  <adele@apple.com>
3547
3548         Reviewed by Ada and Kevin McCullough.
3549
3550         Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
3551
3552         Implemented canSelectAll and selectAll for text fields and textareas, since they're special cases even when they're not editable.
3553
3554         Tests:
3555         fast/forms/input-readonly-select-all.html
3556         fast/forms/textarea-readonly-select-all.html
3557
3558         * html/HTMLInputElement.h:
3559         (WebCore::HTMLInputElement::canSelectAll):
3560         (WebCore::HTMLInputElement::selectAll):
3561         * html/HTMLTextAreaElement.h:
3562         (WebCore::HTMLTextAreaElement::canSelectAll):
3563         (WebCore::HTMLTextAreaElement::selectAll):
3564
3565 2007-06-29  Adam Roben  <aroben@apple.com>
3566
3567         Build fix
3568
3569         This is what happens when you test your patch on two OSs and then
3570         commit from the wrong one.
3571
3572         * rendering/RenderTextControl.cpp:
3573         (WebCore::RenderTextControl::valueChanged):
3574         (WebCore::RenderTextControl::itemText):
3575         (WebCore::RenderTextControl::itemIsSeparator):
3576
3577 2007-06-29  Adam Roben  <aroben@apple.com>
3578
3579         Start compiling WebCore with /W3 under MSVC
3580
3581         One warning was globally disabled: implicit conversion of int to bool.
3582
3583         Reviewed by Darin.
3584
3585         * WebCore.vcproj/WebCore.vcproj:
3586
3587 2007-06-29  Adam Roben  <aroben@apple.com>
3588
3589         Turn DeprecatedStringData's copy constructor into a static method to appease MSVC /W3
3590
3591         DeprecatedStringData now has no public copy constructor. The single
3592         call to the old one has been replaced with a call to the new
3593         DeprecatedStringData::createAndAdopt static method.
3594
3595         Reviewed by Darin.
3596
3597         All regression tests pass.
3598
3599         * platform/DeprecatedString.cpp:
3600         (WebCore::DeprecatedStringData::createAndAdopt):
3601         (WebCore::DeprecatedStringData::adopt):
3602         (WebCore::DeprecatedString::detachIfInternal):
3603         * platform/DeprecatedString.h:
3604
3605 2007-06-29  Adam Roben  <aroben@apple.com>
3606
3607         Fix more signed/unsigned mismatches uncovered by MSVC /W3
3608
3609         Reviewed by John.
3610
3611         No regression tests possible.