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