Versioning
[WebKit-https.git] / WebCore / ChangeLog
1 === WebCore-521.13 ===
2         
3 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
4
5         Reviewed by Maciej.
6
7         <rdar://problem/4499675> Package Tracker widget always crashes in WebCore::Frame::jScriptEnabled() const + 0
8
9         * html/HTMLParser.cpp:
10         (WebCore::HTMLParser::noscriptCreateErrorCheck):
11         (WebCore::HTMLParser::canvasCreateErrorCheck):
12         (WebCore::HTMLParser::isInline):
13         Add null-checks for document->frame() since it can be 0 for documents created using createHTMLDocument.
14
15 2006-06-22  Anders Carlsson  <acarlsson@apple.com>
16
17         Reviewed by Maciej.
18
19         <rdar://problem/4524840> Entities contained in DOCTYPE referenced DTD in XSLT source document are unknown
20         
21         * dom/xml_tokenizer.cpp:
22         (WebCore::shouldAllowExternalLoad):
23         Use correct path for the catalog.
24         
25         (WebCore::errorFunc):
26         Add error function to keep parser errors from going to the console.
27         
28         (WebCore::XMLTokenizer::write):
29         Remove if (0 &&)
30         
31         (WebCore::XMLTokenizer::end):
32         Pass DocLoader to xmlDocPtrForString.
33         
34         (WebCore::xmlDocPtrForString):        
35         * dom/xml_tokenizer.h:
36         Add DocLoader argument to xmlDocPtrForString so external DTDs and entities can be loaded.
37         
38         * xml/XSLTProcessor.cpp:
39         (WebCore::xmlDocPtrFromNode):
40         Pass DocLoader to xmlDocPtrForString
41         
42 2006-06-21  David Hyatt  <hyatt@apple.com>
43
44         Back out -webkit-overlay and just rename it back to overlay.
45
46         Reviewed by darin
47
48         * css/CSSComputedStyleDeclaration.cpp:
49         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50         * css/CSSValueKeywords.in:
51         * css/cssparser.cpp:
52         (WebCore::CSSParser::parseValue):
53         * css/cssstyleselector.cpp:
54         (WebCore::CSSStyleSelector::applyProperty):
55
56 2006-06-21  Justin Garcia  <justin.garcia@apple.com>
57
58         Reviewed by levi
59
60         * editing/DeleteSelectionCommand.cpp:
61         (WebCore::DeleteSelectionCommand::initializePositionData): Fix a bug in the code
62         to stop merges across table cells.
63         (WebCore::DeleteSelectionCommand::mergeParagraphs): Move the code to stop merges
64         across table cells to initializePositionData so that its changes to 
65         m_mergeBlocksAfterDelete can take effect on the endingPosition.
66         * editing/InsertParagraphSeparatorCommand.cpp:
67         (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreak
68         instead of splitting/cloning a table cell.
69
70 2006-06-21  Beth Dakin  <bdakin@apple.com>
71
72         Reviewed by John.
73
74         Fix for <rdar://problem/3914965> Misspelled text underline doesn't 
75         look right at non-standard scale factors
76
77         * platform/mac/GraphicsContextMac.mm:
78         (WebCore::GraphicsContext::drawLineForMisspelling): We need to call  
79         into our previously-created SPI for pattern-drawing so that the 
80         phase is right at all scale factors.
81
82 2006-06-21  David Hyatt  <hyatt@apple.com>
83
84         Fix for 7362, implement the CSS3 overflow-x and overflow-y properties.
85
86         Reviewed by adele
87
88         * WebCore.xcodeproj/project.pbxproj:
89         * css/CSSComputedStyleDeclaration.cpp:
90         (WebCore::):
91         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
92         * css/CSSPropertyNames.in:
93         * css/cssparser.cpp:
94         (WebCore::CSSParser::parseValue):
95         * css/cssstyleselector.cpp:
96         (WebCore::CSSStyleSelector::adjustRenderStyle):
97         (WebCore::CSSStyleSelector::applyProperty):
98         * page/FrameView.cpp:
99         (WebCore::FrameView::applyOverflowToViewport):
100         (WebCore::FrameView::layout):
101         * rendering/RenderBlock.cpp:
102         (WebCore::RenderBlock::layoutBlock):
103         (WebCore::RenderBlock::determineHorizontalPosition):
104         (WebCore::RenderBlock::layoutBlockChildren):
105         (WebCore::RenderBlock::rightOffset):
106         (WebCore::RenderBlock::rightmostPosition):
107         (WebCore::RenderBlock::calcMinMaxWidth):
108         * rendering/RenderBox.cpp:
109         (WebCore::RenderBox::setStyle):
110         (WebCore::RenderBox::contentWidth):
111         (WebCore::RenderBox::contentHeight):
112         (WebCore::RenderBox::sizesToIntrinsicWidth):
113         (WebCore::RenderBox::calcHeight):
114         (WebCore::RenderBox::calcPercentageHeight):
115         * rendering/RenderFlexibleBox.cpp:
116         (WebCore::RenderFlexibleBox::layoutBlock):
117         * rendering/RenderLayer.cpp:
118         (WebCore::RenderLayer::scrollToOffset):
119         (WebCore::RenderLayer::shouldAutoscroll):
120         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
121         (WebCore::RenderLayer::styleChanged):
122         * rendering/RenderLayer.h:
123         * rendering/RenderObject.cpp:
124         (WebCore::RenderObject::clientWidth):
125         (WebCore::RenderObject::clientHeight):
126         * rendering/RenderObject.h:
127         (WebCore::RenderObject::hasAutoVerticalScrollbar):
128         (WebCore::RenderObject::hasAutoHorizontalScrollbar):
129         (WebCore::RenderObject::scrollsOverflow):
130         (WebCore::RenderObject::scrollsOverflowX):
131         (WebCore::RenderObject::scrollsOverflowY):
132         (WebCore::RenderObject::includeVerticalScrollbarSize):
133         (WebCore::RenderObject::includeHorizontalScrollbarSize):
134         * rendering/RenderTextArea.cpp:
135         (WebCore::RenderTextArea::setStyle):
136         * rendering/RenderTextField.cpp:
137         (WebCore::RenderTextField::createDivStyle):
138         (WebCore::RenderTextField::calcHeight):
139         (WebCore::RenderTextField::calcMinMaxWidth):
140         * rendering/bidi.cpp:
141         (WebCore::RenderBlock::layoutInlineChildren):
142         * rendering/render_style.cpp:
143         (WebCore::RenderStyle::diff):
144         * rendering/render_style.h:
145         (WebCore::):
146         (WebCore::RenderStyle::NonInheritedFlags::operator==):
147         (WebCore::RenderStyle::setBitDefaults):
148         (WebCore::RenderStyle::overflowX):
149         (WebCore::RenderStyle::overflowY):
150         (WebCore::RenderStyle::setOverflowX):
151         (WebCore::RenderStyle::setOverflowY):
152         (WebCore::RenderStyle::initialOverflowX):
153         (WebCore::RenderStyle::initialOverflowY):
154
155 2006-06-21  Justin Garcia  <justin.garcia@apple.com>
156
157         Reviewed by levi
158         
159         <rdar://problem/4590366>
160         REGRESSION: Selection incorrectly paints gaps on TOT
161
162         * dom/Document.cpp:
163         (WebCore::Document::updateSelection): Use the leftmost candidate for the end of the
164         selection and the rightmost candidate for the start of the selection.
165         * dom/Position.cpp:
166         (WebCore::Position::upstream): Cross line wraps so that we can use upstream/downstream
167         to get to candidates before/after linewraps.
168         (WebCore::Position::downstream):
169         (WebCore::Position::inRenderedContent):
170         * editing/DeleteSelectionCommand.cpp:
171         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
172         (WebCore::DeleteSelectionCommand::mergeParagraphs):
173         * editing/InsertParagraphSeparatorCommand.cpp:
174         (WebCore::InsertParagraphSeparatorCommand::doApply): 
175         Ensure that the leftmost candidate is used.  We should sample the style from that one.
176         When the block to insert is after a br, a br should be inserted even in strict mode.
177         * editing/InsertTextCommand.cpp:
178         (WebCore::InsertTextCommand::input): 
179         Insert at the leftmost candidate, get rid of a use of trailingWhitespacePosition.
180         Don't apply a style if its unnecessary.
181         * editing/ReplaceSelectionCommand.cpp:
182         (WebCore::ReplaceSelectionCommand::doApply): "pos" can be invalidated, don't use it.
183         * editing/VisiblePosition.cpp:
184         Renamed initDeepPosition and made it return the canonical position.
185         (WebCore::VisiblePosition::init):
186         (WebCore::VisiblePosition::canonicalPosition):
187         * editing/VisiblePosition.h: 
188         (WebCore::VisiblePosition::characterBefore): Added.
189         * editing/visible_units.cpp:
190         (WebCore::startOfParagraph):
191         * rendering/InlineTextBox.cpp:
192         (WebCore::InlineTextBox::selectionState): When a selection ends at a line wrap, it shouldn't extend
193         onto the next line.
194
195 2006-06-21  David Hyatt  <hyatt@apple.com>
196
197         Reviewed and committed by Beth.
198
199         Fix for <rdar://problem/4595337> Resizing a containing block 
200         strictly vertically does not cause contained height:100% element to 
201         also be resized.
202
203         * rendering/RenderBlock.cpp:
204         (WebCore::RenderBlock::layoutBlockChildren): Also layout if the 
205         child's min or max height is a percent.
206
207 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
208
209         Reviewed by Geoff.
210
211         http://bugzilla.opendarwin.org/show_bug.cgi?id=6058
212         XMLTokenizer runs all <script> tags at once instead of as they're encountered
213         
214         * dom/xml_tokenizer.cpp:
215         (WebCore::XMLTokenizer::XMLTokenizer):
216         Initialize new members.
217         
218         (WebCore::XMLTokenizer::endElementNs):
219         If we've encountered a script tag, execute the script here. If the script
220         tag refers to an external resource, pause the parser while loading it.
221         
222         (WebCore::XMLTokenizer::end):
223         Move code from finish() to here
224         
225         (WebCore::XMLTokenizer::finish):
226         Only call end() if the parser isn't paused.
227         
228         (WebCore::XMLTokenizer::notifyFinished):
229         Evaluate the script here and resume the parser.
230         
231         (WebCore::XMLTokenizer::resumeParsing):
232         If finish() was called, call end() after writing all data.
233
234 2006-06-21  Steve Falkenburg  <sfalken@apple.com>
235
236         Fix build break
237
238         * platform/win/TemporaryLinkStubs.cpp:
239         (FrameWin::shouldInterruptJavaScript):
240
241 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
242
243         Move FrameWin::shouldInterruptJavaScript to TemporaryLinkStubs.cpp
244         
245         * bridge/win/FrameWin.cpp:
246         * platform/win/TemporaryLinkStubs.cpp:
247         (FrameWin::shouldInterruptJavaScript):
248
249 2006-06-21  Ben Goodger <bengoodger@gmail.com>
250
251         Reviewed by Maciej. 
252
253         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=9523
254         More Win32 build bustage.
255  
256         * WebCore.vcproj/WebCore/WebCore.vcproj:
257         * bridge/win/FrameWin.cpp:
258         (WebCore::FrameWin::shouldInterruptJavaScript):
259         * bridge/win/FrameWin.h:
260
261 2006-06-20  Adele Peterson  <adele@apple.com>
262
263         Reviewed by Anders.
264
265         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
266         Switch to use new text field implementation for <textarea>
267
268         * css/html4.css:
269         * html/HTMLTextAreaElement.cpp:
270         (WebCore::HTMLTextAreaElement::selectionStart):
271         (WebCore::HTMLTextAreaElement::selectionEnd):
272         (WebCore::HTMLTextAreaElement::setSelectionStart):
273         (WebCore::HTMLTextAreaElement::setSelectionEnd):
274         (WebCore::HTMLTextAreaElement::select):
275         (WebCore::HTMLTextAreaElement::setSelectionRange):
276         (WebCore::HTMLTextAreaElement::createRenderer):
277         (WebCore::HTMLTextAreaElement::appendFormData):
278         (WebCore::HTMLTextAreaElement::isKeyboardFocusable):
279         (WebCore::HTMLTextAreaElement::isMouseFocusable):
280         (WebCore::HTMLTextAreaElement::focus):
281         (WebCore::HTMLTextAreaElement::defaultEventHandler):
282         (WebCore::HTMLTextAreaElement::updateValue):
283         (WebCore::HTMLTextAreaElement::setValue):
284
285 2006-06-20  Brady Eidson  <beidson@apple.com>
286
287         Reviewed by Maciej
288
289         Fixed capitalization mistake that I made, someone else fixed, then I accidentally made it go back to the old way
290
291         * icon/SQLStatement.cpp:
292
293 2006-06-20  Brady Eidson  <beidson@apple.com>
294
295         Reviewed by Maciej.
296
297         More changes/additions setting the stage for the major IconDatabase hookup.
298
299         * WebCore.xcodeproj/project.pbxproj:  Added SQLTransaction.cpp
300
301         * bridge/mac/WebCoreIconDatabaseBridge.h: Added call-throughs and translations to pass WebKit DB to WebCore DB
302         * bridge/mac/WebCoreIconDatabaseBridge.mm:
303         (+[WebCoreIconDatabaseBridge sharedBridgeInstance]):
304         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
305         (-[WebCoreIconDatabaseBridge iconForURL:withSize:]):
306         (-[WebCoreIconDatabaseBridge iconURLForURL:]):
307         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
308         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
309         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
310         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
311         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
312         (-[WebCoreIconDatabaseBridge _setIconURL:forURL:]):
313         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
314
315         * bridge/mac/WebCorePageBridge.mm: Added WebCore's IconDatabase logging channel to the user-prefs check
316         (initializeLoggingChannelsIfNecessary):
317
318         * icon/IconDatabase.cpp:  Added stubs and basic SQL usage to create the sqlite DB and respond to WebKit calls
319         (WebCore::IconDatabase::IconDatabase):
320         (WebCore::IconDatabase::open):
321         (WebCore::IconDatabase::close):
322         (WebCore::IconDatabase::isValidDatabase):
323         (WebCore::IconDatabase::recreateDatabase):
324         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
325         (WebCore::IconDatabase::iconForURL):
326         (WebCore::IconDatabase::iconURLForURL):
327         (WebCore::IconDatabase::defaultIcon):
328         (WebCore::IconDatabase::retainIconForURL):
329         (WebCore::IconDatabase::releaseIconForURL):
330         (WebCore::IconDatabase::setIconForIconURL):
331         (WebCore::IconDatabase::setHaveNoIconForIconURL):
332         (WebCore::IconDatabase::setIconURLForPageURL):
333         (WebCore::IconDatabase::hasIconForIconURL):
334
335         * icon/IconDatabase.h:  WebIcon will be an internal class used in IconDatabase but is not complete yet
336         (WebCore::WebIcon::getExpiration):
337         (WebCore::WebIcon::getTouch):
338
339         * icon/SQLDatabase.cpp:  Added more SQLite convenience methods
340         (SQLDatabase::setFullsync):
341         (SQLDatabase::setBusyTimeout):
342         (SQLDatabase::setBusyHandler):
343         * icon/SQLDatabase.h:
344         * icon/SQLStatement.cpp:
345         (WebCore::SQLStatement::returnsAtLeastOneResult):
346
347         * icon/SQLTransaction.cpp: Added basic commit/rollback support with this simple class
348         (SQLTransaction::SQLTransaction):
349         (SQLTransaction::~SQLTransaction):
350         (SQLTransaction::begin):
351         (SQLTransaction::commit):
352         (SQLTransaction::rollback):
353
354 2006-06-20  Adele Peterson  <adele@apple.com>
355
356         Reviewed by Maciej.
357
358         Fixes for:
359         http://bugzilla.opendarwin.org/show_bug.cgi?id=8724
360         REGRESSION: onSelect handler doesn't work for text fields
361
362         http://bugzilla.opendarwin.org/show_bug.cgi?id=7676
363         REGRESSION: Selection methods on new text fields don't work if text field is hidden
364
365         http://bugzilla.opendarwin.org/show_bug.cgi?id=8867
366         REGRESSION: selectionStart/End return 0 for input element once it no longer has focus
367
368         Implemented onSelect for new text fields and textareas.  Also fixed selection restore
369         behavior to better match other browsers and Safari 2.0 behavior.
370
371         Tests:
372         * fast/forms/input-selection-restore.html
373         * fast/forms/input-selection-hidden.html
374         * fast/forms/onselect-textarea.html
375         * fast/forms/onselect-textfield.html
376
377         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::cacheSelection): Added.
378         * html/HTMLInputElement.cpp:
379         (WebCore::HTMLInputElement::init): Initializes cached selection.
380         (WebCore::HTMLInputElement::selectionStart): If this element doesn't have focus, return the cached selection value.
381         (WebCore::HTMLInputElement::selectionEnd): ditto.
382         (WebCore::HTMLInputElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
383
384         * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::cacheSelection): Added.
385         * html/HTMLTextAreaElement.cpp:
386         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Initializes cached selection.
387         (WebCore::HTMLTextAreaElement::selectionStart): If this element doesn't have focus, return the cached selection value.
388         (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
389         (WebCore::HTMLTextAreaElement::focus): If this is the first focus, set a caret at the end of the text.  Otherwise,
390         restore the cached selection.  This matches other browsers' behavior.
391         (WebCore::HTMLTextAreaElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.
392
393         * page/Frame.h: Added notifyRendererOfSelectionChange method. 
394         * page/Frame.cpp:
395         (WebCore::Frame::notifyRendererOfSelectionChange): Added.  Calls selectionChanged for text fields and textareas.  Forwards a userTriggered
396         argument so selectionChanged knows whether or not to fire onSelect.
397         (WebCore::Frame::setSelection): Calls notifyRendererOfSelectionChange(false).  This gets called for all selection changes, so the renderer
398         can always update its cached selection values.
399         (WebCore::Frame::handleMouseReleaseEvent): Calls notifyRendererOfSelectionChange(true) so onSelect will get fired when the user is done
400         making a selection with the mouse.
401         * bridge/mac/WebCoreFrameBridge.mm:
402         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): Calls notifyRendererOfSelectionChange(true) so onSelect gets
403         fired when the user makes a selection with the keyboard.
404         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): ditto.
405
406         * rendering/RenderTextField.h: Add userTriggered parameter to selectionChanged.
407         * rendering/RenderTextField.cpp:
408         (WebCore::RenderTextField::setSelectionRange): For visibility:hidden, cache the selection and 
409         return early since we won't be able to actually set the selection.
410         (WebCore::RenderTextField::selectionChanged): Caches the selection.  
411         If the selection is a range, and its triggered by user action, then fire the onSelect event.
412
413 2006-06-21  Anders Carlsson  <acarlsson@apple.com>
414
415         * bridge/win/FrameWin.cpp:
416         (WebCore::shouldInterruptJavaScript):
417         * bridge/win/FrameWin.h:
418         Try fixing the Windows build.
419
420 2006-06-20  Adele Peterson  <adele@apple.com>
421
422         RS by Tim Hatcher.
423
424         Renamed RenderSelect to DeprecatedRenderSelect to prepare for new popup menu and list menu implementations.
425        
426         * WebCore.xcodeproj/project.pbxproj:
427         * html/HTMLOptionElement.h:
428         * html/HTMLSelectElement.cpp:
429         (WebCore::HTMLSelectElement::recalcStyle):
430         (WebCore::HTMLSelectElement::createRenderer):
431         (WebCore::HTMLSelectElement::setRecalcListItems):
432         (WebCore::HTMLSelectElement::reset):
433         (WebCore::HTMLSelectElement::notifyOptionSelected):
434         * html/HTMLSelectElement.h:
435         * rendering/DeprecatedRenderSelect.cpp: Added.
436         (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
437         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
438         (WebCore::DeprecatedRenderSelect::setStyle):
439         (WebCore::DeprecatedRenderSelect::updateFromElement):
440         (WebCore::DeprecatedRenderSelect::baselinePosition):
441         (WebCore::DeprecatedRenderSelect::calcMinMaxWidth):
442         (WebCore::DeprecatedRenderSelect::layout):
443         (WebCore::DeprecatedRenderSelect::valueChanged):
444         (WebCore::DeprecatedRenderSelect::selectionChanged):
445         (WebCore::DeprecatedRenderSelect::setOptionsChanged):
446         (WebCore::DeprecatedRenderSelect::createListBox):
447         (WebCore::DeprecatedRenderSelect::updateSelection):
448         * rendering/DeprecatedRenderSelect.h: Added.
449         (WebCore::DeprecatedRenderSelect::renderName):
450         * rendering/RenderSelect.cpp: Removed.
451         * rendering/RenderSelect.h: Removed.
452
453 2006-06-20  Anders Carlsson  <acarlsson@apple.com>
454
455         Reviewed by Geoff.
456
457         http://bugzilla.opendarwin.org/show_bug.cgi?id=9509
458         Would like a way to pause/resume XML parsing
459
460         * dom/xml_tokenizer.cpp:
461         (WebCore::PendingCallbacks::PendingCallbacks):
462         (WebCore::PendingCallbacks::appendStartElementNSCallback):
463         (WebCore::PendingCallbacks::appendEndElementNSCallback):
464         (WebCore::PendingCallbacks::appendCharactersCallback):
465         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
466         (WebCore::PendingCallbacks::appendCDATABlockCallback):
467         (WebCore::PendingCallbacks::appendCommentCallback):
468         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
469         (WebCore::PendingCallbacks::appendErrorCallback):
470         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
471         (WebCore::PendingCallbacks::isEmpty):
472         (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
473         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
474         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
475         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
476         (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
477         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
478         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
479         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
480         (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
481         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
482         (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
483         (WebCore::PendingCallbacks::PendingCommentCallback::call):
484         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
485         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
486         (WebCore::PendingCallbacks::):
487         New classes which manage a list of pending SAX callbacks that have not yet
488         been sent to the tokenizer.
489         
490         (WebCore::XMLTokenizer::XMLTokenizer):
491         Initialize new member variables.
492         
493         (WebCore::XMLTokenizer::~XMLTokenizer):
494         Delete PendingCallbacks object.
495         
496         (WebCore::XMLTokenizer::write):
497         If the parser is paused, queue the data to be written.
498         
499         (WebCore::XMLTokenizer::startElementNs):
500         (WebCore::XMLTokenizer::endElementNs):
501         (WebCore::XMLTokenizer::characters):
502         (WebCore::XMLTokenizer::error):
503         (WebCore::XMLTokenizer::processingInstruction):
504         (WebCore::XMLTokenizer::cdataBlock):
505         (WebCore::XMLTokenizer::comment):
506         (WebCore::XMLTokenizer::internalSubset):
507         If the parser has been paused, queue the callbacks instead.
508
509         (WebCore::XMLTokenizer::handleError):
510         New function, called by both ::error and :PendingCallbacks::callAndRemoveFirstCallback
511         
512         (WebCore::XMLTokenizer::finish):
513         (WebCore::XMLTokenizer::pauseParsing):
514          Set m_parserPaused to true.
515         
516         (WebCore::XMLTokenizer::resumeParsing):
517         Call the pending callbacks and then parse the pending source.
518         
519 2006-06-20  David Hyatt  <hyatt@apple.com>
520
521         Don't send the custom highlighter callback when painting is disabled.
522
523         Reviewed by harrison
524
525         * WebCore.xcodeproj/project.pbxproj:
526         * rendering/InlineTextBox.cpp:
527         (WebCore::InlineTextBox::paint):
528
529 2006-06-20  Anders Carlsson  <acarlsson@apple.com>
530
531         Reviewed by John
532
533         <rdar://problem/4592244> REGRESSION (417.9.3 - 420+): (some?) plain text files have all lines concatenated into one line
534         
535         * loader/TextDocument.cpp:
536         (WebCore::TextTokenizer::checkBuffer):
537         (WebCore::TextTokenizer::TextTokenizer):
538         (WebCore::TextTokenizer::write):        
539         (WebCore::TextTokenizer::finish):
540         Add a text buffer which is used for translation of CR and CRLF to plain LF, 
541         like the HTML tokenizer does.
542
543 2006-06-20  Maciej Stachowiak  <mjs@apple.com>
544
545         Reviewed by Eric.
546
547         - fix crasher on one of the layout tests caused by my recent checkin
548
549         * kcanvas/RenderSVGText.cpp:
550         (WebCore::RenderSVGText::paint):
551
552 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
553
554         Reviewed by Darin.
555
556         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
557         Page reload does not send any cache control headers
558
559         Test: http/tests/misc/refresh-headers.php
560
561         * bindings/js/kjs_window.cpp:
562         (KJS::LocationFunc::callAsFunction): Call scheduleRefresh() for Location::Reload.
563
564         * page/Frame.h: Add scheduleRefresh(). Don't derive from TransferJob or implement its methods - that was
565         used only for storing response HTTP headers, which was an overkill.
566
567         * page/FramePrivate.h: Replace TransferJob with a HashMap for storing response headers.
568
569         * page/Frame.cpp:
570         (WebCore::Frame::didOpenURL): Don't needlessly change d->m_cachePolicy. Don't create a TransferJob.
571         (WebCore::Frame::stopLoading): Directly access the metadata map, instead of going through a TransferJob.
572         (WebCore::Frame::receivedFirstData): Ditto.
573         (WebCore::Frame::addMetaData): Ditto.
574         (WebCore::Frame::scheduleRefresh): A new function that schedules a refresh, similarly to what
575         scheduleRedirection() does.
576         (WebCore::Frame::changeLocation): Set request.reload attribute based on the current cache policy.
577
578 2006-06-19  Ben Goodger  <bengoodger@gmail.com>
579
580         Reviewed by Darin.
581
582         http://bugzilla.opendarwin.org/show_bug.cgi?id=9501
583         Windows build fails with link error CharsetTable not defined
584
585         * platform/make-charset-table.pl:
586         (process_iana_charsets): Move test for equality to alias "None" until after
587         normalization steps to ensure escape characters in the input data don't
588         interfere with processing.  Convert nearby tabs to 4 spaces in this function.
589
590 2006-06-18  Maciej Stachowiak  <mjs@apple.com>
591
592         Reviewed by Darin.
593
594         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9488
595         "Animated GIFs do not respect transforms in SVG"
596         
597         http://bugzilla.opendarwin.org/show_bug.cgi?id=6946
598         "SVG shows invalidation issues in WebKit"
599         
600         http://www.treebuilder.de/default.asp?file=441875.xml
601         "Invalidation issues with "SVG 3d" demo"
602         
603         http://code.google.com/webstats/2005-12/pages.html
604         "SVG text doesn't repaint correctly"
605
606         * kcanvas/KCanvasContainer.cpp:
607         (WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply
608         appropriate transforms, so damage rects in transformed SVG content get propagated up properly.
609         (WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method
610         seems wrong.
611         * kcanvas/KCanvasContainer.h: Prototype new method.
612
613         * css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer
614         so it paints twice.
615         * kcanvas/RenderForeignObject.cpp:
616         (WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content,
617         so everything paints that is supposed to. Also handle opacity here since we won't get layers.
618         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
619         appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly.
620         (WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer.
621         (WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout
622         changes, as by transform.
623         * kcanvas/RenderForeignObject.h:
624
625         * kcanvas/RenderSVGImage.cpp:
626         (WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity 
627         here since we won't get layers.
628         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
629         appropriate transforms, so damage rects in SVG images  get propagated up properly.
630         (WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below.
631         (WebCore::RenderSVGImage::translateForAttributes): Use above.
632         (WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer.
633         (WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting
634         for transforms.
635         (WebCore::RenderSVGImage::relativeBBox): Correct bbox computation.
636         * kcanvas/RenderSVGImage.h:
637
638         * kcanvas/RenderSVGText.cpp:
639         (WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we
640         won't get a layer.
641         (WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms.
642         (WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer.
643         (WebCore::RenderSVGText::layout): Make sure to dirty the old bounds.
644
645         * platform/cg/GraphicsContextCG.cpp:
646         (WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space
647         and back to user space, do this for the origin and lower right corner of the rect. Otherwise the
648         rect will get inflated if user space is rotated or skewed.
649
650         * kcanvas/RenderPath.cpp:
651         (WebCore::RenderPath::layout): Make sure to dirty the old bounds.
652         (WebCore::RenderPath::paint): Hhandle opacity here.
653         
654         Bonus fix:
655         
656         * kcanvas/RenderSVGImage.cpp:
657         (WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y
658         attribute transform.
659
660 2006-06-19  Sam Weinig  <sam.weinig@gmail.com>
661
662         Reviewed by Darin.
663
664         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9500
665           Split dom2_eventsimpl.* into separate files (one class per file).
666
667         * WebCore.xcodeproj/project.pbxproj:
668         * bindings/js/kjs_binding.cpp:
669         * bindings/js/kjs_dom.cpp:
670         * bindings/js/kjs_events.cpp:
671         * bindings/js/kjs_html.cpp:
672         * bindings/js/kjs_window.cpp:
673         * bindings/objc/DOM.mm:
674         * bindings/objc/DOMEvents.mm:
675         * bindings/objc/DOMInternal.mm:
676         * bindings/scripts/CodeGeneratorJS.pm:
677         * bridge/mac/FrameMac.mm:
678         * dom/BeforeTextInsertedEvent.h:
679         * dom/BeforeUnloadEvent.cpp: Added.
680         * dom/BeforeUnloadEvent.h: Added.
681         (WebCore::BeforeUnloadEvent::result):
682         * dom/CharacterData.cpp:
683         * dom/Clipboard.h: Added.
684         (WebCore::Clipboard::~Clipboard):
685         * dom/ClipboardEvent.cpp: Added.
686         (WebCore::ClipboardEvent::ClipboardEvent):
687         * dom/ClipboardEvent.h: Added.
688         (WebCore::ClipboardEvent::clipboard):
689         * dom/ContainerNode.cpp:
690         * dom/Document.cpp:
691         * dom/Event.cpp: Added.
692         (WebCore::Event::Event):
693         (WebCore::Event::initEvent):
694         * dom/Event.h: Added.
695         (WebCore::):
696         (WebCore::Event::):
697         (WebCore::Event::type):
698         (WebCore::Event::target):
699         (WebCore::Event::currentTarget):
700         (WebCore::Event::setCurrentTarget):
701         (WebCore::Event::eventPhase):
702         (WebCore::Event::setEventPhase):
703         (WebCore::Event::bubbles):
704         (WebCore::Event::cancelable):
705         (WebCore::Event::timeStamp):
706         (WebCore::Event::stopPropagation):
707         (WebCore::Event::propagationStopped):
708         (WebCore::Event::defaultPrevented):
709         (WebCore::Event::setDefaultHandled):
710         (WebCore::Event::defaultHandled):
711         (WebCore::Event::preventDefault):
712         (WebCore::Event::setDefaultPrevented):
713         (WebCore::Event::setCancelBubble):
714         (WebCore::Event::getCancelBubble):
715         (WebCore::Event::dispatched):
716         * dom/EventTargetNode.cpp:
717         * dom/KeyboardEvent.cpp: Added.
718         (WebCore::KeyboardEvent::KeyboardEvent):
719         (WebCore::KeyboardEvent::initKeyboardEvent):
720         * dom/KeyboardEvent.h: Added.
721         (WebCore::KeyboardEvent::):
722         (WebCore::KeyboardEvent::keyIdentifier):
723         (WebCore::KeyboardEvent::keyLocation):
724         (WebCore::KeyboardEvent::altGraphKey):
725         (WebCore::KeyboardEvent::keyEvent):
726         * dom/MouseEvent.cpp: Added.
727         (WebCore::MouseEvent::MouseEvent):
728         (WebCore::MouseEvent::initMouseEvent):
729         (WebCore::MouseEvent::isDragEvent):
730         (WebCore::MouseEvent::toElement):
731         (WebCore::MouseEvent::fromElement):
732         * dom/MouseEvent.h: Added.
733         (WebCore::MouseEvent::button):
734         (WebCore::MouseEvent::relatedTarget):
735         (WebCore::MouseEvent::clipboard):
736         * dom/MouseRelatedEvent.cpp: Added.
737         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
738         * dom/MouseRelatedEvent.h: Added.
739         (WebCore::MouseRelatedEvent::screenX):
740         (WebCore::MouseRelatedEvent::screenY):
741         (WebCore::MouseRelatedEvent::clientX):
742         (WebCore::MouseRelatedEvent::clientY):
743         (WebCore::MouseRelatedEvent::layerX):
744         (WebCore::MouseRelatedEvent::layerY):
745         (WebCore::MouseRelatedEvent::offsetX):
746         (WebCore::MouseRelatedEvent::offsetY):
747         (WebCore::MouseRelatedEvent::isSimulated):
748         * dom/MutationEvent.cpp: Added.
749         (WebCore::MutationEvent::MutationEvent):
750         (WebCore::MutationEvent::initMutationEvent):
751         * dom/MutationEvent.h: Added.
752         (WebCore::MutationEvent::):
753         (WebCore::MutationEvent::relatedNode):
754         (WebCore::MutationEvent::prevValue):
755         (WebCore::MutationEvent::newValue):
756         (WebCore::MutationEvent::attrName):
757         (WebCore::MutationEvent::attrChange):
758         * dom/RegisteredEventListener.cpp: Added.
759         (WebCore::RegisteredEventListener::RegisteredEventListener):
760         (WebCore::operator==):
761         * dom/RegisteredEventListener.h: Added.
762         (WebCore::RegisteredEventListener::eventType):
763         (WebCore::RegisteredEventListener::listener):
764         (WebCore::RegisteredEventListener::useCapture):
765         (WebCore::RegisteredEventListener::removed):
766         (WebCore::RegisteredEventListener::setRemoved):
767         (WebCore::operator!=):
768         * dom/UIEvent.cpp: Added.
769         (WebCore::UIEvent::UIEvent):
770         (WebCore::UIEvent::initUIEvent):
771         * dom/UIEvent.h: Added.
772         (WebCore::UIEvent::view):
773         (WebCore::UIEvent::detail):
774         * dom/UIEventWithKeyState.h: Added.
775         (WebCore::UIEventWithKeyState::UIEventWithKeyState):
776         (WebCore::UIEventWithKeyState::ctrlKey):
777         (WebCore::UIEventWithKeyState::shiftKey):
778         (WebCore::UIEventWithKeyState::altKey):
779         (WebCore::UIEventWithKeyState::metaKey):
780         * dom/WheelEvent.cpp: Added.
781         (WebCore::WheelEvent::WheelEvent):
782         * dom/WheelEvent.h: Added.
783         (WebCore::WheelEvent::isHorizontal):
784         (WebCore::WheelEvent::wheelDelta):
785         * dom/dom2_eventsimpl.cpp: Removed.
786         * dom/dom2_eventsimpl.h: Removed.
787         * editing/EditCommand.cpp:
788         * editing/SelectionController.cpp:
789         * html/HTMLAnchorElement.cpp:
790         * html/HTMLButtonElement.cpp:
791         * html/HTMLDocument.cpp:
792         * html/HTMLElement.cpp:
793         * html/HTMLFrameSetElement.cpp:
794         * html/HTMLInputElement.cpp:
795         * html/HTMLSelectElement.cpp:
796         * html/HTMLTextAreaElement.cpp:
797         * ksvg2/events/SVGZoomEvent.h:
798         * ksvg2/svg/SVGAElement.cpp:
799         * page/Frame.cpp:
800         * page/FrameView.cpp:
801         * platform/PlatformKeyboardEvent.h:
802         * platform/PlatformMouseEvent.h:
803         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
804         * platform/PlatformWheelEvent.h:
805         * platform/mac/ClipboardMac.h:
806         * rendering/RenderFrameSet.cpp:
807         * rendering/RenderLayer.cpp:
808         * rendering/RenderObject.cpp:
809         * rendering/RenderTextField.cpp:
810         * xml/xmlhttprequest.cpp:
811
812 2006-06-19  Darin Adler  <darin@apple.com>
813
814         Reviewed by Brady.
815
816         - removed a few empty/unused files Brady found by tracking down the nm error message
817
818         * editing/VisibleRange.cpp: Removed.
819         * editing/VisibleRange.h: Removed.
820         * kcanvas/KCanvasImage.cpp: Removed.
821
822         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed VisibleRange.cpp/h.
823         * WebCore.xcodeproj/project.pbxproj: Removed VisibleRange.cpp/h and KCanvasImage.cpp.
824         * WebCoreSources.bkl: Removed VisibleRange.cpp.
825
826 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
827
828         Reviewed by Darin.
829
830         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9492
831         Fix or remove window.debug.
832
833         It was only available in newly created windows, and became undefined after changing the URL
834         or reloading. Let's try removing it; hopefully, no-one will notice.
835
836         * bindings/js/kjs_proxy.cpp:
837         (WebCore::KJSProxy::initScriptIfNeeded): Don't add window.debug.
838
839 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
840
841         Reviewed by Darin.
842
843         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8972
844         REGRESSION: invalid UTF-8 sequences are not displayed
845
846         Test: LayoutTests/fast/encoding/invalid-UTF-8.html
847
848         * dom/xml_tokenizer.cpp:
849         (WebCore::getXHTMLEntity): Properly null-terminate the result. This didn't matter
850         before, because the garbage at the end was guaranteed to be invalid UTF-8, and was 
851         omitted in appendOmittingUnwanted();
852
853         * platform/StreamingTextDecoder.cpp:
854         (WebCore::StreamingTextDecoder::appendOmittingBOM): Only omit BOM characters.
855         Renamed back from appendOmittingUnwanted();
856
857         (WebCore::StreamingTextDecoder::convertUsingICU):
858         * platform/StreamingTextDecoder.h:
859         Update for the above function renaming.
860
861 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
862
863         Reviewed by darin.
864
865         http://bugzilla.opendarwin.org/show_bug.cgi?id=9498
866         Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)
867
868         * bindings/js/kjs_html.cpp:
869         (KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.
870
871 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
872
873         Reviewed by ggaren.
874
875         * manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.
876
877 2006-06-18  David Kilzer  <ddkilzer@kilzer.net>
878
879         Reviewed by ggaren.
880
881         - Update a manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9150
882           DumpRenderTree should be able to keep URL history during runs
883
884         * manual-tests/redraw-page-cache-visited-links.html: Added note about window.history hack.
885         Fixed coordinates for mouse events.  Added call to keepWebHistory().
886         * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added note about
887         window.history hack.
888
889 2006-06-17  Anders Carlsson  <acarlsson@apple.com>
890
891         Reviewed by Geoff.
892
893         * bindings/js/kjs_binding.cpp:
894         (KJS::ScriptInterpreter::ScriptInterpreter):
895         Set the default script timeout.
896         
897         (KJS::ScriptInterpreter::shouldInterruptScript):
898         New function which asks the frame if the script should be interrupted.
899         
900         * bindings/js/kjs_binding.h:
901                 
902         * bindings/js/kjs_events.cpp:
903         (KJS::JSAbstractEventListener::handleEvent):
904         * bindings/js/kjs_proxy.cpp:
905         (WebCore::KJSProxy::evaluate):
906         Add calls to startTimeoutCheck/stopTimeoutCheck
907         
908         * bindings/js/kjs_window.cpp:
909         (KJS::WindowFunc::callAsFunction):
910         Add calls to pauseTimeoutCheck/unpauseTimeoutCheck 
911         
912         (KJS::ScheduledAction::execute):
913         Add calls to startTimeoutCheck/stopTimeoutCheck
914         
915         * bridge/mac/FrameMac.h:
916         * bridge/mac/FrameMac.mm:
917         (WebCore::FrameMac::shouldInterruptJavaScript):
918         New function which asks the bridge if the script should be interrupted.
919         
920         * bridge/mac/WebCoreFrameBridge.h:
921         * page/Frame.h:
922         Add function declarations.
923         
924 2006-06-17  Alexey Proskuryakov  <ap@nypop.com>
925
926         Reviewed by ggaren.
927
928         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8131
929         Some properties and methods of window and document objects cannot be converted to a string
930
931         Most of the properties were already fixed, this just adds adds a prototype to window.debug.
932
933         Test: fast/dom/everything-to-string.html
934
935         * bindings/js/kjs_proxy.cpp:
936         (WebCore::TestFunctionImp::TestFunctionImp): 
937         (WebCore::KJSProxy::initScriptIfNeeded):
938
939 2006-06-17  David Kilzer  <ddkilzer@kilzer.net>
940
941         Reviewed by Maciej.
942
943         - Fix capitalization issue for case-sensitive filesystems.
944
945         * icon/SQLStatement.cpp: Change assertions.h to Assertions.h.
946
947 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
948
949         Reviewed by Hyatt.
950
951         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7395
952           Table not properly re-flowed when floated div removed from layout
953
954         Test: fast/block/float/table-relayout.html
955
956         * rendering/RenderBlock.cpp:
957         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
958         of children that use lineWidth.
959         * rendering/RenderBlock.h: Added a FIXME.
960
961 2006-06-17  Rob Buis  <buis@kde.org>
962
963         Reviewed by Darin.
964
965         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6282:
966         Adding new Option with new Option(text, value, defaultSelected, selected) fails to update selectedIndex
967
968         Update selectedIndex when a new option is added using javascript.
969
970         * bindings/js/kjs_html.cpp:
971         (KJS::JSHTMLSelectCollection::put):
972         * html/HTMLSelectElement.cpp:
973         (WebCore::HTMLSelectElement::setSelectedIndex):
974         (WebCore::HTMLSelectElement::setOption):
975         (WebCore::HTMLSelectElement::setLength):
976         * html/HTMLSelectElement.h:
977
978 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
979
980         Reviewed by Darin.
981
982         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
983           Assertion failure when dragging an image from the document into Safari's address bar
984
985         * manual-tests/reset-initiatedDrag.html: Added.
986
987 2006-06-16  David Kilzer  <ddkilzer@kilzer.net>
988
989         Reviewed by darin.
990
991         http://bugzilla.opendarwin.org/show_bug.cgi?id=9463
992         REGRESSION (r14879): Assertion failure in CSSParser::sinkFloatingSelector()
993         (m_floatingSelectors.contains(selector)) in some CSS tests
994
995         * css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
996         instead of the bare constructor.
997
998 2006-06-16  David Harrison  <harrison@apple.com>
999
1000         Reviewed by Hatcher.
1001
1002         <rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window
1003
1004         Problem was that revision lost a check to not draw the markers
1005         when paintingDisabled().   This led the markers to be drawn when
1006         the window deactivated, at which time the view happens to be flipped.
1007
1008         It is similar but not the same as the Mail ToDo highlighting
1009         issue, which is due to the custom highlight method
1010         drawing when the focusView is nil.  Mail team knows this
1011         and has tested the fix.
1012
1013         * platform/mac/GraphicsContextMac.mm:
1014         (WebCore::GraphicsContext::drawLineForMisspelling):
1015         Early return if paintingDisabled().
1016
1017 2006-06-16  Adele Peterson  <adele@apple.com>
1018
1019         Reviewed by Hyatt.
1020
1021         Adjust padding of inner div so text lines up with text fields.
1022         Adjust height of textarea so it only leaves room for the horizontal
1023         scrollbar if overflow is set to scroll, or if overflow is set to
1024         auto and there's no word wrap.
1025
1026         These changes will be tested by current layout tests when the
1027         new textarea implementation takes effect.
1028
1029         * rendering/RenderTextField.cpp:
1030         (WebCore::RenderTextField::createDivStyle):
1031         (WebCore::RenderTextField::calcHeight):
1032
1033 2006-06-16  John Sullivan  <sullivan@apple.com>
1034
1035         Reviewed by Darin
1036         
1037         - fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net
1038
1039         * dom/Document.cpp:
1040         (WebCore::Document::addMarker):
1041         Store [it - markers.begin()] in a local variable before modifying markers, since modifying markers can
1042         change value of [it - markers.begin()].
1043
1044 2006-06-16  Adele Peterson  <adele@apple.com>
1045
1046         Reviewed by Alice.
1047
1048         Added code to draw Cocoa-like border for textareas instead of just using CSS.
1049
1050         * WebCore.exp:
1051         * css/html4.css: Sets a 1px solid border.
1052         * platform/mac/WebCoreSystemInterface.h:
1053         * platform/mac/WebCoreSystemInterface.mm:
1054         * rendering/RenderThemeMac.h: Formatting changes.
1055         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextArea):
1056         Uses new wkDrawBezeledTextArea to draw border.
1057
1058 2006-06-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1059
1060         Reviewed by hyatt.
1061
1062         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9432
1063           REGRESSION: crash in capitalization code due to empty-string generated content
1064
1065         Test: fast/text/capitalize-empty-generated-string.html
1066
1067         * rendering/RenderText.cpp:
1068         (WebCore::RenderText::setText): Skip empty-string text renderers when
1069         looking for the previous character.
1070
1071 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
1072
1073         Reviewed by levi
1074
1075         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8637>
1076         REGRESSION (11-16-05): Selection gaps left behind after delete
1077
1078         * editing/SelectionController.cpp:
1079         (WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that 
1080         selection gaps are invalidated.
1081
1082 2006-06-15  Timothy Hatcher  <timothy@apple.com>
1083
1084         Reviewed by Geoff and Darin.
1085         
1086         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
1087
1088         * WebCore.xcodeproj/project.pbxproj:
1089
1090 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
1091
1092         Reviewed by harrison
1093         
1094         * editing/CompositeEditCommand.cpp:
1095         (WebCore::hasARenderedDescendant):
1096         (WebCore::CompositeEditCommand::prune): Ascend using the DOM
1097         (WebCore::CompositeEditCommand::moveParagraphs): Placeholder insertion
1098         during deletion is fixed, removing the fall back.
1099
1100 2006-06-15  Nicholas Shanks  <contact@nickshanks.com>
1101
1102         Reviewed by Hyatt, landed by Joost de Valk.
1103
1104         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3233
1105
1106         Add support for the :lang pseudo-class.
1107
1108         * css/CSSGrammar.y:
1109         * css/CSSSelector.cpp:
1110         (WebCore::CSSSelector::operator == ):
1111         * css/CSSSelector.h:
1112         (WebCore::CSSSelector::CSSSelector):
1113         * css/cssparser.cpp:
1114         (WebCore::CSSParser::lex):
1115         * css/cssstyleselector.cpp:
1116         (WebCore::CSSStyleSelector::checkOneSelector):
1117         * css/tokenizer.flex:
1118
1119 2006-06-15  Justin Garcia  <justin.garcia@apple.com>
1120
1121         Reviewed by harrison
1122         
1123         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9456>
1124         REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
1125         
1126         * page/Frame.cpp:
1127         (WebCore::Frame::findString): When comparing the found range with
1128         what's currently selected a) build a selection with the found
1129         range to remove collapsed whitespace and b) compare ranges 
1130         instead of selection objects to ignore the way that the 
1131         current selection was made (to ignore the base and extent).
1132
1133 2006-06-15  David Kilzer  <ddkilzer@kilzer.net>
1134
1135         Reviewed by mjs.
1136
1137         http://bugzilla.opendarwin.org/show_bug.cgi?id=9382
1138         IDL files missing copyright/license headers
1139
1140         Add Apple BSD license and copyright to IDL files.
1141
1142         * ksvg2/bindings/idl/svg/GetSVGDocument.idl:
1143         * ksvg2/bindings/idl/svg/SVGAElement.idl:
1144         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl:
1145         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl:
1146         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl:
1147         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl:
1148         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl:
1149         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl:
1150         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl:
1151         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl:
1152         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl:
1153         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl:
1154         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl:
1155         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl:
1156         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl:
1157         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl:
1158         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl:
1159         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl:
1160         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl:
1161         * ksvg2/bindings/idl/svg/SVGCircleElement.idl:
1162         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl:
1163         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl:
1164         * ksvg2/bindings/idl/svg/SVGCursorElement.idl:
1165         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl:
1166         * ksvg2/bindings/idl/svg/SVGDefsElement.idl:
1167         * ksvg2/bindings/idl/svg/SVGDescElement.idl:
1168         * ksvg2/bindings/idl/svg/SVGElementInstance.idl:
1169         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl:
1170         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl:
1171         * ksvg2/bindings/idl/svg/SVGEvent.idl:
1172         * ksvg2/bindings/idl/svg/SVGException.idl:
1173         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl:
1174         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl:
1175         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl:
1176         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl:
1177         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl:
1178         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl:
1179         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl:
1180         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl:
1181         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl:
1182         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl:
1183         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl:
1184         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl:
1185         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl:
1186         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl:
1187         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl:
1188         * ksvg2/bindings/idl/svg/SVGFETileElement.idl:
1189         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl:
1190         * ksvg2/bindings/idl/svg/SVGFilterElement.idl:
1191         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl:
1192         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl:
1193         * ksvg2/bindings/idl/svg/SVGGElement.idl:
1194         * ksvg2/bindings/idl/svg/SVGGradientElement.idl:
1195         * ksvg2/bindings/idl/svg/SVGICCColor.idl:
1196         * ksvg2/bindings/idl/svg/SVGImageElement.idl:
1197         * ksvg2/bindings/idl/svg/SVGLangSpace.idl:
1198         * ksvg2/bindings/idl/svg/SVGLengthList.idl:
1199         * ksvg2/bindings/idl/svg/SVGLineElement.idl:
1200         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl:
1201         * ksvg2/bindings/idl/svg/SVGLocatable.idl:
1202         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl:
1203         * ksvg2/bindings/idl/svg/SVGNumberList.idl:
1204         * ksvg2/bindings/idl/svg/SVGPaint.idl:
1205         * ksvg2/bindings/idl/svg/SVGPathElement.idl:
1206         * ksvg2/bindings/idl/svg/SVGPathSeg.idl:
1207         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl:
1208         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl:
1209         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl:
1210         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl:
1211         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl:
1212         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl:
1213         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl:
1214         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl:
1215         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl:
1216         * ksvg2/bindings/idl/svg/SVGPathSegList.idl:
1217         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl:
1218         * ksvg2/bindings/idl/svg/SVGPatternElement.idl:
1219         * ksvg2/bindings/idl/svg/SVGPointList.idl:
1220         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl:
1221         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl:
1222         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl:
1223         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl:
1224         * ksvg2/bindings/idl/svg/SVGRectElement.idl:
1225         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl:
1226         * ksvg2/bindings/idl/svg/SVGScriptElement.idl:
1227         * ksvg2/bindings/idl/svg/SVGSetElement.idl:
1228         * ksvg2/bindings/idl/svg/SVGStopElement.idl:
1229         * ksvg2/bindings/idl/svg/SVGStringList.idl:
1230         * ksvg2/bindings/idl/svg/SVGStylable.idl:
1231         * ksvg2/bindings/idl/svg/SVGStyleElement.idl:
1232         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl:
1233         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl:
1234         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl:
1235         * ksvg2/bindings/idl/svg/SVGTests.idl:
1236         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl:
1237         * ksvg2/bindings/idl/svg/SVGTextElement.idl:
1238         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl:
1239         * ksvg2/bindings/idl/svg/SVGTitleElement.idl:
1240         * ksvg2/bindings/idl/svg/SVGTransformList.idl:
1241         * ksvg2/bindings/idl/svg/SVGTransformable.idl:
1242         * ksvg2/bindings/idl/svg/SVGURIReference.idl:
1243         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl:
1244         * ksvg2/bindings/idl/svg/SVGUseElement.idl:
1245         * ksvg2/bindings/idl/svg/SVGViewElement.idl:
1246         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl:
1247         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl:
1248         * ksvg2/svg/SVGAnimatedLength.idl:
1249
1250 2006-06-14  Justin Garcia  <justin.garcia@apple.com>
1251
1252         Reviewed by levi
1253
1254         <rdar://problem/4439248>
1255         REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)
1256
1257         * editing/markup.cpp:
1258         (WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.
1259
1260 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
1261
1262         Reviewed by justin
1263
1264         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
1265         TinyMCE: Implement execCommand(formatBlock, ...)
1266
1267         * WebCore.xcodeproj/project.pbxproj: Added FormatBlock.{h,cpp} to the project.
1268         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
1269         * bridge/mac/WebCoreFrameBridge.h: Added WebUndoActions
1270         * editing/CompositeEditCommand.cpp:
1271         (WebCore::CompositeEditCommand::moveParagraph): Added a preserveStyle bool.
1272         (WebCore::CompositeEditCommand::moveParagraphs): Ditto.  downstream() the start
1273         or else we'll move collapsed whitespace and uncollapse it.
1274         * editing/CompositeEditCommand.h:
1275         * editing/DeleteSelectionCommand.cpp:
1276         (WebCore::DeleteSelectionCommand::initializePositionData):
1277         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Don't update m_endingPosition
1278         because that's removeNode's responsibility.
1279         (WebCore::updatePositionForNodeRemoval): Added.
1280         (WebCore::DeleteSelectionCommand::removeNode): Turned removeFullySelectedNode into a virtual
1281         overload of removeNode so that we can update positions as we remove nodes.
1282         (WebCore::updatePositionForTextRemoval): Added.
1283         (WebCore::DeleteSelectionCommand::deleteTextFromNode):
1284         (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
1285         (WebCore::DeleteSelectionCommand::fixupWhitespace): Got rid of m_trailingWhitespaceValid
1286         since m_trailingWhitespace is always valid (we update it as we remove nodes).
1287         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1288         (WebCore::DeleteSelectionCommand::doApply): Leading and trailing spaces should
1289         be fixed if they have collapsed before merging paragraphs.
1290         * editing/DeleteSelectionCommand.h:
1291         * editing/EditAction.h:
1292         (WebCore::):
1293         * editing/FormatBlockCommand.cpp: Added.
1294         (WebCore::FormatBlockCommand::FormatBlockCommand):
1295         (WebCore::FormatBlockCommand::modifyRange): Similar to InsertListCommand::modifyRange().
1296         (WebCore::FormatBlockCommand::doApply):
1297         * editing/FormatBlockCommand.h: Added.
1298         (WebCore::FormatBlockCommand::editingAction):
1299         * editing/InsertListCommand.h:
1300         (WebCore::InsertListCommand::editingAction):
1301         * editing/JSEditor.cpp:
1302         * editing/MergeIdenticalElementsCommand.cpp:
1303         (WebCore::MergeIdenticalElementsCommand::doApply):
1304         * editing/htmlediting.cpp:
1305         (WebCore::validBlockTag):
1306         (WebCore::createElement):
1307         * editing/htmlediting.h:
1308
1309 2006-06-14  Maciej Stachowiak  <mjs@apple.com>
1310
1311         Reviewed by Anders.
1312
1313         - fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work
1314
1315         * dom/EventTargetNode.cpp:
1316         (WebCore::EventTargetNode::dispatchWindowEvent):
1317
1318 2006-06-14  David Hyatt  <hyatt@apple.com>
1319
1320         Rename RenderSlider to DeprecatedSlider, so that I can start work on
1321         the new NSView-less slider.
1322
1323         Reviewed by john
1324
1325         * WebCore.vcproj/WebCore/WebCore.vcproj:
1326         * WebCore.xcodeproj/project.pbxproj:
1327         * html/HTMLInputElement.cpp:
1328         (WebCore::HTMLInputElement::createRenderer):
1329         * rendering/DeprecatedSlider.cpp: Added.
1330         (WebCore::DeprecatedSlider::DeprecatedSlider):
1331         (WebCore::DeprecatedSlider::calcMinMaxWidth):
1332         (WebCore::DeprecatedSlider::updateFromElement):
1333         (WebCore::DeprecatedSlider::valueChanged):
1334         * rendering/DeprecatedSlider.h: Added.
1335         (WebCore::DeprecatedSlider::renderName):
1336         * rendering/RenderSlider.cpp: Removed.
1337         * rendering/RenderSlider.h: Removed.
1338
1339 2006-06-13  Geoffrey Garen  <ggaren@apple.com>
1340
1341         Reviewed by Maciej.
1342         
1343         - Fixed <rdar://problem/4562192> Creating a new DOMHTMLDocument 
1344         appears challenging.
1345         
1346         - Added createHTMLDocument to Objc bindings, fixed up implementation
1347         to comply with the DOM 2 Candidate Recommendation in which is was defined.
1348         (It never made the final spec.) Also removed use of deprecatedString,
1349         to avoid unnecessary killing of puppies.
1350
1351         * WebCore.xcodeproj/project.pbxproj:
1352         * bindings/objc/DOM.mm:
1353         (-[DOMImplementation createHTMLDocument:]):
1354         * bindings/objc/DOMPrivate.h:
1355         * dom/DOMImplementation.cpp:
1356         (WebCore::DOMImplementation::createDocument):
1357         (WebCore::DOMImplementation::createHTMLDocument):
1358
1359 2006-06-13  Alice Liu  <alice.liu@apple.com>
1360
1361         Reviewed by Adele.
1362
1363         fixed <rdar://problem/4457902> HTMLSelectElement.remove() can't handle an option obj being passed to it, results in hang on http://www.ibc-solar.de/www_ibc/fst_solarmonitoring.jsp
1364
1365         * bindings/js/kjs_html.cpp:
1366         (KJS::HTMLElementFunction::callAsFunction):
1367         support this by converting the argument to an options object
1368         before passing to remove()
1369
1370 2006-06-13  Darin Adler  <darin@apple.com>
1371
1372         Reviewed by Geoff.
1373
1374         - fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page
1375
1376         This patch fixes a bug where the event listener cache does not distinguish
1377         HTML and non-HTML listeners. Incorrect behavior where stopPropagation also
1378         prevented default masked a case of this bug on the yahoo.com home page until
1379         we fixed bug 5180 on 2005-10-03.
1380
1381         Test: fast/events/event-listener-html-non-html-confusion.html
1382
1383         * bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.
1384
1385         * bindings/js/kjs_window.cpp:
1386         (KJS::Window::~Window): Go through the additional maps when clearing the window object
1387         pointer in event listeners.
1388         (KJS::Window::getJSEventListener): Look in the HTML or non-HTML map depending on the
1389         argument passed.
1390         (KJS::Window::getJSUnprotectedEventListener): Ditto.
1391
1392         * bindings/js/kjs_events.cpp:
1393         (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Add to either the HTML
1394         or non-HTML map depending on the argument passed.
1395         (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Remove from either the
1396         HTML or non-HTML map depending on whether the HTML flag is set.
1397         (KJS::JSEventListener::JSEventListener): More of the same.
1398         (KJS::JSEventListener::~JSEventListener): Ditto.
1399         (KJS::JSLazyEventListener::parseCode): Same thing here. In a lazy event listener there
1400         is not a listener at construction time, thus the code here to put the listener into a
1401         map needs the HTML vs. non-HTML logic.
1402
1403 2006-06-13  Maciej Stachowiak  <mjs@apple.com>
1404
1405         Reviewed by Darin.
1406         
1407         <rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com
1408
1409         * dom/EventTargetNode.cpp:
1410         (WebCore::EventTargetNode::dispatchGenericEvent): Don't allow
1411         "load" events to propagate up to the window. We need this quirk to
1412         avoid site hangs, because they depend on an old Mozilla bug.
1413
1414 2006-06-13  Antti Koivisto  <koivisto@iki.fi>
1415
1416         Reviewed by Hyatt.
1417
1418         http://bugzilla.opendarwin.org/show_bug.cgi?id=9314
1419         Relative positioned block size doesnt update root layer size
1420
1421         - take relative positioning into account in leftmost/rightmost/lowestPosition()
1422         - ignore zero width/height boxes in leftmost/rightmost/lowestPosition()
1423         - split relativePositionOffset() to x and y functions
1424         
1425         * rendering/RenderBox.cpp:
1426         (WebCore::RenderBox::absolutePosition):
1427         (WebCore::RenderBox::relativePositionOffsetX):
1428         (WebCore::RenderBox::relativePositionOffsetY):
1429         (WebCore::RenderBox::lowestPosition):
1430         (WebCore::RenderBox::rightmostPosition):
1431         (WebCore::RenderBox::leftmostPosition):
1432         * rendering/RenderBox.h:
1433         * rendering/RenderFlow.cpp:
1434         (WebCore::RenderFlow::lowestPosition):
1435         (WebCore::RenderFlow::rightmostPosition):
1436         (WebCore::RenderFlow::leftmostPosition):
1437         * rendering/RenderLayer.cpp:
1438         (WebCore::RenderLayer::updateLayerPosition):
1439         * rendering/RenderObject.cpp:
1440         (WebCore::RenderObject::offsetLeft):
1441         (WebCore::RenderObject::offsetTop):
1442
1443 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
1444
1445         Reviewed by Dave Hyatt.
1446
1447         http://bugzilla.opendarwin.org/show_bug.cgi?id=9427
1448         xml-stylesheet processing instructions outside of the prolog should have no effect.
1449
1450         * dom/ProcessingInstruction.cpp:
1451         (WebCore::ProcessingInstruction::checkStyleSheet):
1452         Remove todo comment.
1453         
1454         * dom/xml_tokenizer.cpp:
1455         (WebCore::XMLTokenizer::processingInstruction):
1456         Only check for style sheet if the root element hasn't yet been encountered.
1457
1458 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
1459
1460         Reviewed by Geoff.
1461
1462         http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
1463         REGRESSION: fix for bug 9390 broke two layout tests
1464         
1465         * loader/PluginDocument.cpp:
1466         (WebCore::PluginTokenizer::writeRawData):
1467         Call finished() after setting up the document structure so we'll emit onload events.
1468
1469 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
1470
1471         build fix -- forgot to svn add this file
1472         
1473         * ForwardingHeaders/kjs/SavedBuiltins.h: Added.
1474
1475 2006-06-12  Brady Eidson  <beidson@apple.com>
1476
1477         Reviewed by Maciej.
1478
1479         Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!
1480
1481         * platform/String.cpp:
1482         (WebCore::String::append):
1483
1484 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
1485
1486         Reviewed by TimO, Maciej.
1487
1488         - WebCore part of merging InterpreterImp into Interpreter. No test
1489         because there's no behavior change.
1490         
1491         A substantive change here is that ScriptInterpreter::mark must now chain to
1492         Interpreter::mark, since Interpreter needs to mark the things that
1493         InterpreterImp used to mark.
1494         
1495         * WebCore.xcodeproj/project.pbxproj:
1496         * bindings/js/kjs_binding.cpp:
1497         * bindings/js/kjs_window.cpp:
1498         (KJS::Window::put):
1499         * bridge/mac/WebCoreFrameBridge.mm:
1500         * bridge/mac/WebCoreScriptDebugger.mm:
1501         (-[WebCoreScriptCallFrame evaluateWebScript:]):
1502         * kwq/KWQPageState.mm:
1503
1504 2006-06-12  Brady Eidson <beidson@apple.com>
1505
1506         Reviewed by Maciej.
1507
1508         Changed String::ascii() to return a Vector<char> instead of const char*
1509         This allows us to use it "regularly" as the returned vector will destruct
1510         and not leak memory like the previous approach.
1511         We can now do a String.ascii().data() to get a char* buffer instead of 
1512         String.deprecatedString().ascii().  It doesn't improve the style much but
1513         dumping the memory-leak issue is a plus.
1514
1515         * icon/IconDatabase.cpp:
1516         (WebCore::IconDatabase::open):
1517         (WebCore::IconDatabase::clearDatabase):
1518         * icon/SQLDatabase.cpp:
1519         (SQLDatabase::open):
1520         * icon/SQLStatement.cpp:
1521         (WebCore::SQLStatement::prepare):
1522         (WebCore::SQLStatement::step):
1523         (WebCore::SQLStatement::returnTextResults):
1524         (WebCore::SQLStatement::returnTextResults16):
1525         (WebCore::SQLStatement::returnIntResults):
1526         (WebCore::SQLStatement::returnInt64Results):
1527         (WebCore::SQLStatement::returnDoubleResults):
1528         In addition to the changes to the string classes, changed my database code over to the new
1529         preferred method.
1530
1531         * platform/PlatformString.h:
1532         * platform/String.cpp:
1533         (WebCore::String::ascii):
1534         * platform/StringImpl.cpp:
1535         (WebCore::StringImpl::ascii):
1536         * platform/StringImpl.h:
1537
1538 2006-06-12  Dave Hyatt <hyatt@apple.com>
1539
1540         Add the notion of a selection foreground color to the engine for
1541         Win32.  Rename existing selectionColor methods to be
1542         selectionBackgroundColor instead.
1543
1544         Change the 60% alpha blend rule for transparent selection to
1545         instead be a range from 60-80%, with less transparency being
1546         used as needed to ensure the transformed color more closely
1547         approximates the original operating system color when blended
1548         with a white background.
1549
1550         Reviewed by mjs
1551
1552         * platform/Color.cpp:
1553         (WebCore::blend):
1554         (WebCore::Color::blendWithWhite):
1555         * platform/Color.h:
1556         * rendering/InlineTextBox.cpp:
1557         (WebCore::InlineTextBox::paint):
1558         (WebCore::InlineTextBox::paintSelection):
1559         * rendering/RenderBlock.cpp:
1560         (WebCore::RenderBlock::fillHorizontalSelectionGap):
1561         (WebCore::RenderBlock::fillVerticalSelectionGap):
1562         (WebCore::RenderBlock::fillLeftSelectionGap):
1563         (WebCore::RenderBlock::fillRightSelectionGap):
1564         * rendering/RenderHTMLCanvas.cpp:
1565         (WebCore::RenderHTMLCanvas::paint):
1566         * rendering/RenderImage.cpp:
1567         (WebCore::RenderImage::paint):
1568         * rendering/RenderListMarker.cpp:
1569         (WebCore::RenderListMarker::paint):
1570         * rendering/RenderObject.cpp:
1571         (WebCore::RenderObject::selectionBackgroundColor):
1572         (WebCore::RenderObject::selectionForegroundColor):
1573         * rendering/RenderObject.h:
1574         * rendering/RenderTheme.cpp:
1575         (WebCore::RenderTheme::activeSelectionBackgroundColor):
1576         (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
1577         (WebCore::RenderTheme::platformActiveSelectionBackgroundColor):
1578         (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
1579         (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
1580         (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
1581         * rendering/RenderTheme.h:
1582         * rendering/RenderThemeMac.h:
1583         * rendering/RenderThemeMac.mm:
1584         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
1585         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
1586         * rendering/RenderThemeWin.cpp:
1587         (WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor):
1588         (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
1589         (WebCore::RenderThemeWin::platformActiveSelectionForegroundColor):
1590         (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
1591         * rendering/RenderThemeWin.h:
1592         * rendering/RenderWidget.cpp:
1593         (WebCore::RenderWidget::paint):
1594
1595 2006-06-12  John Sullivan  <sullivan@apple.com>
1596
1597         Reviewed by Darin Adler.
1598         
1599         * page/Frame.cpp:
1600         (WebCore::Frame::markAllMatchesForText):
1601         Do a "fake" paint here so that the rectangles for the text matches will have been
1602         computed by the time this method returns.
1603
1604 2006-06-12  Brady Eidson  <beidson@apple.com>
1605
1606         Reviewed by Levi and Tim Omernick.
1607
1608         -Added a skeleton sqlite3 icon database file to IconDatabase
1609         -Added functionality to validate and recreate this icon.db file
1610         -Fixed some buggys in SQLDatabase.cpp
1611
1612         * icon/IconDatabase.cpp:
1613         (WebCore::IconDatabase::open):
1614         (WebCore::IconDatabase::isValidDatabase):
1615         (WebCore::IconDatabase::clearDatabase):
1616         (WebCore::IconDatabase::recreateDatabase):
1617         * icon/IconDatabase.h:
1618
1619         * icon/SQLStatement.cpp:
1620         (WebCore::SQLStatement::columnCount):
1621         (WebCore::SQLStatement::getColumnName):
1622         (WebCore::SQLStatement::getColumnName16):
1623         (WebCore::SQLStatement::getColumnText):
1624         (WebCore::SQLStatement::getColumnText16):
1625         (WebCore::SQLStatement::getColumnDouble):
1626         (WebCore::SQLStatement::getColumnInt):
1627         (WebCore::SQLStatement::getColumnInt64):
1628         (WebCore::SQLStatement::getColumnBlob):
1629         -Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
1630         function calls weren't as error-tolerant as documentation advertised
1631         (maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)
1632
1633 2006-06-12  Brady Eidson  <beidson@apple.com>
1634
1635         Reviewed by Levi.
1636
1637         -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.  
1638         -Changed the base IconDatabase over to this new framework.
1639
1640         * WebCore.xcodeproj/project.pbxproj:
1641         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1642         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
1643             -By popular request, removed an annoying log message I'd accidentally left in
1644
1645         * icon/IconDatabase.cpp:
1646         (WebCore::IconDatabase::IconDatabase):
1647         (WebCore::IconDatabase::open):
1648         (WebCore::IconDatabase::close):
1649         (WebCore::IconDatabase::~IconDatabase):
1650         * icon/IconDatabase.h:
1651         (WebCore::IconDatabase::isOpen):
1652             -Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls
1653
1654         * icon/SQLDatabase.cpp: Added.
1655         (SQLDatabase::SQLDatabase):
1656         (SQLDatabase::open):
1657         (SQLDatabase::close):
1658         (SQLDatabase::executeCommand):
1659         (SQLDatabase::tableExists):
1660         * icon/SQLDatabase.h: Added.
1661         (WebCore::SQLDatabase::isOpen):
1662         (WebCore::SQLDatabase::getPath):
1663         (WebCore::SQLDatabase::lastError):
1664         (WebCore::SQLDatabase::lastErrorMsg):
1665         (WebCore::SQLStatement::isPrepared):
1666         (WebCore::SQLStatement::lastError):
1667         (WebCore::SQLStatement::lastErrorMsg):
1668         * icon/SQLStatement.cpp: Added.
1669         (WebCore::SQLStatement::SQLStatement):
1670         (WebCore::SQLStatement::~SQLStatement):
1671         (WebCore::SQLStatement::prepare):
1672         (WebCore::SQLStatement::step):
1673         (WebCore::SQLStatement::finalize):
1674         (WebCore::SQLStatement::reset):
1675         (WebCore::SQLStatement::executeCommand):
1676         (WebCore::SQLStatement::bindBlob):
1677         (WebCore::SQLStatement::bindText):
1678         (WebCore::SQLStatement::columnCount):
1679         (WebCore::SQLStatement::getColumnName):
1680         (WebCore::SQLStatement::getColumnName16):
1681         (WebCore::SQLStatement::getColumnText):
1682         (WebCore::SQLStatement::getColumnText16):
1683         (WebCore::SQLStatement::getColumnDouble):
1684         (WebCore::SQLStatement::getColumnInt):
1685         (WebCore::SQLStatement::getColumnInt64):
1686         (WebCore::SQLStatement::getColumnBlob):
1687         (WebCore::SQLStatement::returnTextResults):
1688         (WebCore::SQLStatement::returnTextResults16):
1689         (WebCore::SQLStatement::returnIntResults):
1690         (WebCore::SQLStatement::returnInt64Results):
1691         (WebCore::SQLStatement::returnDoubleResults):
1692             -Initial checking of SQLDatabase framework
1693
1694         * platform/PlatformString.h:
1695         * platform/String.cpp:
1696         (WebCore::String::String):
1697             -Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on 
1698             null-terminated UTF16 which we didn't yet support.
1699
1700 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
1701
1702         Reviewed by Maciej.
1703
1704         http://bugzilla.opendarwin.org/show_bug.cgi?id=9408
1705         Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"
1706
1707         * DerivedSources.make: Fix clean builds.
1708
1709 2006-06-11  Darin Adler  <darin@apple.com>
1710
1711         - another try at fixing Windows
1712
1713         * loader/CachedResource.h:
1714         * platform/cairo/GraphicsContextCairo.cpp:
1715         * platform/image-decoders/ImageDecoder.h:
1716         (WebCore::ImageDecoder::setData):
1717         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1718         (WebCore::GIFImageDecoderPrivate::decode):
1719         (WebCore::GIFImageDecoder::setData):
1720         * platform/image-decoders/gif/GIFImageDecoder.h:
1721         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1722         (WebCore::JPEGImageReader::decode):
1723         (WebCore::JPEGImageDecoder::setData):
1724         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1725         * platform/image-decoders/png/PNGImageDecoder.cpp:
1726         (WebCore::PNGImageReader::decode):
1727         (WebCore::PNGImageDecoder::setData):
1728         * platform/image-decoders/png/PNGImageDecoder.h:
1729         s/DeprecatedByteArray/Vector<char>/
1730
1731 2006-06-11  Darin Adler  <darin@apple.com>
1732
1733         - try to fix Windows build
1734
1735         * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
1736         Use Vector<char> instead of DeprecatedByteArray.
1737
1738         * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
1739         Don't try to return 0 from a function that returns a Vector<char>.
1740
1741 2006-06-11  Sam Weinig  <sam.weinig@gmail.com>
1742
1743         Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
1744
1745         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039
1746           Remove use of DeprecatedArray in favor of new Vector class
1747
1748         This removes most of the uses of DeprecatedArray and 
1749         DeprecatedByteArray, with the exception of DeprecatedCString.
1750
1751         No test cases added because there is no change in
1752         functionality.
1753
1754         * loader/CachedCSSStyleSheet.cpp:
1755         (WebCore::CachedCSSStyleSheet::data):
1756         * loader/CachedCSSStyleSheet.h:
1757         * loader/CachedImage.cpp:
1758         (WebCore::CachedImage::bufferData):
1759         (WebCore::CachedImage::data):
1760         (WebCore::CachedImage::checkNotify):
1761         (WebCore::CachedImage::shouldStopAnimation):
1762         * loader/CachedImage.h:
1763         * loader/CachedObject.cpp:
1764         (WebCore::CachedObject::bufferData):
1765         (WebCore::CachedObject::setExpireDate):
1766         * loader/CachedObject.h:
1767         (WebCore::CachedObject::setCharset):
1768         * loader/CachedScript.cpp:
1769         (WebCore::CachedScript::data):
1770         * loader/CachedScript.h:
1771         * loader/CachedXBLDocument.cpp:
1772         (WebCore::CachedXBLDocument::data):
1773         (WebCore::CachedXBLDocument::checkNotify):
1774         * loader/CachedXBLDocument.h:
1775         * loader/CachedXSLStyleSheet.cpp:
1776         (WebCore::CachedXSLStyleSheet::data):
1777         * loader/CachedXSLStyleSheet.h:
1778         * loader/Request.cpp:
1779         (WebCore::Request::Request):
1780         (WebCore::Request::~Request):
1781         * loader/Request.h:
1782         (WebCore::Request::buffer):
1783         (WebCore::Request::cachedObject):
1784         (WebCore::Request::docLoader):
1785         (WebCore::Request::isIncremental):
1786         (WebCore::Request::setIsIncremental):
1787         (WebCore::Request::isMultipart):
1788         (WebCore::Request::setIsMultipart):
1789         * loader/loader.cpp:
1790         (WebCore::crossDomain):
1791         (WebCore::Loader::Loader):
1792         (WebCore::Loader::load):
1793         (WebCore::Loader::servePendingRequests):
1794         (WebCore::Loader::receivedAllData):
1795         (WebCore::Loader::receivedResponse):
1796         (WebCore::Loader::receivedData):
1797         (WebCore::Loader::numRequests):
1798         (WebCore::Loader::cancelRequests):
1799         (WebCore::Loader::removeBackgroundDecodingRequest):
1800         (WebCore::Loader::jobForRequest):
1801         * platform/Image.cpp:
1802         (WebCore::Image::setData):
1803         * platform/Image.h:
1804         (WebCore::Image::dataBuffer):
1805
1806         * css/cssstyleselector.cpp:
1807         (WebCore::CSSStyleSelector::init):
1808         (WebCore::CSSStyleSelector::matchRules):
1809         (WebCore::CSSStyleSelector::matchRulesForList):
1810         (WebCore::CSSStyleSelector::sortMatchedRules):
1811         (WebCore::CSSStyleSelector::initForStyleResolve):
1812         (WebCore::CSSStyleSelector::createStyleForElement):
1813         (WebCore::CSSStyleSelector::createPseudoStyleForElement):
1814         * css/cssstyleselector.h:
1815         (WebCore::CSSStyleSelector::addMatchedRule):
1816         (WebCore::CSSStyleSelector::addMatchedDeclaration):
1817         * dom/xml_tokenizer.cpp:
1818         (WebCore::OffsetBuffer::OffsetBuffer):
1819         (WebCore::openFunc):
1820         * html/HTMLOptionElement.cpp:
1821         (WebCore::HTMLOptionElement::index):
1822         * html/HTMLSelectElement.cpp:
1823         (WebCore::HTMLSelectElement::selectedIndex):
1824         (WebCore::HTMLSelectElement::setSelectedIndex):
1825         (WebCore::HTMLSelectElement::length):
1826         (WebCore::HTMLSelectElement::remove):
1827         (WebCore::HTMLSelectElement::value):
1828         (WebCore::HTMLSelectElement::setValue):
1829         (WebCore::HTMLSelectElement::state):
1830         (WebCore::HTMLSelectElement::restoreState):
1831         (WebCore::HTMLSelectElement::appendFormData):
1832         (WebCore::HTMLSelectElement::optionToListIndex):
1833         (WebCore::HTMLSelectElement::listToOptionIndex):
1834         (WebCore::HTMLSelectElement::recalcListItems):
1835         (WebCore::HTMLSelectElement::reset):
1836         (WebCore::HTMLSelectElement::notifyOptionSelected):
1837         * html/HTMLSelectElement.h:
1838         (WebCore::HTMLSelectElement::listItems):
1839         * kwq/KWQLoader.h:
1840         * kwq/KWQLoader.mm:
1841         (KWQServeSynchronousRequest):
1842         * kwq/KWQTextStream.cpp:
1843         (QTextStream::operator<<):
1844         * kwq/KWQTextStream.h:
1845         * loader/FormData.cpp:
1846         (WebCore::FormData::flatten):
1847         (WebCore::FormData::flattenToString):
1848         * loader/FormData.h:
1849         (WebCore::FormDataElement::FormDataElement):
1850         * platform/DeprecatedString.cpp:
1851         * platform/DeprecatedString.h:
1852         * platform/IntPointArray.cpp: Removed.
1853         * platform/IntPointArray.h: Removed.
1854         * platform/TextEncoding.cpp:
1855         (WebCore::TextEncoding::toUnicode):
1856         * platform/TextEncoding.h:
1857         * platform/cairo/pixman/src/pixregion.c:
1858         * platform/cg/PathCG.cpp:
1859         (WebCore::Path::Path):
1860         * rendering/RenderObject.cpp:
1861         (WebCore::RenderObject::drawBorder):
1862         * rendering/RenderTable.h:
1863         (WebCore::RenderTable::colToEffCol):
1864         (WebCore::RenderTable::effColToCol):
1865         * rendering/RenderTableSection.cpp:
1866         (WebCore::RenderTableSection::ensureRows):
1867         (WebCore::RenderTableSection::addCell):
1868         (WebCore::RenderTableSection::setCellWidths):
1869         * rendering/RenderTableSection.h:
1870         * rendering/bidi.cpp:
1871         (WebCore::addMidpoint):
1872         (WebCore::RenderBlock::layoutInlineChildren):
1873         * rendering/render_form.cpp:
1874         (WebCore::RenderSelect::updateFromElement):
1875         (WebCore::RenderSelect::layout):
1876         (WebCore::RenderSelect::valueChanged):
1877         (WebCore::RenderSelect::selectionChanged):
1878         (WebCore::RenderSelect::updateSelection):
1879         * rendering/table_layout.cpp:
1880         (WebCore::FixedTableLayout::layout):
1881         * rendering/table_layout.h:
1882         * xml/XSLTProcessor.cpp:
1883         (WebCore::docLoaderFunc):
1884         * xml/xmlhttprequest.cpp:
1885         (WebCore::XMLHttpRequest::send):
1886         (WebCore::XMLHttpRequest::processSyncLoadResults):
1887         * xml/xmlhttprequest.h:
1888
1889 2006-06-11  David Kilzer  <ddkilzer@kilzer.net>
1890
1891         Reviewed by darin.
1892
1893         http://bugzilla.opendarwin.org/show_bug.cgi?id=9394
1894         Fix no-SVG build
1895
1896         * DerivedSources.make: Removed tabs. Create empty SVGElementFactory.cpp on no-svg build.
1897         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Added #if SVG_SUPPORT/#endif.
1898         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Ditto.
1899         * ksvg2/bindings/idl/svg/SVGAElement.idl: Add "Conditional=SVG" to all interfaces.
1900         * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Ditto.
1901         * ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Ditto.
1902         * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Ditto.
1903         * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Ditto.
1904         * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Ditto.
1905         * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Ditto.
1906         * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Ditto.
1907         * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Ditto.
1908         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Ditto.
1909         * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Ditto.
1910         * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Ditto.
1911         * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Ditto.
1912         * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Ditto.
1913         * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Ditto.
1914         * ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Ditto.
1915         * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Ditto.
1916         * ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Ditto.
1917         * ksvg2/bindings/idl/svg/SVGCircleElement.idl: Ditto.
1918         * ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Ditto.
1919         * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Ditto.
1920         * ksvg2/bindings/idl/svg/SVGCursorElement.idl: Ditto.
1921         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Ditto.
1922         * ksvg2/bindings/idl/svg/SVGDefsElement.idl: Ditto.
1923         * ksvg2/bindings/idl/svg/SVGDescElement.idl: Ditto.
1924         * ksvg2/bindings/idl/svg/SVGElementInstance.idl: Ditto.
1925         * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Ditto.
1926         * ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Ditto.
1927         * ksvg2/bindings/idl/svg/SVGEvent.idl: Ditto.
1928         * ksvg2/bindings/idl/svg/SVGException.idl: Ditto.
1929         * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Ditto.
1930         * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Ditto.
1931         * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Ditto.
1932         * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Ditto.
1933         * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Ditto.
1934         * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Ditto.
1935         * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Ditto.
1936         * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Ditto.
1937         * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Ditto.
1938         * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Ditto.
1939         * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Ditto.
1940         * ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Ditto.
1941         * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Ditto.
1942         * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Ditto.
1943         * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Ditto.
1944         * ksvg2/bindings/idl/svg/SVGFETileElement.idl: Ditto.
1945         * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Ditto.
1946         * ksvg2/bindings/idl/svg/SVGFilterElement.idl: Ditto.
1947         * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Ditto.
1948         * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Ditto.
1949         * ksvg2/bindings/idl/svg/SVGGElement.idl: Ditto.
1950         * ksvg2/bindings/idl/svg/SVGGradientElement.idl: Ditto.
1951         * ksvg2/bindings/idl/svg/SVGICCColor.idl: Ditto.
1952         * ksvg2/bindings/idl/svg/SVGImageElement.idl: Ditto.
1953         * ksvg2/bindings/idl/svg/SVGLangSpace.idl: Ditto.
1954         * ksvg2/bindings/idl/svg/SVGLengthList.idl: Ditto.
1955         * ksvg2/bindings/idl/svg/SVGLineElement.idl: Ditto.
1956         * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Ditto.
1957         * ksvg2/bindings/idl/svg/SVGLocatable.idl: Ditto.
1958         * ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Ditto.
1959         * ksvg2/bindings/idl/svg/SVGNumberList.idl: Ditto.
1960         * ksvg2/bindings/idl/svg/SVGPaint.idl: Ditto.
1961         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Ditto.
1962         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Ditto.
1963         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Ditto.
1964         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Ditto.
1965         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Ditto.
1966         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Ditto.
1967         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Ditto.
1968         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Ditto.
1969         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Ditto.
1970         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Ditto.
1971         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Ditto.
1972         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Ditto.
1973         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Ditto.
1974         * ksvg2/bindings/idl/svg/SVGPatternElement.idl: Ditto.
1975         * ksvg2/bindings/idl/svg/SVGPointList.idl: Ditto.
1976         * ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Ditto.
1977         * ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Ditto.
1978         * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Ditto.
1979         * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Ditto.
1980         * ksvg2/bindings/idl/svg/SVGRectElement.idl: Ditto.
1981         * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Ditto.
1982         * ksvg2/bindings/idl/svg/SVGScriptElement.idl: Ditto.
1983         * ksvg2/bindings/idl/svg/SVGSetElement.idl: Ditto.
1984         * ksvg2/bindings/idl/svg/SVGStopElement.idl: Ditto.
1985         * ksvg2/bindings/idl/svg/SVGStringList.idl: Ditto.
1986         * ksvg2/bindings/idl/svg/SVGStylable.idl: Ditto.
1987         * ksvg2/bindings/idl/svg/SVGStyleElement.idl: Ditto.
1988         * ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Ditto.
1989         * ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Ditto.
1990         * ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Ditto.
1991         * ksvg2/bindings/idl/svg/SVGTests.idl: Ditto.
1992         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Ditto.
1993         * ksvg2/bindings/idl/svg/SVGTextElement.idl: Ditto.
1994         * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Ditto.
1995         * ksvg2/bindings/idl/svg/SVGTitleElement.idl: Ditto.
1996         * ksvg2/bindings/idl/svg/SVGTransformList.idl: Ditto.
1997         * ksvg2/bindings/idl/svg/SVGTransformable.idl: Ditto.
1998         * ksvg2/bindings/idl/svg/SVGURIReference.idl: Ditto.
1999         * ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Ditto.
2000         * ksvg2/bindings/idl/svg/SVGUseElement.idl: Ditto.
2001         * ksvg2/bindings/idl/svg/SVGViewElement.idl: Ditto.
2002         * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Ditto.
2003         * ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Ditto.
2004         * ksvg2/svg/SVGAngle.idl: Ditto.
2005         * ksvg2/svg/SVGAnimatedLength.idl: Ditto.
2006         * ksvg2/svg/SVGColor.idl: Ditto.
2007         * ksvg2/svg/SVGDocument.idl: Ditto.
2008         * ksvg2/svg/SVGElement.idl: Ditto.
2009         * ksvg2/svg/SVGEvent.idl: Ditto.
2010         * ksvg2/svg/SVGLength.idl: Ditto.
2011         * ksvg2/svg/SVGMatrix.idl: Ditto.
2012         * ksvg2/svg/SVGNumber.idl: Ditto.
2013         * ksvg2/svg/SVGPoint.idl: Ditto.
2014         * ksvg2/svg/SVGRect.idl: Ditto.
2015         * ksvg2/svg/SVGSVGElement.idl: Ditto.
2016         * ksvg2/svg/SVGTransform.idl: Ditto.
2017
2018 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
2019
2020         Reviewed by Geoff.
2021
2022         http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
2023         Move full-frame plugins to WebCore
2024         
2025         * WebCore.vcproj/WebCore/WebCore.vcproj:
2026         * WebCore.xcodeproj/project.pbxproj:
2027         Add PluginDocument
2028         
2029         * bridge/mac/FrameMac.h:
2030         * bridge/mac/FrameMac.mm:
2031         (WebCore::FrameMac::redirectDataToPlugin):
2032         Call the bridge.
2033         
2034         * bridge/mac/WebCoreFrameBridge.h:
2035         * bridge/mac/WebCoreFrameBridge.mm:
2036         Add redirectDataToPlugin which is used to redirect incoming data
2037         to a plugin.
2038         
2039         * bridge/mac/WebCoreViewFactory.h:
2040         Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
2041         
2042         * dom/DOMImplementation.cpp:
2043         * dom/DOMImplementation.h:
2044         Get rid of createTextDocument and just create a text document explicitly when needed.
2045         
2046         * dom/Document.h:
2047         (WebCore::Document::isPluginDocument):
2048         * loader/PluginDocument.cpp: Added.
2049         (WebCore::PluginTokenizer::PluginTokenizer):
2050         (WebCore::PluginTokenizer::wantsRawData):
2051         (WebCore::PluginTokenizer::write):
2052         (WebCore::PluginTokenizer::createDocumentStructure):
2053         (WebCore::PluginTokenizer::writeRawData):
2054         (WebCore::PluginTokenizer::stopParsing):
2055         (WebCore::PluginTokenizer::finish):
2056         (WebCore::PluginTokenizer::isWaitingForScripts):
2057         (WebCore::PluginDocument::PluginDocument):
2058         (WebCore::PluginDocument::createTokenizer):
2059         * loader/PluginDocument.h: Added.
2060         (WebCore::PluginDocument::isPluginDocument):
2061         Add PluginDocument.
2062         
2063         * page/Frame.cpp:
2064         (WebCore::Frame::begin):
2065         Possibly create a plugin document.
2066         
2067         * page/Frame.h:
2068         (WebCore::Frame::redirectDataToPlugin):
2069         Add declaration.
2070         
2071         * platform/PlugInInfoStore.h:
2072         * platform/mac/PlugInInfoStoreMac.mm:
2073         (WebCore::PlugInInfoStore::supportsMIMEType):
2074         Ask WebCoreViewFactory if the MIME type is supported.
2075
2076 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2077
2078         Reviewed by hyatt.
2079
2080         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9334
2081           Incomplete repaint when changing block from non-positioned to positioned
2082
2083         Test: fast/repaint/static-to-positioned.html
2084
2085         * rendering/RenderObject.cpp:
2086         (WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
2087         as static.
2088
2089 2006-06-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2090
2091         Reviewed by hyatt.
2092
2093         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9193
2094           REGRESSION: setting an opacity on an element with an outline causes the outline to disappear completely
2095
2096         Test: fast/layers/opacity-outline.html
2097
2098         - fix repainting of layer children's outlines that extend beyond the layer
2099
2100         Test: fast/repaint/layer-child-outline.html
2101
2102         * rendering/RenderLayer.cpp:
2103         (WebCore::RenderLayer::intersectsDamageRect): Account for outlines.
2104         (WebCore::RenderLayer::absoluteBoundingBox): Ditto.
2105         * rendering/RenderObject.cpp:
2106         (WebCore::RenderObject::maximalOutlineSize): Changed to return the view's maximal
2107         outline size rather than 0 for PaintPhaseChildOutlines.
2108
2109 2006-06-10  Steve Falkenburg  <sfalken@apple.com>
2110
2111         Fix build break
2112
2113         * platform/cairo/GraphicsContextCairo.cpp:
2114         * platform/win/TemporaryLinkStubs.cpp:
2115         (GraphicsContext::scale):
2116
2117 2006-06-10  Geoffrey Garen  <ggaren@apple.com>
2118
2119         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8515
2120         Linux porting compile bug
2121         
2122         Fix by Mike Emmel, Reviewed by Darin.
2123
2124         * Projects/gdk/webcore-gdk.bkl:
2125         * WebCoreSources.bkl:
2126         * css/maketokenizer:
2127         * html/HTMLCanvasElement.cpp:
2128         * html/HTMLImageElement.h:
2129         * icon/IconDatabase.cpp:
2130         * make-generated-sources.sh:
2131         * page/Frame.h:
2132         * page/FramePrivate.h:
2133         * platform/Cursor.h:
2134         * platform/FontData.h:
2135         (WebCore::FontData::getGlyphIndex):
2136         * platform/GlyphBuffer.h:
2137         (WebCore::GlyphBuffer::glyphAt):
2138         (WebCore::GlyphBuffer::advanceAt):
2139         (WebCore::GlyphBuffer::add):
2140         * platform/GraphicsContext.h:
2141         * platform/PlatformKeyboardEvent.h:
2142         * platform/PlatformMouseEvent.h:
2143         * platform/PlatformWheelEvent.h:
2144         * platform/ScrollView.h:
2145         * platform/TransferJob.h:
2146         (WebCore::TransferJob::getInternal):
2147         * platform/TransferJobInternal.h:
2148         (WebCore::TransferJobInternal::TransferJobInternal):
2149         * platform/Widget.h:
2150         * platform/cairo/GraphicsContextCairo.cpp:
2151         (WebCore::GraphicsContext::GraphicsContext):
2152         (WebCore::GraphicsContext::roundToDevicePixels):
2153         * webcore-base.bkl:
2154         * xpath/impl/XPathValue.cpp:
2155
2156 2006-06-09  John Sullivan  <sullivan@apple.com>
2157
2158         Reviewed by Tim Omernick and Dave Hyatt.
2159
2160         WebCore support for computing but not highlighting rects for text matches.
2161
2162         * dom/Document.h:
2163         added setRenderedRectForMarker() and renderedRectsForMarkers(), and redefined
2164         MarkerMap to be a hashtable of node -> (pair of vectors), one vector of markers
2165         and one vector of rects
2166         
2167         * dom/Document.cpp:
2168         (placeholderRectForMarker()):
2169         new function, returns a recognizable degenerate rect used until a real rect has been set
2170         (WebCore::Document::addMarker):
2171         Reworked for new MarkerMap data structure; now adds parallel placeholder rect
2172         along with marker
2173         (WebCore::Document::copyMarkers):
2174         Reworked for new MarkerMap data structure
2175         (WebCore::Document::removeMarkers):
2176         Reworked for new MarkerMap data structure; now removed corresponding rect along
2177         with marker
2178         (WebCore::Document::markersForNode):
2179         Reworked for new MarkerMap data structure
2180         (WebCore::Document::renderedRectsForMarkers):
2181         New method, returns an array of all non-placeholder rects for the given marker type
2182         (WebCore::Document::repaintMarkers):
2183         Reworked for new MarkerMap data structure
2184         (WebCore::Document::setRenderedRectForMarker):
2185         New method, sets the rendered rect for a given marker
2186         (WebCore::Document::shiftMarkers):
2187         Reworked for new MarkerMap data structure; resets rendered rects to placeholders.
2188         
2189         * rendering/InlineTextBox.cpp:
2190         (WebCore::InlineTextBox::paint):
2191         removed markedTextMatchesAreHighlighted guard; we always want to call paintTextMatchMarker
2192         now, but sometimes we will end up only computing the rect, not actually highlighting it.
2193         (Maybe some names should be improved here?)
2194         (WebCore::InlineTextBox::paintTextMatchMarker):
2195         Reorganized to move all the code that actually draws into a block that's guarded by
2196         markedTextMatchesAreHighlighted. The rest of the code computes where the highlight will
2197         go, and now we always use that computation in order to call setRenderedRectForMarker.
2198
2199         * bridge/mac/WebCoreFrameBridge.h:
2200         * bridge/mac/WebCoreFrameBridge.mm:
2201         (-[WebCoreFrameBridge rectsForTextMatches]):
2202         New method, returns an array of NSValues representing NSRects. Gets them
2203         from Document::renderedRectsForMarkers
2204         
2205 2006-06-10  Anders Carlsson  <acarlsson@apple.com>
2206
2207         Reviewed by Eric.
2208
2209         * bindings/js/kjs_html.cpp:
2210         (KJS::JSHTMLElement::put):
2211         Call WebCore::JSHTMLElement::put so that autogenerated setters will work 
2212         for HTMLElement.
2213
2214 2006-06-09  Geoffrey Garen  <ggaren@apple.com>
2215
2216         - Build fix after last JSC check-in (oops!)
2217         
2218         * bridge/mac/WebCoreScriptDebugger.mm:
2219         (-[WebCoreScriptCallFrame scopeChain]):
2220         (-[WebCoreScriptCallFrame functionName]):
2221         (-[WebCoreScriptCallFrame evaluateWebScript:]):
2222
2223 2006-06-09  David Hyatt  <hyatt@apple.com>
2224
2225         Rename m_isFocused on the frame to m_isActive, since it isn't really
2226         about focus but is instead about whether or not the top-level window is
2227         active.
2228
2229         Pull code that was incorrectly factored into Mac-only code out of FrameMac
2230         and back up into Frame.
2231
2232         Reviewed by andersca
2233
2234         * bridge/mac/FrameMac.h:
2235         * bridge/mac/FrameMac.mm:
2236         * page/Frame.cpp:
2237         (WebCore::Frame::setFocusNodeIfNeeded):
2238         (WebCore::Frame::isActive):
2239         (WebCore::Frame::setIsActive):
2240         * page/FramePrivate.h:
2241         (WebCore::FramePrivate::FramePrivate):
2242
2243 2006-06-09  David Hyatt  <hyatt@apple.com>
2244
2245         Rework selection coloring.  Rename displaysWithFocusAttributes
2246         to isActive.  Move the white-blending code onto the Color API to make
2247         it more convenient to mutate colors for selection blending.  Eliminate all
2248         the selection state from the GraphicsContext and move it to the RenderTheme.
2249         Implement both Win32 and Mac theme selection colors.
2250
2251         Reviewed by sfalken
2252
2253         * bridge/mac/FrameMac.h:
2254         * bridge/mac/FrameMac.mm:
2255         (WebCore::FrameMac::setIsActive):
2256         * bridge/mac/WebCoreFrameBridge.h:
2257         * bridge/mac/WebCoreFrameBridge.mm:
2258         (-[WebCoreFrameBridge drawRect:]):
2259         (-[WebCoreFrameBridge setIsActive:]):
2260         (-[WebCoreFrameBridge selectionColor]):
2261         * css/cssstyleselector.cpp:
2262         (WebCore::CSSStyleSelector::checkOneSelector):
2263         * page/Frame.cpp:
2264         (WebCore::Frame::isActive):
2265         (WebCore::Frame::setIsActive):
2266         * page/Frame.h:
2267         * platform/Color.cpp:
2268         (WebCore::blend):
2269         (WebCore::Color::blendWithWhite):
2270         * platform/Color.h:
2271         (WebCore::Color::hasAlpha):
2272         * platform/GraphicsContext.cpp:
2273         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
2274         * platform/GraphicsContext.h:
2275         * platform/mac/GraphicsContextMac.mm:
2276         * platform/win/TemporaryLinkStubs.cpp:
2277         (GraphicsContext::endTransparencyLayer):
2278         * rendering/InlineTextBox.cpp:
2279         (WebCore::InlineTextBox::paintSelection):
2280         * rendering/RenderBlock.cpp:
2281         (WebCore::RenderBlock::fillHorizontalSelectionGap):
2282         (WebCore::RenderBlock::fillVerticalSelectionGap):
2283         (WebCore::RenderBlock::fillLeftSelectionGap):
2284         (WebCore::RenderBlock::fillRightSelectionGap):
2285         * rendering/RenderHTMLCanvas.cpp:
2286         (WebCore::RenderHTMLCanvas::paint):
2287         * rendering/RenderImage.cpp:
2288         (WebCore::RenderImage::paint):
2289         * rendering/RenderListMarker.cpp:
2290         (WebCore::RenderListMarker::paint):
2291         * rendering/RenderListMarker.h:
2292         * rendering/RenderObject.cpp:
2293         (WebCore::RenderObject::selectionColor):
2294         * rendering/RenderObject.h:
2295         * rendering/RenderReplaced.cpp:
2296         * rendering/RenderReplaced.h:
2297         * rendering/RenderTheme.cpp:
2298         (WebCore::RenderTheme::activeSelectionColor):
2299         (WebCore::RenderTheme::inactiveSelectionColor):
2300         (WebCore::RenderTheme::platformActiveSelectionColor):
2301         (WebCore::RenderTheme::platformInactiveSelectionColor):
2302         * rendering/RenderTheme.h:
2303         * rendering/RenderThemeMac.h:
2304         * rendering/RenderThemeMac.mm:
2305         (WebCore::RenderThemeMac::platformActiveSelectionColor):
2306         (WebCore::RenderThemeMac::platformInactiveSelectionColor):
2307         * rendering/RenderThemeWin.cpp:
2308         (WebCore::RenderThemeWin::platformActiveSelectionColor):
2309         (WebCore::RenderThemeWin::platformInactiveSelectionColor):
2310         * rendering/RenderThemeWin.h:
2311         * rendering/RenderWidget.cpp:
2312         (WebCore::RenderWidget::paint):
2313
2314 2006-06-09  Justin Garcia  <justin.garcia@apple.com>
2315
2316         Reviewed by levi
2317         
2318         <rdar://problem/4549980>
2319         REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
2320
2321         * bridge/mac/FrameMac.h: Moved findString to Frame.
2322         * bridge/mac/FrameMac.mm: Ditto.
2323         * bridge/mac/WebCoreFrameBridge.mm:
2324         (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]): 
2325         Convert the NSString to a String.
2326         * editing/JSEditor.cpp: Added execCommand(FindString, ...)
2327         * editing/Selection.cpp: Added a constructor for Ranges
2328         (WebCore::Selection::Selection): 
2329         * editing/Selection.h:
2330         * page/Frame.cpp:
2331         (WebCore::Frame::findString): Moved from FrameMac.  Compare a selection created 
2332         using the found range with the current selection in case the current selection is
2333         the found range minus some collapsed whitespace on the edges.
2334         * page/Frame.h:
2335
2336 2006-06-09  Steve Falkenburg  <sfalken@apple.com>
2337
2338         Fix build break
2339
2340         * WebCore.vcproj/WebCore/WebCore.vcproj:
2341         * css/MediaQueryEvaluator.cpp:
2342         * platform/win/TemporaryLinkStubs.cpp:
2343         (GraphicsContext::addRoundedRectClip):
2344         (GraphicsContext::addInnerRoundedRectClip):
2345         (WebCore::screenDepthPerComponent):
2346         (WebCore::screenIsMonochrome):
2347
2348 2006-06-09  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
2349
2350         Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth. 
2351         Landed by Beth.
2352
2353         CSS3 Media Queries implementation.
2354         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4127>
2355
2356         * WebCore.xcodeproj/project.pbxproj:
2357         * bindings/js/kjs_css.cpp:
2358         (KJS::DOMMediaList::put):
2359         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
2360         * bindings/objc/DOMCSS.mm:
2361         (-[DOMMediaList setMediaText:]):
2362         (-[DOMMediaList deleteMedium:]):
2363         (-[DOMMediaList appendMedium:]):
2364         * css/CSSGrammar.y:
2365         * css/MediaFeatureNames.cpp: Added.
2366         (WebCore::MediaFeatureNames::init):
2367         * css/MediaFeatureNames.h: Added.
2368         * css/MediaList.cpp:
2369         (WebCore::MediaList::MediaList):
2370         (WebCore::MediaList::~MediaList):
2371         (WebCore::parseMediaDescriptor):
2372         (WebCore::MediaList::deleteMedium):
2373         (WebCore::MediaList::mediaText):
2374         (WebCore::MediaList::setMediaText):
2375         (WebCore::MediaList::item):
2376         (WebCore::MediaList::appendMedium):
2377         (WebCore::MediaList::appendMediaQuery):
2378         * css/MediaList.h:
2379         (WebCore::MediaList::MediaList):
2380         (WebCore::MediaList::length):
2381         (WebCore::MediaList::mediaQueries):
2382         * css/MediaQuery.cpp: Added.
2383         (WebCore::MediaQuery::MediaQuery):
2384         (WebCore::MediaQuery::~MediaQuery):
2385         (WebCore::MediaQuery::operator==):
2386         (WebCore::MediaQuery::cssText):
2387         * css/MediaQuery.h: Added.
2388         (WebCore::MediaQuery::):
2389         (WebCore::MediaQuery::restrictor):
2390         (WebCore::MediaQuery::expressions):
2391         (WebCore::MediaQuery::mediaType):
2392         (WebCore::MediaQuery::append):
2393         * css/MediaQueryEvaluator.cpp: Added.
2394         (WebCore::):
2395         (WebCore::MediaQueryEvaluator):
2396         (WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
2397         (WebCore::MediaQueryEvaluator::mediaTypeMatch):
2398         (WebCore::applyRestrictor):
2399         (WebCore::MediaQueryEvaluator::eval):
2400         (WebCore::parseAspectRatio):
2401         (WebCore::cmpvalue):
2402         (WebCore::numberValue):
2403         (WebCore::colorMediaFeatureEval):
2404         (WebCore::monochromeMediaFeatureEval):
2405         (WebCore::device_aspect_ratioMediaFeatureEval):
2406         (WebCore::gridMediaFeatureEval):
2407         (WebCore::device_heightMediaFeatureEval):
2408         (WebCore::device_widthMediaFeatureEval):
2409         (WebCore::heightMediaFeatureEval):
2410         (WebCore::widthMediaFeatureEval):
2411         (WebCore::min_colorMediaFeatureEval):
2412         (WebCore::max_colorMediaFeatureEval):
2413         (WebCore::min_monochromeMediaFeatureEval):
2414         (WebCore::max_monochromeMediaFeatureEval):
2415         (WebCore::min_device_aspect_ratioMediaFeatureEval):
2416         (WebCore::max_device_aspect_ratioMediaFeatureEval):
2417         (WebCore::min_heightMediaFeatureEval):
2418         (WebCore::max_heightMediaFeatureEval):
2419         (WebCore::min_widthMediaFeatureEval):
2420         (WebCore::max_widthMediaFeatureEval):
2421         (WebCore::min_device_heightMediaFeatureEval):
2422         (WebCore::max_device_heightMediaFeatureEval):
2423         (WebCore::min_device_widthMediaFeatureEval):
2424         (WebCore::max_device_widthMediaFeatureEval):
2425         (WebCore::createFunctionMap):
2426         * css/MediaQueryEvaluator.h: Added.
2427         * css/MediaQueryExp.cpp: Added.
2428         (WebCore::MediaQueryExp::MediaQueryExp):
2429         (WebCore::MediaQueryExp::~MediaQueryExp):
2430         * css/MediaQueryExp.h: Added.
2431         (WebCore::MediaQueryExp::mediaFeature):
2432         (WebCore::MediaQueryExp::value):
2433         (WebCore::MediaQueryExp::operator==):
2434         * css/StyleSheet.cpp:
2435         (WebCore::StyleSheet::setMedia):
2436         * css/cssparser.cpp:
2437         (WebCore::CSSParser::CSSParser):
2438         (WebCore::CSSParser::~CSSParser):
2439         (WebCore::CSSParser::setupParser):
2440         (WebCore::CSSParser::parseMediaQuery):
2441         (WebCore::CSSParser::createFloatingMediaQueryExp):
2442         (WebCore::CSSParser::sinkFloatingMediaQueryExp):
2443         (WebCore::CSSParser::createFloatingMediaQueryExpList):
2444         (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
2445         (WebCore::CSSParser::createFloatingMediaQuery):
2446         (WebCore::CSSParser::sinkFloatingMediaQuery):
2447         * css/cssparser.h:
2448         * css/cssstyleselector.cpp:
2449         (WebCore::CSSStyleSelector::CSSStyleSelector):
2450         (WebCore::CSSStyleSelector::init):
2451         (WebCore::CSSStyleSelector::~CSSStyleSelector):
2452         (WebCore::CSSStyleSelector::loadDefaultStyle):
2453         (WebCore::CSSStyleSelector::matchUARules):
2454         (WebCore::CSSStyleSelector::styleForElement):
2455         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2456         (WebCore::CSSStyleSelector::updateFont):
2457         (WebCore::CSSStyleSelector::cacheBorderAndBackground):
2458         (WebCore::CSSStyleSelector::styleRulesForElement):
2459         (WebCore::CSSRuleSet::addRulesFromSheet):
2460         * css/cssstyleselector.h:
2461         * css/maketokenizer:
2462         * css/tokenizer.flex:
2463         * dom/DOMImplementation.cpp:
2464         (WebCore::DOMImplementation::createCSSStyleSheet):
2465         * html/HTMLLinkElement.cpp:
2466         (WebCore::HTMLLinkElement::process):
2467         (WebCore::HTMLLinkElement::setStyleSheet):
2468         * html/HTMLStyleElement.cpp:
2469         (WebCore::HTMLStyleElement::childrenChanged):
2470         * ksvg2/svg/SVGDOMImplementation.cpp:
2471         (SVGDOMImplementation::createCSSStyleSheet):
2472         * ksvg2/svg/SVGStyleElement.cpp:
2473         (WebCore::SVGStyleElement::childrenChanged):
2474         * page/Frame.cpp:
2475         (WebCore::Frame::Frame):
2476         * platform/Screen.h:
2477         * platform/mac/ScreenMac.mm:
2478         (WebCore::screenDepthPerComponent):
2479         (WebCore::screenIsMonochrome):
2480
2481 2006-06-08  Levi Weintraub  <lweintraub@apple.com>
2482
2483         Reviewed by justin
2484         
2485         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
2486         Implement execCommand(Insert{Un}OrderedList)
2487
2488         * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
2489         * dom/Position.cpp:
2490         (WebCore::hasRenderedNonAnonymousDescendantsWithHeight): 
2491         Added. A block with height is only a candidate if this is false.  This should fix the problems
2492         getting carets into empty blocks.
2493         (WebCore::Position::inRenderedContent):
2494         * editing/AppendNodeCommand.cpp:
2495         (WebCore::AppendNodeCommand::doApply):
2496         * editing/CompositeEditCommand.cpp:
2497         (WebCore::hasARenderedDescendant):
2498         (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
2499         have a renderer with no descendants.  Fixed the pruning rule to avoid removing a node like this.
2500         (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
2501         each other if they aren't already, as a convenience.
2502         (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
2503         (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 
2504         * editing/CompositeEditCommand.h:
2505         * editing/DeleteSelectionCommand.cpp:
2506         (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
2507         continue to happen until it is no longer possible.
2508         (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
2509         wouldn't always avoid removing the start block.
2510         * editing/InsertListCommand.cpp: Added.
2511         (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
2512         into a list.
2513         (WebCore::InsertListCommand::InsertListCommand):
2514         (WebCore::InsertListCommand::modifyRange):
2515         (WebCore::InsertListCommand::doApply):
2516         * editing/InsertListCommand.h: Added.
2517         (WebCore::InsertListCommand::):
2518         * editing/InsertNodeBeforeCommand.cpp:
2519         (WebCore::InsertNodeBeforeCommand::doApply):
2520         * editing/InsertParagraphSeparatorCommand.cpp:
2521         * editing/JSEditor.cpp:
2522         * editing/TextIterator.cpp:
2523         (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the 
2524         iterator ends at the start of that node.
2525         * editing/VisiblePosition.cpp:
2526         (WebCore::VisiblePosition::next):
2527         (WebCore::VisiblePosition::previous):
2528         * editing/VisiblePosition.h: 
2529         Added a parameter to next/previous that can prevent them from leaving the current editable region.
2530         * editing/htmlediting.cpp:
2531         (WebCore::highestAncestor):
2532         (WebCore::enclosingList):
2533         (WebCore::enclosingListChild):
2534         (WebCore::outermostEnclosingList):
2535         (WebCore::createListItemElement):
2536         * editing/htmlediting.h:
2537         * page/Frame.cpp:
2538         (WebCore::Frame::selectionListState): Added.
2539         * page/Frame.h:
2540
2541 2006-06-08  David Harrison  <harrison@apple.com>
2542
2543         Reviewed by Geoff and John.
2544
2545         <rdar://problem/4558879> -[DOMCSSPrimitiveValue setStringValue:] throws an exception (12)
2546         
2547         Problem was the primitive value was getting reset to a generic state before the parameter
2548         check that relies on that state.
2549
2550         Test: fast/dom/setPrimitiveValue.html
2551
2552         * css/CSSPrimitiveValue.cpp:
2553         (WebCore::CSSPrimitiveValue::setFloatValue):
2554         (WebCore::CSSPrimitiveValue::setStringValue):
2555         Move parameter checks ahead of call to cleanup().
2556
2557 2006-06-08  Alice Liu  <alice.liu@apple.com>
2558
2559         Reviewed by justin.
2560
2561         - fixed <rdar://problem/4578115> support Range.isPointInRange
2562         - fixed <rdar://problem/4578123> support Range.comparePoint
2563
2564         * dom/Range.cpp:
2565         (WebCore::Range::isPointInRange):
2566         added implementation
2567         (WebCore::Range::comparePoint):
2568         added implementation
2569         * dom/Range.h:
2570         added prototypes
2571         * dom/Range.idl:
2572         added bindings
2573
2574 2006-06-08  Darin Adler  <darin@apple.com>
2575
2576         Reviewed by justin.
2577
2578         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
2579           REGRESSION: TinyMCE: Crash on Undo
2580
2581         * bridge/mac/WebCoreFrameBridge.mm:
2582         (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
2583         Changed to call nodeInfoAtPoint directly.
2584         (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
2585         Also added code to convert coordinates so it works for points that are in nodes in subframes.
2586
2587         * page/Frame.cpp:
2588         (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
2589         endpoints in another document.
2590         (WebCore::Frame::setSelection): Ditto.
2591
2592 2006-06-07  Justin Garcia  <justin.garcia@apple.com>
2593
2594         Reviewed by levi
2595         
2596         Fixed some comments and removed an unused variable.
2597
2598         * editing/CompositeEditCommand.cpp:
2599         (WebCore::CompositeEditCommand::removeBlockPlaceholder):
2600         Don't remove a br if it isn't at the start of a block, since
2601         it isn't really a "block placeholder".
2602         * editing/DeleteSelectionCommand.cpp:
2603         (WebCore::DeleteSelectionCommand::initializePositionData):
2604         (WebCore::DeleteSelectionCommand::mergeParagraphs):
2605         (WebCore::DeleteSelectionCommand::doApply):
2606         * editing/InsertLineBreakCommand.cpp:
2607         (WebCore::InsertLineBreakCommand::doApply):
2608         * editing/ReplaceSelectionCommand.cpp:
2609         (WebCore::ReplaceSelectionCommand::doApply):
2610         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
2611         * editing/htmlediting.cpp:
2612
2613 2006-06-07  David Hyatt  <hyatt@apple.com>
2614
2615         Add support for custom highlighting.  This is all ifdefed to be Mac-only.
2616
2617         Reviewed by justin
2618
2619         * WebCore.xcodeproj/project.pbxproj:
2620         * bridge/mac/FrameMac.h:
2621         * bridge/mac/FrameMac.mm:
2622         (WebCore::FrameMac::paintCustomHighlight):
2623         * bridge/mac/WebCoreFrameBridge.h:
2624         * platform/mac/ClipboardMac.h:
2625         * rendering/InlineTextBox.cpp:
2626         (WebCore::InlineTextBox::paint):
2627         (WebCore::InlineTextBox::paintCustomHighlight):
2628         * rendering/InlineTextBox.h:
2629
2630 2006-06-07  Adele Peterson  <adele@apple.com>
2631
2632         Reviewed by Hyatt 
2633
2634         Added support for cross-platform resize property.
2635
2636         * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
2637         already cache this info when we handle mouse down and mouse up.
2638         * platform/mac/MouseEventMac.mm: ditto.
2639         * platform/win/TemporaryLinkStubs.cpp: ditto.
2640
2641         * page/Frame.cpp:
2642         (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
2643         * page/FrameView.cpp:
2644         (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
2645         (WebCore::FrameView::mousePressed): Added.
2646         * page/FrameView.h: Added mousePressed.
2647
2648         * rendering/RenderTheme.h: Removed paintResizeControl.
2649         Since its not dependent on the theme, the layer can just paint this.
2650         * rendering/RenderTheme.cpp: ditto.
2651         * rendering/RenderLayer.cpp:
2652         (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
2653         (WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
2654         (WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
2655         (WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
2656         * rendering/RenderLayer.h: Added m_resizeCornerImage.  Important to have one per-layer for when we allow
2657         more customization.
2658
2659         * platform/cairo/ImageCairo.cpp:
2660         (WebCore::Image::loadResource): Loads image resources.
2661
2662 2006-06-07  David Hyatt  <hyatt@apple.com>
2663
2664         Add support for a new property for custom highlighting.  This patch just
2665         adds support for the parsing of the property.  It doesn't do anything yet.
2666
2667         Reviewed by beth
2668
2669         * css/CSSComputedStyleDeclaration.cpp:
2670         (WebCore::):
2671         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2672         * css/CSSPropertyNames.in:
2673         * css/cssparser.cpp:
2674         (WebCore::CSSParser::parseValue):
2675         * css/cssstyleselector.cpp:
2676         (WebCore::CSSStyleSelector::applyProperty):
2677         * rendering/render_style.cpp:
2678         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
2679         (WebCore::StyleCSS3InheritedData::operator==):
2680         (WebCore::RenderStyle::diff):
2681         * rendering/render_style.h:
2682         (WebCore::RenderStyle::highlight):
2683         (WebCore::RenderStyle::setHighlight):
2684         (WebCore::RenderStyle::initialHighlight):
2685
2686 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2687
2688         Fix suggested by Rob Buis. Reviewed by Darin.
2689
2690         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9341
2691           REGRESSION: Repro crash caused by style="font:bold"
2692
2693         Test: fast/css/font-shorthand-weight-only.html
2694
2695         * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
2696         made to fix bug 5564.
2697
2698 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2699
2700         Reviewed by Hyatt.
2701
2702         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9122
2703           REGRESSION: Incorrect vertical position for text fields in a "display: table" block
2704
2705         Test: fast/table/text-field-baseline.html
2706
2707         * rendering/RenderTableCell.cpp:
2708         (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
2709         use their baseline.
2710
2711 2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2712
2713         Reviewed by Hyatt (concept) and Darin (some coding details).
2714
2715         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4334
2716           REGRESSION: Flickering when css-hover should change opacity on floating elements
2717
2718         Pixel test: fast/block/float/nopaint-after-layer-destruction.html
2719
2720         * rendering/RenderBlock.cpp:
2721         (WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
2722         in the block's FloatingObject for the given float and calls setChildNeedsLayout.
2723         * rendering/RenderBlock.h:
2724         * rendering/RenderBox.cpp:
2725         (WebCore::blockThatPaintsFloat): Added this helper function.
2726         (WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
2727         gains or loses its layer.
2728
2729 2006-06-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2730
2731         Reviewed by Hyatt.
2732
2733         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9121
2734           REGRESSION: [Incremental Repaint] DHTML movement test failures
2735
2736         Test (repaint): fast/repaint/containing-block-position-change.html
2737
2738         * manual-tests/containing-block-position-chage.html: Added.
2739         * rendering/RenderBlock.cpp:
2740         (WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
2741         the RenderCanvas to RenderView rename.
2742         (WebCore::RenderBlock::removePositionedObject): Added a return immediately
2743         after removing the object.
2744         (WebCore::RenderBlock::removePositionedObjects): Added.
2745         * rendering/RenderBlock.h:
2746         * rendering/RenderObject.cpp:
2747         (WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
2748         descendants from the positioned objects list of their current containing block
2749         when they are going to have a new one as a result of this block's position
2750         property changing. 
2751         * rendering/RenderObject.h:
2752         (WebCore::RenderObject::removePositionedObjects):
2753
2754 2006-06-06  Justin Garcia  <justin.garcia@apple.com>
2755
2756         Reviewed by levi
2757
2758         * dom/Node.cpp:
2759         (WebCore::Node::firstDescendant): Added.
2760         * dom/Node.h:
2761         * dom/Range.cpp: Added a constructor that takes in Positions.
2762         (WebCore::Range::Range):
2763         * dom/Range.h:
2764         * editing/CompositeEditCommand.cpp:
2765         (WebCore::CompositeEditCommand::insertNodeAt): 
2766         Let this function insert children into empty containers.  
2767         Calls canHaveChildrenForEditing.
2768         (WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
2769         (WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the 
2770         replacement so that moveParagraph's callers have a valid destination after the move.
2771         * editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
2772         made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
2773         * editing/DeleteSelectionCommand.cpp:
2774         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 
2775         Removed m_startNode, used a local variable.
2776         (WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
2777         (WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
2778         front and keep track of it as nodes and text are removed.
2779         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
2780         (WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
2781         Update m_endingPosition as we remove nodes.
2782         (WebCore::DeleteSelectionCommand::deleteTextFromNode): 
2783         Update m_endingPosition as we delete text.
2784         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block.  Cleaned up.
2785         (WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
2786         clobbers the old one.
2787         (WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after 
2788         deletion. Make the placeholder decision before we do special element expansion.
2789         * editing/DeleteSelectionCommand.h:
2790         * editing/InsertLineBreakCommand.cpp:
2791         (WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned 
2792         up the code.
2793         * editing/InsertParagraphSeparatorCommand.cpp:
2794         (WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
2795         a merge (added a testcase).
2796         * editing/RebalanceWhitespaceCommand.cpp:
2797         (WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
2798         * editing/ReplaceSelectionCommand.cpp:
2799         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
2800         Merge even when the incoming fragment has interchange newlines (added a testcase).
2801         Merge when the selection being pasted into starts at the start of a block because not
2802         doing so would leave one or more hanging empty blocks.
2803         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
2804         Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
2805         a selection, and a selection can't be created until whitespace has been rebalanced.
2806         * editing/htmlediting.cpp:
2807         (WebCore::canHaveChildrenForEditing): Added.
2808         * editing/htmlediting.h:
2809
2810 2006-06-06  Beth Dakin  <bdakin@apple.com>
2811
2812         Reviewed by Maciej.
2813
2814         Fix for <rdar://problem/4570475> Dashboard regions do not scale for 
2815         non-1.0 scale factors.
2816
2817         No test cases added since this only affects non-1.0 resolution 
2818         scale factors.
2819
2820         * platform/FloatRect.cpp:
2821         (WebCore::FloatRect::scale): Added new function that scales a 
2822         rect's origin and size by a given factor.
2823         * platform/FloatRect.h:
2824         * platform/IntRect.cpp:
2825         (WebCore::IntRect::scale): Same as above.
2826         * platform/IntRect.h:
2827         * rendering/RenderObject.cpp:
2828         (WebCore::RenderObject::addDashboardRegions): After the bounds and 
2829         clip rects on the Dashboard region have been calculated, get the 
2830         user space scale factor, and if it is not 1.0, scale the rects.
2831
2832 2006-06-06  John Sullivan  <sullivan@apple.com>
2833
2834         Reviewed by Darin Adler.
2835         
2836         - fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at 
2837         http://www.apple.com/ (RenderObject::repaint(bool))
2838         
2839         This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
2840         it to the surface.
2841
2842         * dom/Document.h:
2843         Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
2844
2845         * dom/Document.cpp:
2846         (WebCore::Document::removeMarkers):
2847         Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
2848         removed.
2849         (WebCore::Document::repaintMarkers):
2850         Add a .get() to compensate for using RefPtr.
2851
2852 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
2853
2854         Reviewed by Darin.
2855
2856         http://bugzilla.opendarwin.org/show_bug.cgi?id=9325
2857         clientWidth/clientHeight on document element in strict mode should return visible frame size
2858         
2859         * dom/Element.cpp:
2860         (WebCore::Element::clientWidth):
2861         (WebCore::Element::clientHeight):
2862         If we're the document element, and in strict mode, return the visible size of the frame.
2863         
2864 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
2865
2866         Reviewed by John.
2867
2868         * bridge/mac/WebCoreFrameBridge.h:
2869         * bridge/mac/WebCoreFrameBridge.mm:
2870         (-[WebCoreFrameBridge containsPlugins]):
2871         * page/Frame.cpp:
2872         (WebCore::Frame::containsPlugins):
2873         * page/Frame.h:
2874         Add containsPlugins function which returns whether a frame contains plugins
2875         or not.
2876
2877 2006-06-05  Rob Buis  <buis@kde.org>
2878
2879         Reviewed by mjs.
2880
2881         http://bugzilla.opendarwin.org/show_bug.cgi?id=5564
2882         'font' shorthand parsing should be more tolerant in quirks mode
2883
2884         When not in strict mode accept font property specifications
2885         lacking a font family part, like WinIE does.
2886
2887         * css/cssparser.cpp:
2888         (WebCore::CSSParser::parseFont):
2889
2890 2006-06-05  Beth Dakin  <bdakin@apple.com>
2891
2892         Reviewed by Darin.
2893
2894         Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 
2895         1.83 scaling
2896
2897         To prevent pixel cracks at non-integral scaling factors, before we 
2898         call into CG to draw an image, we have to convert the rect to 
2899         device space, round the origin and size to integers in device 
2900         space, and convert back to user space. 
2901         
2902         No test cases added since this only affects non-1.0 resolution 
2903         scale factors.
2904
2905         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2906         (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now 
2907         takes FloatRects.
2908         * html/CanvasPattern.cpp:
2909         (WebCore::patternCallback): Call roundToDevicePixels()
2910         * html/CanvasRenderingContext2D.cpp:
2911         (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now 
2912         takes FloatRects and call roundToDevicePixels()
2913         * html/CanvasRenderingContext2D.h: drawImage() now takes 
2914         FloatRects.
2915         * html/HTMLCanvasElement.cpp:
2916         (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
2917         * kcanvas/device/quartz/QuartzSupport.mm:
2918         (WebCore::debugDumpCGImageToFile): Same as above.
2919         * platform/GraphicsContext.h:
2920         * platform/cg/GraphicsContextCG.cpp:
2921         (WebCore::GraphicsContext::roundToDevicePixels): Takes care of 
2922         converting between coordinate spaces and rounding.
2923         (WebCore::GraphicsContext::drawLineForText):
2924         * platform/mac/ImageMac.mm: Call roundToDevicePixels()
2925         (WebCore::Image::draw): Same as above.
2926         (WebCore::drawPattern): Same as above.
2927
2928 2006-06-05  Geoffrey Garen  <ggaren@apple.com>
2929
2930         Reviewed by Darin.
2931
2932         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9310
2933         Add missing DOM prototypes and other DOM cleanup
2934
2935         - Added the built-in object prototype to DOM objects that were missing it
2936         so that primitive operations like == work on them.
2937         
2938         - Removed dead EventConstructor class (it's autogenerated now)
2939         
2940         - Changed HTML collections to describe themselves as "[object Collection]",
2941         to match IE.
2942         
2943         - Made DOMCSSRule constructor private because JSCSSRule is the class
2944         to use.
2945         
2946         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2947         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2948         * bindings/js/kjs_css.cpp:
2949         (KJS::DOMStyleSheet::DOMStyleSheet):
2950         (KJS::DOMStyleSheetList::DOMStyleSheetList):
2951         (KJS::DOMCSSRule::DOMCSSRule):
2952         (KJS::DOMCSSValue::DOMCSSValue):
2953         (KJS::toJS):
2954         (KJS::DOMRGBColor::DOMRGBColor):
2955         (KJS::getDOMRGBColor):
2956         (KJS::DOMRect::DOMRect):
2957         * bindings/js/kjs_css.h:
2958         * bindings/js/kjs_dom.cpp:
2959         (KJS::DOMNodeList::DOMNodeList):
2960         (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
2961         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
2962         (KJS::):
2963         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
2964         * bindings/js/kjs_dom.h:
2965         (KJS::DOMNamedNodesCollection::classInfo):
2966         * bindings/js/kjs_events.h:
2967         * bindings/js/kjs_html.cpp:
2968         (KJS::):
2969
2970 2006-06-04  Darin Adler  <darin@apple.com>
2971
2972         Reviewed by Maciej.
2973
2974         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
2975           REGRESSION: Crash when closing tabs on newegg.com
2976         - removed a no-longer-needed Win32-specific workaround (not reviewed)
2977
2978         * bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
2979         (WebCore::floatFeature): Remove WIN32 ifdef around isnan.
2980         (WebCore::toJS): Add null checks.
2981
2982 2006-06-04  Darin Adler  <darin@apple.com>
2983
2984         Reviewed by Maciej.
2985
2986         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9176
2987           REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
2988
2989         Test: fast/loader/link-no-URL.html
2990
2991         * loader/Cache.h:
2992         * loader/Cache.cpp:
2993         (WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
2994         from the cached object itself. Callers were passing in the wrong URL. When it was a
2995         null string, it caused the crash mentioned above. But in other cases it may have
2996         caused some other minor problems as well. Added an assert to catch cases where the
2997         URL is null (should never happen).
2998         (WebCore::Cache::requestImage): Changed call site to not pass URL.
2999         (WebCore::Cache::requestStyleSheet): Ditto.
3000         (WebCore::Cache::requestScript): Ditto.
3001         (WebCore::Cache::requestXSLStyleSheet): Ditto.
3002         (WebCore::Cache::requestXBLDocument): Ditto.
3003
3004 2006-06-04  Darin Adler  <darin@apple.com>
3005
3006         Reviewed by Adele.
3007
3008         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7291
3009           REGRESSION: delete key does not work in isIndex fields
3010
3011         * platform/mac/WebCoreTextField.mm:
3012         (inputElement): Added. Helper function to get the Objective-C wrapper for an
3013         input element associated with a QTextEdit. Returns nil if the element is not
3014         an input element. The bug was caused by passing a non-input element to the
3015         delegate methods.
3016         (-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
3017         and don't make the delegate call at all if there is none. This happens only
3018         with isindex elements; it's not important to have auto-fill work with those.
3019         (-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
3020         (-[KWQTextFieldController controlTextDidChange:]): Ditto.
3021         (-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
3022         (-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
3023         (-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.
3024
3025 2006-06-04  Darin Adler  <darin@apple.com>
3026
3027         Reviewed by Anders.
3028
3029         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8995
3030           memory leak in XPath code -- seen in layout tests
3031         - fixed malloc error on exit due to SVGDOMImplementation destructor
3032         - attempted to fix the no-XPATH_SUPPORT build by adding an #if
3033         - changed around includes and header-file formatting in XPath code
3034
3035         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
3036         generating the bindings for XPathNSResolver.
3037
3038         * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
3039         SVGDOMImplementation.
3040         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
3041
3042         * ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
3043         * ksvg2/svg/SVGDOMImplementation.cpp:
3044         (SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
3045         (SVGDOMImplementation::createDocument): Remove a reference to KDOMView.
3046
3047         * xpath/XPathExpression.cpp:
3048         (WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
3049         reference count churn.
3050         (WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
3051         relies on it being 0 when the function succeeds.
3052
3053         * xpath/XPathResult.cpp:
3054         (WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
3055         unneeded target node data member.
3056         (WebCore::XPathResult::XPathResult): Updated for enum name changes and
3057         InvalidatingEventListener name change. Added an assertion.
3058
3059         * xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
3060         for createFunction to be a String instead of char*.
3061         * xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
3062         used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
3063         the Interval functions inline.
3064         (WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
3065         (WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
3066         Use equalIgnoringCase() instead of calling lower() on two strings.
3067         (WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
3068         this function. Also removed a duplicate entry for the "last" function.
3069         (WebCore::XPath::createFunction): Changed from a member function to a separate function.
3070         Also changed so that if the args are not used in the function they are deleted.
3071         This was one of the sources of the storage leaks.
3072
3073         * xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
3074         specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
3075         tokens that were declared as <str> but weren't actually using the string to be
3076         declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
3077         unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
3078         call delete functions instead that both unregister and delete. Change call sites for
3079         createFunction to just use the String, removing the deprecatedString().latin1() call
3080         that is no longer needed. Added a call to unregisterParseNode that was missing in the
3081         "FilterExpr DescendantOrSelf RelativeLocationPath" production.
3082
3083         * xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
3084         and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
3085         part of the Parser class last. Moved a number of private things inside the cpp file.
3086         * xpath/impl/XPathParser.cpp:
3087         (WebCore::XPath::charCat): Made this a separate function, instead of a static member.
3088         (WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
3089         allowing use of a map instead of a map pointer.
3090         (WebCore::XPath::isNodeTypeName): Ditto.
3091         (WebCore::XPath::Parser::isOperatorContext): Made this const.
3092         (WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
3093         By using the actual types, we can safely use overload instead.
3094         (WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
3095         (WebCore::XPath::Parser::lexNumber): Ditto.
3096         (WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
3097         Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
3098         confusing and is also a bit more explicit.
3099         (WebCore::XPath::Parser::lexQName): Ditto.
3100         (WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
3101         to remove some unneeded else statements.
3102         (WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
3103         to decide what the type is. This matches what the grammar expects, and removes the need
3104         for the token object to track which part of the value is good and the need to reserve 0
3105         to have a special meaning.
3106         (WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
3107         expressions in the predicate and expression vectors. Before, we were only deleting
3108         the vectors. This was one of the sources of the storage leaks.
3109         (WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
3110         the vector. However this does not delete the predicates in the vector.
3111         (WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
3112         the vector. However this does not delete the expressions in the vector.
3113         (WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.
3114
3115         * xpath/impl/XPathPredicate.h:
3116         * xpath/impl/XPathPredicate.cpp:
3117         (WebCore::XPath::NumericOp::NumericOp): Changed opcode from an int to an enum, and
3118         renamed to "opcode" instead of "opCode".
3119         (WebCore::XPath::NumericOp::doEvaluate): More of the same.
3120         (WebCore::XPath::EqTestOp::EqTestOp): Ditto.
3121         (WebCore::XPath::EqTestOp::doEvaluate): Ditto.
3122         (WebCore::XPath::LogicalOp::LogicalOp): Ditto.
3123         (WebCore::XPath::LogicalOp::shortCircuitOn): Ditto.
3124         (WebCore::XPath::Predicate::evaluate): Removed an unneeded "new".
3125
3126         * xpath/impl/XPathStep.h:
3127         * xpath/impl/XPathStep.cpp: Renamed AxisType to Axis. Removed unused axisAsString
3128         function and default constructor.
3129
3130         * xpath/impl/XPathValue.h: Renamed the type constants to have a Value suffix,
3131         instead of the underscore suffix used before on NodeVector and String.
3132         * xpath/impl/XPathValue.cpp: Updated for name change. Added asserts.
3133
3134         * xpath/impl/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::doEvaluate):
3135         Use a reference instead of a pointer.
3136
3137         * xpath/XPathEvaluator.cpp:
3138         * xpath/XPathEvaluator.h:
3139         * xpath/XPathExpression.h:
3140         * xpath/XPathNSResolver.cpp:
3141         * xpath/XPathNSResolver.h:
3142         * xpath/XPathNamespace.cpp:
3143         * xpath/XPathNamespace.h:
3144         * xpath/XPathResult.h:
3145         * xpath/impl/XPathExpressionNode.cpp:
3146         * xpath/impl/XPathExpressionNode.h:
3147         * xpath/impl/XPathPath.cpp:
3148         * xpath/impl/XPathPath.h:
3149         * xpath/impl/XPathUtil.cpp:
3150         * xpath/impl/XPathUtil.h:
3151         * xpath/impl/XPathVariableReference.h:
3152         Reformatted and changed includes around; no substantive changes.
3153
3154 2006-06-04  Sam Weinig  <sam.weinig@gmail.com>
3155
3156         Reviewed by hyatt.
3157
3158         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9213
3159           Absolutely positioned objects with relatively positioned inline 
3160           containing blocks are rendered incorrectly
3161
3162         * rendering/RenderBox.cpp:
3163         (WebCore::RenderBox::containingBlockWidthForPositioned):
3164         (WebCore::RenderBox::containingBlockHeightForPositioned):
3165         (WebCore::RenderBox::calcAbsoluteHorizontal):
3166         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3167         (WebCore::RenderBox::calcAbsoluteVertical):
3168         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3169         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
3170         * rendering/RenderBox.h:
3171
3172 2006-06-04  Anders Carlsson  <acarlsson@apple.com>
3173
3174         Reviewed by Darin.
3175
3176         http://bugzilla.opendarwin.org/show_bug.cgi?id=9035
3177         document.evaluate and createNSResolver miss on namespaced elements
3178         
3179         * xpath/XPathExpression.cpp:
3180         (WebCore::XPathExpression::createExpression):
3181         Pass the resolver to the parser.
3182         
3183         * xpath/XPathResult.cpp:
3184         (WebCore::XPathResult::iterateNext):
3185         Fix off-by-one error.
3186         
3187         * xpath/impl/XPathExpressionNode.h:
3188         (WebCore::XPath::EvaluationContext::EvaluationContext):
3189         Get rid of the resolver in the evaluation context.
3190         
3191         * xpath/impl/XPathGrammar.y:
3192         Fetch the resolver from the parser. Only return the local name.
3193         
3194         * xpath/impl/XPathParser.cpp:        
3195         (WebCore::XPath::Parser::parseStatement):
3196         * xpath/impl/XPathParser.h:
3197         (WebCore::XPath::Parser::resolver):
3198         Update to hold the resolver.
3199         
3200         * xpath/impl/XPathStep.cpp:
3201         (WebCore::XPath::Step::Step):
3202         If the parser has stored a namespace URI, set it.
3203         
3204         (WebCore::XPath::Step::nodeTestMatches):
3205         Check namespace URIs.
3206         
3207         * xpath/impl/XPathStep.h:
3208         Add m_namespaceURI.
3209
3210 2006-06-03  Rob Buis  <buis@kde.org>
3211
3212         Reviewed by mjs.  Tweaked and landed by ddkilzer.
3213
3214         http://bugzilla.opendarwin.org/show_bug.cgi?id=7281
3215         With java disabled wrong information is displayed.
3216
3217         Test: fast/replaced/applet-rendering-java-disabled.html
3218
3219         Match WinIE, render applet content inline when java is
3220         disabled. 
3221
3222         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RenderEmptyApplet.cpp and RenderEmptyApplet.h.
3223         * WebCore.xcodeproj/project.pbxproj: Ditto.
3224         * WebCoreSources.bkl: Ditto.
3225         * html/HTMLAppletElement.cpp:
3226         (WebCore::HTMLAppletElement::createRenderer):
3227         * rendering/RenderEmptyApplet.cpp: Removed.
3228         * rendering/RenderEmptyApplet.h: Removed.
3229
3230 2006-06-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3231
3232         Reviewed by Hyatt.
3233
3234         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9252
3235           REGRESSION: Very odd roll-over issues (content disappearing)
3236
3237         Test: fast/dom/HTMLLinkElement/pending-stylesheet-count.html
3238
3239         * html/HTMLLinkElement.cpp:
3240         (WebCore::HTMLLinkElement::~HTMLLinkElement): If the stylesheet was being
3241         loaded, call stylesheetLoaded() on the document, to keep the pending stylesheet
3242         count correct.
3243
3244 2006-06-03  Darin Adler  <darin@apple.com>
3245
3246         - fix Windows build
3247
3248         * platform/Widget.h: Moved scaleFactor function out of Apple-specific
3249         section of the header into the common part.
3250
3251 2006-06-03  Beth Dakin  <bdakin@apple.com>
3252
3253         Reviewed by Darin.
3254
3255         Fix for <rdar://problem/4537274> HiDPI: <canvas> needs to apply a 
3256         scale. <canvas> needs to scale itself along with whatever scale 
3257         factor is set on the window.
3258
3259         * html/HTMLCanvasElement.cpp:
3260         (WebCore::HTMLCanvasElement::createDrawingContext): Get the scale 
3261         factor and use it to create a larger buffer and to scale the 
3262         CGContext.
3263         * platform/Widget.h: Provide a new function that returns the user 
3264         space scale factor.
3265         * platform/mac/WidgetMac.mm:
3266         (WebCore::Widget::scaleFactor): Get the scale factor from the 
3267         window and return it.
3268         * platform/win/WidgetWin.cpp:
3269         (WebCore::Widget::scaleFactor): Just return 1.0f for now.
3270
3271 2006-06-03  Steve Falkenburg  <sfalken@apple.com>
3272
3273         Reviewed by hyatt.
3274
3275         Don't send empty referrers.  Fixes image load fail on Spinneret default content.
3276
3277         * platform/win/TransferJobWin.cpp:
3278         (WebCore::TransferJob::start):
3279
3280 2006-06-02  Adele Peterson  <adele@apple.com>
3281
3282         Reviewed by Darin. 
3283
3284         Windows theme for textareas.  Also made some formatting changes. 
3285
3286         * rendering/RenderThemeWin.cpp:
3287         (WebCore::RenderThemeWin::supportsFocus):
3288         (WebCore::RenderThemeWin::getThemeData):
3289         (WebCore::RenderThemeWin::adjustButtonStyle):
3290         (WebCore::RenderThemeWin::adjustTextFieldStyle):
3291         (WebCore::RenderThemeWin::adjustTextAreaStyle):
3292         (WebCore::RenderThemeWin::paintTextArea):
3293         * rendering/RenderThemeWin.h:
3294         (WebCore::RenderThemeWin::supportsHover):
3295
3296 2006-06-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
3297
3298         Reviewed by Hyatt, checked in by Tim H.
3299
3300         Explicitly run perl on *.pl files instead of relying
3301         on Windows shell figuring out which program to run for
3302         this extention.
3303
3304         * DerivedSources.make:
3305
3306 2006-06-02  David Carson  <dacarson@gmail.com>
3307
3308         Reviewed by Hyatt, checked in by Tim H.
3309
3310         fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9115
3311         Changed RenderLayer to only render layers that are not
3312         totally transparent.
3313
3314         * rendering/RenderLayer.cpp
3315         (RenderLayer::paintLayer):
3316         Changed function to also check if the layer is totally transparent
3317         and if it is, don't bother painting it.
3318
3319 2006-06-02  Rob Buis  <buis@kde.org>
3320
3321         Reviewed by Hyatt, checked in by Tim H.
3322
3323         http://bugzilla.opendarwin.org/show_bug.cgi?id=8223
3324         WebKit fails to update style on element via DOM
3325
3326         Handle !important by detecting it and using a different code
3327         path from normal priority.
3328
3329         * bindings/js/kjs_css.cpp:
3330         (KJS::DOMCSSStyleDeclaration::put):
3331         * css/CSSStyleDeclaration.cpp:
3332         (WebCore::CSSStyleDeclaration::setProperty):
3333         * css/CSSStyleDeclaration.h:
3334
3335 2006-06-02  Darin Adler  <darin@apple.com>
3336         
3337         Reviewed by Geoff, checked in by Maciej.
3338         
3339         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9236
3340         REGRESSION: focus method does not work on some elements before they are laid out
3341         
3342         * dom/Element.cpp: (WebCore::Element::focus): Do the updateLayout call before
3343         calling isFocusable, since isFocusable looks at the size of the renderer.
3344         
3345 2006-06-02  Steve Falkenburg  <sfalken@apple.com>
3346
3347         Reviewed by darin.
3348
3349         Platform hookup fixes
3350
3351         * bridge/win/FrameWin.cpp:
3352         (WebCore::FrameWin::urlSelected):
3353         (WebCore::FrameWin::setTitle):
3354         (WebCore::FrameWin::setStatusBarText):
3355         * bridge/win/FrameWin.h:
3356         * platform/win/TemporaryLinkStubs.cpp:
3357         (FrameWin::overrideMediaType):
3358         * platform/win/TransferJobWin.cpp:
3359         (WebCore::TransferJobWndProc):
3360         (WebCore::TransferJob::start):
3361         (WebCore::TransferJob::fileLoadTimer):
3362         (WebCore::TransferJob::cancel):
3363
3364 2006-06-02  RĂ©mi Zara  <remi_zara@mac.com>
3365
3366         Reviewed by Hyatt.
3367
3368         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3379
3369           attr(X) does not work
3370
3371         Test: fast/css-generated-content/016.html
3372
3373         * css/cssstyleselector.cpp:
3374         (WebCore::CSSStyleSelector::canShareStyleWithElement): Don't share style
3375         if the unique bit is set.
3376         (WebCore::CSSStyleSelector::applyProperty): When applying the "attr" property,
3377         set the unique bit and add to m_selectorAttrs.
3378
3379         * rendering/render_style.cpp: Did a lot of reformatting, and this one real change.
3380         (WebCore::RenderStyle::RenderStyle): Initialize m_unique to false.
3381
3382         * rendering/render_style.h:
3383         (WebCore::RenderStyle::unique): Added. Returns value of m_unique.
3384         (WebCore::RenderStyle::setUnique): Added. Sets m_unique.
3385
3386 2006-06-02  David Kilzer  <ddkilzer@kilzer.net>
3387
3388         Reviewed by mjs.
3389
3390         http://bugzilla.opendarwin.org/show_bug.cgi?id=9183
3391         Finish renaming of RenderCanvas to RenderView
3392
3393         * rendering/RenderView.h: Changed renderName from "RenderCanvas" to "RenderView".
3394
3395 2006-06-01  Darin Adler  <darin@apple.com>
3396
3397         - try to fix Windows build
3398
3399         * bridge/win/FrameWin.cpp: Added include of Decoder.h.
3400
3401 2006-06-01  Darin Adler  <darin@apple.com>
3402
3403         Reviewed by Maciej.
3404
3405         - WebCore doesn't need to load WebKit images any more; removed code for that
3406
3407         * WebCore.exp: Removed WebCoreImageRendererFactory.
3408         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRendererFactory.h/mm.
3409         * bridge/mac/WebCoreFrameBridge.mm: Removed include of WebCoreImageRendererFactory.h.
3410         * platform/mac/ImageMac.mm: Removed include of WebCoreImageRendererFactory.h.
3411         * platform/mac/WebCoreImageRendererFactory.h: Removed.
3412         * platform/mac/WebCoreImageRendererFactory.m: Removed.
3413
3414 2006-06-01  Sam Weinig  <sam.weinig@gmail.com>
3415
3416         Reviewed by Geoff, tweaked a bit by Darin.
3417
3418         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9064
3419           Split dom2_traversalimpl.* into separate files (one class per file).
3420
3421         * WebCore.xcodeproj/project.pbxproj: Updated for new files.
3422         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
3423
3424         * bindings/js/kjs_traversal.h:
3425         * bindings/scripts/CodeGeneratorJS.pm:
3426         * bindings/objc/DOM.mm:
3427         * dom/Document.cpp:
3428         * dom/Document.h:
3429         Updated includes.
3430
3431         * dom/NodeFilter.cpp: Added.
3432         * dom/NodeFilter.h: Added.
3433         * dom/NodeFilterCondition.cpp: Added.
3434         * dom/NodeFilterCondition.h: Added.
3435         * dom/NodeIterator.cpp: Added.
3436         * dom/NodeIterator.h: Added.
3437         * dom/Traversal.cpp: Added.
3438         * dom/Traversal.h: Added.
3439         * dom/TreeWalker.cpp: Added.
3440         * dom/TreeWalker.h: Added.
3441
3442         * dom/dom2_traversalimpl.cpp: Removed.
3443         * dom/dom2_traversalimpl.h: Removed.
3444
3445 2006-06-01  David Carson  <dacarson@gmail.com>
3446
3447         Reviewed by Maciej and Adele
3448
3449         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8398
3450         REGRESSION: LABEL in OPTION element is clobbering display #TEXT
3451         Patch provided by Darin.
3452         
3453         * rendering/RenderSelect.cpp
3454         (RenderSelect::updateFromElement): 
3455         Changed to use the containing text by default, and not the label text
3456
3457 2006-06-01  David Carson  <dacarson@gmail.com>
3458
3459         Reviewed by Hyatt.
3460
3461         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8646
3462         Correcting the value returned for window.screen.pixelDepth and
3463         window.screen.colorDepth
3464         
3465         * platform/mac/ScreenMac.mm
3466         (screenDepth): 
3467         Changed to return the BitsPerPixelFromDepth rather than the WindowDepth
3468
3469 2006-06-01  Adele Peterson  <adele@apple.com>
3470
3471         Reviewed by Maciej.
3472
3473         Missed an initialization in my last checkin which caused too many
3474         resizers to be drawn.
3475
3476         * rendering/render_style.cpp: (WebCore::resize):
3477         Initialize resize to RESIZE_NONE.
3478
3479 2006-06-01  Dave Hyatt <hyatt@apple.com>
3480
3481         Implement form POST using WinINet.  This code is crazy... CRAZY!
3482
3483         * platform/TransferJobInternal.h:
3484         (WebCore::TransferJobInternal::TransferJobInternal):
3485         * platform/win/CookieJarWin.cpp:
3486         (WebCore::setCookies):
3487         (WebCore::cookies):
3488         * platform/win/TransferJobWin.cpp:
3489         (WebCore::TransferJobWndProc):
3490         (WebCore::TransferJob::start):
3491
3492 2006-06-01  Adele Peterson  <adele@apple.com>
3493
3494         Reviewed by Hyatt.
3495
3496         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9216
3497         Implement CSS3 resize property
3498
3499         * css/html4.css: Sets resize:both for textareas. This won't affect old-style textareas.
3500
3501         * css/CSSPropertyNames.in: Added resize property.
3502         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Added case for CSS_PROP_RESIZE.
3503         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
3504         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): ditto.
3505
3506         * rendering/render_style.cpp: (WebCore::StyleCSS3InheritedData): Initialize resize.
3507         * rendering/render_style.h:
3508         (WebCore::): Added EResize enum.
3509         (WebCore::RenderStyle::resize):
3510         (WebCore::RenderStyle::setResize):
3511         (WebCore::RenderStyle::initialResize):
3512
3513         * page/FrameView.cpp:
3514         (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_resizeLayer to keep track of a layer that has begun resizing.
3515         (WebCore::FrameViewPrivate::reset): Reset m_resizeLayer.
3516         (WebCore::FrameView::handleMousePressEvent): If the mouse was pressed in a layer's resize control, then put the layer into resize mode.
3517         (WebCore::selectCursor): Updated so we get a pointer cursor for the resize control.
3518         (WebCore::FrameView::handleMouseMoveEvent): If there's a layer currently resizing, then tell the layer to continue resizing.
3519         (WebCore::FrameView::handleMouseReleaseEvent): If there's a layer currently resizing, then pull it out of resize mode.
3520
3521         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isPointInScrollbar): Updated so the resize control isn't considered part of the scrollbar.
3522         * rendering/RenderLayer.cpp:
3523         (WebCore::RenderLayer::RenderLayer): Initialize m_inResizeMode
3524         (WebCore::RenderLayer::updateLayerPositions): Calls positionResizeControl.
3525         (WebCore::RenderLayer::resize): Added. Sets a new width and height based on the current mouse point.
3526         (WebCore::RenderLayer::isPointInResizeControl): Added.
3527         (WebCore::RenderLayer::positionResizeControl): Added.
3528         (WebCore::RenderLayer::positionScrollbars): Calls positionResizeControl.