34c0b5d9c78508cef6719b1d8634867bdbd989a3
[WebKit-https.git] / WebCore / ChangeLog
1 2006-07-16  Darin Adler  <darin@apple.com>
2
3         Reviewed by John Sullivan.
4
5         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9943
6           <rdar://problem/4590613>
7           REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns
8
9         The problem turns out to be the fact that body.offsetLeft is returning a non-zero value.
10         I have no idea why the menus worked in Tiger Safari, because body.offsetLeft behavior has not changed.
11         Presumably some other bug that we fixed had been compensating.
12
13         Test: fast/html/body-offset-properties.html
14
15         * rendering/RenderObject.cpp:
16         (WebCore::RenderObject::offsetLeft): Always return 0 for any object without an offsetParent.
17         (WebCore::RenderObject::offsetTop): Ditto.
18         (WebCore::RenderObject::offsetParent): Return 0 for the body (treat as a special case).
19
20 2006-07-16  Beth Dakin  <bdakin@apple.com>
21
22         Reviewed by Maciej.
23
24         Fix for <rdar://problem/4616595> REGRESSION: Problems with world 
25         clock widget clock hand motion on 9A211 + 4604574
26
27         The second hand on the widget was jiggling because the rotation was 
28         messing up the use of the affine transformation matrix while 
29         rounding to pixel boundaries in device space. We are mainly 
30         concerned with rounding to pixel boundaries with the scale in mind, 
31         so this patch extracts the scale to device space from the matrix, 
32         and rounds to pixel boundaries using only the scale. This doesn't 
33         seem like it is a perfect solution, but it definitely solves the 
34         immediate problem. We will probably need to re-address what should 
35         happen to avoid pixel cracks with rotations at non-integral scale 
36         factors. 
37
38         * platform/cg/GraphicsContextCG.cpp:
39         (WebCore::GraphicsContext::roundToDevicePixels):
40
41 2006-07-15  Darin Adler  <darin@apple.com>
42
43         - fix mistake from fix for 8952 that was breaking layout tests
44
45         * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
46         Justin was right! I changed the behavior of the function by accident. Changed it
47         back so that it doesn't blow away the selection on the DOM side in the case where
48         it didn't before.
49
50         I will write 100 times on the blackboard: "When Justin says something about editing,
51         assume he is right."
52
53 2006-07-15  Darin Adler  <darin@apple.com>
54
55         - try to fix Windows build
56
57         * WebCore.vcproj/WebCore/WebCore.vcproj: Added StreamingTextDecoderICU.cpp/h.
58
59 2006-07-15  Darin Adler  <darin@apple.com>
60
61         Reviewed by John Sullivan.
62
63         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8952
64           <rdar://problem/4575185>
65           REGRESSION: crash on drag of highlighted Google custom home page modules
66
67         Test: fast/dynamic/move-node-with-selection.html
68
69         * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
70         Call updateRendering before calling clearSelection(), since it's important to do any
71         work beforehand, and there are calls inside clearSelection that will indirectly do an
72         updateRendering. Also change code to make fewer assumptions about object lifetime.
73
74 2006-07-15  Darin Adler  <darin@apple.com>
75
76         Reviewed by John Sullivan.
77
78         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8587
79           <rdar://problem/4631844>
80           REGRESSION: {display:list-item} on items outside an ol or ul element no longer causes incremental numbering
81
82         Test: fast/lists/numeric-markers-outside-list.html
83
84         * rendering/RenderListItem.cpp: (WebCore::previousListItem):
85         Look for list items, even when we're outside any list.
86
87 2006-07-15  Adele Peterson  <adele@apple.com>
88
89         Reviewed by John.
90
91         - Fix for <rdar://problem/4593970> REGRESSION (NativeTextField): autofill menu disappears after typing a 2nd character
92
93         This was caused by composite editing commands, (like typing or pasting) that include a DeleteCommand, being
94         interpreted by the form delegate as an actual delete.  This fix doesn't notify the form delegate if the deletion is
95         part of an editing command to replace the selected text.
96
97         * editing/DeleteSelectionCommand.h: Added m_replace to keep track of whether this deletion is 
98           part of a composite command to replace the text being deleted.
99         * editing/DeleteSelectionCommand.cpp:
100         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize m_replace.
101         (WebCore::DeleteSelectionCommand::doApply): Only notify the form delegate of the deletion if the text is not being replaced.
102         * editing/CompositeEditCommand.h:
103         * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteSelection): 
104           Added replace argument to construct DeleteSelectionCommand.
105           
106         * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Call deleteSelection with replace argument.
107         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): ditto.
108
109 2006-07-15  Geoffrey Garen  <ggaren@apple.com>
110
111         Reviewed by Maciej, tweaked to match Darin's patch.
112         
113         - Fixed <rdar://problem/4631837> REGRESSION: Reproducible crash on 
114         FCKeditor demo (9911)
115         
116         * WebCore.xcodeproj/project.pbxproj:
117         * bindings/js/kjs_html.cpp:
118         (KJS::JSHTMLDocument::putValueProperty): Check for a null body element before
119         forwarding the put request to it. I confirmed that no other parts of the 
120         file use 'body' or 'bodyElement' without checking for null. 
121         
122         Also, use 'body' rather than 'bodyElement' because dir can bet set on 
123         any element, not just HTMLBodyElement.
124
125 2006-07-15  Darin Adler  <darin@apple.com>
126
127         Reviewed by Adele.
128
129         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8871
130           <rdar://problem/4575417>
131           REGRESSION: Pressing Enter/Return in a text input removes the selected text
132
133         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9743
134           <rdar://problem/4614228>
135           REGRESSION: crash dispatching JavaScript-created keyboard event to input element
136
137         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::doTextFieldCommandFromEvent):
138         Add a null check to fix the crash, and a FIXME explaining why this is not necessarily
139         enough for the future.
140
141         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
142         Consume Enter key keypress events even if the element is not in a form.
143
144         * platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent): Added \n to the
145         characters that turn into "Enter". Actual keyboard events always are \r or \003 on
146         the Macintosh, but in layout tests we can use \n, and everything other than the
147         code path here works, so worth fixing.
148
149 2006-07-15  Darin Adler  <darin@apple.com>
150
151         Reviewed by John Sullivan.
152
153         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9883
154           <rdar://problem/4631821>
155           REGRESSION: NativePopups don't work correctly in some forum software
156
157         Test: fast/forms/select-selected.html
158
159         * rendering/RenderMenuList.h:
160         * rendering/RenderMenuList.cpp:
161         (WebCore::RenderMenuList::updateFromElement): Added code to map the selected option
162         index to a list index before using it to index into the list.
163         (WebCore::RenderMenuList::showPopup): Added code to map the selection option index
164         to a list index before passing it to the menu renderer.
165         (WebCore::RenderMenuList::valueChanged): Added code to map the list index back to a
166         option index before calling setSelectedIndex (that function takes an option index).
167
168 2006-07-15  Darin Adler  <darin@apple.com>
169
170         Reviewed by John Sullivan.
171
172         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
173           REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
174
175         * bindings/objc/DOM.mm:
176         (-[DOMNode addEventListener:::]): Moved into DOMEventTarget category.
177         (-[DOMNode removeEventListener:::]): Ditto.
178         (-[DOMNode dispatchEvent:]): Ditto.
179
180         * WebCore.xcodeproj/project.pbxproj: Allow Xcode to do its thing.
181
182 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
183
184         Reviewed by Anders.
185
186         <rdar://problem/4632144> REGRESSION: table column tests failing as a result of very recent fix
187
188         * rendering/RenderTable.cpp:
189         (WebCore::RenderTable::addChild): columns and colgroups are valid children of a table too, not
190         just table sections!
191
192 2006-07-15  Anders Carlsson  <acarlsson@apple.com>
193
194         Reviewed by Darin.
195
196         http://bugzilla.opendarwin.org/show_bug.cgi?id=9866
197         <rdar://problem/4631561>
198         REGRESSION: Repro crash from mangleme using iframe, only from server.
199         
200         * html/HTMLIFrameElement.cpp:
201         (WebCore::HTMLIFrameElement::attach):
202         Add null check for contentFrame() since content frames won't be created for invalid URLs.        
203
204 2006-07-14  Alexey Proskuryakov  <ap@nypop.com>
205
206         Reviewed by Darin.
207
208         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4195
209         REGRESSION: KOI8-U encoding no longer supported.
210
211         Tests:
212         * http/tests/misc/BOM-override.pl
213         * http/tests/misc/BOM-override-script.html
214         * fast/encoding/charset-koi8-u.html
215         * fast/encoding/charset-x-nextstep.html
216
217         Restored a TEC code path for encodings that are not supported by ICU (but which currently
218         passes all layout tests even by itself with ICU disabled). A lot of refactoring is 
219         still needed - most importantly, round-tripping encoding names via CFStringEncoding 
220         makes little sense now.
221
222         * WebCore.exp:
223         * bridge/mac/WebCoreTextDecoder.h: Removed.
224         * bridge/mac/WebCoreTextDecoder.mm: Removed.
225         WebCoreTextDecoder was not used anywhere since WebTextView was moved into WebCore.
226
227         * loader/Decoder.cpp:
228         (Decoder::Decoder):
229         (Decoder::setEncodingName):
230         (Decoder::decode):
231         Use StreamingTextDecoder::create().
232
233         * platform/StreamingTextDecoder.cpp:
234         (WebCore::StreamingTextDecoder::create):
235         (WebCore::StreamingTextDecoder::~StreamingTextDecoder):
236         * platform/StreamingTextDecoder.h:
237         StreamingTextDecoder is just an abstract interface to implementations now.
238
239         * platform/StreamingTextDecoderICU.cpp: Added.
240         (WebCore::StreamingTextDecoderICU::StreamingTextDecoderICU):
241         (WebCore::StreamingTextDecoderICU::~StreamingTextDecoderICU):
242         (WebCore::StreamingTextDecoderICU::releaseICUConverter):
243         (WebCore::StreamingTextDecoderICU::textEncodingSupported):
244         (WebCore::StreamingTextDecoderICU::convertUTF16):
245         (WebCore::StreamingTextDecoderICU::convertIfASCII):
246         (WebCore::StreamingTextDecoderICU::createICUConverter):
247         (WebCore::StreamingTextDecoderICU::appendOmittingBOM):
248         (WebCore::StreamingTextDecoderICU::convertUsingICU):
249         (WebCore::StreamingTextDecoderICU::convert):
250         (WebCore::StreamingTextDecoderICU::toUnicode):
251         (WebCore::StreamingTextDecoderICU::fromUnicode):
252         * platform/StreamingTextDecoderICU.h: Added.
253         Renamed from StreamingTextDecoder; added a way to tell whether the encoding is actually
254         supported by the decoder; minor cleanup.
255
256         * platform/TextEncoding.cpp:
257         (WebCore::TextEncoding::effectiveEncoding): Moved from StreamingTextDecoder.
258         (WebCore::TextEncoding::toUnicode): Use StreamingTextDecoder::create().
259         (WebCore::TextEncoding::fromUnicode): Moved to StreamingTextDecoderICU.
260         
261         * platform/TextEncoding.h: Changed __APPLE__ to PLATFORM(MAC); added effectiveEncoding().
262
263         * platform/mac/StreamingTextDecoderMac.cpp: Added.
264         (WebCore::StreamingTextDecoderMac::StreamingTextDecoderMac):
265         (WebCore::StreamingTextDecoderMac::~StreamingTextDecoderMac):
266         (WebCore::StreamingTextDecoderMac::releaseTECConverter):
267         (WebCore::StreamingTextDecoderMac::textEncodingSupported):
268         (WebCore::StreamingTextDecoderMac::convertUTF16):
269         (WebCore::StreamingTextDecoderMac::convertIfASCII):
270         (WebCore::StreamingTextDecoderMac::createTECConverter):
271         (WebCore::StreamingTextDecoderMac::appendOmittingBOM):
272         (WebCore::StreamingTextDecoderMac::convertOneChunkUsingTEC):
273         (WebCore::StreamingTextDecoderMac::convertUsingTEC):
274         (WebCore::StreamingTextDecoderMac::convert):
275         (WebCore::StreamingTextDecoderMac::toUnicode):
276         (WebCore::StreamingTextDecoderMac::fromUnicode):
277         * platform/mac/StreamingTextDecoderMac.h: Added.
278         (WebCore::StreamingTextDecoderMac::convert):
279         This is a TEC+CFString code path for decoding, basically restored from a year-old revision.
280
281         * platform/mac/TextEncodingMac.cpp: Removed. Code moved to StreamingTextDecoderMac.
282
283         * WebCore.xcodeproj/project.pbxproj:
284
285 === Safari-521.17 ===
286
287 2006-07-14  Timothy Hatcher  <timothy@apple.com>
288
289         <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
290
291         Made a DOMNode category in DOMEvents.h that lets DOMNode conform to the
292         DOMEventTarget protocol that works with GCC 5412.
293
294         Removed forward declarations of WebCoreWidgetHolder and imported WebCoreWidgetHolder.h.
295
296         Removed all <Cocoa/Cocoa.h> and <Foundation/Foundation.h> imports in other headers,
297         we import <Cocoa/Cocoa.h> in the prefix header for ObjC.
298
299         * WebCore.xcodeproj/project.pbxproj:
300         * bindings/objc/DOMCore.h:
301         * bindings/objc/DOMEvents.h:
302         * bridge/mac/FormDataMac.h:
303         * bridge/mac/WebCoreAXObject.h:
304         * bridge/mac/WebCoreCache.h:
305         * bridge/mac/WebCoreEncodings.h:
306         * bridge/mac/WebCoreFrameBridge.h:
307         * bridge/mac/WebCoreFrameNamespaces.h:
308         * bridge/mac/WebCoreJavaScript.h:
309         * bridge/mac/WebCorePageBridge.h:
310         * bridge/mac/WebCorePageState.h:
311         * bridge/mac/WebCoreResourceLoader.h:
312         * bridge/mac/WebCoreScriptDebugger.h:
313         * bridge/mac/WebCoreSettings.h:
314         * bridge/mac/WebCoreStringTruncator.h:
315         * bridge/mac/WebCoreStringTruncator.mm:
316         * bridge/mac/WebCoreTextDecoder.h:
317         * bridge/mac/WebDashboardRegion.h:
318         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
319         * platform/mac/CookieJar.mm:
320         * platform/mac/DeprecatedStringMac.mm:
321         * platform/mac/FontDataMac.mm:
322         * platform/mac/FoundationExtras.h:
323         * platform/mac/TextBoundaries.mm:
324         * platform/mac/WebCoreHistory.h:
325         * platform/mac/WebCoreHistory.m:
326         * platform/mac/WebCoreKeyGenerator.h:
327         * platform/mac/WebCoreTextArea.h:
328         * platform/mac/WebCoreTextField.h:
329         * platform/mac/WebCoreTextRenderer.h:
330         * platform/mac/WebCoreView.h:
331         * platform/mac/WebCoreWidgetHolder.h:
332
333 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
334
335         Reviewed by Maciej.
336
337         - Updated ScriptInterpreter to work with Interpreter ref-counting in 
338         JavaScriptCore.
339
340         (KJS::ScriptInterpreter::~ScriptInterpreter): Now protected to catch
341         manual delete.
342
343 2006-07-14  Anders Carlsson  <acarlsson@apple.com>
344
345         Reviewed by Adele and Justin.
346
347         http://bugzilla.opendarwin.org/show_bug.cgi?id=9658
348         <rdar://problem/4613948>
349         REGRESSION: Check Spelling does not work in textarea elements
350         
351         * bridge/mac/FrameMac.mm:
352         (WebCore::FrameMac::advanceToNextMisspelling):
353         Don't use setStartBefore or setEndAfter on the search range because for shadow trees, there
354         is no notion of before and after. Instead, use setStart and setEnd and pass in the start and end
355         indices respectively.
356         
357         * dom/Range.cpp:
358         (WebCore::Range::checkNodeBA):
359         Allow range operations on shadow trees.
360
361         * manual-tests/form-element-spelling.html: Added.
362
363 2006-07-14  Beth Dakin  <bdakin@apple.com>
364
365         Reviewed by Hyatt.
366
367         Fix for <rdar://problem/4621660> REGRESSION: Safari crashing in 
368         WebCore::FrameView::updateOverflowStatus
369
370         m_viewportRenderer is never initialized for framesets, and it 
371         shouldn't be. So we just need to nil-check for it in 
372         updateOverflowStatus() and return early.
373
374         * page/FrameView.cpp:
375         (WebCore::FrameView::updateOverflowStatus): Nil check.
376
377 2006-07-14  Adele Peterson  <adele@apple.com>
378
379         RS by Darin.
380
381         Backing out fix for <rdar://problem/4604703> 
382         REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
383
384         Darin had a better fix in WebKit for this.
385
386         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
387
388 2006-07-14  Adele Peterson  <adele@apple.com>
389
390         Reviewed by Darin.
391
392         - Fix for <rdar://problem/4614054> REGRESSION: Safari submits forms when the Return key is hit to complete inline inputs
393
394         * page/Frame.h: (WebCore::Frame::inputManagerHasMarkedText): Added.
395         * bridge/mac/FrameMac.h: ditto.
396         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::inputManagerHasMarkedText): Added. Asks the input manager if there's marked text.
397         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): For text fields, don't submit the form on Enter
398         if the input manager says there's marked text.  I added this code for all text field paths.  For widgets, WebCoreTextField.mm
399         has code to deal with this case.  But as we convert search, password, and isindex, they will need to do this check too.
400
401 2006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
402
403         Reviewed by Darin.
404
405         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9907
406           REGRESSION (r15418): editing/pasteboard/paste-table-001 fails in pixel  mode
407
408         * rendering/RenderText.cpp:
409         (WebCore::RenderText::caretRect): Fixed the calculation of the max/min allowed caret
410         position.
411
412 2006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
413
414         Reviewed by Darin.
415
416         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9905
417           REGRESSION (r15404-r15415): Repro crash when pressing delete in an empty editable div
418
419         Test: editing/deleting/delete-at-start-or-end.html
420
421         * editing/TypingCommand.cpp:
422         (WebCore::TypingCommand::deleteKeyPressed): Added null check.
423         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
424
425 2006-07-14  David Kilzer  <ddkilzer@kilzer.net>
426
427         Reviewed by Geoffrey.
428
429         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9903
430           Simplify logic in JSHTMLOptionsCollection::setLength() by using no-arg getNumber()
431
432         No test cases since there is no change in functionality.
433
434         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
435         (WebCore::JSHTMLOptionsCollection::setLength):  Simplified logic by using the
436         no-argument getNumber() method.
437
438 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
439
440         Reviewed by Adele.
441
442         - Build fix: don't need BLOCK_OBJC_EXCEPTIONS because we already have
443         one surrounding this function, and the nested one makes the compiler
444         think our local variable is volatile (seems like a compiler bug to me).
445         
446         * bridge/mac/FrameMac.mm:
447         (WebCore::FrameMac::sendContextMenuEvent):
448
449 2006-07-14  Timothy Hatcher  <timothy@apple.com>
450
451         Reviewed by Maciej.
452
453         Make JavaScriptCore a public framework. Adjusted the paths.
454
455         * WebCore.xcodeproj/project.pbxproj:
456
457 2006-07-14  Maciej Stachowiak  <mjs@apple.com>
458
459         Reviewed by Hyatt.
460
461         - fixed <rdar://problem/4567031> REGRESSION: Crash at WebCore::RenderBlock::createLineBoxes (seems to be a security hole?)
462         
463         I also fixed all the similar crash / assertion failure cases I could think of.
464
465         * dom/Node.cpp:
466         (WebCore::Node::nextRendererWithSameParent): Helper function for some of the above.
467         * dom/Node.h:
468         * rendering/RenderTable.cpp:
469         (WebCore::RenderTable::addChild): Don't allow inserting forms when not in
470         an HTML document, since we don't need that quirk and because parsing won't
471         do certain render tree fixups. Also watch out for case when inserting before
472         the renderer of a misnested child.
473         * rendering/RenderTableRow.cpp:
474         (WebCore::RenderTableRow::addChild): ditto
475         * rendering/RenderTableSection.cpp:
476         (WebCore::RenderTableSection::addChild): ditto
477
478 2006-07-13  Adele Peterson  <adele@apple.com>
479
480         Reviewed by Maciej.
481
482         - Fix for <rdar://problem/4604703> 
483         REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field
484
485         Test:
486         * manual-tests/password-ctrl-click-lose-focus.html: Added.
487
488         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
489         If we're about to set a selection in the current view, make sure its the first responder.
490         In this case, this will cause the password field to resign first responder at the right time.
491
492 2006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
493
494         Reviewed by Hyatt.
495
496         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9670
497           REGRESSION: RTL white-space:pre-wrap text is offset to the right
498
499         Test: fast/text/international/rtl-white-space-pre-wrap.html
500
501         * rendering/RenderText.cpp:
502         (WebCore::RenderText::caretRect): Fixed LTR case and added the RTL case
503         of clipping the caret position to the text box when the caret is after
504         the trailing space of an autowrapped line.
505         * rendering/bidi.cpp:
506         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to truncate-
507         to-fit the logically last text box if it contains the trailing spaces of an
508         autowrapped line. 
509         (WebCore::RenderBlock::bidiReorderLine): Remember the logically last text run.
510         In the case of autowrapped text with white space that overflows beyond the line,
511         the last text run is the one containing the overflowing white space.
512         (WebCore::RenderBlock::findNextLineBreak): Split overflowing white space on a
513         line that autowraps only after white space into a separate text run.
514
515 2006-07-13  David Harrison  <harrison@apple.com>
516
517         Reviewed by Dave Hyatt.
518
519         <rdar://problem/4624203> -webkit-highlight should be behind images
520
521         * rendering/RenderImage.cpp:
522         (WebCore::RenderImage::paint):
523         * rendering/RenderListMarker.cpp:
524         (WebCore::RenderListMarker::paint):
525         * rendering/RenderWidget.cpp:
526         (WebCore::RenderWidget::paint):
527         Call custom highlighter before painting the image, marker, or widget.
528
529 2006-07-13  David Harrison  <harrison@apple.com>
530
531         Reviewed by Justin and Levi.
532
533         <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
534
535         * Tests:
536         editing/deleting/delete-by-word-001.html
537         editing/deleting/delete-by-word-002.html
538
539         * editing/TypingCommand.cpp:
540         (WebCore::TypingCommand::deleteKeyPressed):
541         (WebCore::TypingCommand::forwardDeleteKeyPressed):
542         (WebCore::TypingCommand::doApply):
543         * editing/TypingCommand.h:
544         Delete and forward delete to use specified granularity.
545         Undo of delete and forward delete to select what had been deleted (non-char granularity only).
546         
547         * page/Frame.cpp:
548         (WebCore::Frame::setSelection):
549         Close typing and end style even if selection is not changing.
550         * page/Frame.h:
551         Remove unused setSelection parameter keepTypingStyle.
552
553 2006-07-12  Levi Weintraub  <lweintraub@apple.com>
554
555         Reviewed by justin
556
557         <rdar://problem/4622763> Deleting from beginning of paragraph following a table deletes rather than selects the table
558
559         * editing/DeleteSelectionCommand.cpp:
560         (WebCore::DeleteSelectionCommand::initializeStartEnd): Added selection expansion for HRs.
561         (WebCore::DeleteSelectionCommand::initializePositionData): Now uses enclosingBlockFlowOrTableElement
562         instead of enclosingBlockFlowElement.
563         (WebCore::DeleteSelectionCommand::removeNode): Use to identify that we need a placeholder
564         when the start or end block is removed.
565         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Added check for canHaveChildrenForEditing
566         to keep things like HRs from being given children.
567         (WebCore::DeleteSelectionCommand::doApply): Switched to use member variable for needPlaceholder.
568         * editing/DeleteSelectionCommand.h: Made needPlaceholder a member variable.
569         * editing/TypingCommand.cpp:
570         (WebCore::TypingCommand::deleteKeyPressed): Fixed selection bug for tables and open typing commands.
571         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
572         * editing/htmlediting.cpp:
573         (WebCore::editingIgnoresContent): Added check for HRs, since it's not considered a widget.
574         * editing/visible_units.cpp:
575         (WebCore::startOfParagraph): Fix for HRs and tables.
576         (WebCore::endOfParagraph): Ditto.
577
578 2006-07-13  Alexey Proskuryakov  <ap@nypop.com>
579
580         Reviewed by Darin.
581
582         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9880
583           Memory leaks running DOM-Hanoi
584
585         No change in behavior, thus no test included.
586
587         * bridge/mac/FrameMac.mm:
588         (WebCore::FrameMac::setStatusBarText): Use a local autorelease pool to release the temporaries - 
589         the test runs non-stop, and the enclosing pool doesn't get a chance to be drained.
590
591 2006-07-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
592
593         Reviewed by Adele.
594
595         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9862
596           REGRESSION: GMail: Crash in RenderView::repaintViewRectangle when spoofing as FF
597         - see also <rdar://problem/4622407>
598
599         Test: fast/frames/repaint-display-none-crash.html
600
601         * rendering/RenderView.cpp:
602         (WebCore::RenderView::repaintViewRectangle): Added null checking of the owner element's
603         renderer, which can be null if the iframe is set to display:none.
604
605 2006-07-12  Justin Garcia  <justin.garcia@apple.com>
606
607         Reviewed by levi
608         
609         <rdar://problem/4509393>
610         selected DOM range starts with <object>, 0 offset but selection should include the <object>
611
612         * editing/ReplaceSelectionCommand.cpp:
613         (WebCore::ReplaceSelectionCommand::shouldMergeStart): 
614         Don't pull content out of a table cell.
615         * editing/htmlediting.cpp:
616         (WebCore::editingIgnoresContent): Added <select> nodes.
617         (WebCore::rangeCompliantEquivalent): Convert [node, 0] positions to positionBeforeNode(node)
618         for more types of nodes.
619         * rendering/RenderContainer.cpp:
620         (WebCore::RenderContainer::positionForCoordinates): 
621         Fix a crasher when right clicking on an anonymous table.
622
623 2006-07-12  John Sullivan  <sullivan@apple.com>
624
625         Reviewed by Brady Eidson
626         
627         - fixed <rdar://problem/4611164> REGRESSION: Crash occurs when undoing a series of 
628         misspelled words (WebCore::RenderObject::repaint(bool)
629
630         * dom/Document.cpp:
631         (WebCore::Document::removeMarkers):
632         put (it - markers.begin()) in a local variable before altering markers, in every case where this was
633         happening. One of the cases like this was fixed a while back, but other cases were
634         either missed at that time or crept in since. 
635
636 2006-07-13  Anders Carlsson  <acarlsson@apple.com>
637
638         Reviewed by Justin.
639
640         http://bugzilla.opendarwin.org/show_bug.cgi?id=9663
641         REGRESSION (r14948-r14956): Selection in text field remains highlighted when the text field loses focus
642         
643         * dom/Document.cpp:
644         (WebCore::Document::updateSelection):
645         Don't return early if the selection is empty.
646
647 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
648
649         Reviewed by Adele.
650
651         <rdar://problem/4614656> REGRESSION: onpaste() handlers don't run for textarea elements
652         
653         * bridge/mac/FrameMac.mm:
654         (WebCore::FrameMac::dispatchCPPEvent):
655         If the element is a shadow node, dispatch the event to its real parent.
656
657         * manual-tests/textarea-onpaste.html: Added.
658
659 2006-07-12  Beth Dakin  <bdakin@apple.com>
660
661         Reviewed by Anders.
662
663         Fix for layout test regressions after my check-in last night. Just 
664         a silly mistake where I should have asked if we were NOT printing 
665         instead of if we were in the listbox code.
666
667         * WebCore.xcodeproj/project.pbxproj: Project file wars. Back to 
668         XCode 2.3
669         * platform/mac/ListBoxMac.mm:
670         (itemTextRenderer): Inverted check.
671         (groupLabelTextRenderer): Inverted check.
672
673 2006-07-12  Darin Adler  <darin@apple.com>
674
675         Reviewed by Maciej.
676
677         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9806
678           <rdar://problem/4622622>
679           REGRESSION: Large rowspan causes WebKit to call abort()
680
681         Test: fast/table/large-rowspan-crash.html
682
683         * rendering/RenderTableSection.cpp:
684         (WebCore::RenderTableSection::ensureRows):
685         Use sizeof(RowStruct) instead of sizeof(int).
686         Clearly we'll need something better to solve this completely.
687         I expect another smaller, but still huge, value will still cause a problem.
688
689 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
690
691         Reviewed by Maciej.
692
693         <rdar://problem/4586665> REGRESSION: autorestore.apple.com: Crashes Safari in WebCore::Widget::client() const
694
695         * bridge/mac/FrameMac.h:
696         Add focusCallResultedInViewBeingCreated argument. 
697         
698         * bridge/mac/FrameMac.mm:
699         (WebCore::FrameMac::nextKeyViewInFrame):
700         If the call to focus() caused the node to get a native widget, set focusCallResultedInViewBeingCreated to true.
701         
702         (WebCore::FrameMac::nextKeyViewInFrameHierarchy):
703         Don't reset the focus node if focusCallResultedInViewBeingCreated is true. Also, add magic to prevent setting
704         a text field as the first responder if its field editor already is the current first responder.
705         
706         * page/FrameView.cpp:
707         (WebCore::FrameView::handleMousePressEvent):
708         In some cases, get the event target node again after dispatching the mouse event.
709
710 2006-07-12  Beth Dakin  <bdakin@apple.com>
711
712         Reviewed by Adele.
713
714         Fix for <rdar://problem/4615765> Input[type='search' fields 
715         initially render too large in Widgets
716
717         Fundamentally, the problem here is that we were miscalculating 
718         things because [NSGraphicsContext currentContextDrawingToScreen] 
719         was evaluating to false when widgets first load. We only ever used 
720         this check, however, to determine if we were printing or not, so it 
721         should not have evaluated to false for loading in Dashbaord. 
722         Instead, if we query the RenderView about whether or not we are 
723         printing, we will get the right answer.
724
725         No test case added since this appears only to affect Dashboard.
726
727         * bridge/mac/WebCoreFrameBridge.mm:
728         (-[WebCoreFrameBridge drawRect:]): Ask the RenderView if we are 
729         printing instead. This is not part of the actual bug fix, but it 
730         seems wise to get rid of all calls to [NSGraphicsContext 
731         currentContextDrawingToScreen] when we are just trying to determine 
732         if we are printing or not.
733         * platform/mac/ListBoxMac.mm:
734         (itemTextRenderer):This function now takes a boolean, isPrinting.
735         (groupLabelTextRenderer): Same as above.
736         (ListBox::sizeForNumberOfLines): Ask the RenderView if we are 
737         printing.
738         (-[WebCoreTableView drawRow:clipRect:]): Same as above.
739         * platform/mac/PopUpButtonMac.mm:
740         (PopUpButton::sizeHint): Same as above.
741         * platform/mac/TextFieldMac.mm:
742         (-[NSSearchFieldCell _addStringToRecentSearches:]):
743         * rendering/RenderLineEdit.cpp: Same as above.
744
745 2006-07-12  Adele Peterson  <adele@apple.com>
746
747         Reviewed by Maciej.
748
749         Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=9813
750         OPTION text can paint over select element's scrollbar
751
752         Test: fast/forms/option-text-clip.html
753
754         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::paintObject):
755         When calculating the clip to apply to the button text, also consider padding.
756         In the future, we may have separate renderers for the text part, and the arrow part
757         of the control, and then the separation should be natural.  For now, we use padding.
758
759 2006-07-11  David Kilzer  <ddkilzer@kilzer.net>
760
761         Windows build fix.  Reviewed by NOBODY.
762
763         * WebCore.vcproj/WebCore/WebCore.vcproj:  Added JSHTMLOptionsCollection.cpp/h
764         and JSHTMLOptionsCollectionCuston.cpp.  VC++ Express realphabetized the file list.
765
766 2006-07-11  Darin Adler  <darin@apple.com>
767
768         Reviewed by Adele.
769
770         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9809
771           <rdar://problem/4619515>
772           focus ring fails to appear on select element after choosing item from popup
773
774         - includes http://bugzilla.opendarwin.org/show_bug.cgi?id=9853
775           improvements to select element, including some storage leak fixes
776
777         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::index): Use a const
778         reference for the list items, so we don't have to copy a vector.
779         * html/HTMLSelectElement.cpp:
780         (WebCore::HTMLSelectElement::selectedIndex): Ditto.
781         (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
782         (WebCore::HTMLSelectElement::length): Ditto.
783         (WebCore::HTMLSelectElement::remove): Ditto.
784         (WebCore::HTMLSelectElement::value): Ditto.
785         (WebCore::HTMLSelectElement::setValue): Ditto.
786         (WebCore::HTMLSelectElement::stateValue): Ditto.
787         (WebCore::HTMLSelectElement::restoreState): Ditto.
788         (WebCore::HTMLSelectElement::appendFormData): Ditto.
789         (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
790         (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
791         (WebCore::HTMLSelectElement::recalcListItems): Made const, with the appropriate
792         fields mutable.
793         (WebCore::HTMLSelectElement::reset): Use a const reference for
794         the list items, so we don't have to copy the vector. Remove the call to
795         setSelectionChanged for the RenderMenuList case.
796         (WebCore::HTMLSelectElement::notifyOptionSelected): Ditto, on both counts.
797         (WebCore::HTMLSelectElement::defaultEventHandler): Call focus() before showing
798         the pop-up.
799         * html/HTMLSelectElement.h: The RenderMenuList class is no longer a friend.
800         Changed the listItems function to return a const reference to the vector so
801         it no longer copies the vector. Removed the const_cast to the call to
802         recalcListItems and changed it to a const member function. Made m_recalcListItems
803         mutable.
804         * rendering/DeprecatedRenderSelect.cpp:
805         (WebCore::DeprecatedRenderSelect::updateFromElement): Removed an unnecessary call
806         to recalcListItems, which is called automatically. Use a const reference for the
807         list items so we don't have to copy a vector.
808         (WebCore::DeprecatedRenderSelect::layout): Ditto.
809         (WebCore::DeprecatedRenderSelect::selectionChanged): Ditto.
810         (WebCore::DeprecatedRenderSelect::updateSelection): Ditto.
811         * rendering/RenderMenuList.cpp:
812         (WebCore::RenderMenuList::RenderMenuList): Updated for renamed data members.
813         (WebCore::RenderMenuList::createInnerBlock): Ditto.
814         (WebCore::RenderMenuList::addChild): Ditto.
815         (WebCore::RenderMenuList::removeChild): Ditto.
816         (WebCore::RenderMenuList::setStyle): Ditto. Also removed code to set the style
817         on the pop-up menu, because it's created with the correct style and destroyed
818         before it a style change could occur.
819         (WebCore::RenderMenuList::updateFromElement): Rearranged code to compute the
820         maximum width in a simpler fashion, and to not bother trying to maintain
821         the "selected" flags on the elements, since the HTMLSelectElement class
822         takes care of that. Store the width as an int. Call setText to set the text
823         based on the selected element's option text.
824         (WebCore::RenderMenuList::paintObject): Don't check m_inner when setting
825         up the clip -- always set up the clip.
826         (WebCore::RenderMenuList::calcMinMaxWidth): Use m_optionsWidth directly
827         instead of calling ceilf on m_longestWidth.
828         (WebCore::RenderMenuList::showPopup): Don't use m_popupMenu to store the
829         menu -- instead keep the pointer in a local variable. Get the selected
830         index from the HTMLSelectElement.
831         (WebCore::RenderMenuList::valueChanged): Call HTMLSelectElement::setSelectedIndex
832         to do most of the work.
833         * rendering/RenderMenuList.h: Renamed m_inner to m_innerBlock. Removed
834         m_popupMenu, m_size, m_selectionChanged, and m_selectedIndex. Renamed
835         m_longestWidth to m_optionsWidth and changed it to be an int. Removed
836         unneeded override of removeLeftoverAnonymousBoxes function. Removed
837         unneeded selectionChanged, setSelectionChanged, updateSelection, and
838         hasPopupMenu functions. Removed extra includes.
839         * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate):
840         Change to iterate the list items instead of iterating all children
841         of the select node.
842         * rendering/RenderPopupMenu.h: Renamed getRenderMenuList to menuList.
843         * rendering/RenderPopupMenuMac.mm:
844         (WebCore::RenderPopupMenuMac::populate): Moved code to clear and create
845         the pop-up here from the caller. Removed an extra retain that would cause
846         the NSPopUpButtonCell to leak.
847         (WebCore::RenderPopupMenuMac::showPopup): Removed unnecessary code to
848         create the pop-up, which is now in populate, and also the call to the
849         clear function, for the same reason. Reorganized code to make it a bit
850         more readable. Removed an unnecessary if to check if frame is nil.
851         Used a RefPtr to make sure we don't make a call on a frame after it's
852         deleted. As part of the reorganization fixed a problem where we'd retain
853         the event and then return early without releasing it in one case.
854         (WebCore::RenderPopupMenuMac::addSeparator): Tweaked a little.
855         (WebCore::RenderPopupMenuMac::addGroupLabel): Grouped all the code to
856         manage the NSMenu at the bottom of the function.
857         (WebCore::RenderPopupMenuMac::addOption): Ditto.
858
859 2006-07-11  Justin Garcia  <justin.garcia@apple.com>
860
861         Reviewed by levi
862         
863         <rdar://problem/4620686>
864         REGRESSION: Mispelling markers are still displayed when using the delete key to place caret into a misspelled word
865
866         * bridge/mac/FrameMac.mm:
867         (WebCore::FrameMac::respondToChangedSelection): Remove markers from newAdjacentWords 
868         even if oldAdjacentWords is equal to newAdjacentWords.  This happens during a deletion.
869         
870
871 2006-07-11  Tim Omernick  <timo@apple.com>
872
873         Reviewed by NOBODY (build fix)
874
875         * bindings/objc/DOMPrivate.h:
876         Don't @class NPObject; that breaks files that actually #import <JavaScriptCore/npruntime.h>, since the NPObject
877         there is of a different type.
878         Also clarified a highly misleading comment from my last commit.  I meant to clarify the comment
879         before landing.
880
881 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
882
883         Reviewed by Geoff.
884
885         http://bugzilla.opendarwin.org/show_bug.cgi?id=9635
886         REGRESSION: Crash when adding to cart at <http://www.yemeksepeti.com/>
887         
888         * html/HTMLTokenizer.cpp:
889         (WebCore::HTMLTokenizer::scriptHandler):
890         Don't load external scripts if the parser is stopped.
891         
892         * manual-tests/open-close-tokenizer-crash.html: Added.
893         * manual-tests/resources/empty-file.js: Added.
894         * manual-tests/resources/open-close-tokenizer-crash.html: Added.
895         Add manual test.
896
897 2006-07-11  John Sullivan  <sullivan@apple.com>
898
899         Reviewed by Kevin, Timo O, Brady, Darin, and Hyatt (whee!)
900
901         - added support for creating a selection image with white text
902
903         * rendering/RenderObject.h:
904         (WebCore::):
905         add PaintRestriction enum
906         (WebCore::RenderObject::PaintInfo::PaintInfo):
907         add forceWhiteText boolean to PaintInfo struct
908
909         * page/FramePrivate.h:
910         (WebCore::FramePrivate::FramePrivate):
911         replaced m_selectionOnly bool with m_paintRestriction, which also handles forcing the
912         text to white
913
914         * page/Frame.cpp:
915         (WebCore::Frame::paint):
916         updated to use & pass m_paintRestriction where it used to use & pass just m_selectionOnly
917
918         * bridge/mac/FrameMac.h:
919         * bridge/mac/FrameMac.mm:
920         (WebCore::FrameMac::selectionImage):
921         now takes forceWhiteText parameter, stored in FramePrivate as part of PaintRestriction
922
923         * bridge/mac/WebCoreFrameBridge.h:
924         * bridge/mac/WebCoreFrameBridge.mm:
925         (-[WebCoreFrameBridge selectionImageForcingWhiteText:]):
926         renamed from selectionImage, now takes forceWhiteText parameter, which is passed
927         down into Frame
928
929         * rendering/RenderLayer.h:
930         * rendering/RenderLayer.cpp:
931         (WebCore::RenderLayer::paint):
932         use a PaintRestriction value where we used to use a selectionOnly bool
933         (WebCore::RenderLayer::paintLayer):
934         ditto; also stores forceWhiteText in PaintInfo struct
935
936         * kcanvas/KCanvasResources.cpp:
937         (WebCore::KCanvasMarker::draw):
938         updated for changed signature of PaintInfo constructor
939
940         * ksvg2/svg/SVGMaskElement.cpp:
941         (WebCore::SVGMaskElement::drawMaskerContent):
942         ditto
943
944         * ksvg2/svg/SVGPatternElement.cpp:
945         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
946         ditto
947
948         * rendering/InlineTextBox.cpp:
949         (WebCore::InlineTextBox::paint):
950         paint with white text color if forceWhiteText is set in PaintInfo struct
951
952 2006-07-11  Tim Omernick  <timo@apple.com>
953
954         Reviewed by Anders.
955
956         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>:
957         Give Netscape plug-ins access to their own DOM element
958
959         * html/HTMLPlugInElement.h:
960         Just import JSC headers on Mac.  The NPObject and Bindings::Instance stuff is only used on Mac anyway.
961         Changed __APPLE__ to PLATFORM(MAC).
962         Added m_NPObject ivar.
963         * html/HTMLPlugInElement.cpp:
964         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
965         Initialize the NPObject.
966         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
967         Release the NPObject when the element is destroyed.
968         (WebCore::HTMLPlugInElement::createNPObject):
969         Creates an NPObject for the element.
970         (WebCore::HTMLPlugInElement::getNPObject):
971         Returns the NPObject for the element, creating and caching it if necessary.
972
973         * html/HTMLAppletElement.h:
974         Changed __APPLE__ to PLATFORM(MAC).
975         * html/HTMLAppletElement.cpp:
976         ditto
977         * html/HTMLEmbedElement.h:
978         ditto
979         * html/HTMLEmbedElement.cpp:
980         ditto
981         * html/HTMLObjectElement.h:
982         ditto
983         * html/HTMLObjectElement.cpp:
984         ditto
985
986         * bindings/objc/DOMPrivate.h:
987         Added -[DOMElement _NPObject].
988
989         * bindings/objc/DOM.mm:
990         (-[DOMElement _NPObject]):
991         Returns the NPObject for the element.  Since this is only needed by the Netscape plug-in API, you can only get 
992         the NPObject for applet, embed, and object elements.
993         
994 2006-07-11  Adele Peterson  <adele@apple.com>
995
996         Reviewed by Hyatt.
997
998         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9861
999         REGRESSION: Can't dynamically change list box to popup
1000         
1001         and updated fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9859
1002         REGRESSION: Can't dynamically change popup to list box
1003
1004         The original fix for 9859 was in the renderer, and I think we can catch the change
1005         earlier in the element to detach and reattach.
1006
1007         I also did some cleanup to remove the PopupButton code path from DeprecatedRenderSelect
1008
1009         Test: fast/forms/select-change-listbox-to-popup.html
1010
1011         * html/HTMLSelectElement.cpp:
1012         (WebCore::HTMLSelectElement::parseMappedAttribute): If the new attribute value is going to require us to change from listbox to popup or vice versa,
1013         and we're already attached, then detach and reattach to create the correct renderer.  If we're not attached, then we'll create the correct renderer
1014         when we attach.
1015         (WebCore::HTMLSelectElement::recalcStyle): Updated shouldUseMenuList since it no longer takes a RenderStyle.
1016         (WebCore::HTMLSelectElement::isKeyboardFocusable): ditto.
1017         (WebCore::HTMLSelectElement::isMouseFocusable): ditto.
1018         (WebCore::HTMLSelectElement::createRenderer): ditto.
1019         (WebCore::HTMLSelectElement::setRecalcListItems): ditto.
1020         (WebCore::HTMLSelectElement::reset): ditto.
1021         (WebCore::HTMLSelectElement::notifyOptionSelected): ditto.
1022         (WebCore::HTMLSelectElement::defaultEventHandler): ditto.
1023
1024         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList):
1025         This method no longer takes a RenderStyle.  That was leftover from when we used to use the appearance
1026         to determine whether or not to use the new menu list implementation.
1027
1028         * rendering/DeprecatedRenderSelect.h: Removed PopupButton code path.
1029         * rendering/DeprecatedRenderSelect.cpp:
1030         (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
1031         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
1032         (WebCore::DeprecatedRenderSelect::updateFromElement):
1033         (WebCore::DeprecatedRenderSelect::baselinePosition):
1034         (WebCore::DeprecatedRenderSelect::layout):
1035         (WebCore::DeprecatedRenderSelect::updateSelection):
1036
1037         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
1038         Backed out previous fix since this is now done in HTMLSelectElement.
1039
1040 2006-07-11  Adele Peterson  <adele@apple.com>
1041
1042         Reviewed by Hyatt.
1043
1044         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9859
1045         REGRESSION: Can't dynamically change popup to list box
1046
1047         Test: fast/forms/select-change-popup-to-listbox.html
1048
1049         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
1050         If the select element has the multiple property set, or has a size > 1, then it
1051         really should be a list box, so we detach and attach the element so it creates the
1052         correct type of renderer.
1053
1054 2006-07-11  John Sullivan  <sullivan@apple.com>
1055
1056         Reviewed by Beth Dakin and Tim Omernick
1057
1058         - fixed <rdar://problem/4622794> HiDPI: dragging the selection in Safari can show pixel cracks 
1059         at non-integral scale factors
1060
1061         * bridge/mac/FrameMac.mm:
1062         (WebCore::FrameMac::imageFromRect):
1063         round image rect in window coordinate space
1064
1065 2006-07-10  Darin Adler  <darin@apple.com>
1066
1067         Reviewed by Geoff.
1068
1069         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9811
1070           rdar://problem/4619572
1071           OPTION text contained in OPTGROUP appears at the wrong size
1072
1073         * dom/Node.h:
1074         * dom/Node.cpp: (WebCore::Node::renderStyle): Made a const member function.
1075         The derived classes were overriding with const member functions, and I could
1076         change either this or the derived -- decided to do this.
1077
1078 2006-07-10  Darin Adler  <darin@apple.com>
1079
1080         Reviewed by Geoff.
1081
1082         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9810
1083           rdar://problem/4619534
1084           OPTGROUP label text is using the default font instead of Lucida Grande
1085
1086         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize):
1087         Code wants the family name, but was calling fontName, which is not the same thing.
1088         Also removed the unneeded conversion to DeprecatedString.
1089
1090 === Safari-521.16 ===
1091
1092 2006-07-10  David Kilzer  <ddkilzer@kilzer.net>
1093
1094         Reviewed by Darin.
1095
1096         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9179
1097           Implement select.options.add() method
1098
1099         Tests:
1100         - fast/dom/select-selectedIndex-multiple.html
1101         - fast/dom/select-selectedIndex.html
1102         - fast/js/select-options-add.html
1103
1104         * DerivedSources.make: Added JSHTMLOptionsCollection.h.
1105         * ForwardingHeaders/kjs/operations.h: Added.
1106         * WebCore.xcodeproj/project.pbxproj: Added new source files.
1107         * bindings/js/JSHTMLOptionsCollectionCustom.cpp: Added.
1108         (WebCore::JSHTMLOptionsCollection::length):
1109         (WebCore::JSHTMLOptionsCollection::setLength):
1110         (WebCore::JSHTMLOptionsCollection::indexSetter):
1111         * bindings/js/kjs_html.cpp: Removed JSHTMLOptionsCollection implementation.
1112         Renamed classes and methods for consistency.
1113         (KJS::JSHTMLElement::selectGetter):
1114         (KJS::JSHTMLElement::put):
1115         (KJS::JSHTMLElement::selectSetter):
1116         (KJS::JSHTMLCollection::JSHTMLCollection):
1117         (KJS::JSHTMLCollectionProtoFunc::callAsFunction):
1118         (KJS::getHTMLOptionsCollection):
1119         * bindings/js/kjs_html.h: Ditto.
1120         * bindings/scripts/CodeGeneratorJS.pm: Added support for HasCustomIndexSetter class attribute.
1121         Added support for Optional parameter attribute, which makes generated code assume overloaded
1122         implementation methods are available for a JavaScript function with optional arguments.  Changed
1123         local 'impl' variables to 'imp' so that impl() methods could be called without class designation.
1124         * html/HTMLOptionElement.idl: Added GenerateNativeConverter attribute.
1125         * html/HTMLOptionsCollection.cpp: Added methods used by generated JSHTMLOptionsCollection class.
1126         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
1127         (WebCore::HTMLOptionsCollection::add):
1128         (WebCore::HTMLOptionsCollection::selectedIndex):
1129         (WebCore::HTMLOptionsCollection::setSelectedIndex):
1130         (WebCore::HTMLOptionsCollection::setLength):
1131         * html/HTMLOptionsCollection.h: Ditto.
1132         * html/HTMLOptionsCollection.idl: Added.
1133
1134 2006-07-10  David Harrison  <harrison@apple.com>
1135
1136         Reviewed by Dave Hyatt.
1137
1138         <rdar://problem/4602408> -webkit-highlight needs to support images and elements other than text
1139
1140         * rendering/RenderBox.cpp:
1141         (WebCore::RenderBox::paintCustomHighlight):
1142         * rendering/RenderBox.h:
1143         Utility for subclasses.
1144         
1145         * rendering/RenderImage.cpp:
1146         (WebCore::RenderImage::paint):
1147         Custom highlight in front of images.
1148         
1149         * rendering/RenderListMarker.cpp:
1150         (WebCore::RenderListMarker::paint):
1151         Custom highlight in front of list markers.
1152
1153         * rendering/RenderWidget.cpp:
1154         (WebCore::RenderWidget::paint):
1155         Custom highlight in front of objects.
1156
1157 2006-07-10  David Hyatt  <hyatt@apple.com>
1158
1159         <rdar://problem/4620557> REGRESSION: In a mail message, text isn't painted
1160         correctly after choosing Redo Typing
1161
1162         Better fix for repainting issue with positioned objects when height
1163         changes.  Optimize when only a positioned child changes so that we don't
1164         incorrectly do normal flow layout.
1165
1166         Reviewed by darin
1167
1168         * WebCore.xcodeproj/project.pbxproj:
1169         * rendering/RenderBlock.cpp:
1170         (WebCore::RenderBlock::layoutBlock):
1171         * rendering/RenderFlexibleBox.cpp:
1172         (WebCore::RenderFlexibleBox::layoutBlock):
1173         * rendering/RenderTable.cpp:
1174         (WebCore::RenderTable::layout):
1175         * rendering/RenderView.cpp:
1176         (WebCore::RenderView::layout):
1177         * rendering/bidi.cpp:
1178         (WebCore::RenderBlock::layoutInlineChildren):
1179
1180 2006-07-10  Adele Peterson  <adele@apple.com>
1181
1182         Reviewed by Beth.
1183
1184         - Fix for <rdar://problem/4621442> REGRESSION (NativePopup) : Popup menus aren't drawn correctly on page at orbitz.com; cheaptickets.com
1185
1186         Test: fast/forms/select-style.html
1187
1188         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
1189         Don't let popups be style-able for now.  We'll allow it later, when we
1190         have a good way to handle border & backgrounds and still having it look like a control.
1191
1192 2006-07-10  Justin Garcia  <justin.garcia@apple.com>
1193
1194         Reviewed by harrison
1195         
1196         <rdar://problem/4619260>
1197         9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
1198         <rdar://problem/4619841>
1199         REGRESSION: Dragging selection over input field results in a crash (WebCore::maxDeepOffset(WebCore::Node const*)
1200
1201         * WebCore.xcodeproj/project.pbxproj:
1202         * editing/Selection.cpp:
1203         (WebCore::Selection::adjustForEditableContent): Iterate using next/previousVisuallyDistinctCandidate 
1204         instead of traverseNext/Previous node because we were skipping positions.  Jump out of shadow trees.  
1205         Migrate to isEditablePosition instead of isContentEditable.
1206         
1207
1208 2006-07-10  Beth Dakin  <bdakin@apple.com>
1209
1210         Reviewed by Adele.
1211
1212         Shuffling comments around from my last check-in to make things read 
1213         more clearly.
1214
1215         * page/DOMWindow.h:
1216         * page/DOMWindow.idl:
1217
1218 2006-07-10  Beth Dakin  <bdakin@apple.com>
1219
1220         Reviewed by Darin.
1221
1222         Fix for <rdar://problem/4621095> The should be a way to 
1223         access the user interface scale factor through the DOM
1224
1225         window.devicePixelRatio returns the user interface scale factor.
1226
1227         * page/DOMWindow.cpp:
1228         (WebCore::DOMWindow::devicePixelRatio):
1229         * page/DOMWindow.h:
1230         * page/DOMWindow.idl:
1231
1232 2006-07-10  Brady Eidson  <beidson@apple.com>
1233
1234         Reviewed by Alexey
1235
1236         Resolved the console error messages people got from the new DB even if they didn't have it enabled
1237
1238         * icon/IconDatabase.cpp:
1239         (WebCore::IconDatabase::pruneUnreferencedIcons):
1240         (WebCore::IconDatabase::pruneUnretainedIcons):
1241         Added quick check to bail if the DB isn't open
1242
1243 2006-07-10  David Harrison  <harrison@apple.com>
1244
1245         Reviewed by Tim Hatcher
1246
1247         Partial fix for...
1248         <rdar://problem/4619260> 9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
1249         
1250         * editing/Selection.cpp:
1251         (WebCore::Selection::adjustForEditableContent):
1252         Allow for node being 0.  This is a bandaid fix to prevent the crash.  It will still assert in a debug build.  See bug for more info.
1253
1254 2006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1255
1256         Reviewed by Darin.
1257
1258         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9808
1259           REGRESSION: Incorrect layout (and ERROR) when forcing ATSU For All Text
1260
1261         * manual-tests/ATSU-bad-layout.html: Added.
1262         * platform/mac/FontMac.mm:
1263         (WebCore::Font::floatWidthForComplexText): Return 0 immediately for empty runs.
1264
1265 2006-07-10  Darin Adler  <darin@apple.com>
1266
1267         - try to fix the no-SVG build
1268
1269         * ksvg2/misc/SVGImageLoader.cpp: Move namespace brace inside the #if.
1270
1271 2006-07-10  Darin Adler  <darin@apple.com>
1272
1273         Reviewed by Anders.
1274
1275         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9833
1276           REGRESSION: Reproducible crash: RenderMenuList.cpp:58: failed assertion `!m_first'
1277
1278         * manual-tests/empty-title-popup.html: Added.
1279
1280         * rendering/RenderMenuList.h: Add createInnerBlock.
1281         * rendering/RenderMenuList.cpp:
1282         (WebCore::RenderMenuList::createInnerBlock): Factored out of addChild.
1283         (WebCore::RenderMenuList::addChild): Call createInnerBlock.
1284         (WebCore::RenderMenuList::setText): Changed parameter type.
1285         (WebCore::RenderMenuList::showPopup): Call createInnerBlock before calling
1286         the parent class's addChild.
1287
1288 2006-07-10  Rob Buis  <buis@kde.org>
1289
1290         Reviewed by Maciej via IRC.
1291
1292         Make sure the attributes are calculated against viewport width value,
1293         as defined in the spec.  http://paste.lisp.org/display/22342
1294
1295         * ksvg2/svg/SVGEllipseElement.cpp:
1296         (WebCore::SVGEllipseElement::rx): Changed LM_HEIGHT to LM_WIDTH.
1297         * ksvg2/svg/SVGLineElement.cpp:
1298         (SVGLineElement::x2): Ditto.
1299
1300 2006-07-10  Beth Dakin  <bdakin@apple.com>
1301
1302         Reviewed by Maciej.
1303
1304         Fix for <rdar://problem/4610314> Support the CSS3 content property 
1305         for images
1306
1307         This patch provides initial support for the CSS3 content property. 
1308         It lacks support for any content other than images, and only allows 
1309         content for elements that seemed safe for now.
1310
1311         * css/cssstyleselector.cpp:
1312         (WebCore::CSSStyleSelector::applyProperty): Remove restrictions for 
1313         just :before and :after
1314         * html/HTMLBRElement.cpp:
1315         (WebCore::HTMLBRElement::createRenderer):
1316         * html/HTMLFrameSetElement.cpp:
1317         (WebCore::HTMLFrameSetElement::createRenderer):
1318         * html/HTMLImageElement.cpp:
1319         (WebCore::HTMLImageElement::createRenderer):
1320         * html/HTMLLegendElement.cpp:
1321         (WebCore::HTMLLegendElement::createRenderer):
1322         * rendering/RenderImage.cpp:
1323         (WebCore::RenderImage::RenderImage):
1324         (WebCore::RenderImage::setCachedImage): Don't allow the image to be 
1325         set this way if it was already set with the content property.
1326         * rendering/RenderImage.h:
1327         (WebCore::RenderImage::setIsAnonymousImage): Anonymous images are 
1328         those set through the content property.
1329         (WebCore::RenderImage::isAnonymousImage):
1330         * rendering/RenderObject.cpp:
1331         (WebCore::RenderObject::createObject): If there is content 
1332         specified, create a RenderImage with the content and initialize the 
1333         cached image to whatever was specified in the CSS.
1334
1335 2006-07-10  Brady Eidson  <beidson@apple.com>
1336
1337         Reviewed by NOBODY (Build Fix!)
1338
1339         * icon/SiteIcon.cpp:
1340         (SiteIcon::getImage):
1341         Release build made an "unused variable" warning, which is, of course, an error.  fixed that.
1342
1343 2006-07-10  Brady Eidson  <beidson@apple.com>
1344
1345         Reviewed by Maciej
1346
1347         SQLite Icon DB now fully replicates functionality of the old DB, including pruning to keep unused
1348         information out to keep down disk usage.  For now, it is still off by default, as the critical
1349         feature of importing old icons into the new DB is still unrealized.
1350         If you'd like to test, add #define ICONDEBUG to your WebKitPrefix.h
1351
1352         * icon/IconDatabase.cpp:
1353         (WebCore::IconDatabase::IconDatabase):
1354         (WebCore::IconDatabase::open):
1355           -Sets up a timer for initial pruning
1356         (WebCore::IconDatabase::iconForPageURL):
1357           -Switched away from "dirty blob hack" as the problem is provisionally solved
1358         (WebCore::IconDatabase::retainIconForURL):
1359         (WebCore::IconDatabase::releaseIconForURL):
1360           -Same as found in WebKit
1361         (WebCore::IconDatabase::totalRetainCountForIconURL):
1362           -Adds up all retainers of icon
1363         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
1364           -Wipes an Icon table entry out
1365         (WebCore::IconDatabase::establishTemporaryIconIDForIconURL):
1366         (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
1367         (WebCore::IconDatabase::establishIconIDForIconURL):
1368         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
1369           -Added ability to get an iconID without creating a new one if a lookup is all
1370            that is genuinely wanted
1371         (WebCore::IconDatabase::pruneUnreferencedIcons):
1372         (WebCore::IconDatabase::pruneUnretainedIcons):
1373           -Called on a timer on DB startup to clean it out
1374         * icon/IconDatabase.h:
1375         * icon/SiteIcon.cpp:
1376         (SiteIcon::SiteIcon):
1377         (SiteIcon::~SiteIcon):
1378           -Deletes the image on deletion
1379         (SiteIcon::getImage):
1380           -Cut down on no-longer-necessary debug info
1381
1382 2006-07-10  Anders Carlsson  <acarlsson@apple.com>
1383
1384         Reviewed by Adele.
1385
1386         http://bugzilla.opendarwin.org/show_bug.cgi?id=9245
1387         Quirksmode: Incorrect handling of disabled BUTTON elements
1388
1389         * html/HTMLButtonElement.cpp:
1390         (WebCore::HTMLButtonElement::defaultEventHandler):
1391         Don't call prepareSubmit if the element is disabled.
1392
1393         * html/HTMLInputElement.cpp:
1394         (WebCore::HTMLInputElement::defaultEventHandler):
1395         Don't call prepareSubmit if the element is disabled.
1396
1397 2006-07-10  Darin Adler  <darin@apple.com>
1398
1399         - try to fix Windows build
1400
1401         * platform/win/TemporaryLinkStubs.cpp: Put a few functions in the WebCore namespace.
1402         * platform/gdk/TemporaryLinkStubs.cpp: Ditto.
1403
1404 2006-07-10  Darin Adler  <darin@apple.com>
1405
1406         Reviewed by Geoff.
1407
1408         - fix failures seen in layout tests
1409
1410         * bindings/js/kjs_dom.cpp: (KJS::toJS): Restore one of the few WebCore:: prefixes
1411         that really needed to be there -- because we have two classes named JSHTMLDocument
1412         at the moment! (One in KJS and one in WebCore namespace.)
1413
1414 2006-07-10  Darin Adler  <darin@apple.com>
1415
1416         - try to fix Windows build
1417
1418         * rendering/RenderLayer.h: Correct a forward declaration of ScrollBar.
1419
1420 2006-07-09  Adele Peterson  <adele@apple.com>
1421
1422         Reviewed by Maciej.
1423
1424         Fix for <rdar://problem/4463835> Switch to use new popup menu implementation for <select>
1425
1426         * css/html4.css: Added style for new selects, and for list boxes.
1427         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Removed check for appearance so new popups can be styled.
1428    
1429         * rendering/RenderMenuList.cpp:
1430         (WebCore::RenderMenuList::setStyle): Removed padding.  This is now set by the theme.
1431         (WebCore::RenderMenuList::calcMinMaxWidth): Now takes minimum text size into account.
1432         * rendering/RenderMenuList.h: Removed baselinePosition since we're letting the theme calculate that.
1433
1434         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlContainer): Added menuList as a ControlContainer, 
1435         so RenderThemeMac will compute its baseline.
1436         * rendering/RenderTheme.h: (WebCore::RenderTheme::minimumTextSize): Added.
1437         * rendering/RenderThemeMac.h: Added minimumTextSize, setPopupPaddingFromControlSize, popupButtonSizes, popupButtonMargins, popupButtonPadding.
1438         Removed sizeOfArrowControl. 
1439         * rendering/RenderThemeMac.mm:
1440         (WebCore::): Added enum for padding.
1441         (WebCore::RenderThemeMac::adjustRepaintRect): Now inflates rect to account for control shadow.
1442         (WebCore::RenderThemeMac::baselinePosition): Now calculates baseline for menulist.
1443         (WebCore::RenderThemeMac::popupButtonMargins): Tweaked values.
1444         (WebCore::RenderThemeMac::popupButtonSizes): Added.
1445         (WebCore::RenderThemeMac::popupButtonPadding): Added, so different padding can be set for different control sizes.
1446         (WebCore::RenderThemeMac::setPopupPaddingFromControlSize): Added.
1447         (WebCore::RenderThemeMac::paintMenuList): Now inflates rect to account for control shadow.
1448         (WebCore::RenderThemeMac::adjustMenuListStyle): Resets border, sets padding, sets control size.
1449         (WebCore::RenderThemeMac::setPopupButtonCellState): Removed unnecessary class name.
1450         (WebCore::RenderThemeMac::minimumTextSize): Added.
1451
1452 2006-07-09  Darin Adler  <darin@apple.com>
1453
1454         - add back "unused code" for plain text fields, still used by <isindex>!
1455
1456         * platform/TextField.h:
1457         * platform/mac/TextFieldMac.mm:
1458         * platform/mac/WebCoreTextField.h:
1459         * platform/mac/WebCoreTextField.mm:
1460         * rendering/RenderLineEdit.cpp:
1461
1462 2006-07-09  Darin Adler  <darin@apple.com>
1463
1464         Reviewed by Tim Hatcher.
1465
1466         - put more into the WebCore namespace
1467         - removed unused code for plain text fields
1468
1469         Put more classes, class templates, enums, functions, and constants into
1470         the WebCore namespace, including all the headers in the platform directory.
1471
1472         Removed lots of unneeded "WebCore::" qualifiers and "using" directives.
1473
1474         Added some "WebCore::" qualifiers in a few places.
1475
1476         Removed "uses WebCore::" in headers that we said we'd remove "when
1477         everything is in the WebCore namespace".
1478
1479         * bindings/js/JSDOMParser.cpp:
1480         * bindings/js/JSHTMLElementWrapperFactory.cpp:
1481         * bindings/js/JSXSLTProcessor.cpp:
1482         * bindings/js/kjs_binding.cpp:
1483         * bindings/js/kjs_css.cpp:
1484         * bindings/js/kjs_dom.cpp:
1485         * bindings/js/kjs_dom.h:
1486         * bindings/js/kjs_events.cpp:
1487         * bindings/js/kjs_proxy.h:
1488         * bindings/js/kjs_window.h:
1489         * bindings/objc/DOM.mm:
1490         * bridge/History.h:
1491         * bridge/JavaAppletWidget.h:
1492         * bridge/mac/FormDataMac.h:
1493         * bridge/mac/FormDataMac.mm:
1494         * bridge/mac/WebCoreAXObject.mm:
1495         * bridge/mac/WebCoreEncodings.mm:
1496         * bridge/mac/WebCoreFrameBridge.h:
1497         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1498         * bridge/mac/WebCorePageState.h:
1499         * bridge/mac/WebCoreScriptDebugger.mm:
1500         * bridge/mac/WebCoreSettings.h:
1501         * css/CSSGrammar.y:
1502         * css/CSSPageRule.cpp:
1503         * css/CSSPageRule.h:
1504         * css/MediaList.cpp:
1505         * css/cssstyleselector.h:
1506         * dom/Clipboard.h:
1507         * dom/Document.cpp:
1508         * dom/Document.h:
1509         * dom/EventTargetNode.h:
1510         * dom/Node.cpp:
1511         * dom/Node.h:
1512         * dom/Position.h:
1513         * dom/Range.cpp:
1514         * dom/XMLTokenizer.cpp:
1515         * editing/AppendNodeCommand.h:
1516         * editing/ApplyStyleCommand.cpp:
1517         * editing/BreakBlockquoteCommand.cpp:
1518         * editing/BreakBlockquoteCommand.h:
1519         * editing/CompositeEditCommand.cpp:
1520         * editing/CompositeEditCommand.h:
1521         * editing/CreateLinkCommand.h:
1522         * editing/DeleteFromTextNodeCommand.h:
1523         * editing/DeleteSelectionCommand.h:
1524         * editing/FormatBlockCommand.h:
1525         * editing/HTMLInterchange.cpp:
1526         * editing/HTMLInterchange.h:
1527         * editing/IndentOutdentCommand.h:
1528         * editing/InsertIntoTextNodeCommand.h:
1529         * editing/InsertLineBreakCommand.h:
1530         * editing/InsertListCommand.h:
1531         * editing/InsertNodeBeforeCommand.h:
1532         * editing/InsertTextCommand.cpp:
1533         * editing/InsertTextCommand.h:
1534         * editing/JSEditor.cpp:
1535         * editing/JSEditor.h:
1536         * editing/JoinTextNodesCommand.h:
1537         * editing/MergeIdenticalElementsCommand.cpp:
1538         * editing/MergeIdenticalElementsCommand.h:
1539         * editing/ModifySelectionListLevel.h:
1540         * editing/MoveSelectionCommand.h:
1541         * editing/RebalanceWhitespaceCommand.h:
1542         * editing/RemoveNodeAttributeCommand.h:
1543         * editing/RemoveNodeCommand.h:
1544         * editing/RemoveNodePreservingChildrenCommand.h:
1545         * editing/ReplaceSelectionCommand.h:
1546         * editing/SetNodeAttributeCommand.h:
1547         * editing/SplitElementCommand.cpp:
1548         * editing/SplitElementCommand.h:
1549         * editing/SplitTextNodeCommand.cpp:
1550         * editing/SplitTextNodeCommand.h:
1551         * editing/SplitTextNodeContainingElementCommand.h:
1552         * editing/TypingCommand.cpp:
1553         * editing/TypingCommand.h:
1554         * editing/UnlinkCommand.h:
1555         * editing/VisiblePosition.cpp:
1556         * editing/WrapContentsInDummySpanCommand.cpp:
1557         * editing/WrapContentsInDummySpanCommand.h:
1558         * editing/markup.cpp:
1559         * editing/markup.h:
1560         * html/HTMLAnchorElement.cpp:
1561         * html/HTMLBodyElement.cpp:
1562         * html/HTMLButtonElement.h:
1563         * html/HTMLCollection.h:
1564         * html/HTMLDocument.h:
1565         * html/HTMLEmbedElement.cpp:
1566         * html/HTMLFormElement.cpp:
1567         * html/HTMLFormElement.h:
1568         * html/HTMLFrameElement.cpp:
1569         * html/HTMLFrameSetElement.cpp:
1570         * html/HTMLKeygenElement.cpp:
1571         * html/HTMLLabelElement.cpp:
1572         * html/HTMLObjectElement.cpp:
1573         * html/HTMLObjectElement.h:
1574         * html/HTMLTableElement.cpp:
1575         * html/HTMLTablePartElement.cpp:
1576         * icon/IconDatabase.h:
1577         * kcanvas/KCanvasPath.h:
1578         * kcanvas/KCanvasResources.cpp:
1579         * kcanvas/KCanvasResources.h:
1580         * kcanvas/KCanvasTreeDebug.cpp:
1581         * kcanvas/KCanvasTreeDebug.h:
1582         * kcanvas/RenderSVGContainer.cpp:
1583         * kcanvas/RenderSVGText.h:
1584         * kcanvas/device/KRenderingPaintServer.h:
1585         * kcanvas/device/KRenderingPaintServerGradient.h:
1586         * kcanvas/device/KRenderingPaintServerSolid.cpp:
1587         * ksvg2/misc/SVGImageLoader.cpp:
1588         * ksvg2/svg/SVGElement.cpp:
1589         * ksvg2/svg/SVGElement.h:
1590         * ksvg2/svg/SVGForeignObjectElement.cpp:
1591         * ksvg2/svg/SVGForeignObjectElement.h:
1592         * ksvg2/svg/SVGImageElement.cpp:
1593         * ksvg2/svg/SVGPoint.h:
1594         * ksvg2/svg/SVGStylable.h:
1595         * ksvg2/svg/SVGTRefElement.cpp:
1596         * ksvg2/svg/SVGTRefElement.h:
1597         * ksvg2/svg/SVGTSpanElement.cpp:
1598         * ksvg2/svg/SVGTSpanElement.h:
1599         * ksvg2/svg/SVGTextElement.h:
1600         * ksvg2/svg/svgpathparser.cpp:
1601         * ksvg2/svg/svgpathparser.h:
1602         * loader/Cache.h:
1603         * loader/DocLoader.h:
1604         * loader/LoaderFunctions.h:
1605         * loader/mac/LoaderFunctionsMac.mm:
1606         * page/Frame.h:
1607         * page/FrameView.h:
1608         * page/Page.h:
1609         * page/Settings.h:
1610         * platform/AffineTransform.cpp:
1611         * platform/AffineTransform.h:
1612         * platform/Arena.cpp:
1613         * platform/Arena.h:
1614         * platform/CookieJar.h:
1615         * platform/DeprecatedCString.cpp:
1616         * platform/DeprecatedCString.h:
1617         * platform/DeprecatedPtrList.h:
1618         * platform/DeprecatedPtrListImpl.cpp:
1619         * platform/DeprecatedPtrListImpl.h:
1620         * platform/DeprecatedPtrQueue.h:
1621         * platform/DeprecatedString.cpp:
1622         * platform/DeprecatedString.h:
1623         * platform/DeprecatedStringList.cpp:
1624         * platform/DeprecatedStringList.h:
1625         * platform/DeprecatedValueList.h:
1626         * platform/DeprecatedValueListImpl.cpp:
1627         * platform/DeprecatedValueListImpl.h:
1628         * platform/FileButton.h:
1629         * platform/FloatPoint.h:
1630         * platform/FloatRect.h:
1631         * platform/FloatSize.h:
1632         * platform/FontData.h:
1633         * platform/FontFallbackList.h:
1634         * platform/GraphicsContext.h:
1635         * platform/IntPoint.h:
1636         * platform/IntRect.h:
1637         * platform/IntSize.h:
1638         * platform/KURL.cpp:
1639         * platform/KURL.h:
1640         * platform/ListBox.h:
1641         * platform/Logging.cpp:
1642         * platform/Logging.h:
1643         * platform/Pen.h:
1644         * platform/PopUpButton.h:
1645         * platform/RegularExpression.cpp:
1646         * platform/RegularExpression.h:
1647         * platform/SSLKeyGenerator.h:
1648         * platform/ScrollBar.h:
1649         * platform/SegmentedString.h:
1650         * platform/Shared.h:
1651         * platform/Slider.h:
1652         * platform/StringImpl.h:
1653         * platform/TextBox.h:
1654         * platform/TextField.h:
1655         * platform/TextStream.cpp:
1656         * platform/TextStream.h:
1657         * platform/TransferJob.h:
1658         * platform/TransferJobClient.h:
1659         * platform/Widget.h:
1660         * platform/cg/AffineTransformCG.cpp:
1661         * platform/mac/ClipboardMac.h:
1662         * platform/mac/ClipboardMac.mm:
1663         * platform/mac/DeprecatedStringListMac.mm:
1664         * platform/mac/FontCacheMac.mm:
1665         * platform/mac/KURLMac.mm:
1666         * platform/mac/ListBoxMac.mm:
1667         * platform/mac/PopUpButtonMac.mm:
1668         * platform/mac/SSLKeyGeneratorMac.mm:
1669         * platform/mac/TextBoxMac.mm:
1670         * platform/mac/TextFieldMac.mm:
1671         * platform/mac/WebCoreTextArea.h:
1672         * platform/mac/WebCoreTextArea.mm:
1673         * platform/mac/WebCoreTextField.h:
1674         * platform/mac/WebCoreTextField.mm:
1675         * rendering/DeprecatedRenderSelect.h:
1676         * rendering/RenderArena.cpp:
1677         * rendering/RenderArena.h:
1678         * rendering/RenderBlock.cpp:
1679         * rendering/RenderBox.cpp:
1680         * rendering/RenderContainer.cpp:
1681         * rendering/RenderFlexibleBox.cpp:
1682         * rendering/RenderFlow.cpp:
1683         * rendering/RenderLayer.cpp:
1684         * rendering/RenderLineEdit.cpp:
1685         * rendering/RenderObject.h:
1686         * rendering/RenderStyle.cpp:
1687         * rendering/RenderStyle.h:
1688         * rendering/RenderText.cpp:
1689         * rendering/RenderTextFragment.cpp:
1690         * rendering/RenderTheme.h:
1691         * rendering/RenderTreeAsText.cpp:
1692         * rendering/RenderTreeAsText.h:
1693         * rendering/RenderView.h:
1694         * rendering/bidi.h:
1695         * xml/XSLStyleSheet.cpp:
1696         * xml/XSLTProcessor.cpp:
1697
1698 2006-07-09  Geoffrey Garen  <ggaren@apple.com>
1699
1700         Reviewed by Beth.
1701
1702         * bindings/js/kjs_window.cpp:
1703         (KJS::Window::clear): Garbage collect after reinitalizing the global
1704         object, not before, since the reinitialization tends to create garbage.
1705
1706 2006-07-09  Timothy Hatcher  <timothy@apple.com>
1707
1708         Reviewed by Darin.
1709
1710         Bug 9820: Move new DOM API that has been through API review to public headers
1711         http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
1712
1713         * bindings/objc/DOM.mm:
1714         (-[DOMElement focus]):
1715         (-[DOMElement blur]):
1716         (-[DOMRange text]):
1717         (-[DOMRange _text]):
1718         * bindings/objc/DOMCSS.mm:
1719         (-[DOMRGBColor color]):
1720         (-[DOMRGBColor _color]):
1721         * bindings/objc/DOMCore.h:
1722         * bindings/objc/DOMEvents.h:
1723         * bindings/objc/DOMExtensions.h:
1724         * bindings/objc/DOMHTML.mm:
1725         (-[DOMHTMLElement titleDisplayString]):
1726         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
1727         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
1728         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
1729         (-[DOMHTMLDocument _createDocumentFragmentWithText:]):
1730         * bindings/objc/DOMPrivate.h:
1731         * bindings/objc/DOMXPath.h:
1732         * bindings/objc/DOMXPath.mm:
1733
1734 2006-07-09  Beth Dakin  <bdakin@apple.com>
1735
1736         Reviewed by Maciej.
1737
1738         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9749 A 
1739         nested content editable div causes unnecessary screen redraws.
1740         
1741         We were repainting too much because we were deciding that we needed 
1742         a full layout because we didn't have a first line box. Our code 
1743         used to hold a lot of assumptions that positioned elements would 
1744         always have line boxes, but I fixed a few bugs a while back that 
1745         appeared because this assumption isn't true. This assumption was 
1746         also causing the extra redraws because the check meant that we 
1747         would decide to do a full layout for any positioned element that 
1748         did not have any line boxes in the first place. Maciej and I talked 
1749         about this, and we couldn't figure out why the check for line boxes 
1750         was part of determining if we need a full layout in the first 
1751         place. After hunting around the code, we decided to assume that 
1752         this check is antiquated. Removing it fixes the bug and doesn't 
1753         seem to break any layout tests. So, fingers crossed!
1754
1755         Will add layout test so soon.
1756
1757         * rendering/bidi.cpp:
1758         (WebCore::RenderBlock::layoutInlineChildren): Remove firstLineBox 
1759         check.
1760
1761 2006-07-09  David Harrison  <harrison@apple.com>
1762
1763         Reviewed by John Sullivan.
1764
1765         <rdar://problem/4598149> Deleting the contents of a DOMRange and then inserting a node into it crashes in WebCore::Font::canUseGlyphCache
1766
1767         Test: fast/dom/delete-contents.html
1768         
1769         * dom/Range.cpp:
1770         (WebCore::Range::processContents):
1771
1772 2006-07-09  Darin Adler  <darin@apple.com>
1773
1774         - another round of renaming; and KWQ is dead
1775
1776         * WebCore.vcproj/WebCore/WebCore.vcproj: Remove paths for kwq and khtml directories.
1777         Move files to their new locations. Did rename.
1778         * WebCore.xcodeproj/project.pbxproj: Move files to their new locations. Did rename.
1779         * WebCoreSources.bkl: Did rename.
1780         * webcore-base.bkl: Removed kwq.
1781
1782         * kwq/AccessibilityObjectCache.h: Removed.
1783         * kwq/AccessibilityObjectCache.mm: Removed.
1784         * kwq/FormDataMac.h: Removed.
1785         * kwq/FormDataMac.mm: Removed.
1786         * kwq/WebCoreAXObject.h: Removed.
1787         * kwq/WebCoreAXObject.mm: Removed.
1788         * kwq/WebCoreEditCommand.h: Removed.
1789         * kwq/WebCoreEditCommand.mm: Removed.
1790         * kwq/WebCorePageState.h: Removed.
1791         * kwq/WebCorePageState.mm: Removed.
1792         * kwq/WebCoreResourceLoaderImp.h: Removed.
1793         * kwq/WebCoreResourceLoaderImp.mm: Removed.
1794
1795         * bridge/AXObjectCache.h: Added.
1796         * bridge/mac/AXObjectCacheMac.mm: Added.
1797         * bridge/mac/WebCoreAXObject.h: Added.
1798         * bridge/mac/WebCoreAXObject.mm: Added.
1799
1800         * loader/CachedObject.cpp: Removed.
1801         * loader/CachedObject.h: Removed.
1802         * loader/CachedObjectClient.h: Removed.
1803         * loader/CachedObjectClientWalker.cpp: Removed.
1804         * loader/CachedObjectClientWalker.h: Removed.
1805
1806         * loader/CachedResource.cpp: Added.
1807         * loader/CachedResource.h: Added.
1808         * loader/CachedResourceClient.h: Added.
1809         * loader/CachedResourceClientWalker.cpp: Added.
1810         * loader/CachedResourceClientWalker.h: Added.
1811
1812         * bridge/mac/FrameMac.mm:
1813         * bridge/mac/WebCoreFrameBridge.mm:
1814         * css/CSSImageValue.h:
1815         * css/CSSImportRule.h:
1816         * dom/Document.cpp:
1817         * dom/Document.h:
1818         * dom/Notation.h:
1819         * dom/ProcessingInstruction.h:
1820         * dom/XMLTokenizer.cpp:
1821         * html/CanvasPattern.h:
1822         * html/HTMLDocument.h:
1823         * html/HTMLImageLoader.cpp:
1824         * html/HTMLImageLoader.h:
1825         * html/HTMLLinkElement.h:
1826         * html/HTMLScriptElement.cpp:
1827         * html/HTMLScriptElement.h:
1828         * html/HTMLTokenizer.cpp:
1829         * html/HTMLTokenizer.h:
1830         * kcanvas/KCanvasFilters.h:
1831         * ksvg2/svg/SVGCursorElement.cpp:
1832         * ksvg2/svg/SVGCursorElement.h:
1833         * ksvg2/svg/SVGFEImageElement.cpp:
1834         * ksvg2/svg/SVGFEImageElement.h:
1835         * loader/Cache.cpp:
1836         * loader/Cache.h:
1837         * loader/CachedCSSStyleSheet.cpp:
1838         * loader/CachedCSSStyleSheet.h:
1839         * loader/CachedImage.cpp:
1840         * loader/CachedImage.h:
1841         * loader/CachedScript.cpp:
1842         * loader/CachedScript.h:
1843         * loader/CachedXBLDocument.cpp:
1844         * loader/CachedXBLDocument.h:
1845         * loader/CachedXSLStyleSheet.cpp:
1846         * loader/CachedXSLStyleSheet.h:
1847         * loader/DocLoader.cpp:
1848         * loader/DocLoader.h:
1849         * loader/LoaderFunctions.h:
1850         * loader/Request.cpp:
1851         * loader/Request.h:
1852         * loader/loader.cpp:
1853         * loader/loader.h:
1854         * loader/mac/LoaderFunctionsMac.mm:
1855         * page/Frame.cpp:
1856         * page/FrameView.cpp:
1857         * platform/gdk/TemporaryLinkStubs.cpp:
1858         * platform/mac/ClipboardMac.h:
1859         * platform/win/TemporaryLinkStubs.cpp:
1860         * rendering/RenderBox.h:
1861         * rendering/RenderContainer.cpp:
1862         * rendering/RenderImage.cpp:
1863         * rendering/RenderImage.h:
1864         * rendering/RenderLayer.h:
1865         * rendering/RenderObject.cpp:
1866         * rendering/RenderObject.h:
1867         * rendering/RenderStyle.cpp:
1868         * rendering/RenderStyle.h:
1869         * xml/XSLImportRule.h:
1870         Did renaming.
1871
1872         * platform/mac/can-convert.mm: Removed.
1873
1874 2006-07-09  Anders Carlsson  <acarlsson@apple.com>
1875
1876         Reviewed by Tim O.
1877
1878         * WebCore.exp:
1879         Add wkPathFromFont.
1880         
1881         * platform/mac/FontDataMac.mm:
1882         (-[NSFont WebCore]):
1883         Use wkPathFromFont.
1884         
1885         * platform/mac/WebCoreSystemInterface.h:
1886         * platform/mac/WebCoreSystemInterface.mm:
1887         Declare wkPathFromFont.
1888
1889 2006-07-09  Brady Eidson  <beidson@apple.com>
1890
1891         Reviewed by Maciej
1892
1893         Set the stage to remove the workaround for the SQLite BLOB corruption.  A few other small cleanups, and
1894         preparation for pruning unreferenced and unretained icons.
1895
1896         * icon/IconDatabase.cpp:
1897         (WebCore::IconDatabase::recreateDatabase):  Added another trigger to assist in icon removal
1898         (WebCore::IconDatabase::deletePrivateTables):  Cleaned up logging messages
1899         (WebCore::IconDatabase::imageDataForIconID):  #ifdefed the blobbing hack for impending removal, use the real blob by default
1900         (WebCore::IconDatabase::imageDataForIconURL):  same
1901         (WebCore::IconDatabase::imageDataForPageURL):  same
1902         (WebCore::IconDatabase::pruneUnreferencedIcons):  Will delete any icons and their data that are not referenced
1903           by any PageURL
1904         * icon/IconDatabase.h:
1905
1906         * icon/SQLDatabase.h:  Changed BlobAsVector to be unsigned char as thats the most reasonable type for
1907           a byte-buffer, and is what CFData expects
1908         * icon/SQLStatement.cpp:
1909         (WebCore::SQLStatement::getColumnBlobAsVector):
1910
1911 2006-07-09  Darin Adler  <darin@apple.com>
1912
1913         - move all but the last 12 files out of kwq directory
1914         - removed a few unused source files I discovered
1915
1916         * WebCore.vcproj/WebCore/WebCore.vcproj: Update for new file locations.
1917         * WebCore.xcodeproj/project.pbxproj: Ditto.
1918
1919         * bridge/mac/FrameMac.mm:
1920         * dom/Element.h:
1921         * html/HTMLImageLoader.cpp:
1922         * loader/Cache.cpp:
1923         * loader/Cache.h:
1924         * loader/CachedCSSStyleSheet.cpp:
1925         * loader/CachedCSSStyleSheet.h:
1926         * loader/CachedImage.cpp:
1927         * loader/CachedImage.h:
1928         * loader/CachedObject.h:
1929         * loader/CachedScript.cpp:
1930         * loader/CachedScript.h:
1931         * loader/CachedXBLDocument.cpp:
1932         * loader/CachedXBLDocument.h:
1933         * loader/CachedXSLStyleSheet.cpp:
1934         * loader/CachedXSLStyleSheet.h:
1935         * loader/DocLoader.cpp:
1936         * loader/DocLoader.h:
1937         * page/Frame.cpp:
1938         * page/Frame.h:
1939         * page/FramePrivate.h:
1940         * platform/gdk/TemporaryLinkStubs.cpp:
1941         * platform/win/TemporaryLinkStubs.cpp:
1942         * rendering/DeprecatedSlider.cpp:
1943         * rendering/RenderObject.h:
1944         * xml/xmlhttprequest.cpp:
1945         Updated includes as needed for file location changes. Changed
1946         CachePolicy uses to match new filename and enum names.
1947
1948         * loader/CachedResource.cpp: Removed.
1949         * loader/CachedResource.h: Removed.
1950         * loader/CachedResourceClient.h: Removed.
1951         * loader/CachedResourceClientWalker.cpp: Removed.
1952         * loader/CachedResourceClientWalker.h: Removed.
1953         The above files were checked in by accident a while back. The rename of
1954         CachedObject to CachedResource is now reflected in do-webcore-rename,
1955         and will be done soon.
1956
1957         * kwq/AffineTransform.cpp: Removed.
1958         * kwq/AffineTransform.h: Removed.
1959         * kwq/CacheControl.h: Removed.
1960         * kwq/DeprecatedPtrQueue.h: Removed.
1961         * kwq/FileButton.h: Removed.
1962         * kwq/FileButton.mm: Removed.
1963         * kwq/ListBox.h: Removed.
1964         * kwq/ListBox.mm: Removed.
1965         * kwq/LoaderFunctions.h: Removed.
1966         * kwq/LoaderFunctions.mm: Removed.
1967         * kwq/PopUpButton.h: Removed.
1968         * kwq/PopUpButton.mm: Removed.
1969         * kwq/SSLKeyGenerator.h: Removed.
1970         * kwq/SSLKeyGenerator.mm: Removed.
1971         * kwq/Settings.h: Removed.
1972         * kwq/TextBox.h: Removed.
1973         * kwq/TextBox.mm: Removed.
1974         * kwq/TextField.h: Removed.
1975         * kwq/TextField.mm: Removed.
1976         * kwq/WebCoreScrollBar.h: Removed.
1977         * kwq/WebCoreScrollBar.mm: Removed.
1978         * kwq/WebCoreSlider.h: Removed.
1979         * kwq/WebCoreSlider.mm: Removed.
1980
1981         * loader/CachePolicy.h: Added.
1982         * loader/LoaderFunctions.h: Added.
1983
1984         * loader/mac/LoaderFunctionsMac.mm: Added.
1985
1986         * page/Settings.h: Added.
1987
1988         * platform/AffineTransform.cpp: Added.
1989         * platform/AffineTransform.h: Added.
1990         * platform/DeprecatedPtrQueue.h: Added.
1991         * platform/FileButton.h: Added.
1992         * platform/ListBox.h: Added.
1993         * platform/PopUpButton.h: Added.
1994         * platform/SSLKeyGenerator.h: Added.
1995         * platform/ScrollBar.h: Added.
1996         * platform/Slider.h: Added.
1997         * platform/TextBox.h: Added.
1998         * platform/TextField.h: Added.
1999
2000         * platform/cg/AffineTransformCG.cpp: Added.
2001
2002         * platform/mac/FileButtonMac.mm: Added.
2003         * platform/mac/ListBoxMac.mm: Added.
2004         * platform/mac/PopUpButtonMac.mm: Added.
2005         * platform/mac/SSLKeyGeneratorMac.mm: Added.
2006         * platform/mac/ScrollBarMac.mm: Added.
2007         * platform/mac/ScrollBarMac.mm: Added.
2008         * platform/mac/SliderMac.mm: Added.
2009         * platform/mac/SliderMac.mm: Added.
2010         * platform/mac/TextBoxMac.mm: Added.
2011         * platform/mac/TextFieldMac.mm: Added.
2012
2013 2006-07-09  Darin Adler  <darin@apple.com>
2014
2015         - move 4 files out of kwq directory
2016         - make some minor project adjustments for the WebCore project
2017
2018         * WebCore.xcodeproj/project.pbxproj: Link libsqlite3 the same way we do other
2019         libraries, rather than using a custom linker option. Moved the files from their
2020         old locations to the new ones. Removed "khtml" from the list of header search
2021         paths since that directory doesn't exist any more. Eliminated STYLE_LDFLAGS
2022         and just put -umbrella WebKit in OTHER_LDFLAGS in the Production configuration
2023         (was a leftover from "build styles" in Xcode 1). Changed to use EXPORTED_SYMBOLS_FILE
2024         instead of using -exported_symbols_list directly again now that Xcode has fixed the
2025         "strip twice" bug. Removed unneeded explicit SECTORDER_FLAGS = "" settings.
2026         Removed the explicit -Y,3 option now that Xcode does that by default.
2027
2028         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed some obsolete uneeded files,
2029         many of which didn't exist any more. Moved the files from their old locations
2030         to the new ones.
2031
2032         * WebCoreSources.bkl: Moved the files from their old locations to the new ones.
2033
2034         * kwq/DeprecatedCString.cpp: Removed.
2035         * kwq/DeprecatedCString.h: Removed.
2036         * kwq/TextStream.cpp: Removed.
2037         * kwq/TextStream.h: Removed.
2038         * platform/DeprecatedCString.cpp: Added.
2039         * platform/DeprecatedCString.h: Added.
2040         * platform/TextStream.cpp: Added.
2041         * platform/TextStream.h: Added.
2042
2043 2006-07-09  Darin Adler  <darin@apple.com>
2044
2045         Rubber stamped by Maciej (kinda).
2046
2047         - did the next pass of renaming (used do-webcore-rename script)
2048           this takes care of most of the remaining KWQ names (almost all)
2049
2050         * WebCore+SVG/DOMList.h:
2051         * WebCore.vcproj/WebCore/WebCore.vcproj:
2052         * WebCore.xcodeproj/project.pbxproj:
2053         * WebCoreSources.bkl:
2054         * bindings/js/kjs_dom.cpp:
2055         * bindings/js/kjs_window.cpp:
2056         * bindings/objc/DOMHTML.mm:
2057         * bridge/mac/FrameMac.h:
2058         * bridge/mac/FrameMac.mm:
2059         * bridge/mac/WebCoreFrameBridge.mm:
2060         * bridge/mac/WebCoreSettings.h:
2061         * bridge/mac/WebCoreSettings.mm:
2062         * bridge/win/FrameWin.cpp:
2063         * css/CSSPrimitiveValue.cpp:
2064         * css/CSSValueKeywords.in:
2065         * css/MediaQueryEvaluator.cpp:
2066         * css/cssparser.cpp:
2067         * css/cssstyleselector.cpp:
2068         * css/cssstyleselector.h:
2069         * dom/CharacterData.cpp:
2070         * dom/CharacterData.h:
2071         * dom/Document.cpp:
2072         * dom/Element.cpp:
2073         * dom/Element.h:
2074         * dom/EventTargetNode.cpp:
2075         * dom/EventTargetNode.h:
2076         * dom/Node.cpp:
2077         * dom/Node.h:
2078         * dom/Position.cpp:
2079         * dom/ProcessingInstruction.cpp:
2080         * dom/QualifiedName.cpp:
2081         * dom/QualifiedName.h:
2082         * dom/XMLTokenizer.cpp: Added.
2083         * dom/xml_tokenizer.cpp: Removed.
2084         * dom/xml_tokenizer.h: Removed.
2085         * editing/EditAction.h:
2086         * editing/HTMLInterchange.cpp:
2087         * editing/HTMLInterchange.h:
2088         * editing/Selection.h:
2089         * editing/SelectionController.h:
2090         * editing/TextAffinity.h:
2091         * editing/TextIterator.cpp:
2092         * editing/TextIterator.h:
2093         * editing/VisiblePosition.h:
2094         * editing/htmlediting.cpp:
2095         * editing/markup.cpp:
2096         * editing/markup.h:
2097         * editing/visible_units.cpp:
2098         * editing/visible_units.h:
2099         * html/HTMLDocument.cpp:
2100         * html/HTMLFontElement.cpp:
2101         * html/HTMLInputElement.cpp:
2102         * html/HTMLKeygenElement.cpp:
2103         * html/HTMLSelectElement.h:
2104         * html/HTMLTextAreaElement.cpp:
2105         * html/HTMLTextFieldInnerElement.cpp:
2106         * html/HTMLTokenizer.cpp:
2107         * html/HTMLTokenizer.h:
2108         * kcanvas/KCanvasContainer.cpp: Removed.
2109         * kcanvas/KCanvasContainer.h: Removed.
2110         * kcanvas/KCanvasCreator.cpp:
2111         * kcanvas/KCanvasFilters.cpp:
2112         * kcanvas/KCanvasFilters.h:
2113         * kcanvas/KCanvasMatrix.cpp:
2114         * kcanvas/KCanvasMatrix.h:
2115         * kcanvas/KCanvasPath.cpp:
2116         * kcanvas/KCanvasPath.h:
2117         * kcanvas/KCanvasResources.cpp:
2118         * kcanvas/KCanvasResources.h:
2119         * kcanvas/KCanvasTreeDebug.cpp:
2120         * kcanvas/KCanvasTreeDebug.h:
2121         * kcanvas/RenderForeignObject.cpp:
2122         * kcanvas/RenderForeignObject.h:
2123         * kcanvas/RenderPath.cpp:
2124         * kcanvas/RenderPath.h:
2125         * kcanvas/RenderSVGContainer.cpp: Added.
2126         * kcanvas/RenderSVGContainer.h: Added.
2127         * kcanvas/RenderSVGImage.cpp:
2128         * kcanvas/RenderSVGImage.h:
2129         * kcanvas/RenderSVGText.cpp:
2130         * kcanvas/RenderSVGText.h:
2131         * kcanvas/device/KRenderingPaintServer.h:
2132         * kcanvas/device/KRenderingPaintServerGradient.cpp:
2133         * kcanvas/device/KRenderingPaintServerGradient.h:
2134         * kcanvas/device/KRenderingPaintServerPattern.cpp:
2135         * kcanvas/device/KRenderingPaintServerPattern.h:
2136         * kcanvas/device/KRenderingPaintServerSolid.cpp:
2137         * kcanvas/device/KRenderingPaintServerSolid.h:
2138         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2139         * kcanvas/device/quartz/KCanvasItemQuartz.h:
2140         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
2141         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2142         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2143         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
2144         * ksvg2/css/CSSValueKeywords.in:
2145         * ksvg2/css/SVGRenderStyleDefs.cpp:
2146         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2147         * ksvg2/misc/KSVGTimeScheduler.cpp:
2148         * ksvg2/svg/SVGAElement.cpp:
2149         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2150         * ksvg2/svg/SVGAnimateTransformElement.h:
2151         * ksvg2/svg/SVGGElement.cpp:
2152         * ksvg2/svg/SVGHelper.cpp:
2153         * ksvg2/svg/SVGHelper.h:
2154         * ksvg2/svg/SVGImageElement.cpp:
2155         * ksvg2/svg/SVGLinearGradientElement.cpp:
2156         * ksvg2/svg/SVGMarkerElement.cpp:
2157         * ksvg2/svg/SVGMaskElement.cpp:
2158         * ksvg2/svg/SVGMatrix.cpp:
2159         * ksvg2/svg/SVGMatrix.h:
2160         * ksvg2/svg/SVGPatternElement.cpp:
2161         * ksvg2/svg/SVGRadialGradientElement.cpp:
2162         * ksvg2/svg/SVGSVGElement.cpp:
2163         * ksvg2/svg/SVGStyledElement.h:
2164         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2165         * ksvg2/svg/SVGStyledTransformableElement.h:
2166         * ksvg2/svg/SVGSwitchElement.cpp:
2167         * ksvg2/svg/SVGTextElement.cpp:
2168         * ksvg2/svg/SVGTransformable.h:
2169         * ksvg2/svg/SVGUseElement.cpp:
2170         * kwq/AffineTransform.cpp: Added.
2171         * kwq/AffineTransform.h: Added.
2172         * kwq/DeprecatedCString.cpp: Added.
2173         * kwq/DeprecatedCString.h: Added.
2174         * kwq/DeprecatedPtrQueue.h: Added.
2175         * kwq/FileButton.h: Added.
2176         * kwq/FileButton.mm: Added.
2177         * kwq/FormDataMac.mm: Added.
2178         * kwq/KWQCString.cpp: Removed.
2179         * kwq/KWQCString.h: Removed.
2180         * kwq/KWQComboBox.h: Removed.
2181         * kwq/KWQComboBox.mm: Removed.
2182         * kwq/KWQEditCommand.h: Removed.
2183         * kwq/KWQEditCommand.mm: Removed.
2184         * kwq/KWQFileButton.h: Removed.
2185         * kwq/KWQFileButton.mm: Removed.
2186         * kwq/KWQFormData.h: Removed.
2187         * kwq/KWQFormData.mm: Removed.
2188         * kwq/KWQKHTMLSettings.h: Removed.
2189         * kwq/KWQKIOGlobal.h: Removed.
2190         * kwq/KWQKSSLKeyGen.h: Removed.
2191         * kwq/KWQKSSLKeyGen.mm: Removed.
2192         * kwq/KWQLineEdit.h: Removed.
2193         * kwq/KWQLineEdit.mm: Removed.
2194         * kwq/KWQListBox.h: Removed.
2195         * kwq/KWQListBox.mm: Removed.
2196         * kwq/KWQLoader.h: Removed.
2197         * kwq/KWQLoader.mm: Removed.
2198         * kwq/KWQPageState.h: Removed.
2199         * kwq/KWQPageState.mm: Removed.
2200         * kwq/KWQPtrQueue.h: Removed.
2201         * kwq/KWQResourceLoader.h: Removed.
2202         * kwq/KWQResourceLoader.mm: Removed.
2203         * kwq/KWQScrollBar.h: Removed.
2204         * kwq/KWQScrollBar.mm: Removed.
2205         * kwq/KWQSlider.h: Removed.
2206         * kwq/KWQSlider.mm: Removed.
2207         * kwq/KWQTextEdit.h: Removed.
2208         * kwq/KWQTextEdit.mm: Removed.
2209         * kwq/KWQTextStream.cpp: Removed.
2210         * kwq/KWQTextStream.h: Removed.
2211         * kwq/KWQWMatrix.cpp: Removed.
2212         * kwq/KWQWMatrix.h: Removed.
2213         * kwq/ListBox.h: Added.
2214         * kwq/ListBox.mm: Added.
2215         * kwq/LoaderFunctions.h: Added.
2216         * kwq/LoaderFunctions.mm: Added.
2217         * kwq/PopUpButton.h: Added.
2218         * kwq/PopUpButton.mm: Added.
2219         * kwq/SSLKeyGenerator.h: Added.
2220         * kwq/SSLKeyGenerator.mm: Added.
2221         * kwq/Settings.h: Added.
2222         * kwq/TextBox.h: Added.
2223         * kwq/TextBox.mm: Added.
2224         * kwq/TextField.h: Added.
2225         * kwq/TextField.mm: Added.
2226         * kwq/TextStream.cpp: Added.
2227         * kwq/TextStream.h: Added.
2228         * kwq/WebCoreEditCommand.h: Added.
2229         * kwq/WebCoreEditCommand.mm: Added.
2230         * kwq/WebCorePageState.h: Added.
2231         * kwq/WebCorePageState.mm: Added.
2232         * kwq/WebCoreResourceLoaderImp.h: Added.
2233         * kwq/WebCoreResourceLoaderImp.mm: Added.
2234         * kwq/WebCoreScrollBar.h: Added.
2235         * kwq/WebCoreScrollBar.mm: Added.
2236         * kwq/WebCoreSlider.h: Added.
2237         * kwq/WebCoreSlider.mm: Added.
2238         * loader/Cache.h:
2239         * loader/CachedCSSStyleSheet.cpp:
2240         * loader/CachedImage.cpp:
2241         * loader/CachedObject.h:
2242         * loader/CachedObjectClientWalker.h:
2243         * loader/CachedResource.h:
2244         * loader/CachedResourceClientWalker.h:
2245         * loader/CachedScript.h:
2246         * loader/CachedXBLDocument.h:
2247         * loader/Decoder.h:
2248         * loader/DocLoader.cpp:
2249         * loader/DocLoader.h:
2250         * loader/FormData.h:
2251         * loader/ImageDocument.cpp:
2252         * loader/PluginDocument.cpp:
2253         * loader/TextDocument.cpp:
2254         * loader/loader.cpp:
2255         * loader/loader.h:
2256         * page/Frame.cpp:
2257         * page/Frame.h:
2258         * page/FramePrivate.h:
2259         * page/Page.cpp:
2260         * page/Page.h:
2261         * platform/DeprecatedPtrList.h:
2262         * platform/DeprecatedPtrListImpl.cpp:
2263         * platform/DeprecatedPtrListImpl.h:
2264         * platform/DeprecatedString.cpp:
2265         * platform/DeprecatedString.h:
2266         * platform/DeprecatedStringList.cpp:
2267         * platform/DeprecatedStringList.h:
2268         * platform/DeprecatedValueList.h:
2269         * platform/DeprecatedValueListImpl.cpp:
2270         * platform/DeprecatedValueListImpl.h:
2271         * platform/FloatSize.h:
2272         * platform/Font.cpp:
2273         * platform/KURL.cpp:
2274         * platform/RegularExpression.cpp:
2275         * platform/RegularExpression.h:
2276         * platform/SegmentedString.h:
2277         * platform/StreamingTextDecoder.cpp:
2278         * platform/String.cpp:
2279         * platform/StringImpl.cpp:
2280         * platform/TextEncoding.cpp:
2281         * platform/TransferJob.cpp:
2282         * platform/TransferJob.h:
2283         * platform/TransferJobInternal.h:
2284         * platform/gdk/FrameGdk.cpp:
2285         * platform/gdk/TemporaryLinkStubs.cpp:
2286         * platform/mac/ClipboardMac.h:
2287         * platform/mac/ClipboardMac.mm:
2288         * platform/mac/CursorMac.mm:
2289         * platform/mac/DeprecatedStringMac.mm: Added.
2290         * platform/mac/FontCacheMac.mm:
2291         * platform/mac/FontMac.mm:
2292         * platform/mac/FoundationExtras.h:
2293         * platform/mac/ImageMac.mm:
2294         * platform/mac/KURLMac.mm:
2295         * platform/mac/MouseEventMac.mm: Removed.
2296         * platform/mac/QStringListMac.mm: Removed.
2297         * platform/mac/QStringMac.mm: Removed.
2298         * platform/mac/TransferJobMac.mm:
2299         * platform/mac/WebCoreTextArea.h:
2300         * platform/mac/WebCoreTextArea.mm:
2301         * platform/mac/WebCoreTextField.h:
2302         * platform/mac/WebCoreTextField.mm:
2303         * platform/mac/WidgetMac.mm:
2304         * platform/win/TemporaryLinkStubs.cpp:
2305         * rendering/DataRef.h:
2306         * rendering/DeprecatedRenderSelect.cpp:
2307         * rendering/DeprecatedRenderSelect.h:
2308         * rendering/DeprecatedSlider.cpp:
2309         * rendering/InlineFlowBox.cpp:
2310         * rendering/RenderApplet.cpp:
2311         * rendering/RenderBlock.cpp:
2312         * rendering/RenderBlock.h:
2313         * rendering/RenderContainer.cpp:
2314         * rendering/RenderFileButton.cpp:
2315         * rendering/RenderFlexibleBox.cpp:
2316         * rendering/RenderFlow.cpp:
2317         * rendering/RenderFormElement.cpp:
2318         * rendering/RenderFrameSet.cpp:
2319         * rendering/RenderFrameSet.h:
2320         * rendering/RenderImage.cpp:
2321         * rendering/RenderInline.cpp:
2322         * rendering/RenderLayer.cpp:
2323         * rendering/RenderLayer.h:
2324         * rendering/RenderLineEdit.cpp:
2325         * rendering/RenderListItem.cpp:
2326         * rendering/RenderListMarker.cpp:
2327         * rendering/RenderObject.cpp:
2328         * rendering/RenderObject.h:
2329         * rendering/RenderPartObject.cpp:
2330         * rendering/RenderReplaced.cpp:
2331         * rendering/RenderStyle.cpp: Added.
2332         * rendering/RenderStyle.h: Added.
2333         * rendering/RenderTable.cpp:
2334         * rendering/RenderTable.h:
2335         * rendering/RenderTableCell.cpp:
2336         * rendering/RenderTableCell.h:
2337         * rendering/RenderTableCol.cpp:
2338         * rendering/RenderTableCol.h:
2339         * rendering/RenderTableRow.cpp:
2340         * rendering/RenderTableSection.cpp:
2341         * rendering/RenderTableSection.h:
2342         * rendering/RenderText.cpp:
2343         * rendering/RenderText.h:
2344         * rendering/RenderTextArea.cpp:
2345         * rendering/RenderTextControl.cpp: Added.
2346         * rendering/RenderTextControl.h: Added.
2347         * rendering/RenderTextField.cpp: Removed.
2348         * rendering/RenderTextField.h: Removed.
2349         * rendering/RenderTheme.cpp:
2350         * rendering/RenderThemeMac.mm:
2351         * rendering/RenderTreeAsText.cpp:
2352         * rendering/RenderTreeAsText.h:
2353         * rendering/RenderView.cpp:
2354         * rendering/RenderWidget.cpp:
2355         * rendering/bidi.cpp:
2356         * rendering/render_style.cpp: Removed.
2357         * rendering/render_style.h: Removed.
2358         * xml/XSLStyleSheet.cpp:
2359         * xml/XSLTProcessor.cpp:
2360         * xml/xmlhttprequest.cpp:
2361         * xpath/impl/XPathParser.cpp:
2362
2363 2006-07-09  Rob Buis  <buis@kde.org>
2364
2365         Reviewed by Darin.
2366
2367         http://bugzilla.opendarwin.org/show_bug.cgi?id=8251
2368         navigator.platform incorrect in WebKit.app on Intel Macs
2369
2370         For navigator.platform return "MacIntel" for Intel processors, "MacPPC"
2371         otherwise.
2372
2373         * bindings/js/kjs_navigator.cpp:
2374         (KJS::Navigator::getValueProperty):
2375
2376 2006-07-08  Timothy Hatcher  <timothy@apple.com>
2377
2378         Reviewed by Maciej.
2379
2380         Bug 5312: comments aren't available via DOM
2381         http://bugzilla.opendarwin.org/show_bug.cgi?id=5312
2382
2383         <rdar://problem/4564414> getting comments via DOM isn't working (5312)
2384         <rdar://problem/4545691> DOM_COMMENT node masking out real DOM elements
2385
2386         * dom/Document.cpp:
2387         (WebCore::Document::removedLastRef): set m_documentElement to 0
2388         (WebCore::Document::childrenChanged): invalidate the document element we have cached in case it was replaced
2389         (WebCore::Document::documentElement): cache the first element as the document node if m_documentElement is 0
2390         * dom/Document.h: added m_documentElement
2391         * html/HTMLDocument.cpp: removed documentElement(), HTML documents just use Document's documentElement()
2392         * html/HTMLDocument.h: ditto
2393         * html/HTMLParser.cpp:
2394         (WebCore::HTMLParser::handleError): make a new HTML node is the document's firstChild is NULL or
2395         the firstChild is not a HTML element (like a comment)
2396         * html/HTMLTokenizer.cpp:
2397         (WebCore::HTMLTokenizer::parseComment): removed the #ifdef to include comment nodes
2398
2399 2006-07-08  Anders Carlsson  <acarlsson@apple.com>
2400
2401         Reviewed by Darin, tweaked slightly and landed by Maciej.
2402
2403         http://bugzilla.opendarwin.org/show_bug.cgi?id=9787
2404         fast/frames tests failing (bad pointer to owner element) under MallocScribble
2405         
2406         * html/HTMLFrameElement.cpp:
2407         (WebCore::HTMLFrameElement::close):
2408         Disconnect the owner element of our frame.
2409         
2410         * html/HTMLIFrameElement.cpp:
2411         (WebCore::HTMLIFrameElement::attach):
2412         Don't call setFrame here.
2413         
2414         * html/HTMLPlugInElement.cpp:
2415         (WebCore::HTMLPlugInElement::detach):
2416         Disconnect the owner element of our frame.
2417
2418         * html/HTMLPlugInElement.h:
2419         (WebCore::HTMLPlugInElement::setFrameName):        
2420         New function.
2421         
2422         * page/Frame.cpp:
2423         (WebCore::Frame::Frame):
2424         Don't call setFrame.
2425         
2426         (WebCore::Frame::~Frame):
2427         Null out the owner element.
2428         
2429         (WebCore::Frame::requestObject):
2430         When an object creates a child frame, assign it a name so it can be
2431         accessed from HTMLPlugInElement.
2432         
2433         * rendering/RenderPart.cpp:
2434         (WebCore::RenderPart::RenderPart):
2435         (WebCore::RenderPart::~RenderPart):
2436         * rendering/RenderPart.h:
2437         Get rid of setFrame.
2438
2439 2006-07-08  Darin Adler  <darin@apple.com>
2440
2441         Reviewed by Geoff.
2442
2443         - better fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9622
2444           REGRESSION: showModalDialog returnValue ignored, function result is always "undefined"
2445
2446         * bindings/js/kjs_window.cpp:
2447         (KJS::showModalDialog): Set the return value after returning from the function if the
2448         window is not cleared; this is a better way to handle the case where the window does
2449         not get cleared before returning, and handles some new cases created by slight changes
2450         in the latest Safari properly too.
2451         (KJS::Window::clear): Changed logic slightly so we always store the result of getDirect
2452         into the return value slot -- the old code left the storage untouched if it was 0.
2453         Also made it only overwrite the return value slot if it's 0.
2454
2455         * bindings/js/kjs_proxy.h:
2456         * bindings/js/kjs_proxy.cpp:
2457         * bindings/js/kjs_window.h:
2458         * bindings/js/kjs_window.cpp:
2459         * page/Frame.cpp:
2460         Roll the previous fix out.
2461
2462 2006-07-08  Darin Adler  <darin@apple.com>
2463
2464         - try to fix Windows build
2465
2466         * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing source files.
2467
2468 === Safari-521.15 ===
2469
2470 2006-07-07  Justin Garcia  <justin.garcia@apple.com>
2471
2472         Reviewed by levi
2473         
2474         Fix Mail ToDo crashers.
2475
2476         * dom/Range.cpp:
2477         (WebCore::Range::compareBoundaryPoints): Added an ASSERT that both
2478         containers are non-null and an early return.
2479         * editing/Selection.cpp:
2480         (WebCore::Selection::validate): Fix a dangling start/end.
2481         (WebCore::Selection::adjustForEditableContent): Added an early return if
2482         m_start or m_end are null.
2483         (WebCore::Selection::isContentEditable): Use isRichlyEditablePosition.
2484         (WebCore::Selection::isContentRichlyEditable): Ditto.
2485         * editing/Selection.h:
2486         * editing/VisiblePosition.cpp:
2487         (WebCore::VisiblePosition::next): Use the new highestEditableRoot.
2488         (WebCore::VisiblePosition::previous): Ditto.
2489         * editing/htmlediting.cpp:
2490         (WebCore::highestEditableRoot): Takes in a position.
2491         (WebCore::isEditablePosition): Added.
2492         (WebCore::isRichlyEditablePosition): Added.
2493         (WebCore::rootEditableElement): Added.
2494         (WebCore::nextCandidate): Moved and split out from nextVisiblePosition.
2495         (WebCore::nextVisuallyDistinctCandidate): Ditto.
2496         (WebCore::previousCandidate): Moved and split out from previousVisiblePosition.
2497         (WebCore::previousVisuallyDistinctCandidate): Ditto.
2498         (WebCore::firstEditablePositionAfterPositionInRoot): Iterate over positions,
2499         using nextVisuallyDistinctCandidate, skipping atomic nodes that are non-editable.
2500         (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
2501         * editing/htmlediting.h:
2502         * editing/visible_units.cpp:
2503         (WebCore::startOfWord): Added a FIXME.
2504
2505 2006-07-07  Levi Weintraub  <lweintraub@apple.com>
2506
2507         Reviewed by justin
2508
2509         Allowed deletion typing commands to take in a granularity
2510
2511         * bridge/mac/WebCoreFrameBridge.h: Pass granularity across the bridge
2512         * bridge/mac/WebCoreFrameBridge.mm: Ditto
2513         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
2514         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
2515         * editing/TypingCommand.cpp: Constructors take in a granularity
2516         (WebCore::TypingCommand::TypingCommand):
2517         (WebCore::TypingCommand::deleteKeyPressed):
2518         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2519         * editing/TypingCommand.h: ditto
2520         * page/Frame.h: Fixed bug that shouldDeleteSelection wasn't virtual
2521
2522 2006-07-07  Brady Eidson  <beidson@apple.com>
2523
2524         Reviewed by Anders and Tim Hatcher
2525
2526         Added an accessor to a SQLite config option to change its disk-syncing behavior.
2527         Used this accessor to significantly speed up writes to the Icon DB.
2528
2529         * icon/IconDatabase.cpp:
2530         (WebCore::IconDatabase::open):  Disable full syncing to the SQLite db to speed up writes to the icondb
2531
2532         * icon/SQLDatabase.cpp:
2533         (SQLDatabase::setFullsync):
2534         (SQLDatabase::setSynchronous):
2535         * icon/SQLDatabase.h:
2536         (WebCore::SQLDatabase::):  Added accessor to the SQLite config pragma "synchronous"
2537
2538 2006-07-07  Darin Adler  <darin@apple.com>
2539
2540         Reviewed by Maciej.
2541
2542         - fixed a storage leak noticed by the buildbot
2543
2544         * dom/Document.cpp: (WebCore::Document::removedLastRef):
2545         Call delete on the markers before clearing the map containing them.
2546
2547 2006-07-08  Anders Carlsson  <acarlsson@apple.com>
2548
2549         Reviewed by Brady.
2550
2551         http://bugzilla.opendarwin.org/show_bug.cgi?id=9777
2552         Reproducible crash in Loading/Frames in ToT.
2553         
2554         The problem was that the renderpart destructor resets the frame's 
2555         owner element. For iframes, this should only be done when the element is 
2556         going to be removed from the document.
2557         
2558         * html/HTMLIFrameElement.cpp:
2559         (WebCore::HTMLIFrameElement::~HTMLIFrameElement):
2560         (WebCore::HTMLIFrameElement::willRemove):
2561         (WebCore::HTMLIFrameElement::removedFromDocument):
2562         (WebCore::HTMLIFrameElement::detach):        
2563         * html/HTMLIFrameElement.h:
2564         Remove the frame in willRemove instead.
2565         
2566         * rendering/RenderPart.cpp:
2567         (WebCore::RenderPart::RenderPart):
2568         (WebCore::RenderPart::~RenderPart):
2569         * rendering/RenderPart.h:
2570         Don't call setFrame(0) in the destructor when the element is an iframe element.
2571
2572 2006-07-07  Darin Adler  <darin@apple.com>
2573
2574         Reviewed by Anders.
2575
2576         - fixed a storage leak noticed by the buildbot
2577
2578         * page/FrameView.cpp: (WebCore::FrameViewPrivate::~FrameViewPrivate):
2579         Delete m_scheduledEvents.
2580
2581 2006-07-07  Darin Adler  <darin@apple.com>
2582
2583         Reviewed by Adele.
2584
2585         - fixed a couple of storage leaks noticed by the buildbot
2586
2587         * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach):
2588         Call deref on the style after calling setRenderStyle, since styleForRenderer
2589         returns us a "ref'd" RenderStyle object.
2590         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): Ditto.
2591
2592 2006-07-07  Darin Adler  <darin@apple.com>
2593
2594         Reviewed by Adele.
2595
2596         - fix some license mistakes
2597
2598         * LICENSE-APPLE: Added more years of publication to the copyright here.
2599
2600         * html/CanvasGradient.idl: Corrected license on this file. It had the wrong one.
2601         * html/CanvasPattern.idl: Ditto.
2602         * html/CanvasRenderingContext2D.idl: Ditto.
2603         * html/HTMLCanvasElement.idl: Ditto.
2604
2605 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
2606
2607         Reviewed by justin
2608
2609         Improved table editing: pressing delete directly before or after a table will now select
2610         the table first, then delete it, instead of just deleting it. Useful for when the table's
2611         existence is non-obvious.
2612
2613         * bridge/mac/FrameMac.h: Added shouldDeleteSelection, which allows WebCore to trigger
2614         deletion editing deligates
2615         * bridge/mac/FrameMac.mm: ditto
2616         (WebCore::FrameMac::shouldDeleteSelection):
2617         * bridge/mac/WebCoreFrameBridge.h: ditto
2618         * editing/TypingCommand.cpp: Implemented check for a caret position next to a table, and
2619         subsequent selection (as opposed to removal)
2620         (WebCore::TypingCommand::deleteKeyPressed):
2621         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2622         * page/Frame.cpp: shouldDeleteSelection added
2623         (WebCore::Frame::shouldDeleteSelection):
2624         * page/Frame.h: ditto
2625
2626 2006-07-07  Sam Weinig  <sam.weinig@gmail.com>
2627
2628         Reviewed by Eric.
2629
2630         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9768
2631           Split XSLImportRule out of XSLStyleSheet.* into separate 
2632           files (one class per file).
2633
2634         * WebCore.xcodeproj/project.pbxproj:
2635         * xml/XSLImportRule.cpp: Added.
2636         (WebCore::XSLImportRule::XSLImportRule):
2637         (WebCore::XSLImportRule::parentStyleSheet):
2638         (WebCore::XSLImportRule::loadSheet):
2639         * xml/XSLImportRule.h: Added.
2640         * xml/XSLStyleSheet.cpp:
2641         * xml/XSLStyleSheet.h:
2642
2643 2006-07-07  Anders Carlsson  <acarlsson@apple.com>
2644
2645         Reviewed by Darin.
2646
2647         http://bugzilla.opendarwin.org/show_bug.cgi?id=8300
2648         REGRESSION: First mouse click is randomly ignored when clicking on checkbox and radio buttons
2649         
2650         * css/html4.css:
2651         Set "-webkit-user-select: ignore" on radio buttons and check boxes .
2652         
2653 2006-07-07  Maciej Stachowiak  <mjs@apple.com>
2654
2655         Reviewed by Tim Hatcher.
2656
2657         - fix 20 Node leaks on fast/events tests - these should be the last ones
2658
2659         * bindings/objc/DOMEvents.mm:
2660         (-[DOMEvent dealloc]): implement - deref the event!
2661         (-[DOMEvent finalize]): ditto
2662
2663 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
2664
2665         Reviewed by Tim Hatcher.
2666
2667         - fix 26 Node leaks on fast/dom tests
2668
2669         * dom/Document.cpp:
2670         (WebCore::Document::removedLastRef): delete tokenizer - if we are still parsing at this point, we don't
2671         want nodes held by the parser to keep the document alive.
2672         * html/HTMLParser.cpp:
2673         (WebCore::RefNonDocNodePtr::RefNonDocNodePtr): Smart pointer that acts like RefPtr for Node,
2674         but avoids refing document nodes to avoid cycles.
2675         (WebCore::RefNonDocNodePtr::~RefNonDocNodePtr):
2676         (WebCore::RefNonDocNodePtr::get):
2677         (WebCore::RefNonDocNodePtr::operator*):
2678         (WebCore::RefNonDocNodePtr::operator->):
2679         (WebCore::RefNonDocNodePtr::operator!):
2680         (WebCore::RefNonDocNodePtr::operator UnspecifiedBoolType):
2681         (WebCore::RefNonDocNodePtr::operator=):
2682         (WebCore::operator==):
2683         (WebCore::operator!=):
2684         (WebCore::HTMLStackElem): Use a RefNonDocNodePtr instead of RefPtr<Node>
2685         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Use a RefPtr here to avoid crashing
2686
2687 2006-07-06  Adele Peterson  <adele@apple.com>
2688
2689         Reviewed by Maciej.
2690
2691         Fixed new popup control to open up when the spacebar and the up and down arrows are pressed.
2692
2693         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9762
2694         [Native pop up] Highlighted item text is black instead of white
2695
2696         * html/HTMLSelectElement.cpp:
2697         (WebCore::HTMLSelectElement::isKeyboardFocusable): Added.
2698         (WebCore::HTMLSelectElement::isMouseFocusable): Added.
2699         (WebCore::HTMLSelectElement::defaultEventHandler): Updated to showPopup for up and down arrow keys and spacebar.
2700         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Made this const.
2701         * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate): Added FIXME.
2702         * rendering/RenderPopupMenuMac.mm:
2703         (WebCore::RenderPopupMenuMac::showPopup): Updated to save the NSEvent that triggers the popup, so we can send
2704         fake mouseUp and keyUp events when the NSMenu returns.
2705         (WebCore::RenderPopupMenuMac::addGroupLabel): Only set the NSForegroundColorAttributeName attribute if the text isn't black.
2706         Follow-up bug about other colors: http://bugzilla.opendarwin.org/show_bug.cgi?id=9769
2707         (WebCore::RenderPopupMenuMac::addOption): ditto.
2708         * bridge/mac/FrameMac.h: (WebCore::FrameMac::currentEvent): Returns the current NSEvent.
2709
2710 2006-07-06  Justin Garcia  <justin.garcia@apple.com>
2711
2712         Reviewed by levi
2713         
2714         <rdar://problem/4609184>
2715         Mail crashes at WebCore::Selection::adjustForEditableContent
2716         <rdar://problem/4609140>
2717         Crash at WebCore::Range::compareBoundaryPoints
2718         
2719         * editing/Selection.cpp:
2720         (WebCore::Selection::adjustForEditableContent):
2721         * editing/VisiblePosition.cpp:
2722         (WebCore::VisiblePosition::next): Moved code into a helper function.
2723         (WebCore::VisiblePosition::previous): Ditto.
2724         * editing/htmlediting.cpp:
2725         (WebCore::comparePositions): Moved from Selection.cpp.
2726         (WebCore::lowestEditableAncestor): Added.  Returns rootEditableElement
2727         for a node in editable content and the rootEditableElement for the first
2728         ancestor that's editable for a node in non-editable content.
2729         (WebCore::firstEditablePositionAfterPositionInRoot): 
2730         (WebCore::lastEditablePositionBeforePositionInRoot):
2731         * editing/htmlediting.h:
2732
2733 2006-07-06  Anders Carlsson  <acarlsson@apple.com>
2734
2735         Reviewed by Adele.
2736
2737         http://bugzilla.opendarwin.org/show_bug.cgi?id=9528
2738         REGRESSION: arrow key skips '>' in Bugzilla replies due to '\n' in text nodes
2739         
2740         Patch by Darin, tweaked by Anders.
2741         
2742         * html/HTMLElement.cpp:
2743         (WebCore::HTMLElement::setInnerText):
2744         Convert newline characters to <br> elements. I've verified that what's done here is what WinIE does when setting innerText.
2745         
2746         (WebCore::HTMLElement::setOuterText):
2747         Fix comment.
2748
2749         * rendering/RenderTextField.cpp:
2750         (WebCore::RenderTextField::textWithHardLineBreaks):
2751         Remove assert. m_div->firstChild() can be null now because setInnerText doesn't create
2752         text nodes for empty strings anymore.
2753
2754 2006-07-06  Adele Peterson  <adele@apple.com>
2755
2756         Reviewed by Tim Hatcher.
2757
2758         - Speculative fix for <rdar://problem/4605532> unrepro crash at cnn.com after upgrading to 10.4.7 (but happening with 10.4.6 too)
2759
2760         * page/FrameView.cpp: (WebCore::FrameView::layout): Ref's the view during layout, since a recalcStyle could cause the view to be deleted.
2761         If we get back from recalcStyle, and there's only one ref, return early since the the view will be deleted when we exit layout.
2762         * page/FrameView.h: (WebCore::FrameView::hasOneRef): Added.
2763
2764 2006-07-06  Anders Carlsson  <acarlsson@apple.com>
2765
2766         Reviewed by Maciej.
2767
2768         <rdar://problem/4610891> Support overflow events
2769         
2770         * DerivedSources.make:
2771         Add generated sources.
2772         
2773         * WebCore.xcodeproj/project.pbxproj:
2774         Add new files.
2775         
2776         * bindings/js/kjs_events.cpp:
2777         (KJS::toJS):
2778         Support creating wrappers for overflow events..
2779         
2780         * bindings/objc/DOMEvents.h:
2781         * bindings/objc/DOMEvents.mm:
2782         (+[DOMEvent _eventWith:]):
2783         (-[DOMOverflowEvent _overflowEvent]):
2784         (-[DOMOverflowEvent orient]):
2785         (-[DOMOverflowEvent horizontalOverflow]):
2786         (-[DOMOverflowEvent verticalOverflow]):
2787         Add Objective-C wrapper for overflow events.
2788         
2789         * dom/Event.cpp:
2790         (WebCore::Event::isOverflowEvent):        
2791         * dom/Event.h:
2792         * dom/EventNames.h:
2793         * dom/OverflowEvent.cpp: Added.
2794         (WebCore::OverflowEvent::OverflowEvent):
2795         (WebCore::OverflowEvent::isOverflowEvent):
2796         * dom/OverflowEvent.h: Added.
2797         (WebCore::OverflowEvent::):
2798         (WebCore::OverflowEvent::orient):
2799         (WebCore::OverflowEvent::horizontalOverflow):
2800         (WebCore::OverflowEvent::verticalOverflow):
2801         * dom/OverflowEvent.idl: Added.
2802         Add overflow events.
2803         
2804         * page/FrameView.cpp:
2805         (WebCore::FrameViewPrivate::FrameViewPrivate):
2806         (WebCore::FrameView::applyOverflowToViewport):        
2807         (WebCore::FrameView::layout):
2808         Dispatch any scheduled events when layout is done.
2809         
2810         (WebCore::FrameView::scheduleEvent):
2811         New function which schedules an event.
2812         
2813         (WebCore::FrameView::updateOverflowStatus):
2814         Update overflow status for the viewport.
2815         
2816         (WebCore::FrameView::dispatchScheduledEvents):
2817         New function which dispatches all scheduled events.
2818         
2819         * page/FrameView.h:
2820         Add declarations.
2821         
2822         * rendering/RenderLayer.cpp:
2823         (WebCore::RenderLayer::RenderLayer):
2824         (WebCore::RenderLayer::updateOverflowStatus):
2825         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2826         * rendering/RenderLayer.h:
2827         Schedule overflow events when overflow status changes.
2828
2829 2006-07-06  Timothy Hatcher  <timothy@apple.com>
2830
2831         Reviewed by Geoff.
2832
2833         <rdar://problem/4610881> Expose scroll-related JS properties to ObjC DOM interface
2834         <rdar://problem/4519675> offsetLeft, offsetTop, offsetHeight, and offsetWidth
2835         properties are not exposed to ObjC
2836
2837         * bindings/objc/DOMPrivate.h:
2838         * bindings/objc/DOMHTML.mm:
2839         (-[DOMHTMLElement offsetLeft]):
2840         (-[DOMHTMLElement offsetTop]):
2841         (-[DOMHTMLElement offsetWidth]):
2842         (-[DOMHTMLElement offsetHeight]):
2843         (-[DOMHTMLElement offsetParent]):
2844         (-[DOMHTMLElement clientWidth]):
2845         (-[DOMHTMLElement clientHeight]):
2846         (-[DOMHTMLElement scrollLeft]):
2847         (-[DOMHTMLElement setScrollLeft:]):
2848         (-[DOMHTMLElement scrollTop]):
2849         (-[DOMHTMLElement setScrollTop:]):
2850         (-[DOMHTMLElement scrollWidth]):
2851         (-[DOMHTMLElement scrollHeight]):
2852
2853 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
2854
2855         Reviewed by Adele.
2856
2857         - fix 435 more layout tests Node leaks
2858
2859         * editing/CompositeEditCommand.cpp:
2860         (WebCore::CompositeEditCommand::moveParagraphs): fix more instances of leaked DOM ranges
2861
2862 2006-07-06  David Harrison  <harrison@apple.com>
2863
2864         Reviewed by Geoff
2865
2866         <rdar://problem/4565031> innerHTML of XMP tag returns special characters like '&gt;' instead of '>'
2867  
2868         Test: fast/innerHTML/006.html
2869        
2870         * editing/markup.cpp:
2871         (WebCore::startMarkup):
2872         (WebCore::createMarkup):
2873         Do not special quote content of XMP nodes.
2874
2875 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
2876
2877         Not reviewed - build fix.
2878
2879         - back out earlier leak fix, as it caused a crash on one of the fast/invalid layout tests
2880
2881         * dom/Document.cpp:
2882         (WebCore::Document::removedLastRef):
2883         * html/HTMLParser.cpp:
2884         (WebCore::HTMLStackElem::HTMLStackElem):
2885         (WebCore::HTMLParser::popNestedHeaderTag):
2886         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2887         (WebCore::HTMLParser::reopenResidualStyleTags):
2888         (WebCore::HTMLParser::popBlock):
2889         (WebCore::HTMLParser::popOneBlock):
2890
2891 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
2892
2893         Reviewed by Anders.
2894
2895         - fix ~3000 Node leaks on the editing tests
2896
2897         * editing/CompositeEditCommand.cpp:
2898         (WebCore::CompositeEditCommand::moveParagraphs): put a newly created Range in a RefPtr
2899         to avoid leaking it, as this leaks the whole document.
2900
2901 2006-07-06  Maciej Stachowiak  <mjs@apple.com>
2902
2903         Reviewed by Anders.
2904
2905         - fix 26 Node leaks on various fast/dom tests
2906
2907         * dom/Document.cpp:
2908         (WebCore::Document::removedLastRef): Delete the tokenizer here, since if we are in mid-parse,
2909         the parser might hold refs on some of our children that have self-only refs.
2910         * html/HTMLParser.cpp:
2911         (WebCore::HTMLStackElem::HTMLStackElem): don't ref the node if it is a document to avoid ref cycles
2912         (WebCore::HTMLStackElem::~HTMLStackElem): ditto
2913         (WebCore::HTMLStackElem::node): changed interface a bit to support the above
2914         (WebCore::HTMLStackElem::setNode): ditto
2915         (WebCore::HTMLParser::popNestedHeaderTag): use new interface to HTMLStackElem
2916         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): ditto
2917         (WebCore::HTMLParser::reopenResidualStyleTags): ditto
2918         (WebCore::HTMLParser::popBlock): ditto
2919         (WebCore::HTMLParser::popOneBlock): ditto
2920
2921 2006-07-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2922
2923         Reviewed by Adele.
2924         
2925         * rendering/RenderMenuList.h:
2926         (WebCore::RenderMenuList::createsAnonymousWrapper): This method replaces
2927         allowsReusingAnonymousChild() and has the opposite meaning.
2928         
2929 2006-07-05  Adele Peterson  <adele@apple.com>
2930
2931         Build fixes.
2932
2933         * WebCore.vcproj/WebCore/WebCore.vcproj:
2934         * platform/win/TemporaryLinkStubs.cpp:
2935         * rendering/RenderMenuList.cpp:
2936         (WebCore::RenderMenuList::calcMinMaxWidth):
2937         * rendering/RenderPopupMenuWin.h:
2938         (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
2939         * rendering/RenderThemeWin.cpp:
2940
2941 2006-07-05  Maciej Stachowiak  <mjs@apple.com>
2942
2943         Reviewed by Adele.
2944
2945         - fix 308 Node leaks on the editing layout tests
2946
2947         * dom/Document.cpp: (WebCore::Document::removedLastRef): Clear the markers once there
2948         are no real refs on the document, otherwise a self-only reference cycle w/ the document
2949         can occur.
2950
2951 2006-07-05  Adele Peterson  <adele@apple.com>
2952
2953         Reviewed by Maciej and Hyatt.
2954
2955         Initial implementation of popup menu control.  This can be turned on by setting -webkit-appearance: menulist on a select element.
2956
2957         * WebCore.xcodeproj/project.pbxproj: Added RenderMenuList.h, RenderMenuList.cpp, RenderPopupMenu.h, RenderPopupMenu.cpp, 
2958         RenderPopupMenuWin.h, RenderPopupMenuMac.h, RenderPopupMenuMac.mm, 
2959     
2960         * dom/Node.cpp:
2961         (WebCore::Node::renderStyle): Added. Returns the renderer's style.  If there's no renderer, returns's a RenderStyle that's kept by the node.
2962         This is important for HTMLOptGroupElement and HTMLOptionElement, which don't have renderers.
2963         (WebCore::Node::setRenderStyle): Added.
2964         * dom/Node.h:
2965         * dom/Element.cpp: (WebCore::Element::recalcStyle): Updated to use renderStyle so recalcStyle will work for HTMLOptionElements and HTMLOptGroupElements.
2966            
2967         * css/cssstyleselector.cpp: Updated to call renderStyle method on the node, so resolving style works on elements w/o renderers that cache style. 
2968         (WebCore::CSSStyleSelector::initForStyleResolve):
2969         (WebCore::CSSStyleSelector::locateCousinList):
2970         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2971         (WebCore::CSSStyleSelector::locateSharedStyle):
2972         (WebCore::CSSStyleSelector::checkOneSelector):
2973
2974         * css/html4.css: Removed display:none from options and optgroups, since we're now caching style for these elements.
2975         Added font-weight styles for option and optgroup.
2976         
2977         * html/HTMLOptGroupElement.h: Added m_style to keep track of a RenderStyle for the element, even though we aren't creating a renderer.
2978         This will allow us to honor style for optgroups and options for popup menus (and eventually list boxes too).
2979         (WebCore::HTMLOptGroupElement::rendererIsNeeded): Added.
2980         (WebCore::HTMLOptGroupElement::renderStyle): Added.
2981         * html/HTMLOptionElement.h: ditto.
2982         (WebCore::HTMLOptionElement::rendererIsNeeded): Added.
2983         (WebCore::HTMLOptionElement::renderStyle): Added.
2984         
2985         * html/HTMLOptGroupElement.cpp:
2986         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Initialize m_style.
2987         (WebCore::HTMLOptGroupElement::attach): Set the renderStyle.
2988         (WebCore::HTMLOptGroupElement::detach): Clear m_style.
2989         (WebCore::HTMLOptGroupElement::setRenderStyle): Added.
2990         (WebCore::HTMLOptGroupElement::groupLabelText): Added.
2991         * html/HTMLOptionElement.cpp: ditto.
2992         (WebCore::HTMLOptionElement::HTMLOptionElement):
2993         (WebCore::HTMLOptionElement::attach):
2994         (WebCore::HTMLOptionElement::detach):
2995         (WebCore::HTMLOptionElement::setRenderStyle):
2996         (WebCore::HTMLOptionElement::optionText):
2997
2998         * html/HTMLSelectElement.cpp: Added code to use the new RenderMenuList if the appearance is set to MenuListAppearance, 
2999         and if we're not creating a list box renderer.
3000         (WebCore::HTMLSelectElement::recalcStyle):
3001         (WebCore::HTMLSelectElement::createRenderer):
3002         (WebCore::HTMLSelectElement::setRecalcListItems):
3003         (WebCore::HTMLSelectElement::reset):
3004         (WebCore::HTMLSelectElement::notifyOptionSelected):
3005         (WebCore::HTMLSelectElement::defaultEventHandler):
3006         * html/HTMLSelectElement.h:
3007
3008         * WebCore.exp: Added _wkPopupMenu.
3009         * platform/mac/WebCoreSystemInterface.h: Added wkPopupMenu to get the NSMenu to pop up.
3010         * platform/mac/WebCoreSystemInterface.mm:
3011
3012         * platform/win/TemporaryLinkStubs.cpp: Added stubs for RenderPopupMenuWin.
3013         (RenderPopupMenuWin::RenderPopupMenuWin):
3014         (RenderPopupMenuWin::~RenderPopupMenuWin):
3015         (RenderPopupMenuWin::clear):
3016         (RenderPopupMenuWin::populate):
3017         (RenderPopupMenuWin::showPopup):
3018         (RenderPopupMenuWin::addSeparator):
3019         (RenderPopupMenuWin::addGroupLabel):
3020         (RenderPopupMenuWin::addOption):
3021         * rendering/RenderPopupMenuWin.h: Added.
3022
3023         * rendering/RenderPopupMenu.cpp: Added.
3024         (WebCore::RenderPopupMenu::RenderPopupMenu):
3025         (WebCore::RenderPopupMenu::~RenderPopupMenu):
3026         (WebCore::RenderPopupMenu::clear):
3027         (WebCore::RenderPopupMenu::populate): Walks the DOM tree, and adds separators, options, and group labels to the RenderPopupMenu.
3028         (WebCore::RenderPopupMenu::showPopup):
3029         (WebCore::RenderPopupMenu::addSeparator):
3030         (WebCore::RenderPopupMenu::addGroupLabel):
3031         (WebCore::RenderPopupMenu::addOption):
3032         * rendering/RenderPopupMenu.h: Added.
3033         (WebCore::RenderPopupMenu::renderName):
3034         (WebCore::RenderPopupMenu::getRenderMenuList):
3035         * rendering/RenderPopupMenuMac.h: Added.
3036         * rendering/RenderPopupMenuMac.mm: Added.
3037         (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
3038         (WebCore::RenderPopupMenuMac::~RenderPopupMenuMac):
3039         (WebCore::RenderPopupMenuMac::clear): Removes all items from the menu.
3040         (WebCore::RenderPopupMenuMac::populate): Disables menuChangedMessages before populating the menu.
3041         (WebCore::RenderPopupMenuMac::showPopup): Calculates the right position, and calls wkPopupMenu.
3042         (WebCore::RenderPopupMenuMac::addSeparator):
3043         (WebCore::RenderPopupMenuMac::addGroupLabel):
3044         (WebCore::RenderPopupMenuMac::addOption):
3045         
3046         * rendering/RenderMenuList.cpp: Added.
3047         (WebCore::RenderMenuList::RenderMenuList):
3048         (WebCore::RenderMenuList::addChild):
3049         (WebCore::RenderMenuList::removeChild):
3050         (WebCore::RenderMenuList::setStyle):
3051         (WebCore::RenderMenuList::updateFromElement): If the options have changed, iterate through the children to find the menu item with the widest text.
3052         Set the button text to the selected item's text.
3053         (WebCore::RenderMenuList::setText):
3054         (WebCore::RenderMenuList::paintObject):
3055         (WebCore::RenderMenuList::baselinePosition):
3056         (WebCore::RenderMenuList::calcMinMaxWidth):
3057         (WebCore::RenderMenuList::showPopup):
3058         (WebCore::RenderMenuList::layout):
3059         (WebCore::RenderMenuList::updateSelection):
3060         (WebCore::RenderMenuList::valueChanged):
3061         * rendering/RenderMenuList.h: Added.
3062         (WebCore::RenderMenuList::removeLeftoverAnonymousBoxes):
3063         (WebCore::RenderMenuList::allowsReusingAnonymousChild):
3064         (WebCore::RenderMenuList::canHaveChildren):
3065         (WebCore::RenderMenuList::renderName):
3066         (WebCore::RenderMenuList::setOptionsChanged):
3067         (WebCore::RenderMenuList::selectionChanged):
3068         (WebCore::RenderMenuList::setSelectionChanged):
3069         (WebCore::RenderMenuList::hasPopupMenu):
3070
3071         * rendering/RenderTheme.cpp: Added cases for MenuListAppearance.
3072         (WebCore::RenderTheme::adjustStyle):
3073         (WebCore::RenderTheme::paint):
3074         (WebCore::RenderTheme::paintBorderOnly):
3075         (WebCore::RenderTheme::isControlStyled):
3076         (WebCore::RenderTheme::adjustMenuListStyle):
3077         (WebCore::RenderTheme::createPopupMenu): creates platform-specific RenderPopupMenu.
3078         * rendering/RenderTheme.h:
3079         (WebCore::RenderTheme::sizeOfArrowControl): Added. 
3080         (WebCore::RenderTheme::paintMenuList): Added.
3081         * rendering/RenderThemeMac.h:
3082         * rendering/RenderThemeMac.mm:
3083         (WebCore::RenderThemeMac::adjustRepaintRect):
3084         (WebCore::RenderThemeMac::paintMenuList):
3085         (WebCore::RenderThemeMac::adjustMenuListStyle):
3086         (WebCore::RenderThemeMac::setPopupButtonCellState):
3087         (WebCore::RenderThemeMac::createPopupMenu):
3088         (WebCore::RenderThemeMac::sizeOfArrowControl):
3089         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::createPopupMenu):
3090         * rendering/RenderThemeWin.h:
3091
3092 2006-07-05  Brady Eidson  <beidson@apple.com>
3093
3094         Reviewed by Tim Omernick.
3095
3096         IconDatabase now respects private browsing via the use of in memory, temporary tables
3097
3098         * bridge/mac/WebCoreIconDatabaseBridge.mm:
3099         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
3100         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): Renamed WebCore::IconDatabase methods, changes reflected here
3101
3102         * icon/IconDatabase.cpp:
3103         (WebCore::IconDatabase::clearDatabase):
3104         (WebCore::IconDatabase::deletePrivateTables):
3105         (WebCore::IconDatabase::imageDataForIconID):
3106         (WebCore::IconDatabase::imageDataForIconURL):
3107         (WebCore::IconDatabase::imageDataForPageURL):
3108         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
3109         (WebCore::IconDatabase::iconForPageURL):
3110         (WebCore::IconDatabase::iconURLForPageURL):
3111         (WebCore::IconDatabase::setIconDataForIconURL):
3112         (WebCore::IconDatabase::performSetIconDataForIconID):
3113         (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
3114         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
3115         (WebCore::IconDatabase::setHaveNoIconForIconURL):
3116         (WebCore::IconDatabase::setIconURLForPageURL):
3117         (WebCore::IconDatabase::performSetIconURLForPageURL):
3118         (WebCore::IconDatabase::hasIconForIconURL):
3119         -Some style/comment cleanups, but mainly putting private browsing handling in place
3120
3121         * icon/IconDatabase.h:  Some methods added, others renamed, some comments added
3122
3123         * icon/SQLStatement.cpp:
3124         (WebCore::SQLStatement::getColumnName):
3125         (WebCore::SQLStatement::getColumnName16):
3126         (WebCore::SQLStatement::getColumnText):
3127         (WebCore::SQLStatement::getColumnText16):
3128         -The above 4 had changes to return String() for empty results instead of "" as it's less expensive;
3129
3130 2006-07-05  John Sullivan  <sullivan@apple.com>
3131
3132         Reviewed by Darin and Adele.
3133         
3134         - fixed <rdar://problem/4609162> REGRESSION: When tabbing between links on a page, 
3135         the window doesn't scroll to link that's not in view
3136
3137         * html/HTMLAnchorElement.cpp:
3138         * html/HTMLAnchorElement.h:
3139         removed HTMLAnchorElement::focus and HTMLAnchorElement::blur. 
3140         
3141         HTMLAnchorElement::focus just called document()->setFocusNode(). The scroll-to-reveal
3142         code used to be inside document()->setFocusNode(), but now it's in Element::focus, and this override
3143         was preventing that code from running.
3144         
3145         HTMLAnchorElement::blur was exactly the same implementation as Element::blur (and there aren't any
3146         other implementations of ::blur in the class hierarchy in between). This change has no practical
3147         effect, other than removing duplicate code.
3148         
3149         Adele and I think that it was an oversight not to remove these two methods on 12/20/05
3150         these methods were removed from HTMLButtonElementImpl and HTMLInputElementImpl.
3151
3152 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
3153
3154         * bridge/win/FrameWin.cpp:
3155         (WebCore::FrameWin::FrameWin):
3156         * bridge/win/FrameWin.h:
3157         * platform/win/TemporaryLinkStubs.cpp:
3158         (FrameWin::createFrame):
3159         Fix Win32 build.
3160
3161 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
3162
3163         * WebCore.xcodeproj/project.pbxproj:
3164         Revert accidental change of debug format to DWARF.
3165
3166 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
3167
3168         Reviewed by Maciej.
3169
3170         http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
3171         iFrames set to display:none are Missing from frames array
3172
3173         * bridge/mac/FrameMac.h:
3174         * bridge/mac/FrameMac.mm:
3175         (WebCore::FrameMac::FrameMac):
3176         (WebCore::FrameMac::createFrame):
3177         * bridge/mac/WebCoreFrameBridge.h:
3178         * bridge/mac/WebCoreFrameBridge.mm:
3179         (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
3180         (-[WebCoreFrameBridge installInFrame:]):
3181         Modify to pass the owner element instead of the owner renderer.        
3182
3183         * dom/ContainerNode.cpp:
3184         (WebCore::ContainerNode::insertBefore):
3185         (WebCore::ContainerNode::replaceChild):
3186         (WebCore::ContainerNode::appendChild):
3187         Dispatch the node inserted events before attaching the nodes. This is what the
3188         tokenizer does.
3189         
3190         * html/HTMLFrameElement.cpp:
3191         (WebCore::HTMLFrameElement::openURL):
3192         (WebCore::HTMLFrameElement::attach):
3193         Pass the element to requestFrame.
3194         
3195         (WebCore::HTMLFrameElement::setLocation):
3196         Don't call attach/detach on an iframe.
3197
3198         * html/HTMLIFrameElement.cpp:
3199         (WebCore::HTMLIFrameElement::insertedIntoDocument):
3200         Load the frame here (using openURL).
3201         
3202         (WebCore::HTMLIFrameElement::removedFromDocument):
3203         Call frameDetached.
3204         
3205         (WebCore::HTMLIFrameElement::attach):
3206         If there's a renderer, attach the content frame to it.
3207         
3208         (WebCore::HTMLIFrameElement::detach):
3209         Reset the renderer's frame.
3210         
3211         (WebCore::HTMLIFrameElement::openURL):
3212         Modify to request the frame.
3213         
3214         * html/HTMLIFrameElement.h:
3215         Add detach.
3216         
3217         * page/Frame.cpp:
3218         (WebCore::parentFromOwnerElement):
3219         (WebCore::Frame::Frame):
3220         (WebCore::Frame::~Frame):
3221         (WebCore::Frame::requestFrame):
3222         (WebCore::Frame::requestObject):
3223         (WebCore::Frame::loadSubframe):
3224         (WebCore::Frame::ownerElement):
3225         (WebCore::Frame::ownerRenderer):
3226         (WebCore::Frame::disconnectOwnerElement):
3227         * page/Frame.h:
3228         * page/FramePrivate.h:
3229         (WebCore::FramePrivate::FramePrivate):        
3230         * rendering/RenderPart.cpp:
3231         (WebCore::RenderPart::setFrame):
3232         Modify to keep an owner element around instead of the renderer. 
3233         
3234         * rendering/RenderPartObject.cpp:
3235         (WebCore::RenderPartObject::updateWidget):
3236         Don't do anything for iframes.
3237
3238 2006-07-04  Kevin Ollivier  <kevino@theolliviers.com>
3239
3240         Reviewed by Maciej, reworked a bit by Darin.
3241
3242         Compile fixes for wx port / gcc 4.0.2
3243         
3244         * platform/PlatformString.h:
3245         * platform/StringImpl.h:
3246         Include CoreFoundation for CF-specific code.
3247         
3248         * dom/DocPtr.h:
3249         * doc/EventTargetNode.h:
3250         Silence warnings about 'extra tokens' after #endif on gcc 4.0.2.
3251         (Not an error but warnings appear frequently.)
3252         
3253         * WebCoreSources.bkl:
3254         * webcore-base.bkl:
3255         Synching ports sources file with TOT. Also, making sure SRCDIR variable
3256         overrides any previous values.
3257         
3258         * loader/ImageDocument.cpp:
3259         Use PLATFORM(MAC) for the parts that are specific to the Macintosh version,
3260         and move the Objective-C parts to another file.
3261
3262         * loader/mac/ImageDocumentMac.h: Added.
3263         * loader/mac/ImageDocumentMac.mm: Added.
3264
3265 2006-07-04  Sam Weinig  <sam.weinig@gmail.com>
3266
3267         Build fix.
3268
3269         * platform/Color.cpp:
3270         (WebCore::makeRGBAFromHSLA):
3271
3272 2006-07-02  David Carson  <dacarson@gmail.com>
3273
3274         Reviewed by Darin.
3275   
3276         - Added HSL color support as specified in CSS3 spec.
3277         http://bugzilla.opendarwin.org/show_bug.cgi?id=9506
3278         Added parsing support of hsl(h,s,l) and hsla(h,s,l,a)
3279         Added converting code to convert HSL to RGB
3280
3281         * css/cssparser.cpp:
3282         (WebCore::CSSParser::parseColorParameters):
3283         Moved common code to parse RGB/RGBA values into it's
3284         own function. This code was duplicated in the parseColorFromValue()
3285         method.
3286         (WebCore::CSSParser::parseHSLParameters):
3287         Common code to parse HSL/HSLA values.
3288         (WebCore::CSSParser::parseColorFromValue):
3289         Moved RGB/RGBA parsing out to seperate function as the code was
3290         duplicated. 
3291         Added parsing support for hsl( and hsla(
3292         * css/cssparser.h:
3293         Added two new functions parseColorParameters() and 
3294         parseHSLParameters().
3295         * platform/Color.cpp:
3296         (WebCore::calcHue):
3297         Added Hue parameter to RGB color.
3298         (WebCore::makeRGBAFromHSLA):
3299         New function to convert HSLA to RGBA.
3300         * platform/Color.h:
3301         Added new functions makeRGBAFromHSLA() and calcHue().
3302
3303 2006-07-02  Mike Emmel  <mike.emmel@gmail.com>
3304
3305         Reviewed and landed by ggaren.
3306
3307         * platform/gdk/TransferJobManager.cpp
3308         Fixed broken dowload logic
3309         * platform/gdk/ScrollViewGdk.cpp 
3310         Add comment that scrollbarSize is a temporary variable
3311         * Projects/gdk/webcore-gdk.bkl
3312         Defined NDEBUG build executable is miscompiled otherwise
3313         * WebCoreSources.bkl
3314         added icon/SiteIcon.cpp editing/IndentOutdentCommand.cpp 
3315         html/HTMLViewSourceDocument.cpp
3316
3317 2006-07-02  Shawn Stricker  <kb1ibt@gmail.com>
3318
3319         Reviewed by Timothy Hatcher.  Build fix for Linux.
3320
3321         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9684
3322           [GDK] multiple little fixes and a few new things for Templinkstubs
3323
3324         * platform/gdk/ScrollViewGdk.cpp:
3325         (WebCore::ScrollView::setDrawable): Changed SCROLLBAR_SIZE to scrollbarSize.
3326         * platform/gdk/TemporaryLinkStubs.cpp:
3327         (Image::drawTiled): Added missing parameter to argument list.
3328         * platform/gdk/TransferJobManager.cpp:
3329         (WebCore::writeCallback): Added missing parenthesis to static_cast.
3330
3331 2006-07-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3332
3333         Reviewed by Darin.
3334
3335         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9674
3336           REGRESSION (r15075): Blank or incomplete pages on digg.com
3337
3338         Replaced the requestingScript state bit added in the fix for bug 9317
3339         with a m_requestingScript bool that is set before and restored
3340         after calling ref() on a CachedScript.
3341         
3342         Test: fast/tokenizer/nested-cached-scripts.html
3343
3344         * html/HTMLTokenizer.cpp:
3345         (WebCore::HTMLTokenizer::HTMLTokenizer):
3346         (WebCore::HTMLTokenizer::begin):
3347         (WebCore::HTMLTokenizer::scriptHandler):
3348         (WebCore::HTMLTokenizer::notifyFinished):
3349         * html/HTMLTokenizer.h:
3350         (WebCore::HTMLTokenizer::State::):
3351
3352 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
3353
3354         Reviewed by NOBODY (build fix).
3355
3356         * platform/gdk/TransferJobManager.cpp:
3357         (WebCore::writeCallback): Changed 'static_cat' to 'static_cast'.
3358
3359 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
3360
3361         Reviewed and worked over a lot by Darin.
3362
3363         - check in first set of GDK-specific sources
3364
3365         * platform/gdk/BrowserExtensionGdk.h: Added.
3366         * platform/gdk/CookieJarGdk.cpp: Added.
3367         * platform/gdk/CursorGdk.cpp: Added.
3368         * platform/gdk/FontCacheGdk.cpp: Added.
3369         * platform/gdk/FontDataGdk.cpp: Added.
3370         * platform/gdk/FontGdk.cpp: Added.
3371         * platform/gdk/FontPlatformData.h: Added.
3372         * platform/gdk/FontPlatformDataGdk.cpp: Added.
3373         * platform/gdk/FrameGdk.cpp: Added.
3374         * platform/gdk/FrameGdk.h: Added.
3375         * platform/gdk/GlyphMapGdk.cpp: Added.
3376         * platform/gdk/KeyEventGdk.cpp: Added.
3377         * platform/gdk/KeyboardCodes.h: Added.
3378         * platform/gdk/MouseEventGdk.cpp: Added.
3379         * platform/gdk/PageGdk.cpp: Added.
3380         * platform/gdk/RenderThemeGdk.cpp: Added.
3381         * platform/gdk/RenderThemeGdk.h: Added.
3382         * platform/gdk/ScreenGdk.cpp: Added.
3383         * platform/gdk/ScrollViewGdk.cpp: Added.
3384         * platform/gdk/SharedTimerLinux.cpp: Added.
3385         * platform/gdk/SystemTimeLinux.cpp: Added.
3386         * platform/gdk/TemporaryLinkStubs.cpp: Added.
3387         * platform/gdk/TransferJobCurl.cpp: Added.
3388         * platform/gdk/TransferJobManager.cpp: Added.
3389         * platform/gdk/TransferJobManager.h: Added.
3390         * platform/gdk/WheelEventGdk.cpp: Added.
3391         * platform/gdk/WidgetGdk.cpp: Added.
3392         * platform/gdk/gdk-encodings.txt: Added.
3393
3394 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
3395
3396         Reviewed by Darin.
3397
3398         * WebCoreSources.bkl: Updated for recent file changes.
3399
3400 2006-06-30  Mike Emmel  <mike.emmel@gmail.com>
3401
3402         Reviewed and enhanced by Darin.
3403
3404         Compilation fixes for Linux/Gdk.
3405
3406         * WebCore/platform/FontData.h: Added forward declaration of a class.
3407         * WebCore/platform/cairo/GraphicsContextCairo.cpp: Fixed case on include.
3408         * WebCore/bindings/js/kjs_html.cpp: Added <math.h> include.
3409
3410         * WebCore/css/maketokenizer: Fixed incorrect check for Linux that was
3411         already true even on Mac OS X. Added some additional includes and
3412         defines to the Linux extra generated code.
3413
3414 2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3415
3416         Reviewed by Hyatt.
3417
3418         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7204
3419           float inserted in fixed height block via DOM not repainted
3420
3421         Test: fast/repaint/float-move-during-layout.html
3422
3423         * rendering/RenderBlock.cpp:
3424         (WebCore::RenderBlock::layoutBlockChildren):
3425         (WebCore::RenderBlock::repaintOverhangingFloats): Renamed repaintFloatingDescendants()
3426         to this and limited it to repainting overhanging floats. Added a boolean parameter that forces
3427         all descendant overhanging floats (that don't have their own layer) to paint.
3428         * rendering/RenderBlock.h:
3429         * rendering/RenderBox.cpp:
3430         (WebCore::RenderBox::repaintDuringLayoutIfMoved): Changed to paint all descendant
3431         floats.
3432         * rendering/RenderObject.cpp:
3433         (WebCore::RenderObject::repaintOverhangingFloats):
3434         * rendering/RenderObject.h:
3435
3436 2006-06-30  Levi Weintraub  <lweintraub@apple.com>
3437
3438         Reviewed by justin
3439
3440         * editing/VisiblePosition.cpp: Removed is[Not]EqualIgnoringAffinity and made operator== use the logic that ignores affinity.
3441         * editing/VisiblePosition.h: Ditto.
3442         (WebCore::operator==):
3443         * editing/visible_units.cpp:
3444         (WebCore::isStartOfParagraph): Changed to compare VisiblePositions using ==.
3445         (WebCore::isEndOfParagraph): Ditto.
3446         (WebCore::isStartOfBlock): Ditto.
3447         (WebCore::isEndOfBlock): Ditto.
3448
3449 === Safari-521.14 ===
3450
3451 2006-06-30  Justin Garcia  <justin.garcia@apple.com>
3452
3453         Reviewed by levi
3454
3455         * editing/htmlediting.cpp:
3456         (WebCore::canHaveChildrenForEditing): Don't insert children into
3457         object tags while editing.
3458
3459 2006-06-30  Justin Garcia  <justin.garcia@apple.com>
3460
3461         Reviewed by harrison
3462         
3463         <rdar://problem/4598309
3464         Caret gets stuck when it hits non editable content within an editable body
3465         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9510>
3466         Caret will jump out of an editable region
3467         
3468         * dom/Position.cpp:
3469         (WebCore::Position::upstream): Don't move into a new editable region so that 
3470         candidates that that straddle an editable/non-editable boundary will 
3471         correspond to different VisiblePositions.
3472         (WebCore::Position::downstream): Ditto.
3473         * editing/SelectionController.cpp:
3474         (WebCore::SelectionController::modifyMovingRightForward): Use VisiblePosition::next(true)
3475         (WebCore::SelectionController::modifyMovingLeftBackward): Use VisiblePosition::previous(true)
3476         * editing/VisiblePosition.cpp:
3477         (WebCore::VisiblePosition::next): Added code to jump to the next editable region as long
3478         as it has the same highest editable root.
3479         (WebCore::VisiblePosition::previous): Ditto.
3480         * editing/VisiblePosition.h:
3481         * editing/htmlediting.cpp:
3482         (WebCore::highestEditableRoot): Added, returns the highest editable root of a node if that
3483         node is in editable content, otherwise 0.
3484         * editing/htmlediting.h:
3485
3486 2006-06-30  David Kilzer  <ddkilzer@kilzer.net>
3487
3488         Reviewed by Darin.
3489
3490         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9358
3491           REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer
3492           (value == constrainValue(value)) when deleting all text
3493
3494         Test: editing/deleting/delete-all-text-in-text-field-assertion.html
3495
3496         Bug 9661 filed to fix the follow-up issue:
3497         http://bugzilla.opendarwin.org/show_bug.cgi?id=9661
3498         textContent returns "\n" for a <br> even if it is collapsed
3499
3500         * html/HTMLInputElement.cpp:
3501         (WebCore::HTMLInputElement::setValueFromRenderer): Work around "\n" value
3502         when all characters are deleted from a text field.
3503
3504 2006-06-30  David Harrison  <harrison@apple.com>
3505
3506         Reviewed by Tim Omernick
3507
3508         <rdar://problem/4609481> Crash calling -[WebScriptObject valueForKey:] when JS disabled
3509         
3510         * bridge/mac/FrameMac.mm:
3511         (WebCore::FrameMac::executionContextForDOM):
3512         Early return if JS is not enabled.
3513
3514 2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3515
3516         Reviewed by Tim H.
3517
3518         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9664
3519           REGRESSION (r15106): Crash in fast/events/mouseover-mouseout2.html
3520
3521         * page/FrameView.cpp:
3522         (WebCore::FrameView::handleMouseMoveEvent): Added a check that oldSubframe is
3523         still a subframe of the view's frame before passing the event to it.
3524
3525 2006-06-29  Timothy Hatcher  <timothy@apple.com>
3526
3527         Reviewed by Darin.
3528
3529         <rdar://problem/3694163> -[KWQPageState finalize] is incorrect; design change needed
3530         <rdar://problem/3694165> -[WebCoreFrameBridge finalize] is incorrect; design change needed
3531
3532         Added close methods that need to be called before these
3533         objects can be released. This ensures proper tear-down under GC.
3534
3535         * WebCore.xcodeproj/project.pbxproj:
3536         * bridge/mac/WebCoreFrameBridge.h:
3537         * bridge/mac/WebCoreFrameBridge.mm:
3538         (-[WebCoreFrameBridge dealloc]):
3539         (-[WebCoreFrameBridge finalize]):
3540         (-[WebCoreFrameBridge close]):
3541         * bridge/mac/WebCorePageBridge.h:
3542         * bridge/mac/WebCorePageBridge.mm:
3543         (-[WebCorePageBridge setMainFrame:]):
3544         (-[WebCorePageBridge dealloc]):
3545         (-[WebCorePageBridge finalize]):
3546         (-[WebCorePageBridge close]):
3547         (-[WebCorePageBridge mainFrame]):
3548         (-[WebCorePageBridge setGroupName:]):
3549         (-[WebCorePageBridge groupName]):
3550         * kwq/KWQPageState.h:
3551         * kwq/KWQPageState.mm:
3552         (-[KWQPageState dealloc]):
3553         (-[KWQPageState finalize]):
3554         (-[KWQPageState close]):
3555
3556 2006-06-29  Sam Weinig  <sam.weinig@gmail.com>
3557
3558         Reviewed by Hyatt.
3559
3560         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=4874
3561         Table with absolute bottom positioning is positioned incorrectly
3562
3563         Note: patch originally from Mitz, spruced up by Weinig.
3564
3565         * rendering/RenderBox.cpp:
3566         (WebCore::RenderBox::calcAbsoluteVerticalValues):
3567         * rendering/RenderTable.cpp:
3568         (WebCore::RenderTable::layout):
3569
3570 2006-06-29  Graham Dennis  <Graham.Dennis@gmail.com>
3571
3572         Reviewed by Justin.
3573
3574         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9505
3575           moveParagraphContentsToNewBlockIfNecessary creates a new block outside the current position
3576
3577         * editing/CompositeEditCommand.cpp:
3578         Added sanity checking to prevent modifying nodes outside of 
3579         where we should be
3580         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
3581
3582 2006-06-29  Brady Eidson  <beidson@apple.com>
3583
3584         Reviewed by Levi.
3585
3586         In addition to a few small details, logging changes, and style cleanups, this is a stop-gap hack
3587         for a problem in SQLite's blob handling.  Querying for a blob in a void* form is reproducibly
3588         returning a corrupt buffer.  The temporary solution is to query for the blob as "quoted text" and
3589         manually convert the return string into a character buffer.
3590
3591         * icon/IconDatabase.cpp:
3592         (WebCore::IconDatabase::recreateDatabase):
3593         (WebCore::IconDatabase::createPrivateTables):
3594
3595         (WebCore::hexToUnsignedChar): These two functions are the text-to-character-data converters for the time being
3596         (WebCore::hexStringToVector):
3597
3598         (WebCore::IconDatabase::imageDataForIconID):
3599         (WebCore::IconDatabase::imageDataForIconURL):
3600         (WebCore::IconDatabase::imageDataForPageURL):
3601         (WebCore::IconDatabase::iconForPageURL):
3602         (WebCore::IconDatabase::hasIconForIconURL):
3603         * icon/IconDatabase.h:  changes the icon data accessors to return a Vector<unsigned char> instead of void*
3604
3605         * icon/SQLStatement.cpp:
3606         (WebCore::SQLStatement::columnCount):
3607         (WebCore::SQLStatement::getColumnBlob):
3608         * icon/SiteIcon.cpp:
3609         (SiteIcon::getImage):
3610
3611 2006-06-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3612
3613         Reviewed by Darin.
3614
3615         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9652
3616           Assertion failure when changing an RTL table cell to display:none
3617
3618         Test: fast/table/rtl-cell-display-none-assert.html
3619
3620         * rendering/RenderTableSection.cpp:
3621         (WebCore::RenderTableSection::layoutRows): Corrected the index used as
3622         the last index in the columnPos vector.
3623
3624 2006-06-29  Darin Adler  <darin@apple.com>
3625
3626         Reviewed by Anders.
3627
3628         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9622
3629           showModalDialog returnValue ignored, function result is always "undefined"
3630
3631         * manual-tests/modal-dialog.html: Added.
3632         * manual-tests/show-modal-dialog-test.html: Added.
3633
3634         * page/Frame.cpp: (WebCore::Frame::clear): Call KJSProxy::clear with the
3635         clearWindowProperties parameter instead of not calling it at all when
3636         clearWindowProperties is false.
3637
3638         * bindings/js/kjs_proxy.h: Add boolean clearWindowProperties parameter.
3639         * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Pass clearWindowProperties
3640         variable through to Window::clear instead of not calling it at all.
3641
3642         * bindings/js/kjs_window.h: Add boolean clearWindowProperties parameter.
3643         * bindings/js/kjs_window.cpp: (KJS::Window::clear): If clearWindowProperties
3644         is false, do only the returnValue work, not the rest of the work.
3645
3646         * manual-tests/modal-dialog.html: Added.
3647         * manual-tests/show-modal-dialog-test.html: Added.
3648
3649 2006-06-29  Beth Dakin  <bdakin@apple.com>
3650
3651         Reviewed by Hyatt.
3652
3653         Fix for <rdar://problem/4450615> Add composite mode to background 
3654         styles
3655
3656         -webkit-background-composite will set a composite mode on a 
3657         background image.
3658
3659         * css/CSSComputedStyleDeclaration.cpp:
3660         (WebCore::):
3661         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3662         * css/CSSPropertyNames.in: Add -webkit-background-composite
3663         * css/CSSValueKeywords.in: Add all possible values (clear, copy, 
3664         source-over, source-in, source-out, source-atop, destination-over, 
3665         destination-in, destination-out, destination-atop, xor, plus-
3666         darker, highlight, and plus-lighter)
3667         * css/cssparser.cpp:
3668         (WebCore::CSSParser::parseValue):
3669         (WebCore::CSSParser::parseBackgroundProperty):
3670         * css/cssstyleselector.cpp:
3671         (WebCore::CSSStyleSelector::applyProperty):
3672         (WebCore::CSSStyleSelector::mapBackgroundComposite):
3673         * css/cssstyleselector.h:
3674         * platform/GraphicsContext.cpp:
3675         (WebCore::GraphicsContext::drawTiledImage):
3676         * platform/GraphicsContext.h: drawTiledImage() now takes a 
3677         composite operator.
3678         * platform/Image.h: drawTiled() now takes a composite operator.
3679         * platform/cairo/ImageCairo.cpp:
3680         (WebCore::Image::drawTiled): Set the composite operator.
3681         * platform/mac/ImageMac.mm:
3682         (WebCore::Image::drawTiled): Set the composite operator.
3683         * platform/win/TemporaryLinkStubs.cpp:
3684         (Image::drawTiled):
3685         * rendering/RenderBox.cpp:
3686         (WebCore::RenderBox::paintBackgroundExtended): Send the composite 
3687         operator in the render style over to the graphics context.
3688         * rendering/render_style.cpp:
3689         (WebCore::BackgroundLayer::BackgroundLayer):
3690         (WebCore::BackgroundLayer::operator=):
3691         (WebCore::BackgroundLayer::operator==):
3692         (WebCore::BackgroundLayer::fillUnsetProperties):
3693         (WebCore::BackgroundLayer::cullEmptyLayers):
3694         * rendering/render_style.h:
3695         (WebCore::BackgroundLayer::backgroundComposite):
3696         (WebCore::BackgroundLayer::isBackgroundCompositeSet):
3697         (WebCore::BackgroundLayer::setBackgroundComposite):
3698         (WebCore::BackgroundLayer::clearBackgroundComposite):
3699         (WebCore::RenderStyle::backgroundComposite):
3700         (WebCore::RenderStyle::initialBackgroundComposite):
3701
3702 2006-06-29  David Kilzer  <ddkilzer@kilzer.net>
3703
3704         Reviewed by Darin.
3705
3706         http://bugzilla.opendarwin.org/show_bug.cgi?id=9649
3707         The no-svg build broke after r15091
3708
3709         * bindings/objc/DOMInternal.h: Added #if XPATH_SUPPORT/#endif.
3710         * bindings/objc/DOMInternal.mm: Ditto.
3711         (raiseDOMException):
3712         * bindings/objc/DOMXPath.h: Ditto.
3713         * bindings/objc/DOMXPath.mm: Ditto.
3714         * bindings/objc/DOMXPathInternal.h: Ditto.
3715
3716 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
3717
3718         Reviewed by Tim O.
3719
3720         <rdar://problem/4599760> Objective-C XPath support
3721         
3722         * WebCore.xcodeproj/project.pbxproj:
3723         Add files.
3724         
3725         * bindings/objc/DOMInternal.h:
3726         * bindings/objc/DOMInternal.mm:
3727         (raiseDOMException):
3728         Handle XPath exceptions
3729         
3730         * bindings/objc/DOMXPath.h: Added.
3731         (-[DOMXPathNSResolver lookupNamespaceURI:]):
3732         * bindings/objc/DOMXPath.mm: Added.
3733         (-[DOMNativeXPathNSResolver dealloc]):
3734         (-[DOMNativeXPathNSResolver finalize]):
3735         (-[DOMNativeXPathNSResolver _xpathNSResolver]):
3736         (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:]):
3737         (+[DOMNativeXPathNSResolver _xpathNSResolverWith:]):
3738         (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
3739         (-[DOMXPathResult dealloc]):
3740         (-[DOMXPathResult finalize]):
3741         (-[DOMXPathResult resultType]):
3742         (-[DOMXPathResult numberValue]):
3743         (-[DOMXPathResult stringValue]):
3744         (-[DOMXPathResult booleanValue]):
3745         (-[DOMXPathResult singleNodeValue]):
3746         (-[DOMXPathResult invalidIteratorState]):
3747         (-[DOMXPathResult snapshotLength]):
3748         (-[DOMXPathResult iterateNext]):
3749         (-[DOMXPathResult snapshotItem:]):
3750         (-[DOMXPathResult _xpathResult]):
3751         (-[DOMXPathResult _initWithXPathResult:]):
3752         (+[DOMXPathResult _xpathResultWith:]):
3753         (-[DOMXPathExpression evaluate:::]):
3754         (-[DOMXPathExpression _xpathExpression]):
3755         (-[DOMXPathExpression _initWithXPathExpression:]):
3756         (+[DOMXPathExpression _xpathExpressionWith:]):
3757         (-[DOMDocument createExpression::]):
3758         (-[DOMDocument createNSResolver:]):
3759         (-[DOMDocument evaluate:::::]):
3760         * bindings/objc/DOMXPathInternal.h: Added.
3761         Add Objective-C XPath API.
3762
3763 2006-06-28  David Hyatt  <hyatt@apple.com>
3764
3765         Add support for custom highlighting to paint at the root line box level
3766         (and to inflate the box it uses so that it can go outside the bounds of
3767         the line if necessary).
3768
3769         Reviewed by harrison
3770
3771         * bridge/mac/FrameMac.h:
3772         * bridge/mac/FrameMac.mm:
3773         (WebCore::FrameMac::customHighlightLineRect):
3774         (WebCore::FrameMac::paintCustomHighlight):
3775         * bridge/mac/WebCoreFrameBridge.h:
3776         * rendering/InlineTextBox.cpp:
3777         (WebCore::InlineTextBox::paintCustomHighlight):
3778         * rendering/RootInlineBox.cpp:
3779         (WebCore::RootInlineBox::paintCustomHighlight):
3780         (WebCore::RootInlineBox::paint):
3781         * rendering/RootInlineBox.h:
3782
3783 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
3784
3785         Reviewed by justin
3786
3787         <rdar://problem/4592005> FormatBlock inserts in the wrong place, disregarding editable content
3788         <rdar://problem/4590763> FormatBlock for paragraph style doesn't work
3789
3790         * dom/Node.cpp:
3791         (WebCore::Node::rootEditableElement): Return inline nodes
3792         * editing/FormatBlockCommand.cpp:
3793         (WebCore::FormatBlockCommand::doApply): Keep from inserting before editable content
3794         * editing/JSEditor.cpp: Support html braces (<>) around tag names
3795
3796 2006-06-28  Justin Garcia  <justin.garcia@apple.com>
3797
3798         Reviewed by levi
3799         
3800         svg/custom/text-hit-test.svg was failing
3801
3802         * rendering/RenderContainer.cpp:
3803         (WebCore::RenderContainer::positionForCoordinates): Don't skip child
3804         renderers that have a height of 0 when looking for the closest child
3805         renderer, they may contain content that overflows.
3806         * rendering/RenderText.cpp:
3807         (WebCore::RenderText::positionForCoordinates): Fixed typos.
3808
3809 2006-06-28  David Hyatt  <hyatt@apple.com>
3810
3811         Make the view source document properly handle <script>.  We don't syntax
3812         highlight the JS yet, but it shows up properly now.
3813
3814         Reviewed by john
3815
3816         * WebCore.xcodeproj/project.pbxproj:
3817         * html/HTMLTokenizer.cpp:
3818         (WebCore::HTMLTokenizer::scriptHandler):
3819
3820 2006-06-28  Timothy Hatcher  <timothy@apple.com>
3821
3822         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
3823
3824         * WebCore.xcodeproj/project.pbxproj:
3825
3826 2006-06-28  Justin Garcia  <justin.garcia@apple.com>
3827
3828         Reviewed by levi
3829         
3830         Fixed EditActions for InsertHorizontalRule and RemoveFormat.
3831         
3832         * editing/JSEditor.cpp:
3833         * editing/ReplaceSelectionCommand.cpp:
3834         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
3835         (WebCore::ReplaceSelectionCommand::editingAction):
3836         * editing/ReplaceSelectionCommand.h:
3837
3838 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
3839
3840          Build Fix. Reviewed by NOBODY
3841
3842         * editing/IndentOutdentCommand.cpp:
3843         (WebCore::IndentOutdentCommand::indentRegion):
3844
3845 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
3846
3847         Reviewed by justin
3848
3849         http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
3850         Bug 7568: Implement Indent/Outdent
3851
3852         * WebCore.vcproj/WebCore/WebCore.vcproj: Added IndentOutdentCommand.h/cpp
3853         * WebCore.xcodeproj/project.pbxproj: Ditto.
3854         * editing/IndentOutdentCommand.cpp: Added.
3855         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
3856         (WebCore::enclosingListOrBlockquote):
3857         (WebCore::IndentOutdentCommand::splitTreeToNode): Splits the DOM tree from a
3858         descendent node to an ending ancestor, duplicating nodes when necessary. Returns
3859         the last node split. Used to insert blockquotes at the topmost level.
3860         (WebCore::IndentOutdentCommand::indentRegion):
3861         (WebCore::IndentOutdentCommand::outdentParagraph):
3862         (WebCore::IndentOutdentCommand::outdentRegion):
3863         (WebCore::IndentOutdentCommand::doApply):
3864         * editing/IndentOutdentCommand.h: Added.
3865         (WebCore::IndentOutdentCommand::):
3866         * editing/JSEditor.cpp: Added the execCommands Indent and Outdent
3867         * editing/htmlediting.cpp:
3868         (WebCore::enclosingNodeWithTag): Finds the enclosing node with any specified tag.
3869         (WebCore::enclosingListChild): Added checks for nill and editable boundaries.
3870         (WebCore::outermostEnclosingListChild): Returns the highest ancestor list child.
3871         (WebCore::highestAncestor): Added.
3872         (WebCore::createElement): Changed the passed in string to a const reference.
3873         * editing/htmlediting.h:
3874
3875 2006-06-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3876
3877         Reviewed by Darin and Hyatt.
3878
3879         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9561
3880           REGRESSION: Content property on :before of button causes hang on click or hover
3881
3882         Test: fast/forms/button-generated-content.html
3883
3884         * rendering/RenderBlock.cpp:
3885         (WebCore::RenderBlock::setStyle):
3886         * rendering/RenderButton.cpp:
3887         (WebCore::RenderButton::updatePseudoChild): Added. Calls updatePseudoChildForObject()
3888         on the button itself or on its inner div, if it has one.
3889         * rendering/RenderButton.h:
3890         (WebCore::RenderButton::createsAnonymousWrapper): Added. Returns true.
3891         * rendering/RenderContainer.cpp:
3892         (WebCore::RenderContainer::pseudoChild): Added. Returns the child containing
3893         generated content of the requested type if there is one, or otherwise the
3894         child before/after which such generated content should come.
3895         (WebCore::RenderContainer::updatePseudoChild): Removed the child parameter and moved the guts
3896         of this method into updatePseudoChildForObject, which this method calls unless the object
3897         is an anonymous wrapper.
3898         (WebCore::RenderContainer::updatePseudoChildForObject): Added. Does the what
3899         updatePseudoChildForObject did previously, but fetches the pseudo style from
3900         the styledObject parameter.
3901         * rendering/RenderContainer.h:
3902         * rendering/RenderInline.cpp:
3903         (WebCore::RenderInline::setStyle):
3904         (WebCore::RenderInline::addChildToFlow):
3905         (WebCore::RenderInline::splitInlines):
3906         (WebCore::RenderInline::splitFlow):
3907         * rendering/RenderObject.h:
3908         (WebCore::RenderObject::createsAnonymousWrapper): Added. This method replaces
3909         allowsReusingAnonymousChild and returns the opposite of what that method used to
3910         return. Returns true if the object creates an anonymous child to contain all its
3911         other children.
3912
3913 2006-06-27  Brady Eidson  <beidson@apple.com>
3914
3915         Reviewed by Maciej
3916
3917         Hookup the new semi-functional SQLite icon database.
3918         For now, it is living side-by-side with the old DB so one can compare the
3919         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
3920         compile with ICONDEBUG #defined.
3921
3922         * WebCore.xcodeproj/project.pbxproj:  Added file SiteIcon.cpp
3923
3924         * bridge/mac/WebCoreIconDatabaseBridge.h:
3925         * bridge/mac/WebCoreIconDatabaseBridge.mm:
3926         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
3927         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
3928         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
3929         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
3930
3931         * icon/IconDatabase.cpp:
3932         (WebCore::IconDatabase::isValidDatabase):
3933         (WebCore::IconDatabase::recreateDatabase):
3934         (WebCore::IconDatabase::createPrivateTables):
3935         (WebCore::IconDatabase::deletePrivateTables):
3936         (WebCore::IconDatabase::imageDataForIconID):
3937         (WebCore::IconDatabase::imageDataForIconURL):
3938         (WebCore::IconDatabase::imageDataForPageURL):
3939         (WebCore::IconDatabase::setPrivateBrowsingEnabled):
3940         (WebCore::IconDatabase::iconForPageURL):
3941         (WebCore::IconDatabase::iconURLForURL):
3942         (WebCore::IconDatabase::setIconDataForIconURL):
3943         (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
3944         (WebCore::IconDatabase::setHaveNoIconForIconURL):
3945         (WebCore::IconDatabase::setIconURLForPageURL):
3946         (WebCore::IconDatabase::hasIconForIconURL):
3947         * icon/IconDatabase.h:
3948         (WebCore::SiteIcon::getIconURL):
3949         (WebCore::IconDatabase::getPrivateBrowsingEnabled):
3950         
3951         * icon/SiteIcon.cpp: Added.
3952         (SiteIcon::SiteIcon):
3953         (SiteIcon::~SiteIcon):
3954         (SiteIcon::getImage):
3955         (SiteIcon::resetExpiration):
3956         (SiteIcon::getExpiration):
3957
3958 2006-06-27  Rob Buis  <buis@kde.org>
3959
3960         Reviewed by Darin.
3961
3962         http://bugzilla.opendarwin.org/show_bug.cgi?id=9605
3963         REGRESSION: pageX and pageY are both 0 for events created with initMouseEvent
3964
3965         Calculate pageX/pageY and clientX/clientY values when using initMouseEvent.
3966
3967         * dom/MouseEvent.cpp:
3968         (WebCore::MouseEvent::initMouseEvent):
3969         * dom/MouseRelatedEvent.cpp:
3970         (WebCore::MouseRelatedEvent::initCoordinates):
3971         * dom/MouseRelatedEvent.h:
3972
3973 2006-06-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3974
3975         Reviewed by Maciej and Darin.
3976
3977         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9317
3978           REGRESSION: crash in HTML tokenizer at Japanese Apple support page
3979
3980         Test: fast/tokenizer/write-unclosed-script.html
3981
3982         * html/HTMLTokenizer.cpp:
3983         (WebCore::HTMLTokenizer::scriptHandler): Changed to reset the inScript flag
3984         and scriptCodeSize before possible script execution, but not afterwards.
3985         This way, if script execution write()s a <script> tag without closing it,
3986         the tokenizer is left in inScript state. Added code to set the requestingScript
3987         flag around the request for the cached script, to let notifiyFinished() know
3988         that it's being called under scriptHandler().
3989         (WebCore::HTMLTokenizer::scriptExecution): Removed code that saved and restored
3990         the inScript flag. This function is always entered now with inScript being false.
3991         (WebCore::HTMLTokenizer::notifyFinished): Changed to use the new requestingScript
3992         state flag instead of the inScript flag, which is always false now when entering
3993         this function.
3994         * html/HTMLTokenizer.h:
3995         Added the requestingScript state bit, used to tell notifyFinished() that it
3996         is being called under scriptHandler() (which happens when the script is already
3997         in cache).
3998
3999 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
4000
4001         Reviewed by levi
4002
4003         * editing/JSEditor.cpp: Added RemoveFormat.
4004
4005 2006-06-27  Kevin Decker    <kdecker@apple.com>
4006
4007         Reviewed by brady.
4008
4009         Fixed: <rdar://problem/4597679> TOT REGRESSION: popup blocker DOA
4010         
4011         Need to add window.open() support to DumpRenderTree before landing an actual layout test.
4012
4013         * bindings/js/kjs_window.cpp: 
4014         (KJS::WindowFunc::callAsFunction): Because FrameTree::find() returns true for empty strings, 
4015         we must check for empty framenames. Otherwise, illegitimate window.open() calls with no name
4016         will pass right through the popup blocker.
4017
4018 2006-06-28  Anders Carlsson  <acarlsson@apple.com>
4019
4020         Reviewed by Darin.
4021
4022         * css/CSSComputedStyleDeclaration.cpp:
4023         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4024         Move FIXME comment here.
4025         
4026         * page/DOMWindow.cpp:
4027         (WebCore::DOMWindow::getComputedStyle):
4028         Don't do a null check on the renderer here. Everything's handled by 
4029         CSSComputedStyleDeclaration anyway.
4030
4031 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
4032
4033         Reviewed by darin
4034
4035         * rendering/RenderContainer.cpp: Fixed #include formatting.
4036
4037 2006-06-27  Justin Garcia  <justin.garcia@apple.com>
4038
4039         Reviewed by levi
4040         
4041         <rdar://problem/4599735> Clicking out of a table at the extremes of an editable document doesn't appear to work
4042
4043         * rendering/RenderBlock.cpp:
4044         (WebCore::RenderBlock::positionForCoordinates): In the fall through case,
4045         where we can't find a child block that contains (x, y), pass to RenderFlow
4046         instead of the last visible child block.
4047         * rendering/RenderContainer.cpp:
4048         (WebCore::RenderContainer::positionForCoordinates): Don't pass to the closest 
4049         child renderer if this is a table and (x, y) is outside the table.  Return
4050         a VisiblePosition before or after the table.
4051         Fixed the code that finds the closest child renderer.
4052
4053 2006-06-27  David Hyatt  <hyatt@apple.com>
4054
4055         Preserve entity text in view source mode.  This patch doesn't highlight the
4056         the entities yet, but it at least prevents their resolution and removal.
4057
4058         Reviewed by darin
4059
4060         * WebCore.xcodeproj/project.pbxproj:
4061         * html/HTMLTokenizer.cpp:
4062         (WebCore::HTMLTokenizer::parseEntity):
4063
4064 2006-06-27  Anders Carlsson  <acarlsson@apple.com>
4065
4066         Reviewed by Geoff.
4067
4068         http://bugzilla.opendarwin.org/show_bug.cgi?id=9623
4069         REGRESSION: getComputedStyle should do a relayout
4070         
4071         * page/DOMWindow.cpp:
4072         (WebCore::DOMWindow::getComputedStyle):
4073         Do a relayout.
4074
4075 2006-06-27  Maciej Stachowiak  <mjs@apple.com>
4076
4077         Reviewed by Adele
4078
4079         - fixed <rdar://problem/4550473> Reproducible hang on www.digg.com
4080         
4081         * dom/NodeList.cpp:
4082         (WebCore::NodeList::recursiveItem): Make NodeList caching also
4083         work for backwards iteration - if the requested index is before
4084         the last cached, but closer to it than to the start of the list,
4085         then search backwards from there.
4086         (WebCore::NodeList::itemForwardsFromCurrent): Split this out as a
4087         helper method.
4088         (WebCore::NodeList::itemBackwardsFromCurrent): New helper, similar
4089         to the above.
4090         * dom/NodeList.h:
4091
4092 2006-06-27  Brady Eidson  <beidson@apple.com>
4093
4094         Reviewed by Levi
4095
4096         Some SQLDatabase cleanup (style stuff) and enhancements
4097
4098         * icon/SQLDatabase.cpp:
4099         (SQLDatabase::open):
4100         (SQLDatabase::executeCommand):
4101         (SQLDatabase::returnsAtLeastOneResult):  Accessor to see if this query returns results
4102         (SQLDatabase::lastInsertRowID):  Accessor for the rowid of the last insert
4103         * icon/SQLDatabase.h:
4104         (WebCore::SQLStatement::prepareAndStep):
4105         * icon/SQLStatement.cpp:
4106         (WebCore::SQLStatement::bindInt64):
4107         -All of the following used to require the user to manually prepare and step a statement
4108         before asking for the result.  Now it will prepare and step itself so you can use a temporary
4109         object to get a quick result
4110         (WebCore::SQLStatement::getColumnName):
4111         (WebCore::SQLStatement::getColumnName16):
4112         (WebCore::SQLStatement::getColumnText):
4113         (WebCore::SQLStatement::getColumnText16):
4114         (WebCore::SQLStatement::getColumnDouble):
4115         (WebCore::SQLStatement::getColumnInt):
4116         (WebCore::SQLStatement::getColumnInt64):
4117         (WebCore::SQLStatement::getColumnBlobAsVector):
4118         (WebCore::SQLStatement::getColumnBlob):
4119
4120 2006-06-27  Ada Chan <adachan@apple.com>
4121
4122         Reviewed by sfalken.
4123
4124         Fixed build.
4125
4126         * WebCore.vcproj/WebCore/WebCore.vcproj:
4127
4128 2006-06-27  Beth Dakin  <bdakin@apple.com>
4129
4130         Reviewed by Hyatt.
4131
4132         Fix for <rdar://problem/4602635> Media queries must be extended to 
4133         address CSS pixel scaling factor
4134
4135         * css/MediaFeatureNames.h: Add -webkit-device-pixel-ratio, -webkit-
4136         min-device-pixel-ratio, and -webkit-max-device-pixel-ratio to the 
4137         list of feature names.
4138         * css/MediaQueryEvaluator.cpp:
4139         (WebCore::cmpvalue): Added a version of cmpvalue that compares 
4140         floats.
4141         (WebCore::device_pixel_ratioMediaFeatureEval):
4142         (WebCore::min_device_pixel_ratioMediaFeatureEval):
4143         (WebCore::max_device_pixel_ratioMediaFeatureEval):
4144
4145 2006-06-27  Darin Adler  <darin@apple.com>
4146
4147         Reviewed by Geoff.
4148
4149         - finish with http://bugzilla.opendarwin.org/show_bug.cgi?id=9606
4150           REGRESSION: some callers are still using clientX/Y to get pageX/Y
4151
4152         * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize):
4153         Change to use pageX/Y, but this really doesn't matter since framesets
4154         can't be scrolled -- it's the frames that are scrolled. So this change
4155         has no user-visible effect, but it's still better this way.
4156
4157 2006-06-27  Darin Adler  <darin@apple.com>
4158
4159         Reviewed by Geoff.
4160
4161         - fix 2/3 of http://bugzilla.opendarwin.org/show_bug.cgi?id=9606