Home | History | Annotate | Download | only in WebCore
      1 2005-08-23  David Harrison  <harrison (a] apple.com>
      2 
      3         Reviewed by Darin.
      4 
      5         <rdar://problem/4226539> REGRESSION: Blank content at http://www.the-leaky-cauldron.org/ with Denver and TOT
      6 
      7         Test cases added:
      8         * layout-tests/fast/parser/comments-expected.txt: Added.
      9         * layout-tests/fast/parser/comments.html: Added.
     10 
     11         * khtml/html/htmltokenizer.cpp:
     12         (khtml::HTMLTokenizer::parseComment):
     13         When non-space follows comment end, ignore that comment end.
     14 
     15 2005-08-23  Justin Garcia  <justin.garcia (a] apple.com>
     16 
     17         Reviewed by mjs
     18         
     19         Temporary workaround for gcc-5216+ bug 4213314.  Don't use NSMake* convenience methods inside KWQ_BLOCK_EXCEPTIONS.
     20 
     21         * kwq/KWQKConfigBase.mm:
     22         (KConfig::readEntry):
     23         * kwq/KWQKHTMLPart.mm:
     24         (KWQKHTMLPart::attributedString):
     25         * kwq/KWQListBox.mm:
     26         (QListBox::sizeForNumberOfLines):
     27         * kwq/KWQPainter.mm:
     28         (QPainter::drawTiledPixmap):
     29         * kwq/KWQScrollView.mm:
     30         (QScrollView::resizeContents):
     31         (QScrollView::contentsToViewport):
     32         (QScrollView::viewportToContents):
     33         (QScrollView::setContentsPosRecursive):
     34         (QScrollView::ensureVisible):
     35         (QScrollView::ensureRectVisibleCentered):
     36 
     37 2005-08-22  John Sullivan  <sullivan (a] apple.com>
     38 
     39         Reviewed by Beth Dakin.
     40         
     41         - fixed <rdar://problem/4227019> Several 32-byte leaks after choosing pop-up menu at dzone198.apple.com
     42 
     43         Test cases added: none, doesn't affect layout. I did execute run-layout-tests to verify that there
     44         were no surprises though.
     45 
     46         * khtml/ecma/xmlhttprequest.h:
     47         use SharedPtr for onReadyStateChangeListener and onLoadListener
     48         * khtml/ecma/xmlhttprequest.cpp:
     49         (KJS::XMLHttpRequest::getValueProperty):
     50         use notNull() instead of testing SharedPtrs against 0
     51         (KJS::XMLHttpRequest::putValueProperty):
     52         use reset() to set values of SharedPtrs; eliminate ref()s that had no deref()s
     53         (KJS::XMLHttpRequest::mark):
     54         use notNull() instead of testing SharedPtrs against 0
     55         (KJS::XMLHttpRequest::XMLHttpRequest):
     56         don't initialize SharedPtrs
     57         (KJS::XMLHttpRequest::changeState):
     58         use notNull() instead of testing SharedPtrs against 0
     59 
     60 2005-08-22  David Harrison  <harrison (a] apple.com>
     61 
     62         Reviewed by Justin.
     63 
     64         <rdar://problem/4221384> Denver Regression: stickies widget crashed on 8F15 when pasting text
     65 
     66         Test cases added:  None.  Problem triggered by simple paste, which lots of the
     67         editing tests already do, but also required particular memory layout/cleanup state, which
     68         is not specifiable in our tests.
     69 
     70         * khtml/editing/markup.cpp:
     71         (khtml::createFragmentFromText):
     72         Ref the new paragraph element right away, rather than allocating more memory first.
     73 
     74 2005-08-22  Eric Seidel  <eseidel (a] apple.com>
     75         Fix by Tobias Lidskog <tobiaslidskog (a] mac.com>
     76 
     77         Reviewed by eseidel.
     78 
     79         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
     80         (KCanvasFilterQuartz::inputImage): null check
     81         (KCanvasFEBlendQuartz::getCIFilter): ditto
     82         (KCanvasFEColorMatrixQuartz::getCIFilter): ditto
     83         (KCanvasFEMergeQuartz::getCIFilter): ditto
     84         Added NULL checks to avoid throwing Obj-C exceptions from
     85         CoreImage either when rendering bad SVGs or in cases where
     86         we do not yet implement a certain SVG filter element.
     87         http://bugs.webkit.org/show_bug.cgi?id=4554
     88 
     89 2005-08-22  Eric Seidel  <eseidel (a] apple.com>
     90 
     91         Reviewed by darin.
     92 
     93         * ksvg2/impl/SVGScriptElementImpl.cpp:
     94         (SVGScriptElementImpl::executeScript):
     95         Added necessary Interpreter::lock()/unlock() calls to prevent
     96         assertion failure when loading SVGs with JavaScript.
     97         http://bugs.webkit.org/show_bug.cgi?id=4580
     98 
     99 2005-08-22  Eric Seidel  <eseidel (a] apple.com>
    100 
    101         Reviewed by darin.
    102 
    103         * WebCore.xcodeproj/project.pbxproj:
    104         Applied Darin's nmedit workaround/build-speedup to WebCore+SVG.
    105         http://bugs.webkit.org/show_bug.cgi?id=4577
    106 
    107 2005-08-22  Eric Seidel  <eseidel (a] apple.com>
    108         Fix by Tobias Lidskog <tobiaslidskog (a] mac.com>
    109 
    110         Reviewed by eseidel.
    111 
    112         * kcanvas/device/KRenderingPaintServerSolid.cpp:
    113         * kcanvas/device/KRenderingPaintServerSolid.h:
    114         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
    115         (KRenderingPaintServerSolidQuartz::draw):
    116         * svg-tests/W3C-SVG-1.1/animate-elem-22-b-expected.png:
    117         * svg-tests/W3C-SVG-1.1/masking-opacity-01-b-expected.png:
    118         Group opacity was doubly-applied.  This patch fixes that.
    119         http://bugs.webkit.org/show_bug.cgi?id=4463
    120 
    121 2005-08-22  Eric Seidel  <eseidel (a] apple.com>
    122         Fix by Tobias Lidskog <tobiaslidskog (a] mac.com>
    123 
    124         Reviewed by eseidel.
    125 
    126         * kcanvas/device/quartz/QuartzSupport.mm:
    127         (CGPathToCFStringApplierFunction): Fixed output for curves.
    128         * svg-tests/W3C-SVG-1.1/Resources/filters-example-01-f-expected.txt:
    129         * svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f-expected.txt:
    130         * svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f-expected.txt:
    131         * svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f-expected.txt:
    132         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-b-expected.txt:
    133         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f-expected.txt:
    134         * svg-tests/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
    135         * svg-tests/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
    136         * svg-tests/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
    137         * svg-tests/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
    138         * svg-tests/W3C-SVG-1.1/filters-example-01-b-expected.txt:
    139         * svg-tests/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
    140         * svg-tests/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
    141         * svg-tests/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
    142         * svg-tests/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
    143         * svg-tests/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
    144         * svg-tests/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
    145         * svg-tests/W3C-SVG-1.1/paths-data-01-t-expected.txt:
    146         * svg-tests/W3C-SVG-1.1/paths-data-02-t-expected.txt:
    147         * svg-tests/W3C-SVG-1.1/paths-data-03-f-expected.txt:
    148         * svg-tests/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
    149         * svg-tests/W3C-SVG-1.1/text-path-01-b-expected.txt:
    150         Fixed output for curves and updated tests accordingly.
    151         http://bugs.webkit.org/show_bug.cgi?id=4553
    152 
    153 2005-08-22  Eric Seidel  <eseidel (a] apple.com>
    154         Fix by Tobias Lidskog <tobiaslidskog (a] mac.com>
    155 
    156         Reviewed by eseidel.
    157 
    158         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
    159         (KCanvasFilterQuartz::prepareFilter):
    160         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
    161         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
    162         (KRenderingDeviceQuartz::filtersEnabled):
    163         (KRenderingDeviceQuartz::setFiltersEnabled):
    164         (KRenderingDeviceQuartz::hardwareRenderingEnabled):
    165         (KRenderingDeviceQuartz::setHardwareRenderingEnabled):
    166         Added ability to disable hardware rendering (for testing).
    167         http://bugs.webkit.org/show_bug.cgi?id=4550
    168 
    169 2005-08-20  Darin Adler  <darin (a] apple.com>
    170 
    171         * khtml/xml/xml_namespace_table.cpp: Removed this file that's been obsolete and
    172         unused for a while.
    173         * khtml/xml/xml_namespace_table.h: Ditto.
    174 
    175 2005-08-19  Anders Carlsson  <andersca (a] mac.com>
    176 
    177         Reviewed by Darin.
    178         Landed by David Harrison.
    179 
    180         - fixed http://bugs.webkit.org/show_bug.cgi?id=4475
    181           <noscript>, <noframes>, <nolayer> and <noembed> elements should be in the DOM
    182 
    183         Test cases added:
    184         * layout-tests/fast/dom/no-elements-expected.txt: Added.
    185         * layout-tests/fast/dom/no-elements.html: Added.
    186 
    187         * khtml/html/html_elementimpl.cpp:
    188         (blockTagList):
    189         Add noembed and nolayer to the list of block tags.
    190         
    191         * khtml/html/htmlparser.cpp:
    192         (HTMLParser::noembedCreateErrorCheck):
    193         (HTMLParser::noframesCreateErrorCheck):
    194         (HTMLParser::noscriptCreateErrorCheck):
    195         (HTMLParser::nolayerCreateErrorCheck):
    196         Make sure these elements are created, but that they won't have any children.
    197         (Except for <noscript> when JavaScript is turned off).
    198         
    199         * layout-tests/dom/html/level2/html/HTMLElement113-expected.txt:
    200         * layout-tests/dom/html/level2/html/HTMLElement114-expected.txt:
    201         * layout-tests/dom/html/level2/html/HTMLElement142-expected.txt:
    202         * layout-tests/dom/html/level2/html/HTMLElement143-expected.txt:
    203         * layout-tests/dom/html/level2/html/HTMLElement26-expected.txt:
    204         * layout-tests/dom/html/level2/html/HTMLElement27-expected.txt:
    205         * layout-tests/dom/html/level2/html/HTMLElement55-expected.txt:
    206         * layout-tests/dom/html/level2/html/HTMLElement56-expected.txt:
    207         * layout-tests/dom/html/level2/html/HTMLElement84-expected.txt:
    208         * layout-tests/dom/html/level2/html/HTMLElement85-expected.txt:
    209         These tests pass now.
    210 
    211 2005-08-19  Darin Adler  <darin (a] apple.com>
    212 
    213         Reviewed by Maciej.
    214         Landed by David Harrison.
    215         
    216         Test cases added:
    217 	manual-tests/onclick_in_noncontent.html: Added.
    218         (a manual test because Darin saw no way to exercise the hit testing code from JavaScript)
    219 
    220         - fixed http://bugs.webkit.org/show_bug.cgi?id=3662
    221           onClick event for TD element doesn't fire unless its contents are clicked
    222 
    223         * khtml/rendering/render_block.cpp:
    224         (khtml::RenderBlock::nodeAtPoint):
    225         Take the border extra into account when hit testing just as we do when
    226         painting the background of a table cell. OK for other renderers because
    227         they have a border extra of 0.
    228 
    229 2005-08-19  Anders Carlsson  <andersca (a] mac.com>
    230 
    231         Reviewed by Darin.
    232         Landed by David Harrison.
    233 
    234         Test cases added: None.  Fixes existing tests.
    235 
    236         * khtml/ecma/kjs_dom.cpp:
    237         Attribute values are writable
    238         
    239         * khtml/xml/dom_docimpl.cpp:
    240         (DocumentImpl::createAttributeNS):
    241         Update for new AttrImpl constructor.
    242         
    243         * khtml/xml/dom_elementimpl.cpp:
    244         (AttributeImpl::allocateImpl):
    245         Update for new AttrImpl constructor.
    246         
    247         (AttrImpl::AttrImpl):
    248         Initialize m_ignoreChildCount to 0. If createTextChild.
    249         is true, create a child text node with the contents
    250         of the attribute value.
    251         
    252         (AttrImpl::setValue):
    253         Remove all children and create a new text node with the contents
    254         of the attribute value.
    255         
    256         (AttrImpl::cloneNode):
    257         Make sure to clone any children.
    258         
    259         (AttrImpl::childrenChanged):
    260         If m_ignoreChildrenChanged is 0, update the attribute value.
    261         
    262         * khtml/xml/dom_elementimpl.h:
    263         Add childrenChanged, update AttrImpl constructor and
    264         add m_ignoreChildrenChanged to AttrImpl.
    265 
    266         * khtml/xml/dom_nodeimpl.cpp:
    267         (DOM::NodeImpl::normalize):
    268         If an element has attributes, make sure to normalize them.
    269 
    270         * layout-tests/dom/html/level1/core/hc_attrappendchild1-expected.txt:
    271         * layout-tests/dom/html/level1/core/hc_attrappendchild3-expected.txt:
    272         * layout-tests/dom/html/level1/core/hc_attrappendchild6-expected.txt:
    273         * layout-tests/dom/html/level1/core/hc_attrchildnodes1-expected.txt:
    274         * layout-tests/dom/html/level1/core/hc_attrchildnodes2-expected.txt:
    275         * layout-tests/dom/html/level1/core/hc_attrclonenode1-expected.txt:
    276         * layout-tests/dom/html/level1/core/hc_attrcreatetextnode-expected.txt:
    277         * layout-tests/dom/html/level1/core/hc_attrfirstchild-expected.txt:
    278         * layout-tests/dom/html/level1/core/hc_attrhaschildnodes-expected.txt:
    279         * layout-tests/dom/html/level1/core/hc_attrinsertbefore1-expected.txt:
    280         * layout-tests/dom/html/level1/core/hc_attrinsertbefore2-expected.txt:
    281         * layout-tests/dom/html/level1/core/hc_attrinsertbefore3-expected.txt:
    282         * layout-tests/dom/html/level1/core/hc_attrinsertbefore4-expected.txt:
    283         * layout-tests/dom/html/level1/core/hc_attrlastchild-expected.txt:
    284         * layout-tests/dom/html/level1/core/hc_attrnormalize-expected.txt:
    285         * layout-tests/dom/html/level1/core/hc_attrremovechild1-expected.txt:
    286         * layout-tests/dom/html/level1/core/hc_attrreplacechild1-expected.txt:
    287         * layout-tests/dom/html/level1/core/hc_attrreplacechild2-expected.txt:
    288         * layout-tests/dom/html/level1/core/hc_attrsetvalue1-expected.txt:
    289         * layout-tests/dom/html/level1/core/hc_attrsetvalue2-expected.txt:
    290         * layout-tests/dom/html/level1/core/hc_elementnormalize2-expected.txt:
    291         These tests pass now.
    292 
    293 2005-08-19  Mitz Pettel  <opendarwin.org (a] mitzpettel.com>
    294 
    295         Reviewed by Darin.
    296         Landed by David Harrison
    297 
    298 	- Fixes <http://bugs.webkit.org/show_bug.cgi?id=4523>
    299           REGRESSION assertion failure in Window::getValueProperty accessing window.konqueror
    300 
    301         Test cases added: N/A for this code removal
    302 
    303         Remove all traces of the konqueror property
    304 
    305         * khtml/ecma/kjs_window.cpp:
    306         (KJS::Window::getValueProperty):
    307         * khtml/ecma/kjs_window.h:
    308         (KJS::Window::):
    309 
    310 2005-08-19  Antti Koivisto  <koivisto (a] iki.fi>
    311 
    312         Reviewed by Darin
    313         Landed by David Harrison
    314 
    315 	- Fixes <http://bugs.webkit.org/show_bug.cgi?id=4379>
    316           negative margins allowed where they should not
    317 
    318         Test cases added:
    319 	layout-tests/fast/block/margin-collapse/104.html: Added.
    320 	layout-tests/fast/block/margin-collapse/104-expected.txt: Added.
    321 
    322         * khtml/rendering/render_box.cpp:
    323         (RenderBox::calcHorizontalMargins):
    324 
    325 2005-08-19  Eric Seidel  <eseidel (a] apple.com>
    326         Change from Tobias Lidskog <tobiaslidskog (a] mac.com>
    327 
    328         Reviewed by eseidel.
    329 
    330         * kcanvas/KCanvasContainer.cpp:
    331         (KCanvasContainer::bbox): avoid unnecessary computation.
    332         (KCanvasContainer::collisions):
    333         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
    334         (KCanvasItemQuartz::draw):
    335         (KCanvasItemQuartz::hitsPath): use untranslated point
    336         * svg-tests/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
    337         Performance improvements to bbox and hit-testing fix.
    338         http://bugs.webkit.org/show_bug.cgi?id=4459
    339 
    340 2005-08-19  Eric Seidel  <eseidel (a] apple.com>
    341 
    342         Reviewed by darin.
    343 
    344         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
    345         (cgGradientCallback):
    346         Fixes forgotten memcopy.
    347         http://bugs.webkit.org/show_bug.cgi?id=4529
    348 
    349 2005-08-19  Vicki Murley  <vicki (a] apple.com>
    350 
    351 	- remove this test, I disabled it in my last checkin
    352 
    353         * layout-tests/dom/html/level2/html/HTMLFormElement10.html: Removed.
    354 
    355 2005-08-19  Vicki Murley  <vicki (a] apple.com>
    356 
    357         Reviewed by Geoff.
    358  
    359         - fixed <rdar://problem/4223107> frame tests in layout-tests/dom/html/level2/html 
    360         have empty expected results
    361 
    362         * layout-tests/dom/html/level2/html/selfhtml.js: wait until done before
    363         dumping the render tree
    364 
    365         * layout-tests/dom/html/level2/html/HTMLFormElement10.html-disabled: Disable this
    366         test for now - its causing all tests after it to dump the render tree, even though
    367         dumpAsText is enabled
    368         
    369         Update expected results for these tests:
    370 
    371         * layout-tests/dom/html/level2/html/HTMLFrameElement01-expected.txt:
    372         * layout-tests/dom/html/level2/html/HTMLFrameElement02-expected.txt:
    373         * layout-tests/dom/html/level2/html/HTMLFrameElement03-expected.txt:
    374         * layout-tests/dom/html/level2/html/HTMLFrameElement04-expected.txt:
    375         * layout-tests/dom/html/level2/html/HTMLFrameElement05-expected.txt:
    376         * layout-tests/dom/html/level2/html/HTMLFrameElement06-expected.txt:
    377         * layout-tests/dom/html/level2/html/HTMLFrameElement07-expected.txt:
    378         * layout-tests/dom/html/level2/html/HTMLFrameElement08-expected.txt:
    379         * layout-tests/dom/html/level2/html/HTMLFrameSetElement01-expected.txt:
    380         * layout-tests/dom/html/level2/html/HTMLFrameSetElement02-expected.txt:
    381         * layout-tests/dom/html/level2/html/HTMLIFrameElement01-expected.txt:
    382         * layout-tests/dom/html/level2/html/HTMLIFrameElement02-expected.txt:
    383         * layout-tests/dom/html/level2/html/HTMLIFrameElement03-expected.txt:
    384         * layout-tests/dom/html/level2/html/HTMLIFrameElement04-expected.txt:
    385         * layout-tests/dom/html/level2/html/HTMLIFrameElement05-expected.txt:
    386         * layout-tests/dom/html/level2/html/HTMLIFrameElement06-expected.txt:
    387         * layout-tests/dom/html/level2/html/HTMLIFrameElement07-expected.txt:
    388         * layout-tests/dom/html/level2/html/HTMLIFrameElement08-expected.txt:
    389         * layout-tests/dom/html/level2/html/HTMLIFrameElement09-expected.txt:
    390         * layout-tests/dom/html/level2/html/HTMLIFrameElement10-expected.txt:
    391 
    392 2005-08-19  Anders Carlsson  <andersca (a] mac.com>
    393 
    394         Reviewed by Maciej.
    395         Landed by Darin.
    396 
    397 	- Fixes <http://bugs.webkit.org/show_bug.cgi?id=3301>
    398 	innerHTML does not work for xhtml documents.
    399 	
    400         Test cases added:
    401 	layout-tests/fast/dom/set-innerHTML.xhtml: Added.
    402 	layout-tests/fast/dom/set-innerHTML-expected.txt: Added.
    403 
    404         * khtml/html/html_elementimpl.cpp:
    405         (HTMLElementImpl::createContextualFragment):
    406 	Call parseXMLDocumentFragment if we're an xml document.
    407 	
    408         * khtml/xml/xml_tokenizer.cpp:
    409         (khtml::XMLTokenizer::pushNamespaces):
    410 	New function that takes an element.
    411 	
    412         (khtml::XMLTokenizer::XMLTokenizer):
    413 	New constructor that takes a DocumentFragmentImpl and fills it.
    414 	
    415         (khtml::parseXMLDocumentFragment):
    416 	New function that parses a document fragment.
    417 	
    418         (khtml::XMLNamespaceStack::pushNamespaces):
    419 	New function that takes an element and pushes namespaces based on its 
    420 	xmlns attributes.
    421 	
    422         * khtml/xml/xml_tokenizer.h:
    423 	Add parseXMLDocumentFragment declaration.
    424 	
    425 2005-08-18  Eric Seidel  <eseidel (a] apple.com>
    426 
    427         No review needed, affects only SVGSupport.
    428 
    429         Test cases added:
    430         * svg-tests/W3C-SVG-1.1/Resources/animation-add-BE-09-expected.checksum: Added.
    431         * svg-tests/W3C-SVG-1.1/Resources/animation-add-BE-09-expected.png: Added.
    432         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.checksum: Added.
    433         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.png: Added.
    434         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image2-expected.checksum: Added.
    435         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image2-expected.png: Added.
    436         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image3-expected.checksum: Added.
    437         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image3-expected.png: Added.
    438         * svg-tests/W3C-SVG-1.1/Resources/coords-units-01-f-expected.checksum: Added.
    439         * svg-tests/W3C-SVG-1.1/Resources/coords-units-01-f-expected.png: Added.
    440         * svg-tests/W3C-SVG-1.1/Resources/ext-TestComic-expected.checksum: Added.
    441         * svg-tests/W3C-SVG-1.1/Resources/ext-TestComic-expected.png: Added.
    442         * svg-tests/W3C-SVG-1.1/Resources/filters-blend-01-f-expected.checksum: Added.
    443         * svg-tests/W3C-SVG-1.1/Resources/filters-blend-01-f-expected.png: Added.
    444         * svg-tests/W3C-SVG-1.1/Resources/filters-color-01-f-expected.checksum: Added.
    445         * svg-tests/W3C-SVG-1.1/Resources/filters-color-01-f-expected.png: Added.
    446         * svg-tests/W3C-SVG-1.1/Resources/filters-composite-01-f-expected.checksum: Added.
    447         * svg-tests/W3C-SVG-1.1/Resources/filters-composite-01-f-expected.png: Added.
    448         * svg-tests/W3C-SVG-1.1/Resources/filters-conv-01-f-expected.checksum: Added.
    449         * svg-tests/W3C-SVG-1.1/Resources/filters-conv-01-f-expected.png: Added.
    450         * svg-tests/W3C-SVG-1.1/Resources/filters-diffuse-01-f-expected.checksum: Added.
    451         * svg-tests/W3C-SVG-1.1/Resources/filters-diffuse-01-f-expected.png: Added.
    452         * svg-tests/W3C-SVG-1.1/Resources/filters-example-01-f-expected.checksum: Added.
    453         * svg-tests/W3C-SVG-1.1/Resources/filters-example-01-f-expected.png: Added.
    454         * svg-tests/W3C-SVG-1.1/Resources/interact-dom-01-f-expected.checksum: Added.
    455         * svg-tests/W3C-SVG-1.1/Resources/interact-dom-01-f-expected.png: Added.
    456         * svg-tests/W3C-SVG-1.1/Resources/interact-order-02-b-targ-expected.checksum: Added.
    457         * svg-tests/W3C-SVG-1.1/Resources/interact-order-02-b-targ-expected.png: Added.
    458         * svg-tests/W3C-SVG-1.1/Resources/interact-order-03-b-targ-expected.checksum: Added.
    459         * svg-tests/W3C-SVG-1.1/Resources/interact-order-03-b-targ-expected.png: Added.
    460         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-b-expected.checksum: Added.
    461         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-b-expected.png: Added.
    462         * svg-tests/W3C-SVG-1.1/Resources/linkingCircle-f-expected.checksum: Added.
    463         * svg-tests/W3C-SVG-1.1/Resources/linkingCircle-f-expected.png: Added.
    464         * svg-tests/W3C-SVG-1.1/Resources/linkingToc-t-expected.checksum: Added.
    465         * svg-tests/W3C-SVG-1.1/Resources/linkingToc-t-expected.png: Added.
    466         * svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f-expected.checksum: Added.
    467         * svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f-expected.png: Added.
    468         * svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f-expected.checksum: Added.
    469         * svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f-expected.png: Added.
    470         * svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f-expected.checksum: Added.
    471         * svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f-expected.png: Added.
    472         * svg-tests/W3C-SVG-1.1/Resources/paths-data-04-f-expected.checksum: Added.
    473         * svg-tests/W3C-SVG-1.1/Resources/paths-data-04-f-expected.png: Added.
    474         * svg-tests/W3C-SVG-1.1/Resources/rects-expected.checksum: Added.
    475         * svg-tests/W3C-SVG-1.1/Resources/rects-expected.png: Added.
    476         * svg-tests/W3C-SVG-1.1/Resources/rects_b-expected.checksum: Added.
    477         * svg-tests/W3C-SVG-1.1/Resources/rects_b-expected.png: Added.
    478         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-b-expected.checksum: Added.
    479         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-b-expected.png: Added.
    480         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-f-expected.checksum: Added.
    481         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-f-expected.png: Added.
    482         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-b-expected.checksum: Added.
    483         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-b-expected.png: Added.
    484         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f-expected.checksum: Added.
    485         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f-expected.png: Added.
    486         * svg-tests/W3C-SVG-1.1/Resources/struct-frag-01-B-expected.checksum: Added.
    487         * svg-tests/W3C-SVG-1.1/Resources/struct-frag-01-B-expected.png: Added.
    488         * svg-tests/W3C-SVG-1.1/Resources/text-align-01-f-expected.checksum: Added.
    489         * svg-tests/W3C-SVG-1.1/Resources/text-align-01-f-expected.png: Added.
    490         * svg-tests/W3C-SVG-1.1/Resources/text-align-02-f-expected.checksum: Added.
    491         * svg-tests/W3C-SVG-1.1/Resources/text-align-02-f-expected.png: Added.
    492         * svg-tests/W3C-SVG-1.1/Resources/text-align-03-f-expected.checksum: Added.
    493         * svg-tests/W3C-SVG-1.1/Resources/text-align-03-f-expected.png: Added.
    494         * svg-tests/W3C-SVG-1.1/Resources/text-altglyph-01-f-expected.checksum: Added.
    495         * svg-tests/W3C-SVG-1.1/Resources/text-altglyph-01-f-expected.png: Added.
    496         * svg-tests/W3C-SVG-1.1/Resources/text-extTref-BE-18-targ-expected.checksum: Added.
    497         * svg-tests/W3C-SVG-1.1/Resources/text-extTref-BE-18-targ-expected.png: Added.
    498         * svg-tests/W3C-SVG-1.1/Resources/text-intro-01-f-expected.checksum: Added.
    499         * svg-tests/W3C-SVG-1.1/Resources/text-intro-01-f-expected.png: Added.
    500         * svg-tests/W3C-SVG-1.1/Resources/text-tref-01-f-expected.checksum: Added.
    501         * svg-tests/W3C-SVG-1.1/Resources/text-tref-01-f-expected.png: Added.
    502         * svg-tests/W3C-SVG-1.1/Resources/text-ws-01-f-expected.checksum: Added.
    503         * svg-tests/W3C-SVG-1.1/Resources/text-ws-01-f-expected.png: Added.
    504         * svg-tests/W3C-SVG-1.1/Resources/toc-sv-expected.checksum: Added.
    505         * svg-tests/W3C-SVG-1.1/Resources/toc-sv-expected.png: Added.
    506         * svg-tests/W3C-SVG-1.1/Resources/toc-svcmp-expected.checksum: Added.
    507         * svg-tests/W3C-SVG-1.1/Resources/toc-svcmp-expected.png: Added.
    508         * svg-tests/W3C-SVG-1.1/animate-elem-02-t-expected.checksum: Added.
    509         * svg-tests/W3C-SVG-1.1/animate-elem-02-t-expected.png: Added.
    510         * svg-tests/W3C-SVG-1.1/animate-elem-03-t-expected.checksum: Added.
    511         * svg-tests/W3C-SVG-1.1/animate-elem-03-t-expected.png: Added.
    512         * svg-tests/W3C-SVG-1.1/animate-elem-04-t-expected.checksum: Added.
    513         * svg-tests/W3C-SVG-1.1/animate-elem-04-t-expected.png: Added.
    514         * svg-tests/W3C-SVG-1.1/animate-elem-05-t-expected.checksum: Added.
    515         * svg-tests/W3C-SVG-1.1/animate-elem-05-t-expected.png: Added.
    516         * svg-tests/W3C-SVG-1.1/animate-elem-06-t-expected.checksum: Added.
    517         * svg-tests/W3C-SVG-1.1/animate-elem-06-t-expected.png: Added.
    518         * svg-tests/W3C-SVG-1.1/animate-elem-07-t-expected.checksum: Added.
    519         * svg-tests/W3C-SVG-1.1/animate-elem-07-t-expected.png: Added.
    520         * svg-tests/W3C-SVG-1.1/animate-elem-08-t-expected.checksum: Added.
    521         * svg-tests/W3C-SVG-1.1/animate-elem-08-t-expected.png: Added.
    522         * svg-tests/W3C-SVG-1.1/animate-elem-09-t-expected.checksum: Added.
    523         * svg-tests/W3C-SVG-1.1/animate-elem-09-t-expected.png: Added.
    524         * svg-tests/W3C-SVG-1.1/animate-elem-10-t-expected.checksum: Added.
    525         * svg-tests/W3C-SVG-1.1/animate-elem-10-t-expected.png: Added.
    526         * svg-tests/W3C-SVG-1.1/animate-elem-11-t-expected.checksum: Added.
    527         * svg-tests/W3C-SVG-1.1/animate-elem-11-t-expected.png: Added.
    528         * svg-tests/W3C-SVG-1.1/animate-elem-12-t-expected.checksum: Added.
    529         * svg-tests/W3C-SVG-1.1/animate-elem-12-t-expected.png: Added.
    530         * svg-tests/W3C-SVG-1.1/animate-elem-13-t-expected.checksum: Added.
    531         * svg-tests/W3C-SVG-1.1/animate-elem-13-t-expected.png: Added.
    532         * svg-tests/W3C-SVG-1.1/animate-elem-14-t-expected.checksum: Added.
    533         * svg-tests/W3C-SVG-1.1/animate-elem-14-t-expected.png: Added.
    534         * svg-tests/W3C-SVG-1.1/animate-elem-15-t-expected.checksum: Added.
    535         * svg-tests/W3C-SVG-1.1/animate-elem-15-t-expected.png: Added.
    536         * svg-tests/W3C-SVG-1.1/animate-elem-16-t-expected.checksum: Added.
    537         * svg-tests/W3C-SVG-1.1/animate-elem-16-t-expected.png: Added.
    538         * svg-tests/W3C-SVG-1.1/animate-elem-17-t-expected.checksum: Added.
    539         * svg-tests/W3C-SVG-1.1/animate-elem-17-t-expected.png: Added.
    540         * svg-tests/W3C-SVG-1.1/animate-elem-18-t-expected.checksum: Added.
    541         * svg-tests/W3C-SVG-1.1/animate-elem-18-t-expected.png: Added.
    542         * svg-tests/W3C-SVG-1.1/animate-elem-19-t-expected.checksum: Added.
    543         * svg-tests/W3C-SVG-1.1/animate-elem-19-t-expected.png: Added.
    544         * svg-tests/W3C-SVG-1.1/animate-elem-20-t-expected.checksum: Added.
    545         * svg-tests/W3C-SVG-1.1/animate-elem-20-t-expected.png: Added.
    546         * svg-tests/W3C-SVG-1.1/animate-elem-21-t-expected.checksum: Added.
    547         * svg-tests/W3C-SVG-1.1/animate-elem-21-t-expected.png: Added.
    548         * svg-tests/W3C-SVG-1.1/animate-elem-22-b-expected.checksum: Added.
    549         * svg-tests/W3C-SVG-1.1/animate-elem-22-b-expected.png: Added.
    550         * svg-tests/W3C-SVG-1.1/animate-elem-23-t-expected.checksum: Added.
    551         * svg-tests/W3C-SVG-1.1/animate-elem-23-t-expected.png: Added.
    552         * svg-tests/W3C-SVG-1.1/animate-elem-24-t-expected.checksum: Added.
    553         * svg-tests/W3C-SVG-1.1/animate-elem-24-t-expected.png: Added.
    554         * svg-tests/W3C-SVG-1.1/animate-elem-25-t-expected.checksum: Added.
    555         * svg-tests/W3C-SVG-1.1/animate-elem-25-t-expected.png: Added.
    556         * svg-tests/W3C-SVG-1.1/animate-elem-26-t-expected.checksum: Added.
    557         * svg-tests/W3C-SVG-1.1/animate-elem-26-t-expected.png: Added.
    558         * svg-tests/W3C-SVG-1.1/animate-elem-27-t-expected.checksum: Added.
    559         * svg-tests/W3C-SVG-1.1/animate-elem-27-t-expected.png: Added.
    560         * svg-tests/W3C-SVG-1.1/animate-elem-28-t-expected.checksum: Added.
    561         * svg-tests/W3C-SVG-1.1/animate-elem-28-t-expected.png: Added.
    562         * svg-tests/W3C-SVG-1.1/animate-elem-29-b-expected.checksum: Added.
    563         * svg-tests/W3C-SVG-1.1/animate-elem-29-b-expected.png: Added.
    564         * svg-tests/W3C-SVG-1.1/color-prof-01-f-expected.checksum: Added.
    565         * svg-tests/W3C-SVG-1.1/color-prof-01-f-expected.png: Added.
    566         * svg-tests/W3C-SVG-1.1/color-prop-01-b-expected.checksum: Added.
    567         * svg-tests/W3C-SVG-1.1/color-prop-01-b-expected.png: Added.
    568         * svg-tests/W3C-SVG-1.1/color-prop-02-f-expected.checksum: Added.
    569         * svg-tests/W3C-SVG-1.1/color-prop-02-f-expected.png: Added.
    570         * svg-tests/W3C-SVG-1.1/color-prop-03-t-expected.checksum: Added.
    571         * svg-tests/W3C-SVG-1.1/color-prop-03-t-expected.png: Added.
    572         * svg-tests/W3C-SVG-1.1/coords-trans-01-b-expected.checksum: Added.
    573         * svg-tests/W3C-SVG-1.1/coords-trans-01-b-expected.png: Added.
    574         * svg-tests/W3C-SVG-1.1/coords-trans-02-t-expected.checksum: Added.
    575         * svg-tests/W3C-SVG-1.1/coords-trans-02-t-expected.png: Added.
    576         * svg-tests/W3C-SVG-1.1/coords-trans-03-t-expected.checksum: Added.
    577         * svg-tests/W3C-SVG-1.1/coords-trans-03-t-expected.png: Added.
    578         * svg-tests/W3C-SVG-1.1/coords-trans-04-t-expected.checksum: Added.
    579         * svg-tests/W3C-SVG-1.1/coords-trans-04-t-expected.png: Added.
    580         * svg-tests/W3C-SVG-1.1/coords-trans-05-t-expected.checksum: Added.
    581         * svg-tests/W3C-SVG-1.1/coords-trans-05-t-expected.png: Added.
    582         * svg-tests/W3C-SVG-1.1/coords-trans-06-t-expected.checksum: Added.
    583         * svg-tests/W3C-SVG-1.1/coords-trans-06-t-expected.png: Added.
    584         * svg-tests/W3C-SVG-1.1/coords-units-01-b-expected.checksum: Added.
    585         * svg-tests/W3C-SVG-1.1/coords-units-01-b-expected.png: Added.
    586         * svg-tests/W3C-SVG-1.1/coords-units-02-b-expected.checksum: Added.
    587         * svg-tests/W3C-SVG-1.1/coords-units-02-b-expected.png: Added.
    588         * svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.checksum: Added.
    589         * svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.png: Added.
    590         * svg-tests/W3C-SVG-1.1/coords-viewattr-01-b-expected.checksum: Added.
    591         * svg-tests/W3C-SVG-1.1/coords-viewattr-01-b-expected.png: Added.
    592         * svg-tests/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum: Added.
    593         * svg-tests/W3C-SVG-1.1/coords-viewattr-02-b-expected.png: Added.
    594         * svg-tests/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum: Added.
    595         * svg-tests/W3C-SVG-1.1/extend-namespace-01-f-expected.png: Added.
    596         * svg-tests/W3C-SVG-1.1/filters-blend-01-b-expected.checksum: Added.
    597         * svg-tests/W3C-SVG-1.1/filters-blend-01-b-expected.png: Added.
    598         * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.checksum: Added.
    599         * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.png: Added.
    600         * svg-tests/W3C-SVG-1.1/filters-composite-02-b-expected.checksum: Added.
    601         * svg-tests/W3C-SVG-1.1/filters-composite-02-b-expected.png: Added.
    602         * svg-tests/W3C-SVG-1.1/filters-conv-01-f-expected.checksum: Added.
    603         * svg-tests/W3C-SVG-1.1/filters-conv-01-f-expected.png: Added.
    604         * svg-tests/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum: Added.
    605         * svg-tests/W3C-SVG-1.1/filters-diffuse-01-f-expected.png: Added.
    606         * svg-tests/W3C-SVG-1.1/filters-displace-01-f-expected.checksum: Added.
    607         * svg-tests/W3C-SVG-1.1/filters-displace-01-f-expected.png: Added.
    608         * svg-tests/W3C-SVG-1.1/filters-example-01-b-expected.checksum: Added.
    609         * svg-tests/W3C-SVG-1.1/filters-example-01-b-expected.png: Added.
    610         * svg-tests/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum: Added.
    611         * svg-tests/W3C-SVG-1.1/filters-gauss-01-b-expected.png: Added.
    612         * svg-tests/W3C-SVG-1.1/filters-image-01-b-expected.checksum: Added.
    613         * svg-tests/W3C-SVG-1.1/filters-image-01-b-expected.png: Added.
    614         * svg-tests/W3C-SVG-1.1/filters-light-01-f-expected.checksum: Added.
    615         * svg-tests/W3C-SVG-1.1/filters-light-01-f-expected.png: Added.
    616         * svg-tests/W3C-SVG-1.1/filters-morph-01-f-expected.checksum: Added.
    617         * svg-tests/W3C-SVG-1.1/filters-morph-01-f-expected.png: Added.
    618         * svg-tests/W3C-SVG-1.1/filters-offset-01-b-expected.checksum: Added.
    619         * svg-tests/W3C-SVG-1.1/filters-offset-01-b-expected.png: Added.
    620         * svg-tests/W3C-SVG-1.1/filters-specular-01-f-expected.checksum: Added.
    621         * svg-tests/W3C-SVG-1.1/filters-specular-01-f-expected.png: Added.
    622         * svg-tests/W3C-SVG-1.1/filters-tile-01-b-expected.checksum: Added.
    623         * svg-tests/W3C-SVG-1.1/filters-tile-01-b-expected.png: Added.
    624         * svg-tests/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum: Added.
    625         * svg-tests/W3C-SVG-1.1/fonts-elem-01-t-expected.png: Added.
    626         * svg-tests/W3C-SVG-1.1/fonts-elem-02-t-expected.checksum: Added.
    627         * svg-tests/W3C-SVG-1.1/fonts-elem-02-t-expected.png: Added.
    628         * svg-tests/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum: Added.
    629         * svg-tests/W3C-SVG-1.1/fonts-elem-03-b-expected.png: Added.
    630         * svg-tests/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum: Added.
    631         * svg-tests/W3C-SVG-1.1/fonts-elem-04-b-expected.png: Added.
    632         * svg-tests/W3C-SVG-1.1/interact-cursor-01-f-expected.checksum: Added.
    633         * svg-tests/W3C-SVG-1.1/interact-cursor-01-f-expected.png: Added.
    634         * svg-tests/W3C-SVG-1.1/interact-dom-01-b-expected.checksum: Added.
    635         * svg-tests/W3C-SVG-1.1/interact-dom-01-b-expected.png: Added.
    636         * svg-tests/W3C-SVG-1.1/interact-events-01-b-expected.checksum: Added.
    637         * svg-tests/W3C-SVG-1.1/interact-events-01-b-expected.png: Added.
    638         * svg-tests/W3C-SVG-1.1/interact-order-01-b-expected.checksum: Added.
    639         * svg-tests/W3C-SVG-1.1/interact-order-01-b-expected.png: Added.
    640         * svg-tests/W3C-SVG-1.1/interact-order-02-b-expected.checksum: Added.
    641         * svg-tests/W3C-SVG-1.1/interact-order-02-b-expected.png: Added.
    642         * svg-tests/W3C-SVG-1.1/interact-order-03-b-expected.checksum: Added.
    643         * svg-tests/W3C-SVG-1.1/interact-order-03-b-expected.png: Added.
    644         * svg-tests/W3C-SVG-1.1/interact-zoom-01-t-expected.checksum: Added.
    645         * svg-tests/W3C-SVG-1.1/interact-zoom-01-t-expected.png: Added.
    646         * svg-tests/W3C-SVG-1.1/linking-a-01-b-expected.checksum: Added.
    647         * svg-tests/W3C-SVG-1.1/linking-a-01-b-expected.png: Added.
    648         * svg-tests/W3C-SVG-1.1/linking-a-02-b-expected.checksum: Added.
    649         * svg-tests/W3C-SVG-1.1/linking-a-02-b-expected.png: Added.
    650         * svg-tests/W3C-SVG-1.1/linking-a-03-b-expected.checksum: Added.
    651         * svg-tests/W3C-SVG-1.1/linking-a-03-b-expected.png: Added.
    652         * svg-tests/W3C-SVG-1.1/linking-a-04-t-expected.checksum: Added.
    653         * svg-tests/W3C-SVG-1.1/linking-a-04-t-expected.png: Added.
    654         * svg-tests/W3C-SVG-1.1/linking-uri-01-b-expected.checksum: Added.
    655         * svg-tests/W3C-SVG-1.1/linking-uri-01-b-expected.png: Added.
    656         * svg-tests/W3C-SVG-1.1/linking-uri-02-b-expected.checksum: Added.
    657         * svg-tests/W3C-SVG-1.1/linking-uri-02-b-expected.png: Added.
    658         * svg-tests/W3C-SVG-1.1/linking-uri-03-t-expected.checksum: Added.
    659         * svg-tests/W3C-SVG-1.1/linking-uri-03-t-expected.png: Added.
    660         * svg-tests/W3C-SVG-1.1/masking-mask-01-b-expected.checksum: Added.
    661         * svg-tests/W3C-SVG-1.1/masking-mask-01-b-expected.png: Added.
    662         * svg-tests/W3C-SVG-1.1/masking-opacity-01-b-expected.checksum: Added.
    663         * svg-tests/W3C-SVG-1.1/masking-opacity-01-b-expected.png: Added.
    664         * svg-tests/W3C-SVG-1.1/masking-path-01-b-expected.checksum: Added.
    665         * svg-tests/W3C-SVG-1.1/masking-path-01-b-expected.png: Added.
    666         * svg-tests/W3C-SVG-1.1/masking-path-02-b-expected.checksum: Added.
    667         * svg-tests/W3C-SVG-1.1/masking-path-02-b-expected.png: Added.
    668         * svg-tests/W3C-SVG-1.1/masking-path-03-b-expected.checksum: Added.
    669         * svg-tests/W3C-SVG-1.1/masking-path-03-b-expected.png: Added.
    670         * svg-tests/W3C-SVG-1.1/masking-path-04-b-expected.checksum: Added.
    671         * svg-tests/W3C-SVG-1.1/masking-path-04-b-expected.png: Added.
    672         * svg-tests/W3C-SVG-1.1/masking-path-05-f-expected.checksum: Added.
    673         * svg-tests/W3C-SVG-1.1/masking-path-05-f-expected.png: Added.
    674         * svg-tests/W3C-SVG-1.1/metadata-example-01-b-expected.checksum: Added.
    675         * svg-tests/W3C-SVG-1.1/metadata-example-01-b-expected.png: Added.
    676         * svg-tests/W3C-SVG-1.1/painting-fill-01-t-expected.checksum: Added.
    677         * svg-tests/W3C-SVG-1.1/painting-fill-01-t-expected.png: Added.
    678         * svg-tests/W3C-SVG-1.1/painting-fill-02-t-expected.checksum: Added.
    679         * svg-tests/W3C-SVG-1.1/painting-fill-02-t-expected.png: Added.
    680         * svg-tests/W3C-SVG-1.1/painting-fill-03-t-expected.checksum: Added.
    681         * svg-tests/W3C-SVG-1.1/painting-fill-03-t-expected.png: Added.
    682         * svg-tests/W3C-SVG-1.1/painting-fill-04-t-expected.checksum: Added.
    683         * svg-tests/W3C-SVG-1.1/painting-fill-04-t-expected.png: Added.
    684         * svg-tests/W3C-SVG-1.1/painting-marker-01-f-expected.checksum: Added.
    685         * svg-tests/W3C-SVG-1.1/painting-marker-01-f-expected.png: Added.
    686         * svg-tests/W3C-SVG-1.1/painting-marker-02-f-expected.checksum: Added.
    687         * svg-tests/W3C-SVG-1.1/painting-marker-02-f-expected.png: Added.
    688         * svg-tests/W3C-SVG-1.1/painting-render-01-b-expected.checksum: Added.
    689         * svg-tests/W3C-SVG-1.1/painting-render-01-b-expected.png: Added.
    690         * svg-tests/W3C-SVG-1.1/painting-stroke-01-t-expected.checksum: Added.
    691         * svg-tests/W3C-SVG-1.1/painting-stroke-01-t-expected.png: Added.
    692         * svg-tests/W3C-SVG-1.1/painting-stroke-02-t-expected.checksum: Added.
    693         * svg-tests/W3C-SVG-1.1/painting-stroke-02-t-expected.png: Added.
    694         * svg-tests/W3C-SVG-1.1/painting-stroke-03-t-expected.checksum: Added.
    695         * svg-tests/W3C-SVG-1.1/painting-stroke-03-t-expected.png: Added.
    696         * svg-tests/W3C-SVG-1.1/painting-stroke-04-t-expected.checksum: Added.
    697         * svg-tests/W3C-SVG-1.1/painting-stroke-04-t-expected.png: Added.
    698         * svg-tests/W3C-SVG-1.1/paths-data-01-t-expected.checksum: Added.
    699         * svg-tests/W3C-SVG-1.1/paths-data-01-t-expected.png: Added.
    700         * svg-tests/W3C-SVG-1.1/paths-data-02-t-expected.checksum: Added.
    701         * svg-tests/W3C-SVG-1.1/paths-data-02-t-expected.png: Added.
    702         * svg-tests/W3C-SVG-1.1/paths-data-03-f-expected.checksum: Added.
    703         * svg-tests/W3C-SVG-1.1/paths-data-03-f-expected.png: Added.
    704         * svg-tests/W3C-SVG-1.1/paths-data-04-t-expected.checksum: Added.
    705         * svg-tests/W3C-SVG-1.1/paths-data-04-t-expected.png: Added.
    706         * svg-tests/W3C-SVG-1.1/paths-data-05-t-expected.checksum: Added.
    707         * svg-tests/W3C-SVG-1.1/paths-data-05-t-expected.png: Added.
    708         * svg-tests/W3C-SVG-1.1/paths-data-06-t-expected.checksum: Added.
    709         * svg-tests/W3C-SVG-1.1/paths-data-06-t-expected.png: Added.
    710         * svg-tests/W3C-SVG-1.1/paths-data-07-t-expected.checksum: Added.
    711         * svg-tests/W3C-SVG-1.1/paths-data-07-t-expected.png: Added.
    712         * svg-tests/W3C-SVG-1.1/pservers-grad-01-b-expected.checksum: Added.
    713         * svg-tests/W3C-SVG-1.1/pservers-grad-01-b-expected.png: Added.
    714         * svg-tests/W3C-SVG-1.1/pservers-grad-02-b-expected.checksum: Added.
    715         * svg-tests/W3C-SVG-1.1/pservers-grad-02-b-expected.png: Added.
    716         * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum: Added.
    717         * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.png: Added.
    718         * svg-tests/W3C-SVG-1.1/pservers-grad-04-b-expected.checksum: Added.
    719         * svg-tests/W3C-SVG-1.1/pservers-grad-04-b-expected.png: Added.
    720         * svg-tests/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum: Added.
    721         * svg-tests/W3C-SVG-1.1/pservers-grad-05-b-expected.png: Added.
    722         * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum: Added.
    723         * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.png: Added.
    724         * svg-tests/W3C-SVG-1.1/pservers-grad-07-b-expected.checksum: Added.
    725         * svg-tests/W3C-SVG-1.1/pservers-grad-07-b-expected.png: Added.
    726         * svg-tests/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum: Added.
    727         * svg-tests/W3C-SVG-1.1/pservers-grad-08-b-expected.png: Added.
    728         * svg-tests/W3C-SVG-1.1/pservers-grad-09-b-expected.checksum: Added.
    729         * svg-tests/W3C-SVG-1.1/pservers-grad-09-b-expected.png: Added.
    730         * svg-tests/W3C-SVG-1.1/pservers-grad-10-b-expected.checksum: Added.
    731         * svg-tests/W3C-SVG-1.1/pservers-grad-10-b-expected.png: Added.
    732         * svg-tests/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum: Added.
    733         * svg-tests/W3C-SVG-1.1/pservers-grad-11-b-expected.png: Added.
    734         * svg-tests/W3C-SVG-1.1/pservers-grad-12-b-expected.checksum: Added.
    735         * svg-tests/W3C-SVG-1.1/pservers-grad-12-b-expected.png: Added.
    736         * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum: Added.
    737         * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.png: Added.
    738         * svg-tests/W3C-SVG-1.1/render-elems-01-t-expected.checksum: Added.
    739         * svg-tests/W3C-SVG-1.1/render-elems-01-t-expected.png: Added.
    740         * svg-tests/W3C-SVG-1.1/render-elems-02-t-expected.checksum: Added.
    741         * svg-tests/W3C-SVG-1.1/render-elems-02-t-expected.png: Added.
    742         * svg-tests/W3C-SVG-1.1/render-elems-03-t-expected.checksum: Added.
    743         * svg-tests/W3C-SVG-1.1/render-elems-03-t-expected.png: Added.
    744         * svg-tests/W3C-SVG-1.1/render-elems-06-t-expected.checksum: Added.
    745         * svg-tests/W3C-SVG-1.1/render-elems-06-t-expected.png: Added.
    746         * svg-tests/W3C-SVG-1.1/render-elems-07-t-expected.checksum: Added.
    747         * svg-tests/W3C-SVG-1.1/render-elems-07-t-expected.png: Added.
    748         * svg-tests/W3C-SVG-1.1/render-elems-08-t-expected.checksum: Added.
    749         * svg-tests/W3C-SVG-1.1/render-elems-08-t-expected.png: Added.
    750         * svg-tests/W3C-SVG-1.1/render-groups-01-b-expected.checksum: Added.
    751         * svg-tests/W3C-SVG-1.1/render-groups-01-b-expected.png: Added.
    752         * svg-tests/W3C-SVG-1.1/render-groups-03-t-expected.checksum: Added.
    753         * svg-tests/W3C-SVG-1.1/render-groups-03-t-expected.png: Added.
    754         * svg-tests/W3C-SVG-1.1/script-handle-01-b-expected.checksum: Added.
    755         * svg-tests/W3C-SVG-1.1/script-handle-01-b-expected.png: Added.
    756         * svg-tests/W3C-SVG-1.1/script-handle-02-b-expected.checksum: Added.
    757         * svg-tests/W3C-SVG-1.1/script-handle-02-b-expected.png: Added.
    758         * svg-tests/W3C-SVG-1.1/script-handle-03-b-expected.checksum: Added.
    759         * svg-tests/W3C-SVG-1.1/script-handle-03-b-expected.png: Added.
    760         * svg-tests/W3C-SVG-1.1/script-handle-04-b-expected.checksum: Added.
    761         * svg-tests/W3C-SVG-1.1/script-handle-04-b-expected.png: Added.
    762         * svg-tests/W3C-SVG-1.1/shapes-circle-01-t-expected.checksum: Added.
    763         * svg-tests/W3C-SVG-1.1/shapes-circle-01-t-expected.png: Added.
    764         * svg-tests/W3C-SVG-1.1/shapes-ellipse-01-t-expected.checksum: Added.
    765         * svg-tests/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png: Added.
    766         * svg-tests/W3C-SVG-1.1/shapes-line-01-t-expected.checksum: Added.
    767         * svg-tests/W3C-SVG-1.1/shapes-line-01-t-expected.png: Added.
    768         * svg-tests/W3C-SVG-1.1/shapes-polygon-01-t-expected.checksum: Added.
    769         * svg-tests/W3C-SVG-1.1/shapes-polygon-01-t-expected.png: Added.
    770         * svg-tests/W3C-SVG-1.1/shapes-polyline-01-t-expected.checksum: Added.
    771         * svg-tests/W3C-SVG-1.1/shapes-polyline-01-t-expected.png: Added.
    772         * svg-tests/W3C-SVG-1.1/shapes-rect-01-t-expected.checksum: Added.
    773         * svg-tests/W3C-SVG-1.1/shapes-rect-01-t-expected.png: Added.
    774         * svg-tests/W3C-SVG-1.1/struct-cond-01-t-expected.checksum: Added.
    775         * svg-tests/W3C-SVG-1.1/struct-cond-01-t-expected.png: Added.
    776         * svg-tests/W3C-SVG-1.1/struct-cond-02-t-expected.checksum: Added.
    777         * svg-tests/W3C-SVG-1.1/struct-cond-02-t-expected.png: Added.
    778         * svg-tests/W3C-SVG-1.1/struct-defs-01-t-expected.checksum: Added.
    779         * svg-tests/W3C-SVG-1.1/struct-defs-01-t-expected.png: Added.
    780         * svg-tests/W3C-SVG-1.1/struct-dom-01-b-expected.checksum: Added.
    781         * svg-tests/W3C-SVG-1.1/struct-dom-01-b-expected.png: Added.
    782         * svg-tests/W3C-SVG-1.1/struct-dom-02-b-expected.checksum: Added.
    783         * svg-tests/W3C-SVG-1.1/struct-dom-02-b-expected.png: Added.
    784         * svg-tests/W3C-SVG-1.1/struct-dom-03-b-expected.checksum: Added.
    785         * svg-tests/W3C-SVG-1.1/struct-dom-03-b-expected.png: Added.
    786         * svg-tests/W3C-SVG-1.1/struct-dom-04-b-expected.checksum: Added.
    787         * svg-tests/W3C-SVG-1.1/struct-dom-04-b-expected.png: Added.
    788         * svg-tests/W3C-SVG-1.1/struct-dom-05-b-expected.checksum: Added.
    789         * svg-tests/W3C-SVG-1.1/struct-dom-05-b-expected.png: Added.
    790         * svg-tests/W3C-SVG-1.1/struct-dom-06-b-expected.checksum: Added.
    791         * svg-tests/W3C-SVG-1.1/struct-dom-06-b-expected.png: Added.
    792         * svg-tests/W3C-SVG-1.1/struct-frag-01-t-expected.checksum: Added.
    793         * svg-tests/W3C-SVG-1.1/struct-frag-01-t-expected.png: Added.
    794         * svg-tests/W3C-SVG-1.1/struct-group-01-t-expected.checksum: Added.
    795         * svg-tests/W3C-SVG-1.1/struct-group-01-t-expected.png: Added.
    796         * svg-tests/W3C-SVG-1.1/struct-group-02-b-expected.checksum: Added.
    797         * svg-tests/W3C-SVG-1.1/struct-group-02-b-expected.png: Added.
    798         * svg-tests/W3C-SVG-1.1/struct-image-01-t-expected.checksum: Added.
    799         * svg-tests/W3C-SVG-1.1/struct-image-01-t-expected.png: Added.
    800         * svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.checksum: Added.
    801         * svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.png: Added.
    802         * svg-tests/W3C-SVG-1.1/struct-image-03-t-expected.checksum: Added.
    803         * svg-tests/W3C-SVG-1.1/struct-image-03-t-expected.png: Added.
    804         * svg-tests/W3C-SVG-1.1/struct-image-04-t-expected.checksum: Added.
    805         * svg-tests/W3C-SVG-1.1/struct-image-04-t-expected.png: Added.
    806         * svg-tests/W3C-SVG-1.1/struct-image-05-b-expected.checksum: Added.
    807         * svg-tests/W3C-SVG-1.1/struct-image-05-b-expected.png: Added.
    808         * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum: Added.
    809         * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.png: Added.
    810         * svg-tests/W3C-SVG-1.1/styling-css-01-b-expected.checksum: Added.
    811         * svg-tests/W3C-SVG-1.1/styling-css-01-b-expected.png: Added.
    812         * svg-tests/W3C-SVG-1.1/styling-css-02-b-expected.checksum: Added.
    813         * svg-tests/W3C-SVG-1.1/styling-css-02-b-expected.png: Added.
    814         * svg-tests/W3C-SVG-1.1/styling-css-03-b-expected.checksum: Added.
    815         * svg-tests/W3C-SVG-1.1/styling-css-03-b-expected.png: Added.
    816         * svg-tests/W3C-SVG-1.1/styling-inherit-01-b-expected.checksum: Added.
    817         * svg-tests/W3C-SVG-1.1/styling-inherit-01-b-expected.png: Added.
    818         * svg-tests/W3C-SVG-1.1/styling-pres-01-t-expected.checksum: Added.
    819         * svg-tests/W3C-SVG-1.1/styling-pres-01-t-expected.png: Added.
    820         * svg-tests/W3C-SVG-1.1/text-align-01-b-expected.checksum: Added.
    821         * svg-tests/W3C-SVG-1.1/text-align-01-b-expected.png: Added.
    822         * svg-tests/W3C-SVG-1.1/text-align-02-b-expected.checksum: Added.
    823         * svg-tests/W3C-SVG-1.1/text-align-02-b-expected.png: Added.
    824         * svg-tests/W3C-SVG-1.1/text-align-03-b-expected.checksum: Added.
    825         * svg-tests/W3C-SVG-1.1/text-align-03-b-expected.png: Added.
    826         * svg-tests/W3C-SVG-1.1/text-align-04-b-expected.checksum: Added.
    827         * svg-tests/W3C-SVG-1.1/text-align-04-b-expected.png: Added.
    828         * svg-tests/W3C-SVG-1.1/text-align-05-b-expected.checksum: Added.
    829         * svg-tests/W3C-SVG-1.1/text-align-05-b-expected.png: Added.
    830         * svg-tests/W3C-SVG-1.1/text-align-06-b-expected.checksum: Added.
    831         * svg-tests/W3C-SVG-1.1/text-align-06-b-expected.png: Added.
    832         * svg-tests/W3C-SVG-1.1/text-altglyph-01-b-expected.checksum: Added.
    833         * svg-tests/W3C-SVG-1.1/text-altglyph-01-b-expected.png: Added.
    834         * svg-tests/W3C-SVG-1.1/text-deco-01-b-expected.checksum: Added.
    835         * svg-tests/W3C-SVG-1.1/text-deco-01-b-expected.png: Added.
    836         * svg-tests/W3C-SVG-1.1/text-fonts-01-t-expected.checksum: Added.
    837         * svg-tests/W3C-SVG-1.1/text-fonts-01-t-expected.png: Added.
    838         * svg-tests/W3C-SVG-1.1/text-fonts-02-t-expected.checksum: Added.
    839         * svg-tests/W3C-SVG-1.1/text-fonts-02-t-expected.png: Added.
    840         * svg-tests/W3C-SVG-1.1/text-intro-01-t-expected.checksum: Added.
    841         * svg-tests/W3C-SVG-1.1/text-intro-01-t-expected.png: Added.
    842         * svg-tests/W3C-SVG-1.1/text-intro-02-b-expected.checksum: Added.
    843         * svg-tests/W3C-SVG-1.1/text-intro-02-b-expected.png: Added.
    844         * svg-tests/W3C-SVG-1.1/text-intro-03-b-expected.checksum: Added.
    845         * svg-tests/W3C-SVG-1.1/text-intro-03-b-expected.png: Added.
    846         * svg-tests/W3C-SVG-1.1/text-intro-04-t-expected.checksum: Added.
    847         * svg-tests/W3C-SVG-1.1/text-intro-04-t-expected.png: Added.
    848         * svg-tests/W3C-SVG-1.1/text-path-01-b-expected.checksum: Added.
    849         * svg-tests/W3C-SVG-1.1/text-path-01-b-expected.png: Added.
    850         * svg-tests/W3C-SVG-1.1/text-spacing-01-b-expected.checksum: Added.
    851         * svg-tests/W3C-SVG-1.1/text-spacing-01-b-expected.png: Added.
    852         * svg-tests/W3C-SVG-1.1/text-text-01-b-expected.checksum: Added.
    853         * svg-tests/W3C-SVG-1.1/text-text-01-b-expected.png: Added.
    854         * svg-tests/W3C-SVG-1.1/text-text-03-b-expected.checksum: Added.
    855         * svg-tests/W3C-SVG-1.1/text-text-03-b-expected.png: Added.
    856         * svg-tests/W3C-SVG-1.1/text-tref-01-b-expected.checksum: Added.
    857         * svg-tests/W3C-SVG-1.1/text-tref-01-b-expected.png: Added.
    858         * svg-tests/W3C-SVG-1.1/text-tselect-01-b-expected.checksum: Added.
    859         * svg-tests/W3C-SVG-1.1/text-tselect-01-b-expected.png: Added.
    860         * svg-tests/W3C-SVG-1.1/text-tspan-01-b-expected.checksum: Added.
    861         * svg-tests/W3C-SVG-1.1/text-tspan-01-b-expected.png: Added.
    862         * svg-tests/W3C-SVG-1.1/text-ws-01-t-expected.checksum: Added.
    863         * svg-tests/W3C-SVG-1.1/text-ws-01-t-expected.png: Added.
    864         * svg-tests/W3C-SVG-1.1/text-ws-02-t-expected.checksum: Added.
    865         * svg-tests/W3C-SVG-1.1/text-ws-02-t-expected.png: Added.
    866         Add pixel test results for SVG.
    867 
    868 2005-08-17  Maciej Stachowiak  <mjs (a] apple.com>
    869 
    870         Reviewed by Darin.
    871 
    872         * layout-tests/fast/css/acid2.html: Replaced nonexistent remote URL that takes
    873 	a very long time to time out, with a nonexistent local URL.
    874 
    875         * kwq/KWQRenderTreeDebug.cpp:
    876         (externalRepresentation): Remove hack to turn off scrollbars.
    877 
    878 	- Updated many test results now that the layout tests properly do scrollbars when
    879 	appropriate
    880 	
    881         * layout-tests/css1/basic/comments-expected.txt:
    882         * layout-tests/css1/basic/containment-expected.txt:
    883         * layout-tests/css1/basic/id_as_selector-expected.txt:
    884         * layout-tests/css1/basic/inheritance-expected.txt:
    885         * layout-tests/css1/box_properties/border-expected.txt:
    886         * layout-tests/css1/box_properties/border_bottom-expected.txt:
    887         * layout-tests/css1/box_properties/border_bottom_width-expected.txt:
    888         * layout-tests/css1/box_properties/border_left-expected.txt:
    889         * layout-tests/css1/box_properties/border_left_width-expected.txt:
    890         * layout-tests/css1/box_properties/border_right_inline-expected.txt:
    891         * layout-tests/css1/box_properties/border_right_width-expected.txt:
    892         * layout-tests/css1/box_properties/border_style-expected.txt:
    893         * layout-tests/css1/box_properties/border_top-expected.txt:
    894         * layout-tests/css1/box_properties/border_top_width-expected.txt:
    895         * layout-tests/css1/box_properties/border_width-expected.txt:
    896         * layout-tests/css1/box_properties/clear-expected.txt:
    897         * layout-tests/css1/box_properties/clear_float-expected.txt:
    898         * layout-tests/css1/box_properties/float_elements_in_series-expected.txt:
    899         * layout-tests/css1/box_properties/float_margin-expected.txt:
    900         * layout-tests/css1/box_properties/float_on_text_elements-expected.txt:
    901         * layout-tests/css1/box_properties/height-expected.txt:
    902         * layout-tests/css1/box_properties/margin-expected.txt:
    903         * layout-tests/css1/box_properties/margin_bottom-expected.txt:
    904         * layout-tests/css1/box_properties/margin_inline-expected.txt:
    905         * layout-tests/css1/box_properties/margin_left-expected.txt:
    906         * layout-tests/css1/box_properties/margin_right-expected.txt:
    907         * layout-tests/css1/box_properties/margin_top-expected.txt:
    908         * layout-tests/css1/box_properties/padding-expected.txt:
    909         * layout-tests/css1/box_properties/padding_bottom-expected.txt:
    910         * layout-tests/css1/box_properties/padding_inline-expected.txt:
    911         * layout-tests/css1/box_properties/padding_left-expected.txt:
    912         * layout-tests/css1/box_properties/padding_right-expected.txt:
    913         * layout-tests/css1/box_properties/padding_top-expected.txt:
    914         * layout-tests/css1/box_properties/width-expected.txt:
    915         * layout-tests/css1/cascade/cascade_order-expected.txt:
    916         * layout-tests/css1/classification/display-expected.txt:
    917         * layout-tests/css1/classification/list_style_type-expected.txt:
    918         * layout-tests/css1/classification/white_space-expected.txt:
    919         * layout-tests/css1/color_and_background/background-expected.txt:
    920         * layout-tests/css1/color_and_background/background_attachment-expected.txt:
    921         * layout-tests/css1/color_and_background/background_position-expected.txt:
    922         * layout-tests/css1/color_and_background/background_repeat-expected.txt:
    923         * layout-tests/css1/conformance/forward_compatible_parsing-expected.txt:
    924         * layout-tests/css1/font_properties/font-expected.txt:
    925         * layout-tests/css1/font_properties/font_family-expected.txt:
    926         * layout-tests/css1/font_properties/font_size-expected.txt:
    927         * layout-tests/css1/font_properties/font_weight-expected.txt:
    928         * layout-tests/css1/formatting_model/floating_elements-expected.txt:
    929         * layout-tests/css1/formatting_model/height_of_lines-expected.txt:
    930         * layout-tests/css1/formatting_model/horizontal_formatting-expected.txt:
    931         * layout-tests/css1/formatting_model/inline_elements-expected.txt:
    932         * layout-tests/css1/formatting_model/replaced_elements-expected.txt:
    933         * layout-tests/css1/formatting_model/vertical_formatting-expected.txt:
    934         * layout-tests/css1/pseudo/anchor-expected.txt:
    935         * layout-tests/css1/pseudo/firstletter-expected.txt:
    936         * layout-tests/css1/pseudo/firstline-expected.txt:
    937         * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
    938         * layout-tests/css1/text_properties/letter_spacing-expected.txt:
    939         * layout-tests/css1/text_properties/line_height-expected.txt:
    940         * layout-tests/css1/text_properties/text-transCapitalize-expected.txt:
    941         * layout-tests/css1/text_properties/text_decoration-expected.txt:
    942         * layout-tests/css1/text_properties/text_indent-expected.txt:
    943         * layout-tests/css1/text_properties/text_transform-expected.txt:
    944         * layout-tests/css1/text_properties/vertical_align-expected.txt:
    945         * layout-tests/css1/text_properties/word_spacing-expected.txt:
    946         * layout-tests/css1/units/color_units-expected.txt:
    947         * layout-tests/css1/units/length_units-expected.txt:
    948         * layout-tests/dom/html/level2/html/HTMLBaseElement02-expected.txt:
    949         * layout-tests/editing/inserting/insert-div-023-expected.txt:
    950         * layout-tests/editing/selection/select-all-001-expected.txt:
    951         * layout-tests/editing/selection/select-all-002-expected.txt:
    952         * layout-tests/editing/selection/select-all-003-expected.txt:
    953         * layout-tests/editing/selection/select-all-004-expected.txt:
    954         * layout-tests/editing/selection/unrendered-001-expected.txt:
    955         * layout-tests/editing/selection/unrendered-002-expected.txt:
    956         * layout-tests/editing/selection/unrendered-003-expected.txt:
    957         * layout-tests/editing/selection/unrendered-004-expected.txt:
    958         * layout-tests/editing/selection/unrendered-005-expected.txt:
    959         * layout-tests/fast/block/basic/013-expected.txt:
    960         * layout-tests/fast/block/basic/016-expected.txt:
    961         * layout-tests/fast/block/float/008-expected.txt:
    962         * layout-tests/fast/block/float/013-expected.txt:
    963         * layout-tests/fast/block/float/019-expected.txt:
    964         * layout-tests/fast/block/float/021-expected.txt:
    965         * layout-tests/fast/block/float/025-expected.txt:
    966         * layout-tests/fast/block/float/026-expected.txt:
    967         * layout-tests/fast/block/float/027-expected.txt:
    968         * layout-tests/fast/block/float/028-expected.txt:
    969         * layout-tests/fast/block/float/032-expected.txt:
    970         * layout-tests/fast/block/float/033-expected.txt:
    971         * layout-tests/fast/block/margin-collapse/103-expected.txt:
    972         * layout-tests/fast/block/positioning/047-expected.txt:
    973         * layout-tests/fast/block/positioning/051-expected.txt:
    974         * layout-tests/fast/block/positioning/055-expected.txt:
    975         * layout-tests/fast/block/positioning/auto/007-expected.txt:
    976         * layout-tests/fast/css/005-expected.txt:
    977         * layout-tests/fast/css/MarqueeLayoutTest-expected.txt:
    978         * layout-tests/fast/css/word-space-extra-expected.txt:
    979         * layout-tests/fast/dom/attr_dead_doc-expected.txt:
    980         * layout-tests/fast/dom/features-expected.txt:
    981         * layout-tests/fast/dynamic/008-expected.txt:
    982         * layout-tests/fast/dynamic/flash-replacement-test-expected.txt:
    983         * layout-tests/fast/encoding/utf-16-big-endian-expected.txt:
    984         * layout-tests/fast/encoding/utf-16-little-endian-expected.txt:
    985         * layout-tests/fast/flexbox/016-expected.txt:
    986         * layout-tests/fast/forms/form-element-geometry-expected.txt:
    987         * layout-tests/fast/frames/001-expected.txt:
    988         * layout-tests/fast/frames/002-expected.txt:
    989         * layout-tests/fast/frames/contentWindow_Frame-expected.txt:
    990         * layout-tests/fast/frames/contentWindow_iFrame-expected.txt:
    991         * layout-tests/fast/frames/empty-frame-src-expected.txt:
    992         * layout-tests/fast/frames/frameElement-frame-expected.txt:
    993         * layout-tests/fast/frames/frameElement-iframe-expected.txt:
    994         * layout-tests/fast/frames/invalid-expected.txt:
    995         * layout-tests/fast/frames/valid-expected.txt:
    996         * layout-tests/fast/inline-block/003-expected.txt:
    997         * layout-tests/fast/js/window-object-cross-frame-calls-expected.txt:
    998         * layout-tests/fast/lists/008-expected.txt:
    999         * layout-tests/fast/replaced/005-expected.txt:
   1000         * layout-tests/fast/replaced/007-expected.txt:
   1001         * layout-tests/fast/selectors/166-expected.txt:
   1002         * layout-tests/fast/table/023-expected.txt:
   1003         * layout-tests/fast/table/034-expected.txt:
   1004         * layout-tests/fast/table/040-expected.txt:
   1005         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   1006         * layout-tests/fast/table/height-percent-test-expected.txt:
   1007         * layout-tests/fast/table/wide-colspan-expected.txt:
   1008         * layout-tests/fast/table/wide-column-expected.txt:
   1009         * layout-tests/fast/text/whitespace/024-expected.txt:
   1010         * layout-tests/fast/tokenizer/004-expected.txt:
   1011         * layout-tests/traversal/tree-walker-004-expected.txt:
   1012 
   1013 2005-08-17  Beth Dakin  <bdakin (a] apple.com>
   1014 
   1015         Reviewed by Maciej
   1016 
   1017         Test cases added: (NONE)
   1018 	
   1019 	This is a fix for http://bugs.webkit.org/show_bug.cgi?id=4499
   1020 	which describes a memory leak that happens on bugzilla after
   1021 	searching for all open WebKit bugs.	
   1022 
   1023         * kwq/KWQArrayImpl.mm: 
   1024         (KWQArrayImpl::resize): When resizing to 0, free the old data after setting it
   1025 				to NULL.
   1026 
   1027 2005-08-17  Justin Garcia  <justin.garcia (a] apple.com>
   1028 
   1029         Reviewed by darin, adele
   1030         
   1031         Fixes <rdar://problem/4219869> REGRESSION (OC): First frame never draws if it's delayed
   1032             A recent change uncovered a bug where on early returns from KHTMLView::layout(), layoutSchedulingEnabled 
   1033             was not reset to true, preventing later layouts from occuring. 
   1034 
   1035         * khtml/khtmlview.cpp:
   1036         (KHTMLView::layout):
   1037 
   1038 2005-08-17  Curt Arnold  <curt.arnold (a] mac.com>
   1039 
   1040         Reviewed and landed by Darin.
   1041 
   1042         - fixed http://bugs.webkit.org/show_bug.cgi?id=4491
   1043           DOM L2 Events tests using addEventListener broken
   1044 
   1045         * layout-tests/dom/html/level2/events/dispatchEvent08.js: Updated.
   1046         * layout-tests/dom/html/level2/events/dispatchEvent09.js: Ditto.
   1047         * layout-tests/dom/html/level2/events/dispatchEvent10.js: Ditto.
   1048         * layout-tests/dom/html/level2/events/dispatchEvent11.js: Ditto.
   1049         * layout-tests/dom/html/level2/events/dispatchEvent12.js: Ditto.
   1050         * layout-tests/dom/html/level2/events/dispatchEvent13.js: Ditto.
   1051 
   1052         * layout-tests/dom/html/level2/events/dispatchEvent11-expected.txt: Now succeeds.
   1053         * layout-tests/dom/html/level2/events/dispatchEvent12-expected.txt: Now fails.
   1054         * layout-tests/dom/html/level2/events/dispatchEvent13-expected.txt: Now succeeds.
   1055 
   1056 2005-08-17  Justin Garcia  <justin.garcia (a] apple.com>
   1057 
   1058         Reviewed by rjw
   1059         
   1060         Addresses <rdar://problem/4192534> new frame load delegate SPI needed for Dashboard
   1061             Call handledOnloadEvents bridge method after load events are dispatched in a frame
   1062 
   1063         * khtml/xml/dom_docimpl.cpp:
   1064         (DocumentImpl::implicitClose):
   1065         * kwq/KWQKHTMLPart.h:
   1066         * kwq/KWQKHTMLPart.mm:
   1067         (KWQKHTMLPart::handledOnloadEvents):
   1068         * kwq/WebCoreBridge.h:
   1069 
   1070 2005-08-17  Vicki Murley  <vicki (a] apple.com>
   1071 
   1072         Reviewed by Maciej.
   1073  
   1074         - fix <rdar://problem/4175734> Crash trying to retrieve data with
   1075         XMLHttpRequest with Content-Type: empty
   1076 
   1077         Test cases added: 
   1078 	* manual-tests/xmlhttprequest-contenttype-empty.html: Added.
   1079 
   1080 	* khtml/ecma/xmlhttprequest.cpp:
   1081 	(KJS::XMLHttpRequest::getValueProperty): allow empty entries when splitting to
   1082 	create the mime type string, otherwise we access a garbage pointer when stripping
   1083 	whitespace
   1084 
   1085 2005-08-16  Darin Adler  <darin (a] apple.com>
   1086 
   1087         Reviewed by Maciej.
   1088 
   1089         - fixed bug that was causing a crash when running layout tests
   1090 
   1091         * khtml/ecma/kjs_binding.h: Remove unused deleteDOMObject.
   1092         * khtml/ecma/kjs_binding.cpp:
   1093         (KJS::ScriptInterpreter::forgetDOMObject): Move code in here from forgetDOMObject.
   1094         (KJS::ScriptInterpreter::getDOMNodeForDocument): For the null-document case, use the general
   1095         DOM objects map rather than a per-document map.
   1096         (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
   1097         (KJS::ScriptInterpreter::putDOMNodeForDocument): Ditto.
   1098         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Assert that document is not null.
   1099 
   1100 2005-08-16  Darin Adler  <darin (a] apple.com>
   1101 
   1102         Reviewed by Geoff.
   1103 
   1104         - changed main_thread_malloc so we don't have two conflicting versions of the same function
   1105           This fixes a crash I was seeing running the WebKit tests.
   1106 
   1107         * khtml/misc/main_thread_malloc.h: Took out all the ifdefs from this header.
   1108         * khtml/misc/main_thread_malloc.cpp: Added non-NDEBUG versions of the functions that just call
   1109         the system malloc, and put the NDEBUG versions in an #else.
   1110 
   1111         * WebCore-tests.exp: Export the new stuff so the tests still work.
   1112 
   1113 2005-08-15  Maciej Stachowiak  <mjs (a] apple.com>
   1114 
   1115         Reviewed by John.
   1116 
   1117 	- fixed leak of HTML collection info - this can build up to
   1118 	hundreds of leaks pretty quickly
   1119 
   1120 	http://bugs.webkit.org/show_bug.cgi?id=4450
   1121 	
   1122         * khtml/html/html_miscimpl.cpp:
   1123         (DOM::HTMLCollectionImpl::HTMLCollectionImpl): Initialize new
   1124 	m_ownsInfo member.
   1125         (DOM::HTMLCollectionImpl::~HTMLCollectionImpl): Delete info if
   1126 	owned.
   1127         (DOM::HTMLCollectionImpl::resetCollectionInfo): When creating new
   1128 	info, indicate that it's owned.
   1129         * khtml/html/html_miscimpl.h: Declare new member.
   1130 
   1131 2005-08-16  David Harrison  <harrison (a] apple.com>
   1132 
   1133         <rdar://problem/4119646> assertion failure in DOM::Position::upstream at babelfish.com
   1134         <rdar://problem/4125949> Assertion failure clicking outside of textarea in page containing only textarea
   1135 
   1136         Removed asserts that did not account for iterating from a nested node to its parent.
   1137 
   1138         Test cases added: n/a for assert removal
   1139 
   1140         * khtml/xml/dom_position.cpp:
   1141         (DOM::Position::upstream):
   1142         (DOM::Position::downstream):
   1143 
   1144 2005-08-16  Darin Adler  <darin (a] apple.com>
   1145 
   1146         Reviewed by Beth Dakin.
   1147 
   1148         - removed Panther-only code that was not being compiled and was
   1149           simply "bit-rotting"
   1150 
   1151         * WebCorePrefix.h:
   1152         * khtml/misc/loader.cpp:
   1153         (CachedImage::CachedImage):
   1154         * khtml/rendering/render_canvasimage.cpp:
   1155         * kwq/KWQAccObject.mm:
   1156         (-[KWQAccObject roleDescription]):
   1157         (-[KWQAccObject accessibilityAttributeNames]):
   1158         (-[KWQAccObject accessibilityActionDescription:]):
   1159         (-[KWQAccObject accessibilityAttributeValue:]):
   1160         (-[KWQAccObject accessibilityIsAttributeSettable:]):
   1161         * kwq/KWQComboBox.mm:
   1162         (QComboBox::QComboBox):
   1163         * kwq/KWQFoundationExtras.h:
   1164         (KWQCFAutorelease):
   1165         * kwq/KWQPixmap.mm:
   1166         (QPixmap::QPixmap):
   1167         (QPixmap::receivedData):
   1168         * kwq/KWQString.h:
   1169         (QChar::direction):
   1170         * kwq/KWQTextArea.mm:
   1171         (-[KWQTextArea tile]):
   1172         * kwq/KWQTextEdit.mm:
   1173         (QTextEdit::setScrollBarModes):
   1174         * kwq/KWQTextField.mm:
   1175         (-[KWQTextFieldController string]):
   1176         * kwq/KWQTextUtilities.mm:
   1177         (currentTextBreakLocaleID):
   1178         * kwq/WebCoreScrollView.m:
   1179 
   1180 2005-08-16  Darin Adler  <darin (a] apple.com>
   1181 
   1182         Reviewed by Beth Dakin.
   1183 
   1184         - removed some unnecessary code
   1185 
   1186         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::imageFromRect): Remove code to call
   1187         setAdditionalPatternPhase since that is no longer needed.
   1188 
   1189         * kwq/WebCoreGraphicsBridge.h: Remove unused setAdditionalPatternPhase,
   1190         createRGBColorSpace, createGrayColorSpace, and createCMYKColorSpace methods.
   1191         * kwq/WebCoreGraphicsBridge.m: Ditto.
   1192 
   1193 2005-08-16  Eric Seidel  <eseidel (a] apple.com>
   1194         Fix by Tobias Lidskog <tobiaslidskog (a] mac.com>
   1195 
   1196         Reviewed by eseidel.
   1197 
   1198         * kcanvas/KCanvasItem.cpp:
   1199         (KCanvasItem::bbox):
   1200         (KCanvasItem::invalidate):
   1201         Now caches both stroke and fill bboxes for better performance.
   1202         http://bugs.webkit.org/show_bug.cgi?id=4445
   1203 
   1204 2005-08-16  Eric Seidel  <eseidel (a] apple.com>
   1205         Fix from Tobias Lidskog <tobiaslidskog (a] mac.com>
   1206 
   1207         Reviewed by eseidel.
   1208 
   1209         * kcanvas/KCanvasContainer.cpp:
   1210         (KCanvasContainer::needsTemporaryBuffer):
   1211         * kcanvas/device/KRenderingPaintServerSolid.cpp:
   1212         (KRenderingPaintServerSolid::opacity):
   1213         * kcanvas/device/KRenderingPaintServerSolid.h:
   1214         * kcanvas/device/KRenderingStyle.cpp:
   1215         (KRenderingStyle::Private::Private):
   1216         (KRenderingStyle::opacity):
   1217         (KRenderingStyle::setOpacity):
   1218         * kcanvas/device/KRenderingStyle.h:
   1219         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
   1220         (KCanvasContainerQuartz::draw):
   1221         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
   1222         (KRenderingPaintServerSolidQuartz::draw):
   1223         (KRenderingPaintServerPatternQuartz::draw):
   1224         * kcanvas/device/quartz/QuartzSupport.mm:
   1225         (applyStyleToContext):
   1226         * ksvg2/core/KCanvasRenderingStyle.cpp:
   1227         (KCanvasRenderingStyle::opacity):
   1228         (KCanvasRenderingStyle::setOpacity):
   1229         * ksvg2/core/KCanvasRenderingStyle.h:
   1230         Change all references to Opacity to use floats.
   1231         http://bugs.webkit.org/show_bug.cgi?id=4431
   1232 
   1233 2005-08-16  Eric Seidel  <eseidel (a] apple.com>
   1234 
   1235         Reviewed by mjs.
   1236 
   1237         * WebCore.xcodeproj/project.pbxproj: bison cleanup.
   1238         * kdom/ecma/DOMLookup.h: now uses throwError
   1239         * kdom/ecma/Ecma.cpp: 
   1240         (Ecma::~Ecma): now uses clearProperties
   1241         * kdom/ecma/GlobalObject.cpp: now uses throwError
   1242         (GlobalObject::clear): now uses clearProperties
   1243         (GlobalObjectFunc::callAsFunction): now uses throwError
   1244         Fixes necessary for WebCore+SVG after 4437.
   1245         http://bugs.webkit.org/show_bug.cgi?id=4453
   1246 
   1247 2005-08-15  Vicki Murley  <vicki (a] apple.com>
   1248 
   1249         Reviewed by Maciej.
   1250  
   1251 	- fixed <rdar://problem/4094363> Can't re-open a window at capripalace.com website because 
   1252 	"close" fails on already-closed window
   1253 
   1254         Test cases added: 
   1255         * manual-tests/close-on-closedWindow.html: Added.
   1256 
   1257         * khtml/ecma/kjs_window.cpp:
   1258         (KJS::Window::getOwnPropertySlot): allow close calls on windows that have already been closed
   1259 
   1260 2005-08-15  Darin Adler  <darin (a] apple.com>
   1261 
   1262         Reviewed by Geoff.
   1263 
   1264         - fixed http://bugs.webkit.org/show_bug.cgi?id=4437
   1265           clean up error creation with new throwError function
   1266 
   1267         * khtml/css/cssstyleselector.cpp:
   1268         (khtml::CSSStyleSelector::CSSStyleSelector):
   1269         (khtml::parseUASheet):
   1270         (khtml::CSSStyleSelector::initElementAndPseudoState):
   1271         (khtml::checkPseudoState):
   1272         (khtml::CSSStyleSelector::locateCousinList):
   1273         (khtml::CSSStyleSelector::locateSharedStyle):
   1274         (khtml::CSSStyleSelector::adjustRenderStyle):
   1275         (khtml::CSSStyleSelector::checkOneSelector):
   1276         (khtml::CSSRuleSet::addToRuleSet):
   1277         (khtml::colorForCSSValue):
   1278         (khtml::CSSStyleSelector::applyProperty):
   1279         (khtml::CSSStyleSelector::mapBackgroundAttachment):
   1280         (khtml::CSSStyleSelector::mapBackgroundImage):
   1281         (khtml::CSSStyleSelector::mapBackgroundRepeat):
   1282         (khtml::CSSStyleSelector::mapBackgroundXPosition):
   1283         (khtml::CSSStyleSelector::mapBackgroundYPosition):
   1284         (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
   1285         * khtml/ecma/domparser.cpp:
   1286         (KJS::DOMParserProtoFunc::callAsFunction):
   1287         * khtml/ecma/kjs_binding.cpp:
   1288         (KJS::ScriptInterpreter::putDOMObject):
   1289         (KJS::ScriptInterpreter::putDOMNodeForDocument):
   1290         (KJS::setDOMException):
   1291         * khtml/ecma/kjs_css.cpp:
   1292         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
   1293         (KJS::DOMStyleSheetListFunc::callAsFunction):
   1294         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
   1295         (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
   1296         (KJS::DOMCSSRuleListFunc::callAsFunction):
   1297         (KJS::DOMCSSRuleFunc::callAsFunction):
   1298         (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
   1299         (KJS::DOMCSSValueListFunc::callAsFunction):
   1300         * khtml/ecma/kjs_dom.cpp:
   1301         (KJS::DOMNodeProtoFunc::callAsFunction):
   1302         (KJS::DOMNodeListFunc::callAsFunction):
   1303         (KJS::DOMDocumentProtoFunc::callAsFunction):
   1304         (KJS::DOMElementProtoFunc::callAsFunction):
   1305         (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
   1306         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
   1307         (KJS::DOMCharacterDataProtoFunc::callAsFunction):
   1308         (KJS::DOMTextProtoFunc::callAsFunction):
   1309         * khtml/ecma/kjs_events.cpp:
   1310         (KJS::DOMEventProtoFunc::callAsFunction):
   1311         (KJS::DOMUIEventProtoFunc::callAsFunction):
   1312         (KJS::DOMMouseEventProtoFunc::callAsFunction):
   1313         (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
   1314         (KJS::DOMMutationEventProtoFunc::callAsFunction):
   1315         (KJS::DOMWheelEventProtoFunc::callAsFunction):
   1316         (KJS::ClipboardProtoFunc::callAsFunction):
   1317         * khtml/ecma/kjs_html.cpp:
   1318         (KJS::KJS::HTMLDocFunction::callAsFunction):
   1319         (KJS::KJS::HTMLElementFunction::callAsFunction):
   1320         (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
   1321         (KJS::KJS::Context2DFunction::callAsFunction):
   1322         (KJS::Context2D::putValueProperty):
   1323         (KJS::GradientFunction::callAsFunction):
   1324         * khtml/ecma/kjs_navigator.cpp:
   1325         (KJS::NavigatorFunc::callAsFunction):
   1326         * khtml/ecma/kjs_range.cpp:
   1327         (KJS::DOMRangeProtoFunc::callAsFunction):
   1328         * khtml/ecma/kjs_traversal.cpp:
   1329         (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
   1330         (KJS::DOMNodeFilterProtoFunc::callAsFunction):
   1331         (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
   1332         * khtml/ecma/kjs_views.cpp:
   1333         (KJS::DOMAbstractViewFunc::callAsFunction):
   1334         * khtml/ecma/kjs_window.cpp:
   1335         (KJS::Window::interpreter):
   1336         (KJS::Window::retrieveWindow):
   1337         (KJS::Window::retrieveActive):
   1338         (KJS::Window::isSafeScript):
   1339         (KJS::Window::clear):
   1340         (KJS::WindowFunc::callAsFunction):
   1341         (KJS::ScheduledAction::execute):
   1342         (KJS::WindowQObject::pauseTimeouts):
   1343         (KJS::LocationFunc::callAsFunction):
   1344         (KJS::Selection::toString):
   1345         (KJS::SelectionFunc::callAsFunction):
   1346         (KJS::HistoryFunc::callAsFunction):
   1347         * khtml/ecma/xmlhttprequest.cpp:
   1348         (KJS::XMLHttpRequestProtoFunc::callAsFunction):
   1349         * khtml/ecma/xmlserializer.cpp:
   1350         (KJS::XMLSerializerProtoFunc::callAsFunction):
   1351 
   1352 2005-08-15  David Harrison  <harrison (a] apple.com>
   1353 
   1354         Reviewed by Darin.
   1355 
   1356         <rdar://problem/4202641> Line breaks do not happen inside whitespace:pre; word-wrap: break-word
   1357         
   1358         Test cases added: fast/text/whitespace/tab-character-basics.html
   1359 
   1360         Refined Dave's earlier patch for this bug to handle whitespace:pre that is not at the beginning of a line.
   1361         
   1362         * khtml/rendering/bidi.cpp:
   1363         (khtml::RenderBlock::findNextLineBreak):
   1364         * layout-tests/fast/text/whitespace/tab-character-basics-expected.txt: Added.
   1365         * layout-tests/fast/text/whitespace/tab-character-basics.html: Added.
   1366 
   1367 2005-08-15  Darin Adler  <darin (a] apple.com>
   1368 
   1369         Reviewed by Justin.
   1370 
   1371         - fixed http://bugs.webkit.org/show_bug.cgi?id=4324
   1372           WebCore build does a slow "nmedit -s" step that's unnecessary
   1373 
   1374         * WebCore.xcodeproj/project.pbxproj: Stop using EXPORTED_SYMBOLS_FILE, since it does an
   1375         unneccessary nmedit step that is particularly slow for WebCore. Instead, define
   1376         WEBCORE_EXPORTED_SYMBOLS_FILE and put a flag into OTHER_LDFLAGS.
   1377 
   1378 2005-08-14  Andrew Wellington  <proton (a] wiretapped.net>
   1379 
   1380         Reviewed and landed by Darin.
   1381 
   1382         - fixed http://bugs.webkit.org/show_bug.cgi?id=3429
   1383           Text transformed with text-transform does not copy with transform applied
   1384 
   1385         Test cases added:
   1386         * layout-tests/editing/pasteboard/paste-text-019-expected.txt: Added.
   1387         * layout-tests/editing/pasteboard/paste-text-019.html: Added.
   1388 
   1389         * khtml/editing/visible_text.cpp:
   1390         (khtml::TextIterator::handleTextNode): Use the DOMString from the RenderText, not the DOM text node.
   1391         (khtml::TextIterator::handleTextBox): Ditto.
   1392 
   1393 2005-08-14  Darin Adler  <darin (a] apple.com>
   1394 
   1395         - fixed build of some unit tests
   1396 
   1397         * khtml/misc/main_thread_malloc.h: We use functions from <stdlib.h> here in
   1398         debug mode, so #include <stdlib.h>.
   1399 
   1400 2005-08-14  Darin Adler  <darin (a] apple.com>
   1401 
   1402         Reviewed by Maciej.
   1403 
   1404         - fixed http://bugs.webkit.org/show_bug.cgi?id=4422
   1405           QFont has mistake where it caches computed pitch value incorrectly
   1406 
   1407         * kwq/KWQFont.mm:
   1408         (QFont::setFamily): Set _pitch to Unknown when setting _NSFont to nil.
   1409         (QFont::setFirstFamily): Ditto.
   1410         (QFont::setPixelSize): Ditto. Might be unneeded; it would be bad to have the same font
   1411         with different pitch settings at different sizes. But better to be safe.
   1412         (QFont::setWeight): Ditto. Same caveat.
   1413         (QFont::setItalic): Ditto. Ditto.
   1414 
   1415 2005-08-14  Oliver Hunt  <ojh16 (a] student.canterbury.ac.nz>
   1416 
   1417         Reviewed and landed by Darin.
   1418 
   1419         - fixed http://bugs.webkit.org/show_bug.cgi?id=3692
   1420           Word-spacing doesn't work as expected
   1421 
   1422         Test cases added:
   1423         * layout-tests/fast/css/word-space-extra-expected.txt: Added.
   1424         * layout-tests/fast/css/word-space-extra.html: Added.
   1425 
   1426         * khtml/rendering/bidi.cpp:
   1427         (khtml::RenderBlock::constructLine):
   1428         (khtml::RenderBlock::computeHorizontalPositionsForLine):
   1429         (khtml::RenderBlock::findNextLineBreak):
   1430         * khtml/rendering/font.cpp:
   1431         (Font::drawText):
   1432         * khtml/rendering/font.h:
   1433         (khtml::Font::getWordSpacing):
   1434         * khtml/rendering/render_line.cpp:
   1435         (khtml::InlineFlowBox::placeBoxesHorizontally):
   1436         * khtml/rendering/render_line.h:
   1437         * khtml/rendering/render_text.cpp:
   1438         (RenderText::widthFromCache):
   1439         (RenderText::trimmedMinMaxWidth):
   1440         (RenderText::calcMinMaxWidth):
   1441         * khtml/rendering/render_text.h:
   1442         (khtml::InlineTextBox::setStart):
   1443         (khtml::InlineTextBox::setLen):
   1444 
   1445 2005-08-14  Maciej Stachowiak  <mjs (a] apple.com>
   1446 
   1447         - updated test cases for new editing delegate output
   1448 
   1449         * layout-tests/editing/deleting/collapse-whitespace-3587601-fix-expected.txt:
   1450         * layout-tests/editing/deleting/delete-3608430-fix-expected.txt:
   1451         * layout-tests/editing/deleting/delete-3608445-fix-expected.txt:
   1452         * layout-tests/editing/deleting/delete-3608462-fix-expected.txt:
   1453         * layout-tests/editing/deleting/delete-3775172-fix-expected.txt:
   1454         * layout-tests/editing/deleting/delete-3800834-fix-expected.txt:
   1455         * layout-tests/editing/deleting/delete-3857753-fix-expected.txt:
   1456         * layout-tests/editing/deleting/delete-3865854-fix-expected.txt:
   1457         * layout-tests/editing/deleting/delete-3928305-fix-expected.txt:
   1458         * layout-tests/editing/deleting/delete-3959464-fix-expected.txt:
   1459         * layout-tests/editing/deleting/delete-4038408-fix-expected.txt:
   1460         * layout-tests/editing/deleting/delete-4083333-fix-expected.txt:
   1461         * layout-tests/editing/deleting/delete-after-span-ws-001-expected.txt:
   1462         * layout-tests/editing/deleting/delete-after-span-ws-002-expected.txt:
   1463         * layout-tests/editing/deleting/delete-after-span-ws-003-expected.txt:
   1464         * layout-tests/editing/deleting/delete-and-undo-expected.txt:
   1465         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt:
   1466         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
   1467         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
   1468         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
   1469         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
   1470         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
   1471         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
   1472         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
   1473         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
   1474         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
   1475         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
   1476         * layout-tests/editing/deleting/delete-block-contents-001-expected.txt:
   1477         * layout-tests/editing/deleting/delete-block-contents-002-expected.txt:
   1478         * layout-tests/editing/deleting/delete-block-contents-003-expected.txt:
   1479         * layout-tests/editing/deleting/delete-block-merge-contents-001-expected.txt:
   1480         * layout-tests/editing/deleting/delete-block-merge-contents-002-expected.txt:
   1481         * layout-tests/editing/deleting/delete-block-merge-contents-003-expected.txt:
   1482         * layout-tests/editing/deleting/delete-block-merge-contents-004-expected.txt:
   1483         * layout-tests/editing/deleting/delete-block-merge-contents-005-expected.txt:
   1484         * layout-tests/editing/deleting/delete-block-merge-contents-006-expected.txt:
   1485         * layout-tests/editing/deleting/delete-block-merge-contents-007-expected.txt:
   1486         * layout-tests/editing/deleting/delete-block-merge-contents-008-expected.txt:
   1487         * layout-tests/editing/deleting/delete-block-merge-contents-009-expected.txt:
   1488         * layout-tests/editing/deleting/delete-block-merge-contents-010-expected.txt:
   1489         * layout-tests/editing/deleting/delete-block-merge-contents-012-expected.txt:
   1490         * layout-tests/editing/deleting/delete-block-merge-contents-013-expected.txt:
   1491         * layout-tests/editing/deleting/delete-block-merge-contents-014-expected.txt:
   1492         * layout-tests/editing/deleting/delete-block-merge-contents-015-expected.txt:
   1493         * layout-tests/editing/deleting/delete-block-merge-contents-016-expected.txt:
   1494         * layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt:
   1495         * layout-tests/editing/deleting/delete-block-merge-contents-018-expected.txt:
   1496         * layout-tests/editing/deleting/delete-block-merge-contents-019-expected.txt:
   1497         * layout-tests/editing/deleting/delete-block-merge-contents-020-expected.txt:
   1498         * layout-tests/editing/deleting/delete-block-merge-contents-021-expected.txt:
   1499         * layout-tests/editing/deleting/delete-br-001-expected.txt:
   1500         * layout-tests/editing/deleting/delete-br-002-expected.txt:
   1501         * layout-tests/editing/deleting/delete-br-003-expected.txt:
   1502         * layout-tests/editing/deleting/delete-br-004-expected.txt:
   1503         * layout-tests/editing/deleting/delete-br-005-expected.txt:
   1504         * layout-tests/editing/deleting/delete-br-006-expected.txt:
   1505         * layout-tests/editing/deleting/delete-br-007-expected.txt:
   1506         * layout-tests/editing/deleting/delete-br-008-expected.txt:
   1507         * layout-tests/editing/deleting/delete-br-009-expected.txt:
   1508         * layout-tests/editing/deleting/delete-br-010-expected.txt:
   1509         * layout-tests/editing/deleting/delete-br-011-expected.txt:
   1510         * layout-tests/editing/deleting/delete-character-001-expected.txt:
   1511         * layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt:
   1512         * layout-tests/editing/deleting/delete-image-001-expected.txt:
   1513         * layout-tests/editing/deleting/delete-image-002-expected.txt:
   1514         * layout-tests/editing/deleting/delete-image-003-expected.txt:
   1515         * layout-tests/editing/deleting/delete-image-004-expected.txt:
   1516         * layout-tests/editing/deleting/delete-leading-ws-001-expected.txt:
   1517         * layout-tests/editing/deleting/delete-line-001-expected.txt:
   1518         * layout-tests/editing/deleting/delete-line-002-expected.txt:
   1519         * layout-tests/editing/deleting/delete-line-003-expected.txt:
   1520         * layout-tests/editing/deleting/delete-line-004-expected.txt:
   1521         * layout-tests/editing/deleting/delete-line-005-expected.txt:
   1522         * layout-tests/editing/deleting/delete-line-006-expected.txt:
   1523         * layout-tests/editing/deleting/delete-line-007-expected.txt:
   1524         * layout-tests/editing/deleting/delete-line-008-expected.txt:
   1525         * layout-tests/editing/deleting/delete-line-009-expected.txt:
   1526         * layout-tests/editing/deleting/delete-line-010-expected.txt:
   1527         * layout-tests/editing/deleting/delete-line-011-expected.txt:
   1528         * layout-tests/editing/deleting/delete-line-012-expected.txt:
   1529         * layout-tests/editing/deleting/delete-line-013-expected.txt:
   1530         * layout-tests/editing/deleting/delete-line-014-expected.txt:
   1531         * layout-tests/editing/deleting/delete-line-015-expected.txt:
   1532         * layout-tests/editing/deleting/delete-line-016-expected.txt:
   1533         * layout-tests/editing/deleting/delete-line-017-expected.txt:
   1534         * layout-tests/editing/deleting/delete-line-end-ws-001-expected.txt:
   1535         * layout-tests/editing/deleting/delete-line-end-ws-002-expected.txt:
   1536         * layout-tests/editing/deleting/delete-select-all-001-expected.txt:
   1537         * layout-tests/editing/deleting/delete-select-all-002-expected.txt:
   1538         * layout-tests/editing/deleting/delete-select-all-003-expected.txt:
   1539         * layout-tests/editing/deleting/delete-selection-001-expected.txt:
   1540         * layout-tests/editing/deleting/delete-tab-001-expected.txt:
   1541         * layout-tests/editing/deleting/delete-tab-002-expected.txt:
   1542         * layout-tests/editing/deleting/delete-tab-003-expected.txt:
   1543         * layout-tests/editing/deleting/delete-tab-004-expected.txt:
   1544         * layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt:
   1545         * layout-tests/editing/deleting/delete-trailing-ws-002-expected.txt:
   1546         * layout-tests/editing/deleting/delete-ws-fixup-001-expected.txt:
   1547         * layout-tests/editing/deleting/delete-ws-fixup-002-expected.txt:
   1548         * layout-tests/editing/deleting/delete-ws-fixup-003-expected.txt:
   1549         * layout-tests/editing/deleting/delete-ws-fixup-004-expected.txt:
   1550         * layout-tests/editing/deleting/forward-delete-expected.txt:
   1551         * layout-tests/editing/deleting/smart-delete-001-expected.txt:
   1552         * layout-tests/editing/deleting/smart-delete-002-expected.txt:
   1553         * layout-tests/editing/execCommand/boldSelection-expected.txt:
   1554         * layout-tests/editing/execCommand/italicizeByCharacter-expected.txt:
   1555         * layout-tests/editing/execCommand/modifyForeColorByCharacter-expected.txt:
   1556         * layout-tests/editing/execCommand/selectAll-expected.txt:
   1557         * layout-tests/editing/inserting/insert-3654864-fix-expected.txt:
   1558         * layout-tests/editing/inserting/insert-3659587-fix-expected.txt:
   1559         * layout-tests/editing/inserting/insert-3775316-fix-expected.txt:
   1560         * layout-tests/editing/inserting/insert-3778059-fix-expected.txt:
   1561         * layout-tests/editing/inserting/insert-3786362-fix-expected.txt:
   1562         * layout-tests/editing/inserting/insert-3800346-fix-expected.txt:
   1563         * layout-tests/editing/inserting/insert-3851164-fix-expected.txt:
   1564         * layout-tests/editing/inserting/insert-3907422-fix-expected.txt:
   1565         * layout-tests/editing/inserting/insert-after-delete-001-expected.txt:
   1566         * layout-tests/editing/inserting/insert-br-001-expected.txt:
   1567         * layout-tests/editing/inserting/insert-br-002-expected.txt:
   1568         * layout-tests/editing/inserting/insert-br-003-expected.txt:
   1569         * layout-tests/editing/inserting/insert-br-004-expected.txt:
   1570         * layout-tests/editing/inserting/insert-br-005-expected.txt:
   1571         * layout-tests/editing/inserting/insert-br-006-expected.txt:
   1572         * layout-tests/editing/inserting/insert-br-007-expected.txt:
   1573         * layout-tests/editing/inserting/insert-br-008-expected.txt:
   1574         * layout-tests/editing/inserting/insert-div-001-expected.txt:
   1575         * layout-tests/editing/inserting/insert-div-002-expected.txt:
   1576         * layout-tests/editing/inserting/insert-div-003-expected.txt:
   1577         * layout-tests/editing/inserting/insert-div-004-expected.txt:
   1578         * layout-tests/editing/inserting/insert-div-005-expected.txt:
   1579         * layout-tests/editing/inserting/insert-div-006-expected.txt:
   1580         * layout-tests/editing/inserting/insert-div-007-expected.txt:
   1581         * layout-tests/editing/inserting/insert-div-008-expected.txt:
   1582         * layout-tests/editing/inserting/insert-div-009-expected.txt:
   1583         * layout-tests/editing/inserting/insert-div-010-expected.txt:
   1584         * layout-tests/editing/inserting/insert-div-011-expected.txt:
   1585         * layout-tests/editing/inserting/insert-div-012-expected.txt:
   1586         * layout-tests/editing/inserting/insert-div-013-expected.txt:
   1587         * layout-tests/editing/inserting/insert-div-014-expected.txt:
   1588         * layout-tests/editing/inserting/insert-div-015-expected.txt:
   1589         * layout-tests/editing/inserting/insert-div-016-expected.txt:
   1590         * layout-tests/editing/inserting/insert-div-017-expected.txt:
   1591         * layout-tests/editing/inserting/insert-div-018-expected.txt:
   1592         * layout-tests/editing/inserting/insert-div-019-expected.txt:
   1593         * layout-tests/editing/inserting/insert-div-020-expected.txt:
   1594         * layout-tests/editing/inserting/insert-div-021-expected.txt:
   1595         * layout-tests/editing/inserting/insert-div-022-expected.txt:
   1596         * layout-tests/editing/inserting/insert-div-023-expected.txt:
   1597         * layout-tests/editing/inserting/insert-div-024-expected.txt:
   1598         * layout-tests/editing/inserting/insert-div-025-expected.txt:
   1599         * layout-tests/editing/inserting/insert-div-026-expected.txt:
   1600         * layout-tests/editing/inserting/insert-div-027-expected.txt:
   1601         * layout-tests/editing/inserting/insert-space-in-empty-doc-expected.txt:
   1602         * layout-tests/editing/inserting/insert-tab-001-expected.txt:
   1603         * layout-tests/editing/inserting/insert-tab-002-expected.txt:
   1604         * layout-tests/editing/inserting/insert-tab-003-expected.txt:
   1605         * layout-tests/editing/inserting/insert-tab-004-expected.txt:
   1606         * layout-tests/editing/inserting/insert-text-with-newlines-expected.txt:
   1607         * layout-tests/editing/inserting/return-key-with-selection-001-expected.txt:
   1608         * layout-tests/editing/inserting/return-key-with-selection-002-expected.txt:
   1609         * layout-tests/editing/inserting/return-key-with-selection-003-expected.txt:
   1610         * layout-tests/editing/inserting/typing-001-expected.txt:
   1611         * layout-tests/editing/inserting/typing-002-expected.txt:
   1612         * layout-tests/editing/inserting/typing-003-expected.txt:
   1613         * layout-tests/editing/inserting/typing-around-br-001-expected.txt:
   1614         * layout-tests/editing/inserting/typing-around-image-001-expected.txt:
   1615         * layout-tests/editing/pasteboard/cut-text-001-expected.txt:
   1616         * layout-tests/editing/pasteboard/paste-4035648-fix-expected.txt:
   1617         * layout-tests/editing/pasteboard/paste-4038267-fix-expected.txt:
   1618         * layout-tests/editing/pasteboard/paste-line-endings-001-expected.txt:
   1619         * layout-tests/editing/pasteboard/paste-line-endings-002-expected.txt:
   1620         * layout-tests/editing/pasteboard/paste-line-endings-003-expected.txt:
   1621         * layout-tests/editing/pasteboard/paste-line-endings-004-expected.txt:
   1622         * layout-tests/editing/pasteboard/paste-line-endings-005-expected.txt:
   1623         * layout-tests/editing/pasteboard/paste-line-endings-006-expected.txt:
   1624         * layout-tests/editing/pasteboard/paste-line-endings-007-expected.txt:
   1625         * layout-tests/editing/pasteboard/paste-line-endings-008-expected.txt:
   1626         * layout-tests/editing/pasteboard/paste-line-endings-009-expected.txt:
   1627         * layout-tests/editing/pasteboard/paste-line-endings-010-expected.txt:
   1628         * layout-tests/editing/pasteboard/paste-match-style-001-expected.txt:
   1629         * layout-tests/editing/pasteboard/paste-match-style-002-expected.txt:
   1630         * layout-tests/editing/pasteboard/paste-pre-001-expected.txt:
   1631         * layout-tests/editing/pasteboard/paste-text-001-expected.txt:
   1632         * layout-tests/editing/pasteboard/paste-text-002-expected.txt:
   1633         * layout-tests/editing/pasteboard/paste-text-003-expected.txt:
   1634         * layout-tests/editing/pasteboard/paste-text-004-expected.txt:
   1635         * layout-tests/editing/pasteboard/paste-text-005-expected.txt:
   1636         * layout-tests/editing/pasteboard/paste-text-006-expected.txt:
   1637         * layout-tests/editing/pasteboard/paste-text-007-expected.txt:
   1638         * layout-tests/editing/pasteboard/paste-text-008-expected.txt:
   1639         * layout-tests/editing/pasteboard/paste-text-009-expected.txt:
   1640         * layout-tests/editing/pasteboard/paste-text-010-expected.txt:
   1641         * layout-tests/editing/pasteboard/paste-text-011-expected.txt:
   1642         * layout-tests/editing/pasteboard/paste-text-012-expected.txt:
   1643         * layout-tests/editing/pasteboard/paste-text-013-expected.txt:
   1644         * layout-tests/editing/pasteboard/paste-text-014-expected.txt:
   1645         * layout-tests/editing/pasteboard/paste-text-015-expected.txt:
   1646         * layout-tests/editing/pasteboard/paste-text-016-expected.txt:
   1647         * layout-tests/editing/pasteboard/paste-text-017-expected.txt:
   1648         * layout-tests/editing/pasteboard/paste-text-018-expected.txt:
   1649         * layout-tests/editing/pasteboard/smart-paste-001-expected.txt:
   1650         * layout-tests/editing/pasteboard/smart-paste-002-expected.txt:
   1651         * layout-tests/editing/pasteboard/smart-paste-003-expected.txt:
   1652         * layout-tests/editing/pasteboard/smart-paste-004-expected.txt:
   1653         * layout-tests/editing/pasteboard/smart-paste-005-expected.txt:
   1654         * layout-tests/editing/pasteboard/smart-paste-006-expected.txt:
   1655         * layout-tests/editing/pasteboard/smart-paste-007-expected.txt:
   1656         * layout-tests/editing/selection/move-between-blocks-no-001-expected.txt:
   1657         * layout-tests/editing/selection/select-all-001-expected.txt:
   1658         * layout-tests/editing/selection/select-all-002-expected.txt:
   1659         * layout-tests/editing/selection/select-all-003-expected.txt:
   1660         * layout-tests/editing/selection/select-all-004-expected.txt:
   1661         * layout-tests/editing/style/block-style-001-expected.txt:
   1662         * layout-tests/editing/style/block-style-002-expected.txt:
   1663         * layout-tests/editing/style/block-style-003-expected.txt:
   1664         * layout-tests/editing/style/block-style-004-expected.txt:
   1665         * layout-tests/editing/style/block-style-005-expected.txt:
   1666         * layout-tests/editing/style/block-style-006-expected.txt:
   1667         * layout-tests/editing/style/block-styles-007-expected.txt:
   1668         * layout-tests/editing/style/create-block-for-style-001-expected.txt:
   1669         * layout-tests/editing/style/create-block-for-style-002-expected.txt:
   1670         * layout-tests/editing/style/create-block-for-style-003-expected.txt:
   1671         * layout-tests/editing/style/create-block-for-style-004-expected.txt:
   1672         * layout-tests/editing/style/create-block-for-style-005-expected.txt:
   1673         * layout-tests/editing/style/create-block-for-style-006-expected.txt:
   1674         * layout-tests/editing/style/create-block-for-style-007-expected.txt:
   1675         * layout-tests/editing/style/create-block-for-style-008-expected.txt:
   1676         * layout-tests/editing/style/create-block-for-style-009-expected.txt:
   1677         * layout-tests/editing/style/create-block-for-style-010-expected.txt:
   1678         * layout-tests/editing/style/create-block-for-style-011-expected.txt:
   1679         * layout-tests/editing/style/create-block-for-style-012-expected.txt:
   1680         * layout-tests/editing/style/create-block-for-style-013-expected.txt:
   1681         * layout-tests/editing/style/relative-font-size-change-001-expected.txt:
   1682         * layout-tests/editing/style/relative-font-size-change-002-expected.txt:
   1683         * layout-tests/editing/style/relative-font-size-change-003-expected.txt:
   1684         * layout-tests/editing/style/relative-font-size-change-004-expected.txt:
   1685         * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt:
   1686         * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt:
   1687         * layout-tests/editing/style/remove-underline-after-paragraph-expected.txt:
   1688         * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt:
   1689         * layout-tests/editing/style/remove-underline-expected.txt:
   1690         * layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt:
   1691         * layout-tests/editing/style/remove-underline-in-bold-expected.txt:
   1692         * layout-tests/editing/style/smoosh-styles-001-expected.txt:
   1693         * layout-tests/editing/style/smoosh-styles-002-expected.txt:
   1694         * layout-tests/editing/style/smoosh-styles-003-expected.txt:
   1695         * layout-tests/editing/style/style-3681552-fix-001-expected.txt:
   1696         * layout-tests/editing/style/style-3681552-fix-002-expected.txt:
   1697         * layout-tests/editing/style/style-3690704-fix-expected.txt:
   1698         * layout-tests/editing/style/style-3998892-fix-expected.txt:
   1699         * layout-tests/editing/style/style-boundary-001-expected.txt:
   1700         * layout-tests/editing/style/style-boundary-002-expected.txt:
   1701         * layout-tests/editing/style/style-boundary-003-expected.txt:
   1702         * layout-tests/editing/style/style-boundary-004-expected.txt:
   1703         * layout-tests/editing/style/typing-style-001-expected.txt:
   1704         * layout-tests/editing/style/typing-style-002-expected.txt:
   1705         * layout-tests/editing/style/typing-style-003-expected.txt:
   1706         * layout-tests/editing/style/unbold-in-bold-expected.txt:
   1707         * layout-tests/editing/style/underline-expected.txt:
   1708         * layout-tests/editing/undo/redo-typing-001-expected.txt:
   1709         * layout-tests/editing/undo/undo-typing-001-expected.txt:
   1710         * layout-tests/editing/unsupported-content/list-delete-001-expected.txt:
   1711         * layout-tests/editing/unsupported-content/list-delete-002-expected.txt:
   1712         * layout-tests/editing/unsupported-content/list-delete-003-expected.txt:
   1713         * layout-tests/editing/unsupported-content/list-type-after-expected.txt:
   1714         * layout-tests/editing/unsupported-content/list-type-before-expected.txt:
   1715         * layout-tests/editing/unsupported-content/table-delete-001-expected.txt:
   1716         * layout-tests/editing/unsupported-content/table-delete-002-expected.txt:
   1717         * layout-tests/editing/unsupported-content/table-delete-003-expected.txt:
   1718         * layout-tests/editing/unsupported-content/table-type-after-expected.txt:
   1719         * layout-tests/editing/unsupported-content/table-type-before-expected.txt:
   1720         * layout-tests/fast/selectors/159-expected.txt:
   1721         * layout-tests/fast/selectors/177a-expected.txt:
   1722 
   1723 2005-08-14  Darin Adler  <darin (a] apple.com>
   1724 
   1725         Reviewed by Maciej.
   1726 
   1727         - fixed http://bugs.webkit.org/show_bug.cgi?id=4420
   1728           make border drawing faster by removing code to alloc/dealloc NSBezierPath
   1729 
   1730         * kwq/KWQPainter.h: Remove unused drawLineSegments, drawPolyline, and drawPolygon.
   1731         * kwq/KWQPainter.mm:
   1732         (QPainter::drawConvexPolygon): Move the body of _drawPoints into here, and remove the
   1733         various unused code paths. Use CoreGraphics calls instead of NSBezierPath.
   1734 
   1735 2005-08-14  Maciej Stachowiak  <mjs (a] apple.com>
   1736 
   1737         Reviewed by Darin.
   1738 
   1739         - apply a tasty candy shell of inlining and main_thread_malloc for a 1% speedup on HTML iBench
   1740 	http://bugs.webkit.org/show_bug.cgi?id=4425
   1741 	
   1742         * kwq/KWQArrayImpl.h:
   1743         (KWQArrayImpl::size):
   1744         * kwq/KWQArrayImpl.mm:
   1745         * kwq/KWQMapImpl.h:
   1746         * kwq/KWQMapImpl.mm:
   1747         * kwq/KWQRefPtr.h:
   1748         (::KWQRefPtr):
   1749         (::operator):
   1750         (::ref):
   1751         (::unref):
   1752         * kwq/KWQValueListImpl.h:
   1753         (KWQValueListIteratorImpl::KWQValueListIteratorImpl):
   1754         (KWQValueListIteratorImpl::operator==):
   1755         (KWQValueListIteratorImpl::operator!=):
   1756         (KWQValueListIteratorImpl::node):
   1757         (KWQValueListIteratorImpl::operator++):
   1758         (KWQValueListIteratorImpl::operator--):
   1759         (KWQValueListNodeImpl::KWQValueListNodeImpl):
   1760         * kwq/KWQValueListImpl.mm:
   1761         (KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate):
   1762         (KWQValueListImpl::KWQValueListPrivate::~KWQValueListPrivate):
   1763 
   1764 2005-08-14  Duncan Wilcox  <duncan (a] mclink.it>
   1765 
   1766         Reviewed and landed by Darin.
   1767 
   1768         WebCore part of fix for <http://bugs.webkit.org/show_bug.cgi?id=4011>:
   1769         "Editing delegate selection methods not called when using mouse"
   1770 
   1771         Clicking on editable content would move the cursor or alter the selection without
   1772         calling the appropriate editing delegate method
   1773         (webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:). The
   1774         core of the patch is in the KHTMLPart::hadnleMousePressEvent* methods, the rest
   1775         is glue needed to drill through all the layers.
   1776 
   1777         * khtml/khtml_part.cpp:
   1778         * khtml/khtml_part.cpp:
   1779         (KHTMLPart::shouldChangeSelection): Glue to call editing delegate.
   1780         (KHTMLPart::findTextNext): Call editing delegate before changing selection.
   1781         (KHTMLPart::selectClosestWordFromMouseEvent): Ditto.
   1782         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   1783         (KHTMLPart::handleMousePressEventSingleClick): Ditto.
   1784         (KHTMLPart::handleMouseMoveEventSelection): Ditto.
   1785         (KHTMLPart::khtmlMouseReleaseEvent): Ditto.
   1786         (KHTMLPart::selectAll): Ditto.
   1787         (KHTMLPart::appliedEditing): Ditto.
   1788         (KHTMLPart::unappliedEditing): Ditto.
   1789         (KHTMLPart::reappliedEditing): Ditto.
   1790         (KHTMLPart::selectFrameElementInParentIfFullySelected): Ditto.
   1791 
   1792         * khtml/khtml_part.h: Added shouldChangeSelection glue method.
   1793         * kwq/KWQKHTMLPart.h: Ditto.
   1794 
   1795         * kwq/KWQKHTMLPart.mm:
   1796         (KWQKHTMLPart::shouldChangeSelection): Glue to call editing delegate.
   1797 
   1798         * kwq/WebCoreBridge.h: Added shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting: glue method.
   1799 
   1800 2005-08-14  Darin Adler  <darin (a] apple.com>
   1801 
   1802         Fixed by Alexey Proskuryakov <ap (a] nypop.com>.
   1803         Reviewed and landed by Darin.
   1804 
   1805         - fixed http://bugs.webkit.org/show_bug.cgi?id=3590
   1806           should allow <meta> tags for encoding even after </head>
   1807 
   1808         Test cases added:
   1809         * layout-tests/fast/encoding/mispositioned-meta-expected.txt: Added.
   1810         * layout-tests/fast/encoding/mispositioned-meta.html: Added.
   1811 
   1812         * khtml/misc/decoder.cpp: (Decoder::decode): Don't stop scanning when seeing </head>.
   1813 
   1814 2005-08-14  Anders Carlsson  <andersca (a] mac.com>
   1815 
   1816         Reviewed and landed by Darin.
   1817 
   1818         Test cases added: 	
   1819         * layout-tests/dom/html/level2/events/dispatchEvent08-expected.txt:
   1820         * layout-tests/dom/html/level2/events/dispatchEvent10-expected.txt:
   1821         * layout-tests/dom/html/level2/events/dispatchEvent12-expected.txt:
   1822 	These pass now.
   1823 	
   1824         * layout-tests/dom/html/level2/events/dispatchEvent11-expected.txt:
   1825         * layout-tests/dom/html/level2/events/dispatchEvent13-expected.txt:
   1826 	These fail someplace else now.
   1827 	
   1828         * khtml/ecma/kjs_events.cpp:
   1829         (KJS::JSAbstractEventListener::handleEvent):
   1830 	Check if the listener has a "handleEvent" function property and
   1831 	call that.
   1832 	
   1833         * khtml/xml/dom_nodeimpl.cpp:
   1834         (DOM::NodeImpl::dispatchGenericEvent):
   1835 	A capturing event listener should not be triggered if an event is
   1836 	dispatched directly to the node to which the listener has been added.
   1837 
   1838 2005-08-14  Anders Carlsson  <andersca (a] mac.com>
   1839 
   1840         Reviewed and landed by Darin.
   1841 
   1842         Test cases added: 
   1843         * layout-tests/dom/html/level2/core/hc_nodedocumentfragmentnormalize2-expected.txt:
   1844 	This passes now.
   1845 	
   1846         * khtml/xml/dom_nodeimpl.cpp:
   1847         (DOM::NodeImpl::normalize):
   1848 	If there's a single empty text child, remove it.
   1849 	
   1850 2005-08-14  Anders Carlsson  <andersca (a] mac.com>
   1851 
   1852         Reviewed and landed by Darin.
   1853 
   1854         Test cases added:
   1855         * layout-tests/dom/html/level2/html/HTMLSelectElement20-expected.txt:
   1856 	This passes now.
   1857 
   1858         * khtml/ecma/kjs_html.cpp:
   1859         (KJS::KJS::HTMLElementFunction::callAsFunction):
   1860         (KJS::KJS::HTMLSelectCollection::put):
   1861 	Handle exceptions.
   1862 
   1863         * khtml/html/html_formimpl.cpp:
   1864         (DOM::HTMLSelectElementImpl::add):
   1865         * khtml/html/html_formimpl.h:
   1866 	Make ::add raise an exception if before isn't a descendant
   1867 	of the select element.
   1868 
   1869         * kwq/DOMHTML.mm:
   1870         (-[DOMHTMLSelectElement add::]):
   1871 	Handle the exception.
   1872 
   1873 2005-08-12  Geoffrey Garen  <ggaren (a] apple.com>
   1874 
   1875         Reviewed by adele.
   1876 
   1877         * manual-tests/liveconnect-security-exception.html:
   1878             - fixed wrong codebase path
   1879             - added instruction to disable popup blocking
   1880 
   1881 2005-08-11  Adele Peterson  <adele (a] apple.com>
   1882 
   1883         Reviewed by Darin.
   1884 
   1885         Test cases added: (NONE)
   1886 
   1887         -fixed <rdar://problem/4166839> CSS font-family and font-size ignored on <select> element with size > 1
   1888 
   1889         Changed KWQListBox to get the font from the widget.
   1890 
   1891         * kwq/KWQListBox.h: added setFont method
   1892         * kwq/KWQListBox.mm:
   1893         (QListBox::setFont): Added.
   1894         (QListBox::sizeForNumberOfLines): if the new font is the same as the system font, use the old system for cacheing the text renderer.
   1895         Otherwise, create a text renderer based on the new font, and a bold version of the new font.
   1896         (-[KWQTableView drawRow:clipRect:]): ditto.
   1897         (-[KWQTableView initWithListBox:]): moved setRowHeight call to fontChanged, so the height will reflect the new font.
   1898         (-[KWQTableView fontChanged]): Added.
   1899 
   1900 2005-08-11  David Hyatt  <hyatt (a] apple.com>
   1901 
   1902 	Refine the baseline alignment rule for inline blocks to cover for a hole in the spec.  The spec doesnt say what to do
   1903 	for overflow cases, e.g., when the last line is clipped, when the overflow box is scrolled, or even when overflow is
   1904 	visible but the last line is outside your content box.  We just revert to the old behavior in those cases.  Hopefully
   1905 	the spec will be clarified to explain what the right behavior is.
   1906 	
   1907         Reviewed by beth
   1908 
   1909         Test cases added: fast/inline-block/tricky-baseline.html
   1910 
   1911         * khtml/rendering/render_block.cpp:
   1912         (khtml::RenderBlock::baselinePosition):
   1913 
   1914 2005-08-11  Eric Seidel  <eseidel (a] apple.com>
   1915 
   1916         Reviewed by darin.
   1917 
   1918         * WebCore+SVG/DrawView.mm:
   1919         (-[DrawViewPrivate drawRect:]): added additional NULL check.
   1920         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
   1921         (KCanvasFilterQuartz::applyFilter): removed NSLog.
   1922         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
   1923         (KRenderingPaintServerPatternQuartz::draw): removed NSLog.
   1924         Removed debugging logs, and fixed crasher for empty SVGs.
   1925         http://bugs.webkit.org/show_bug.cgi?id=4384
   1926 
   1927 2005-08-11  Geoffrey Garen  <ggaren (a] apple.com>
   1928 
   1929         * layout-tests/fast/js/date-big-setdate.html: fixed title
   1930 
   1931 2005-08-11  Eric Seidel  <eseidel (a] apple.com>
   1932 
   1933         No review needed, copyright update in comments.
   1934         All kdom, ksvg2, and kcanvas files affected.
   1935         http://bugs.webkit.org/show_bug.cgi?id=4382
   1936 
   1937 2005-08-10  Maciej Stachowiak  <mjs (a] apple.com>
   1938 
   1939         Reviewed by Geoff.
   1940 
   1941         Test cases added:
   1942 
   1943         * layout-tests/fast/js/assign.html: Added. Test case for assignment to make sure
   1944 	I didn't break anything.
   1945         * layout-tests/fast/js/code-serialize-paren.html: Added, test case for a minor bug
   1946 	I fixed where parens were not getting serialized at all when turning a function
   1947 	into a string.
   1948 
   1949 2005-08-11  Maciej Stachowiak  <mjs (a] apple.com>
   1950 
   1951         At Least Rougly Glanced At by Anders.
   1952 
   1953 	- fix change with totally breaks the layout tests.
   1954 
   1955 	Changed all the tests below to avoid dumping more than once -
   1956 	since this now prints more than one separator, it totally throws
   1957 	off the layout test driver so it needs to be avoided.
   1958 	
   1959         * layout-tests/dom/html/level2/html/HTMLFormElement10-expected.txt:
   1960         * layout-tests/dom/html/level2/html/HTMLFormElement10.html:
   1961         * layout-tests/dom/html/level2/html/HTMLFormElement10.js:
   1962         * layout-tests/fast/events/onunload-expected.txt:
   1963         * layout-tests/fast/events/onunload.html:
   1964         * layout-tests/fast/js/location-assign-expected.txt:
   1965         * layout-tests/fast/js/location-assign.html:
   1966 
   1967 2005-08-10  Geoffrey Garen  <ggaren (a] apple.com>
   1968 
   1969         -added layout test for fix to <rdar://problem/4151132> REGRESSION: Some applet 
   1970         liveconnect calls throws privilege exception.
   1971         
   1972         (See JavaScriptCore Changelog for fix details.)
   1973 
   1974         * manual-tests/liveconnect-security-exception.html: Added.
   1975         * manual-tests/resources/TestApplet.class: Added.
   1976         * manual-tests/resources/TestApplet.java: Added.
   1977         (TestApplet):
   1978         (TestApplet.init):
   1979         (TestApplet.method):
   1980         * manual-tests/resources/liveconnect-security-exception-popup.html: Added.
   1981 
   1982 2005-08-10  Vicki Murley  <vicki (a] apple.com>
   1983 
   1984 	Changes from Curt Arnold, reviewed by Vicki.
   1985 
   1986 	Fix http://bugs.webkit.org/show_bug.cgi?id=4174 (DOM layout tests involving two 
   1987 	documents fail due to test framework problem), and update expected results for tests
   1988 	affected by this change.
   1989 	
   1990         * layout-tests/dom/html/level1/core/hc_attrappendchild5-expected.txt:
   1991         * layout-tests/dom/html/level1/core/hc_attrinsertbefore6-expected.txt:
   1992         * layout-tests/dom/html/level1/core/hc_elementwrongdocumenterr-expected.txt:
   1993         * layout-tests/dom/html/level1/core/hc_namednodemapwrongdocumenterr-expected.txt:
   1994         * layout-tests/dom/html/level1/core/hc_nodeappendchildnewchilddiffdocument-expected.txt:
   1995         * layout-tests/dom/html/level1/core/hc_nodeinsertbeforenewchilddiffdocument-expected.txt:
   1996         * layout-tests/dom/html/level1/core/hc_nodereplacechildnewchilddiffdocument-expected.txt:
   1997         * layout-tests/dom/html/level1/core/selfhtml.js:
   1998         * layout-tests/dom/html/level2/core/selfhtml.js:
   1999         * layout-tests/dom/html/level2/events/selfhtml.js:
   2000         * layout-tests/dom/html/level2/html/selfhtml.js:
   2001 
   2002 2005-08-10  Eric Seidel  <eseidel (a] apple.com>
   2003 
   2004         Reviewed by darin.
   2005 
   2006         Test cases:
   2007         * svg-tests/W3C-SVG-1.1/script-handle-03-b-expected.txt: Added.
   2008         * svg-tests/W3C-SVG-1.1/script-handle-03-b.svg: Added.
   2009         * svg-tests/W3C-SVG-1.1/script-handle-03-b.svg-disabled: Removed.
   2010         * svg-tests/W3C-SVG-1.1/script-handle-04-b-expected.txt: Added.
   2011         * svg-tests/W3C-SVG-1.1/script-handle-04-b.svg: Added.
   2012         * svg-tests/W3C-SVG-1.1/script-handle-04-b.svg-disabled: Removed.
   2013         * svg-tests/W3C-SVG-1.1/struct-dom-01-b-expected.txt: Added.
   2014         * svg-tests/W3C-SVG-1.1/struct-dom-01-b.svg: Added.
   2015         * svg-tests/W3C-SVG-1.1/struct-dom-01-b.svg-disabled: Removed.
   2016         * svg-tests/W3C-SVG-1.1/struct-dom-02-b-expected.txt: Added.
   2017         * svg-tests/W3C-SVG-1.1/struct-dom-02-b.svg: Added.
   2018         * svg-tests/W3C-SVG-1.1/struct-dom-02-b.svg-disabled: Removed.
   2019         * svg-tests/W3C-SVG-1.1/struct-dom-03-b-expected.txt: Added.
   2020         * svg-tests/W3C-SVG-1.1/struct-dom-03-b.svg: Added.
   2021         * svg-tests/W3C-SVG-1.1/struct-dom-03-b.svg-disabled: Removed.
   2022         * svg-tests/W3C-SVG-1.1/struct-dom-04-b-expected.txt: Added.
   2023         * svg-tests/W3C-SVG-1.1/struct-dom-04-b.svg: Added.
   2024         * svg-tests/W3C-SVG-1.1/struct-dom-04-b.svg-disabled: Removed.
   2025         * svg-tests/W3C-SVG-1.1/struct-dom-05-b-expected.txt: Added.
   2026         * svg-tests/W3C-SVG-1.1/struct-dom-05-b.svg: Added.
   2027         * svg-tests/W3C-SVG-1.1/struct-dom-05-b.svg-disabled: Removed.
   2028         * svg-tests/W3C-SVG-1.1/struct-dom-06-b-expected.txt: Added.
   2029         * svg-tests/W3C-SVG-1.1/struct-dom-06-b.svg: Added.
   2030         * svg-tests/W3C-SVG-1.1/struct-dom-06-b.svg-disabled: Removed.
   2031         Re-enabled previously crashing SVG test cases:
   2032         http://bugs.webkit.org/show_bug.cgi?id=4338
   2033 
   2034 2005-08-10  Vicki Murley  <vicki (a] apple.com>
   2035 
   2036         Reviewed by John.
   2037  
   2038 	- attempted fix for <rdar://problem/4070895> 8A428: Unrepro Safari crash on 
   2039 	friendster.com (XMLHttpRequest::changeState) 
   2040 
   2041         Test cases added: None - there are no known reproducible cases of this crash
   2042 
   2043         * khtml/ecma/xmlhttprequest.cpp:
   2044         (KJS::XMLHttpRequest::changeState): add checks for NULL document
   2045 
   2046 2005-08-10  Adele Peterson  <adele (a] apple.com>
   2047 
   2048         Bumping version to 420+
   2049 
   2050         * Info.plist:
   2051 
   2052 2005-08-09  David Harrison  <harrison (a] apple.com>
   2053 
   2054         Reviewed by Dave Hyatt.
   2055 
   2056         <rdar://problem/4210906> Word selection wrong with tabs
   2057 
   2058         Test cases added: selection/extend-by-word-001-html
   2059 
   2060         * khtml/editing/visible_text.cpp:
   2061         (khtml::TextIterator::handleTextNode):
   2062         * layout-tests/editing/selection/extend-by-word-001-html: Added.
   2063         * layout-tests/editing/selection/extend-by-word-001-expected.txt: Added.
   2064 
   2065 2005-08-09  Justin Garcia  <justin.garcia (a] apple.com>
   2066 
   2067         Patch by Anders Carlsson  <andersca (a] mac.com>
   2068 
   2069         Fixes <http://bugs.webkit.org/show_bug.cgi?id=3837>
   2070             Page nearly loads but then returned to default page by javascript issue
   2071 
   2072         Reviewed by darin
   2073 
   2074         Test cases added:
   2075         * layout-tests/fast/tokenizer/script-after-frameset-expected.txt: Added.
   2076         * layout-tests/fast/tokenizer/script-after-frameset.html: Added.
   2077 
   2078         * khtml/html/htmltokenizer.cpp:
   2079         (khtml::HTMLTokenizer::scriptHandler):
   2080 
   2081 2005-08-09  Justin Garcia  <justin.garcia (a] apple.com>
   2082 
   2083         Patch by Anders Carlsson <andersca (a] mac.com>
   2084         
   2085         Fixes <http://bugs.webkit.org/show_bug.cgi?id=4330>
   2086             hasFeature('xhtml', ...) should return true
   2087 
   2088         Reviewed by darin
   2089 
   2090         Test cases updated:
   2091         * layout-tests/dom/html/level2/html/HTMLBodyElement09-expected.txt:
   2092         * layout-tests/dom/html/level2/html/HTMLBodyElement10-expected.txt:
   2093         * layout-tests/dom/html/level2/html/HTMLDocument24-expected.txt:
   2094         * layout-tests/dom/html/level2/html/HTMLDocument25-expected.txt:
   2095         * layout-tests/dom/html/level2/html/hasFeature03-expected.txt:
   2096         * layout-tests/dom/html/level2/html/hasFeature04-expected.txt:
   2097         These are successful now.
   2098         
   2099         * khtml/xml/dom_docimpl.cpp:
   2100         (DOMImplementationImpl::hasFeature):
   2101         Support "xhtml".
   2102 
   2103 2005-08-09  Justin Garcia  <justin.garcia (a] apple.com>
   2104 
   2105         Patch by Anders Carlsson <andersca (a] mac.com>
   2106 
   2107         Fixes <http://bugs.webkit.org/show_bug.cgi?id=4322> 
   2108 	       date-big-setdate.html testcase fails if the timezone isn't UTC-8
   2109 	
   2110         Reviewed by darin
   2111         
   2112         Test cases added:
   2113         * layout-tests/fast/js/date-big-setdate-expected.txt:
   2114         * layout-tests/fast/js/date-big-setdate.html:
   2115         Compare the millisecond value of the dates to see if they're
   2116         sequential instead of simply printing the dates.
   2117 
   2118 2005-08-09  Justin Garcia  <justin.garcia (a] apple.com>
   2119 
   2120         Patch by Anders Carlsson <andersca (a] mac.com
   2121 
   2122         Reviewed by darin
   2123         
   2124         Fixes <http://bugs.webkit.org/show_bug.cgi?id=4331> dispatchEvent should raise an exception
   2125         
   2126         Test cases added:
   2127         * layout-tests/dom/html/level2/events/createEvent01-expected.txt:
   2128         * layout-tests/dom/html/level2/events/dispatchEvent01-expected.txt:
   2129         * layout-tests/dom/html/level2/events/dispatchEvent02-expected.txt:
   2130         * layout-tests/dom/html/level2/events/dispatchEvent03-expected.txt:
   2131         * layout-tests/dom/html/level2/events/dispatchEvent04-expected.txt:
   2132         * layout-tests/dom/html/level2/events/dispatchEvent05-expected.txt:
   2133         * layout-tests/dom/html/level2/events/dispatchEvent06-expected.txt:
   2134         * layout-tests/dom/html/level2/events/dispatchEvent07-expected.txt:
   2135         * layout-tests/dom/html/level2/events/dispatchEvent09-expected.txt:
   2136         * layout-tests/dom/html/level2/events/dispatchEvent11-expected.txt:
   2137         * layout-tests/dom/html/level2/events/initEvent01-expected.txt:
   2138         * layout-tests/dom/html/level2/events/initEvent02-expected.txt:
   2139         * layout-tests/dom/html/level2/events/initEvent03-expected.txt:
   2140         These tests pass now.
   2141 	
   2142         * layout-tests/dom/html/level2/events/dispatchEvent08-expected.txt:
   2143         * layout-tests/dom/html/level2/events/dispatchEvent10-expected.txt:
   2144         * layout-tests/dom/html/level2/events/dispatchEvent12-expected.txt:
   2145         * layout-tests/dom/html/level2/events/dispatchEvent13-expected.txt:
   2146         These tests fail somplace else now.
   2147 
   2148         * khtml/dom/dom2_events.h:
   2149         (DOM::EventException::):
   2150         Add _EXCEPTION_OFFSET and _EXCEPTION_MAX.
   2151 	
   2152         * khtml/ecma/kjs_binding.cpp:
   2153         (KJS::setDOMException):
   2154         Handle EventExceptions.
   2155 	
   2156         * khtml/xml/dom_docimpl.cpp:
   2157         (DocumentImpl::createEvent):
   2158         Allow "Events" as event type.
   2159 	
   2160         * khtml/xml/dom_nodeimpl.cpp:
   2161         (DOM::NodeImpl::dispatchEvent):
   2162         Raise exception if event is NULL, uninitialized, or if its name is the empty string.
   2163         	
   2164         * kwq/DOMInternal.mm:
   2165         (raiseDOMException):
   2166         Handle EventExceptions.
   2167 
   2168 2005-08-09  David Hyatt  <hyatt (a] apple.com>
   2169 
   2170 	Implement baseline alignment support for inline blocks.  Inline blocks are supposed to use
   2171 	the baseline of the last line in the block as their baseline.  For marquees we still
   2172 	bottom align, since marquees really have no discernible baseline in many cases (and this
   2173 	retains compatibility with WinIE).
   2174 	
   2175         Reviewed by cblu
   2176 
   2177         Test cases added: 006.html in fast/inline-block
   2178 
   2179         * khtml/rendering/render_block.cpp:
   2180         (khtml::RenderBlock::baselinePosition):
   2181         (khtml::RenderBlock::getBaselineOfLastLineBox):
   2182         * khtml/rendering/render_block.h:
   2183         * khtml/rendering/render_object.h:
   2184         (khtml::RenderObject::getBaselineOfLastLineBox):
   2185         * layout-tests/css1/box_properties/acid_test-expected.txt:
   2186         * layout-tests/fast/css/MarqueeLayoutTest-expected.txt:
   2187         * layout-tests/fast/forms/007-expected.txt:
   2188         * layout-tests/fast/inline-block/001-expected.txt:
   2189         * layout-tests/fast/inline-block/001.html:
   2190         * layout-tests/fast/inline-block/006-expected.txt: Added.
   2191         * layout-tests/fast/inline-block/006.html: Added.
   2192         * layout-tests/fast/selectors/064-expected.txt:
   2193 
   2194 2005-08-09  Vicki Murley  <vicki (a] apple.com>
   2195 
   2196         Fixed by Anders Carlsson, Reviewed by Maciej.
   2197 
   2198 	- fixed <rdar://problem/4071417> add XMLSerializer object to WebCore's JavaScript support (4046)
   2199  
   2200         Test cases added: 
   2201         * layout-tests/fast/dom/XMLSerializer-expected.txt: Added.
   2202         * layout-tests/fast/dom/XMLSerializer.html: Added.
   2203 
   2204         * khtml/ecma/xmlserializer.cpp:
   2205         (KJS::XMLSerializerProtoFunc::callAsFunction): allow any node to be serialized, not just documents
   2206 
   2207 2005-08-09  Adele Peterson  <adele (a] apple.com>
   2208 
   2209         Reviewed by Darin.
   2210         
   2211         - fixed <rdar://problem/4056369> XML parsing hits disk to turn URL incorrectly passed as relative path name into absolute (prevents idle sleep)
   2212 
   2213         * khtml/xml/xml_tokenizer.cpp:
   2214         (khtml::createQStringParser): removed last parameter, since we are no longer passing the url to xmlCreatePushParserCtxt
   2215         (khtml::XMLTokenizer::finish): removed last parameter from createQStringParser
   2216 
   2217 2005-08-08  David Hyatt  <hyatt (a] apple.com>
   2218 
   2219 	Fix for radar bug #4202641, make sure line breaks happen inside
   2220 	white-space:pre if word-wrap:break-word is set.
   2221 	
   2222         Reviewed by darin
   2223 
   2224         Test cases added: fast/text/whitespace/pre-break-word.html
   2225 
   2226         * khtml/rendering/bidi.cpp:
   2227         (khtml::RenderBlock::findNextLineBreak):
   2228 
   2229 2005-08-08  Darin Adler  <darin (a] apple.com>
   2230 
   2231         Reviewed by John.
   2232 
   2233         - fixed http://bugs.webkit.org/show_bug.cgi?id=4298
   2234           JS crash with DOM2 mouse event with incorrect view
   2235 
   2236         Test cases added:
   2237         * layout-tests/fast/events/init-event-null-view-expected.txt: Added.
   2238         * layout-tests/fast/events/init-event-null-view.html: Added.
   2239 
   2240         * khtml/xml/dom2_eventsimpl.cpp: (MouseRelatedEventImpl::computeLayerPos): Added nil check.
   2241 
   2242 2005-08-08  David Hyatt  <hyatt (a] apple.com>
   2243 
   2244 	This patch implements support for <input type=radio> in the engine and removes the NSView-based
   2245 	control.
   2246 	
   2247 	Reviewed by: John Sullivan
   2248 	
   2249         * ForwardingHeaders/qradiobutton.h: Removed.
   2250         * WebCore.xcodeproj/project.pbxproj:
   2251         Removing the old QRadioButton from the project.
   2252 	
   2253 	* khtml/css/html4.css:
   2254         Add the CSS rule to give radio buttons the correct appearance.
   2255 	
   2256 	* khtml/html/html_formimpl.cpp:
   2257         (DOM::HTMLInputElementImpl::click):
   2258         Now that radio button has no corresponding QWidget, move its click handling case down to match
   2259 	the other widget-less controls.
   2260 	
   2261 	(DOM::HTMLInputElementImpl::createRenderer):
   2262 	The special renderer doesn't have to be made any more.  Radio now behaves like checkbox and just
   2263 	makes a renderer based off the specified display type in CSS.
   2264 	
   2265         (DOM::HTMLInputElementImpl::setChecked):
   2266         Fix a regression that prevented unnamed checkboxes from functioning properly.  Make sure to
   2267 	only disallow the selecting of unnamed radio buttons.
   2268 	
   2269 	(DOM::HTMLInputElementImpl::valueWithDefault):
   2270 	Fix some mis-indented ifdefs.
   2271 	
   2272         (DOM::HTMLInputElementImpl::preDispatchEventHandler):
   2273         Added a new event handler method that is called prior to the dispatch of the event into the DOM.
   2274 	This function is necessary because checkboxes and radio buttons need to check/uncheck *prior* to
   2275 	the onclick actually being sent into the DOM.
   2276 	
   2277 	(DOM::HTMLInputElementImpl::defaultEventHandler):
   2278         Remove the code that attempted to check/uncheck checkboxes from this function, since it was called
   2279 	*after* onclick was handled in the DOM, and this was too late.  The code has moved into 
   2280 	preDispatchEventHandler instead.
   2281 	
   2282 	* khtml/html/html_formimpl.h:
   2283         * khtml/rendering/render_form.cpp:
   2284         * khtml/rendering/render_form.h:
   2285         Removed RenderRadioButton, the custom renderer that used to wrap QRadioButton.
   2286 	
   2287 	* khtml/rendering/render_theme.cpp:
   2288         (khtml::RenderTheme::adjustStyle):
   2289         (khtml::RenderTheme::paint):
   2290 	Add the radio button case to these methods.
   2291 	
   2292         (khtml::RenderTheme::adjustCheckboxStyle):
   2293         (khtml::RenderTheme::adjustRadioStyle):
   2294         Rework these methods to move all of the control size selection based off font into the
   2295 	derived class.  These methods stay in the base class and call a virtual setCheckbox/RadioSize
   2296 	method to get the size set up properly.
   2297 	
   2298 	* khtml/rendering/render_theme.h:
   2299         (khtml::RenderTheme::setCheckboxSize):
   2300         (khtml::RenderTheme::setRadioSize):
   2301         The two new virtual methods that a derived class can override to set initial sizes.
   2302 	
   2303 	* khtml/rendering/render_theme_mac.h:
   2304         * khtml/rendering/render_theme_mac.mm:
   2305         (khtml::RenderThemeMac::inflateRect):
   2306         (khtml::RenderThemeMac::setControlSize):
   2307         (khtml::RenderThemeMac::sizeForFont):
   2308         (khtml::RenderThemeMac::setSizeFromFont):
   2309         (khtml::RenderThemeMac::checkboxSizes):
   2310         (khtml::RenderThemeMac::setCheckboxCellState):
   2311         (khtml::RenderThemeMac::setCheckboxSize):
   2312         Patched all of these methods to deal with QSizes instead of ints, since radio buttons are not
   2313 	square.
   2314 	
   2315 	(khtml::RenderThemeMac::paintRadio):
   2316         (khtml::RenderThemeMac::radioSizes):
   2317         (khtml::RenderThemeMac::radioMargins):
   2318         (khtml::RenderThemeMac::setRadioCellState):
   2319         (khtml::RenderThemeMac::setRadioSize):
   2320         The implementation of radio buttons.  Virtually identical to checkbox.
   2321 	
   2322 	* khtml/xml/dom_nodeimpl.cpp:
   2323         (DOM::NodeImpl::dispatchGenericEvent):
   2324         Add the invocation of preDispatchEventHandler prior to the dispatch of the event.
   2325 	
   2326 	* khtml/xml/dom_nodeimpl.h:
   2327         (DOM::NodeImpl::preDispatchEventHandler):
   2328         The stubbed out empty virtual function in the base class.  Overridden in HTMLInputElementImpl
   2329 	to check/uncheck radio buttons and checkboxes prior to the click event being sent into the DOM.
   2330 	
   2331 	* kwq/KWQAccObject.mm:
   2332         (-[KWQAccObject actionElement]):
   2333         (-[KWQAccObject role]):
   2334         (-[KWQAccObject roleDescription]):
   2335         (-[KWQAccObject value]):
   2336         (-[KWQAccObject accessibilityIsAttributeSettable:]):
   2337         The implementation of radio button accessibility.  Identical to checkbox (just a different role).
   2338 	
   2339 	* kwq/KWQRadioButton.h: Removed.
   2340         * kwq/KWQRadioButton.mm: Removed.
   2341 	Removed the old radio button files for QRadioButton.
   2342 	
   2343 2005-08-08  Eric Seidel  <eseidel (a] apple.com>
   2344 
   2345         Reviewed by darin.
   2346 
   2347         The rest of the changes necessary for darin's Object/Value removal.
   2348         These fixes are for kdom/ksvg2 and allow WebCore+SVG to compile.
   2349         http://bugs.webkit.org/show_bug.cgi?id=4332
   2350         * kdom/Attr.cpp:
   2351         (Attr::getValueProperty):
   2352         (Attr::putValueProperty):
   2353         * kdom/Attr.h:
   2354         * kdom/CharacterData.cpp:
   2355         (CharacterData::getValueProperty):
   2356         (CharacterData::putValueProperty):
   2357         (CharacterDataProtoFunc::callAsFunction):
   2358         * kdom/CharacterData.h:
   2359         * kdom/DOMConfiguration.cpp:
   2360         (DOMConfiguration::getValueProperty):
   2361         (DOMConfigurationProtoFunc::callAsFunction):
   2362         * kdom/DOMConfiguration.h:
   2363         * kdom/DOMError.cpp:
   2364         (DOMError::getValueProperty):
   2365         * kdom/DOMError.h:
   2366         * kdom/DOMErrorHandler.cpp:
   2367         (DOMErrorHandler::getValueProperty):
   2368         (DOMErrorHandlerProtoFunc::callAsFunction):
   2369         * kdom/DOMErrorHandler.h:
   2370         * kdom/DOMException.cpp:
   2371         (DOMException::getValueProperty):
   2372         * kdom/DOMException.h:
   2373         * kdom/DOMImplementation.cpp:
   2374         (DOMImplementation::getValueProperty):
   2375         (DOMImplementationProtoFunc::callAsFunction):
   2376         * kdom/DOMImplementation.h:
   2377         * kdom/DOMLocator.cpp:
   2378         (DOMLocator::getValueProperty):
   2379         * kdom/DOMLocator.h:
   2380         * kdom/DOMStringList.cpp:
   2381         (DOMStringList::getValueProperty):
   2382         (DOMStringListProtoFunc::callAsFunction):
   2383         * kdom/DOMStringList.h:
   2384         * kdom/DOMUserData.cpp:
   2385         (DOMUserData::getValueProperty):
   2386         * kdom/DOMUserData.h:
   2387         * kdom/Document.cpp:
   2388         (KDOM::Document::getValueProperty):
   2389         (KDOM::Document::putValueProperty):
   2390         (KDOM::DocumentProtoFunc::callAsFunction):
   2391         * kdom/Document.h:
   2392         * kdom/DocumentType.cpp:
   2393         (DocumentType::getValueProperty):
   2394         * kdom/DocumentType.h:
   2395         * kdom/Element.cpp:
   2396         (Element::getValueProperty):
   2397         (ElementProtoFunc::callAsFunction):
   2398         * kdom/Element.h:
   2399         * kdom/Entity.cpp:
   2400         (Entity::getValueProperty):
   2401         * kdom/Entity.h:
   2402         * kdom/NamedNodeMap.cpp:
   2403         (NamedNodeMap::getValueProperty):
   2404         (NamedNodeMapProtoFunc::callAsFunction):
   2405         * kdom/NamedNodeMap.h:
   2406         * kdom/Node.cpp:
   2407         (Node::getValueProperty):
   2408         (Node::putValueProperty):
   2409         (NodeProtoFunc::callAsFunction):
   2410         * kdom/Node.h:
   2411         * kdom/NodeList.cpp:
   2412         (NodeList::getValueProperty):
   2413         (NodeListProtoFunc::callAsFunction):
   2414         * kdom/NodeList.h:
   2415         * kdom/Notation.cpp:
   2416         (Notation::getValueProperty):
   2417         * kdom/Notation.h:
   2418         * kdom/ProcessingInstruction.cpp:
   2419         (ProcessingInstruction::getValueProperty):
   2420         (ProcessingInstruction::putValueProperty):
   2421         * kdom/ProcessingInstruction.h:
   2422         * kdom/Text.cpp:
   2423         (Text::getValueProperty):
   2424         (TextProtoFunc::callAsFunction):
   2425         * kdom/Text.h:
   2426         * kdom/TypeInfo.cpp:
   2427         (TypeInfo::getValueProperty):
   2428         (TypeInfoProtoFunc::callAsFunction):
   2429         * kdom/TypeInfo.h:
   2430         * kdom/css/CSSCharsetRule.cpp:
   2431         (CSSCharsetRule::getValueProperty):
   2432         (CSSCharsetRule::putValueProperty):
   2433         * kdom/css/CSSCharsetRule.h:
   2434         * kdom/css/CSSFontFaceRule.cpp:
   2435         (CSSFontFaceRule::getValueProperty):
   2436         * kdom/css/CSSFontFaceRule.h:
   2437         * kdom/css/CSSImportRule.cpp:
   2438         (CSSImportRule::getValueProperty):
   2439         * kdom/css/CSSImportRule.h:
   2440         * kdom/css/CSSMediaRule.cpp:
   2441         (CSSMediaRule::getValueProperty):
   2442         (CSSMediaRuleProtoFunc::callAsFunction):
   2443         * kdom/css/CSSMediaRule.h:
   2444         * kdom/css/CSSPageRule.cpp:
   2445         (CSSPageRule::getValueProperty):
   2446         (CSSPageRule::putValueProperty):
   2447         * kdom/css/CSSPageRule.h:
   2448         * kdom/css/CSSPrimitiveValue.cpp:
   2449         (KDOM::CSSPrimitiveValue::getValueProperty):
   2450         (KDOM::CSSPrimitiveValueProtoFunc::callAsFunction):
   2451         * kdom/css/CSSPrimitiveValue.h:
   2452         * kdom/css/CSSRule.cpp:
   2453         (CSSRule::getValueProperty):
   2454         (CSSRule::putValueProperty):
   2455         * kdom/css/CSSRule.h:
   2456         * kdom/css/CSSRuleList.cpp:
   2457         (CSSRuleList::getValueProperty):
   2458         (CSSRuleListProtoFunc::callAsFunction):
   2459         * kdom/css/CSSRuleList.h:
   2460         * kdom/css/CSSStyleDeclaration.cpp:
   2461         (CSSStyleDeclaration::getValueProperty):
   2462         (CSSStyleDeclaration::putValueProperty):
   2463         (CSSStyleDeclarationProtoFunc::callAsFunction):
   2464         * kdom/css/CSSStyleDeclaration.h:
   2465         * kdom/css/CSSStyleRule.cpp:
   2466         (CSSStyleRule::getValueProperty):
   2467         (CSSStyleRule::putValueProperty):
   2468         * kdom/css/CSSStyleRule.h:
   2469         * kdom/css/CSSStyleSheet.cpp:
   2470         (CSSStyleSheet::getValueProperty):
   2471         (CSSStyleSheetProtoFunc::callAsFunction):
   2472         * kdom/css/CSSStyleSheet.h:
   2473         * kdom/css/CSSValue.cpp:
   2474         (CSSValue::getValueProperty):
   2475         (CSSValue::putValueProperty):
   2476         * kdom/css/CSSValue.h:
   2477         * kdom/css/CSSValueList.cpp:
   2478         (CSSValueList::getValueProperty):
   2479         (CSSValueListProtoFunc::callAsFunction):
   2480         * kdom/css/CSSValueList.h:
   2481         * kdom/css/Counter.cpp:
   2482         (Counter::getValueProperty):
   2483         * kdom/css/Counter.h:
   2484         * kdom/css/DocumentStyle.cpp:
   2485         (DocumentStyle::getValueProperty):
   2486         * kdom/css/DocumentStyle.h:
   2487         * kdom/css/MediaList.cpp:
   2488         (MediaList::getValueProperty):
   2489         (MediaList::putValueProperty):
   2490         (MediaListProtoFunc::callAsFunction):
   2491         * kdom/css/MediaList.h:
   2492         * kdom/css/RGBColor.cpp:
   2493         (KDOM::RGBColor::getValueProperty):
   2494         * kdom/css/RGBColor.h:
   2495         * kdom/css/Rect.cpp:
   2496         (KDOM::Rect::getValueProperty):
   2497         * kdom/css/Rect.h:
   2498         * kdom/css/StyleSheet.cpp:
   2499         (StyleSheet::getValueProperty):
   2500         (StyleSheet::putValueProperty):
   2501         * kdom/css/StyleSheet.h:
   2502         * kdom/css/StyleSheetList.cpp:
   2503         (StyleSheetList::getValueProperty):
   2504         (StyleSheetListProtoFunc::callAsFunction):
   2505         * kdom/css/StyleSheetList.h:
   2506         * kdom/data/generateddata.cpp:
   2507         (AbstractView::get):
   2508         (AbstractView::getInParents):
   2509         (AbstractView::prototype):
   2510         (AbstractView::cache):
   2511         (Attr::get):
   2512         (Attr::getInParents):
   2513         (Attr::prototype):
   2514         (Attr::cache):
   2515         (CSSCharsetRule::get):
   2516         (CSSCharsetRule::getInParents):
   2517         (CSSCharsetRule::prototype):
   2518         (CSSCharsetRule::cache):
   2519         (CSSFontFaceRule::get):
   2520         (CSSFontFaceRule::getInParents):
   2521         (CSSFontFaceRule::prototype):
   2522         (CSSFontFaceRule::cache):
   2523         (CSSImportRule::get):
   2524         (CSSImportRule::getInParents):
   2525         (CSSImportRule::prototype):
   2526         (CSSImportRule::cache):
   2527         (CSSMediaRule::hasProperty):
   2528         (CSSMediaRule::get):
   2529         (CSSMediaRule::getInParents):
   2530         (CSSMediaRule::prototype):
   2531         (CSSMediaRule::cache):
   2532         (CSSPageRule::get):
   2533         (CSSPageRule::getInParents):
   2534         (CSSPageRule::prototype):
   2535         (CSSPageRule::cache):
   2536         (CSSPrimitiveValue::hasProperty):
   2537         (CSSPrimitiveValue::get):
   2538         (CSSPrimitiveValue::getInParents):
   2539         (CSSPrimitiveValue::prototype):
   2540         (CSSPrimitiveValue::cache):
   2541         (CSSRule::get):
   2542         (CSSRule::getInParents):
   2543         (CSSRule::prototype):
   2544         (CSSRule::cache):
   2545         (CSSRuleList::hasProperty):
   2546         (CSSRuleList::get):
   2547         (CSSRuleList::getInParents):
   2548         (CSSRuleList::prototype):
   2549         (CSSRuleList::cache):
   2550         (CSSStyleDeclaration::hasProperty):
   2551         (CSSStyleDeclaration::get):
   2552         (CSSStyleDeclaration::getInParents):
   2553         (CSSStyleDeclaration::prototype):
   2554         (CSSStyleDeclaration::cache):
   2555         (CSSStyleRule::get):
   2556         (CSSStyleRule::getInParents):
   2557         (CSSStyleRule::prototype):
   2558         (CSSStyleRule::cache):
   2559         (CSSStyleSheet::hasProperty):
   2560         (CSSStyleSheet::get):
   2561         (CSSStyleSheet::getInParents):
   2562         (CSSStyleSheet::prototype):
   2563         (CSSStyleSheet::cache):
   2564         (CSSValue::get):
   2565         (CSSValue::getInParents):
   2566         (CSSValue::prototype):
   2567         (CSSValue::cache):
   2568         (CSSValueList::hasProperty):
   2569         (CSSValueList::get):
   2570         (CSSValueList::getInParents):
   2571         (CSSValueList::prototype):
   2572         (CSSValueList::cache):
   2573         (CharacterData::hasProperty):
   2574         (CharacterData::get):
   2575         (CharacterData::getInParents):
   2576         (CharacterData::prototype):
   2577         (CharacterData::cache):
   2578         (Counter::get):
   2579         (Counter::getInParents):
   2580         (Counter::prototype):
   2581         (Counter::cache):
   2582         (DOMConfiguration::hasProperty):
   2583         (DOMConfiguration::get):
   2584         (DOMConfiguration::getInParents):
   2585         (DOMConfiguration::prototype):
   2586         (DOMConfiguration::cache):
   2587         (DOMError::get):
   2588         (DOMError::getInParents):
   2589         (DOMError::prototype):
   2590         (DOMError::cache):
   2591         (DOMErrorHandler::hasProperty):
   2592         (DOMErrorHandler::get):
   2593         (DOMErrorHandler::getInParents):
   2594         (DOMErrorHandler::prototype):
   2595         (DOMErrorHandler::cache):
   2596         (DOMException::get):
   2597         (DOMException::getInParents):
   2598         (DOMException::prototype):
   2599         (DOMException::cache):
   2600         (DOMImplementation::hasProperty):
   2601         (DOMImplementation::get):
   2602         (DOMImplementation::getInParents):
   2603         (DOMImplementation::prototype):
   2604         (DOMImplementation::cache):
   2605         (DOMLocator::get):
   2606         (DOMLocator::getInParents):
   2607         (DOMLocator::prototype):
   2608         (DOMLocator::cache):
   2609         (DOMStringList::hasProperty):
   2610         (DOMStringList::get):
   2611         (DOMStringList::getInParents):
   2612         (DOMStringList::prototype):
   2613         (DOMStringList::cache):
   2614         (DOMUserData::get):
   2615         (DOMUserData::getInParents):
   2616         (DOMUserData::prototype):
   2617         (DOMUserData::cache):
   2618         (Document::hasProperty):
   2619         (Document::get):
   2620         (Document::getInParents):
   2621         (Document::prototype):
   2622         (Document::cache):
   2623         (DocumentEvent::hasProperty):
   2624         (DocumentEvent::get):
   2625         (DocumentEvent::getInParents):
   2626         (DocumentEvent::prototype):
   2627         (DocumentEvent::cache):
   2628         (DocumentRange::hasProperty):
   2629         (DocumentRange::get):
   2630         (DocumentRange::getInParents):
   2631         (DocumentRange::prototype):
   2632         (DocumentRange::cache):
   2633         (DocumentStyle::get):
   2634         (DocumentStyle::getInParents):
   2635         (DocumentStyle::prototype):
   2636         (DocumentStyle::cache):
   2637         (DocumentTraversal::hasProperty):
   2638         (DocumentTraversal::get):
   2639         (DocumentTraversal::getInParents):
   2640         (DocumentTraversal::prototype):
   2641         (DocumentTraversal::cache):
   2642         (DocumentType::get):
   2643         (DocumentType::getInParents):
   2644         (DocumentType::prototype):
   2645         (DocumentType::cache):
   2646         (DocumentView::get):
   2647         (DocumentView::getInParents):
   2648         (DocumentView::prototype):
   2649         (DocumentView::cache):
   2650         (Element::hasProperty):
   2651         (Element::get):
   2652         (Element::getInParents):
   2653         (Element::prototype):
   2654         (Element::cache):
   2655         (Entity::get):
   2656         (Entity::getInParents):
   2657         (Entity::prototype):
   2658         (Entity::cache):
   2659         (Event::hasProperty):
   2660         (Event::get):
   2661         (Event::getInParents):
   2662         (Event::prototype):
   2663         (Event::cache):
   2664         (EventException::get):
   2665         (EventException::getInParents):
   2666         (EventException::prototype):
   2667         (EventException::cache):
   2668         (EventTarget::hasProperty):
   2669         (EventTarget::get):
   2670         (EventTarget::getInParents):
   2671         (EventTarget::prototype):
   2672         (EventTarget::cache):
   2673         (KeyboardEvent::hasProperty):
   2674         (KeyboardEvent::get):
   2675         (KeyboardEvent::getInParents):
   2676         (KeyboardEvent::prototype):
   2677         (KeyboardEvent::cache):
   2678         (LSException::get):
   2679         (LSException::getInParents):
   2680         (LSException::prototype):
   2681         (LSException::cache):
   2682         (LSInput::get):
   2683         (LSInput::getInParents):
   2684         (LSInput::prototype):
   2685         (LSInput::cache):
   2686         (LSOutput::get):
   2687         (LSOutput::getInParents):
   2688         (LSOutput::prototype):
   2689         (LSOutput::cache):
   2690         (LSParser::hasProperty):
   2691         (LSParser::get):
   2692         (LSParser::getInParents):
   2693         (LSParser::prototype):
   2694         (LSParser::cache):
   2695         (LSParserFilter::hasProperty):
   2696         (LSParserFilter::get):
   2697         (LSParserFilter::getInParents):
   2698         (LSParserFilter::prototype):
   2699         (LSParserFilter::cache):
   2700         (LSResourceResolver::hasProperty):
   2701         (LSResourceResolver::get):
   2702         (LSResourceResolver::getInParents):
   2703         (LSResourceResolver::prototype):
   2704         (LSResourceResolver::cache):
   2705         (LSSerializer::hasProperty):
   2706         (LSSerializer::get):
   2707         (LSSerializer::getInParents):
   2708         (LSSerializer::prototype):
   2709         (LSSerializer::cache):
   2710         (LSSerializerFilter::get):
   2711         (LSSerializerFilter::getInParents):
   2712         (LSSerializerFilter::prototype):
   2713         (LSSerializerFilter::cache):
   2714         (MediaList::hasProperty):
   2715         (MediaList::get):
   2716         (MediaList::getInParents):
   2717         (MediaList::prototype):
   2718         (MediaList::cache):
   2719         (MouseEvent::hasProperty):
   2720         (MouseEvent::get):
   2721         (MouseEvent::getInParents):
   2722         (MouseEvent::prototype):
   2723         (MouseEvent::cache):
   2724         (MutationEvent::hasProperty):
   2725         (MutationEvent::get):
   2726         (MutationEvent::getInParents):
   2727         (MutationEvent::prototype):
   2728         (MutationEvent::cache):
   2729         (NamedNodeMap::hasProperty):
   2730         (NamedNodeMap::get):
   2731         (NamedNodeMap::getInParents):
   2732         (NamedNodeMap::prototype):
   2733         (NamedNodeMap::cache):
   2734         (Node::hasProperty):
   2735         (Node::get):
   2736         (Node::getInParents):
   2737         (Node::prototype):
   2738         (Node::cache):
   2739         (NodeIterator::hasProperty):
   2740         (NodeIterator::get):
   2741         (NodeIterator::getInParents):
   2742         (NodeIterator::prototype):
   2743         (NodeIterator::cache):
   2744         (NodeList::hasProperty):
   2745         (NodeList::get):
   2746         (NodeList::getInParents):
   2747         (NodeList::prototype):
   2748         (NodeList::cache):
   2749         (Notation::get):
   2750         (Notation::getInParents):
   2751         (Notation::prototype):
   2752         (Notation::cache):
   2753         (ProcessingInstruction::get):
   2754         (ProcessingInstruction::getInParents):
   2755         (ProcessingInstruction::prototype):
   2756         (ProcessingInstruction::cache):
   2757         (KDOM::RGBColor::get):
   2758         (KDOM::RGBColor::getInParents):
   2759         (KDOM::RGBColor::prototype):
   2760         (KDOM::RGBColor::cache):
   2761         (Range::hasProperty):
   2762         (Range::get):
   2763         (Range::getInParents):
   2764         (Range::prototype):
   2765         (Range::cache):
   2766         (RangeException::get):
   2767         (RangeException::getInParents):
   2768         (RangeException::prototype):
   2769         (RangeException::cache):
   2770         (KDOM::Rect::get):
   2771         (KDOM::Rect::getInParents):
   2772         (KDOM::Rect::prototype):
   2773         (KDOM::Rect::cache):
   2774         (StyleSheet::get):
   2775         (StyleSheet::getInParents):
   2776         (StyleSheet::prototype):
   2777         (StyleSheet::cache):
   2778         (StyleSheetList::hasProperty):
   2779         (StyleSheetList::get):
   2780         (StyleSheetList::getInParents):
   2781         (StyleSheetList::prototype):
   2782         (StyleSheetList::cache):
   2783         (Text::hasProperty):
   2784         (Text::get):
   2785         (Text::getInParents):
   2786         (Text::prototype):
   2787         (Text::cache):
   2788         (TreeWalker::hasProperty):
   2789         (TreeWalker::get):
   2790         (TreeWalker::getInParents):
   2791         (TreeWalker::prototype):
   2792         (TreeWalker::cache):
   2793         (TypeInfo::hasProperty):
   2794         (TypeInfo::get):
   2795         (TypeInfo::getInParents):
   2796         (TypeInfo::prototype):
   2797         (TypeInfo::cache):
   2798         (UIEvent::hasProperty):
   2799         (UIEvent::get):
   2800         (UIEvent::getInParents):
   2801         (UIEvent::prototype):
   2802         (UIEvent::cache):
   2803         (XPathEvaluator::hasProperty):
   2804         (XPathEvaluator::get):
   2805         (XPathEvaluator::getInParents):
   2806         (XPathEvaluator::prototype):
   2807         (XPathEvaluator::cache):
   2808         (XPathException::get):
   2809         (XPathException::getInParents):
   2810         (XPathException::prototype):
   2811         (XPathException::cache):
   2812         (XPathExpression::hasProperty):
   2813         (XPathExpression::get):
   2814         (XPathExpression::getInParents):
   2815         (XPathExpression::prototype):
   2816         (XPathExpression::cache):
   2817         (XPathNSResolver::hasProperty):
   2818         (XPathNSResolver::get):
   2819         (XPathNSResolver::getInParents):
   2820         (XPathNSResolver::prototype):
   2821         (XPathNSResolver::cache):
   2822         (XPathNamespace::get):
   2823         (XPathNamespace::getInParents):
   2824         (XPathNamespace::prototype):
   2825         (XPathNamespace::cache):
   2826         (XPathResult::hasProperty):
   2827         (XPathResult::get):
   2828         (XPathResult::getInParents):
   2829         (XPathResult::prototype):
   2830         (XPathResult::cache):
   2831         * kdom/ecma/DOMBridge.h:
   2832         (KDOM::DOMBridge::get):
   2833         (KDOM::DOMRWBridge::put):
   2834         (KDOM::DOMBridgeCtor::get):
   2835         * kdom/ecma/DOMLookup.h:
   2836         (KDOM::lookupGet):
   2837         (KDOM::lookupGetValue):
   2838         (KDOM::lookupPut):
   2839         * kdom/ecma/Ecma.cpp:
   2840         (Ecma::setup):
   2841         (Ecma::evaluate):
   2842         (Ecma::globalObject):
   2843         (Ecma::ecmaListenerToObject):
   2844         (Ecma::findEventListener):
   2845         (Ecma::createEventListener):
   2846         (KDOM::getDOMNode):
   2847         (KDOM::getDOMEvent):
   2848         (KDOM::getDOMCSSRule):
   2849         (KDOM::getDOMCSSValue):
   2850         (KDOM::toDOMString):
   2851         (KDOM::getDOMString):
   2852         (KDOM::toVariant):
   2853         * kdom/ecma/Ecma.h:
   2854         (KDOM::ecma_cast):
   2855         (KDOM::safe_cache):
   2856         * kdom/ecma/GlobalObject.cpp:
   2857         (GlobalObject::retrieveActive):
   2858         (GlobalObject::get):
   2859         (GlobalObject::put):
   2860         (GlobalObjectFunc::callAsFunction):
   2861         (ScheduledAction::ScheduledAction):
   2862         (ScheduledAction::execute):
   2863         (GlobalQObject::installTimeout):
   2864         * kdom/ecma/GlobalObject.h:
   2865         * kdom/ecma/ScriptInterpreter.cpp:
   2866         (ScriptInterpreter::ScriptInterpreter):
   2867         * kdom/ecma/ScriptInterpreter.h:
   2868         (KDOM::cacheDOMObject):
   2869         (KDOM::cacheGlobalBridge):
   2870         * kdom/events/DocumentEvent.cpp:
   2871         (DocumentEvent::getValueProperty):
   2872         (DocumentEventProtoFunc::callAsFunction):
   2873         * kdom/events/DocumentEvent.h:
   2874         * kdom/events/Event.cpp:
   2875         (Event::getValueProperty):
   2876         (EventProtoFunc::callAsFunction):
   2877         * kdom/events/Event.h:
   2878         * kdom/events/EventException.cpp:
   2879         (EventException::getValueProperty):
   2880         * kdom/events/EventException.h:
   2881         * kdom/events/EventTarget.cpp:
   2882         (EventTarget::getValueProperty):
   2883         (EventTargetProtoFunc::callAsFunction):
   2884         * kdom/events/EventTarget.h:
   2885         * kdom/events/KeyboardEvent.cpp:
   2886         (KeyboardEvent::getValueProperty):
   2887         (KeyboardEventProtoFunc::callAsFunction):
   2888         * kdom/events/KeyboardEvent.h:
   2889         * kdom/events/MouseEvent.cpp:
   2890         (MouseEvent::getValueProperty):
   2891         (MouseEventProtoFunc::callAsFunction):
   2892         * kdom/events/MouseEvent.h:
   2893         * kdom/events/MutationEvent.cpp:
   2894         (MutationEvent::getValueProperty):
   2895         (MutationEventProtoFunc::callAsFunction):
   2896         * kdom/events/MutationEvent.h:
   2897         * kdom/events/UIEvent.cpp:
   2898         (UIEvent::getValueProperty):
   2899         (UIEventProtoFunc::callAsFunction):
   2900         * kdom/events/UIEvent.h:
   2901         * kdom/events/impl/EventListenerImpl.cpp:
   2902         (EventListenerImpl::EventListenerImpl):
   2903         (EventListenerImpl::~EventListenerImpl):
   2904         (EventListenerImpl::handleEvent):
   2905         (EventListenerImpl::ecmaListener):
   2906         (EventListenerImpl::initListener):
   2907         * kdom/events/impl/EventListenerImpl.h:
   2908         * kdom/impl/DOMUserDataImpl.h:
   2909         (KDOM::):
   2910         * kdom/ls/LSException.cpp:
   2911         (LSException::getValueProperty):
   2912         * kdom/ls/LSException.h:
   2913         * kdom/ls/LSInput.cpp:
   2914         (LSInput::getValueProperty):
   2915         (LSInput::putValueProperty):
   2916         * kdom/ls/LSInput.h:
   2917         * kdom/ls/LSOutput.cpp:
   2918         (LSOutput::getValueProperty):
   2919         (LSOutput::putValueProperty):
   2920         * kdom/ls/LSOutput.h:
   2921         * kdom/ls/LSParser.cpp:
   2922         (LSParser::getValueProperty):
   2923         (LSParser::putValueProperty):
   2924         (LSParserProtoFunc::callAsFunction):
   2925         * kdom/ls/LSParser.h:
   2926         * kdom/ls/LSParserFilter.cpp:
   2927         (LSParserFilter::getValueProperty):
   2928         (LSParserFilterProtoFunc::callAsFunction):
   2929         * kdom/ls/LSParserFilter.h:
   2930         * kdom/ls/LSResourceResolver.cpp:
   2931         (LSResourceResolver::getValueProperty):
   2932         (LSResourceResolverProtoFunc::callAsFunction):
   2933         * kdom/ls/LSResourceResolver.h:
   2934         * kdom/ls/LSSerializer.cpp:
   2935         (LSSerializer::getValueProperty):
   2936         (LSSerializer::putValueProperty):
   2937         (LSSerializerProtoFunc::callAsFunction):
   2938         * kdom/ls/LSSerializer.h:
   2939         * kdom/ls/LSSerializerFilter.cpp:
   2940         (LSSerializerFilter::getValueProperty):
   2941         * kdom/ls/LSSerializerFilter.h:
   2942         * kdom/range/DocumentRange.cpp:
   2943         (DocumentRange::getValueProperty):
   2944         (DocumentRangeProtoFunc::callAsFunction):
   2945         * kdom/range/DocumentRange.h:
   2946         * kdom/range/Range.cpp:
   2947         (Range::getValueProperty):
   2948         (RangeProtoFunc::callAsFunction):
   2949         * kdom/range/Range.h:
   2950         * kdom/range/RangeException.cpp:
   2951         (RangeException::getValueProperty):
   2952         * kdom/range/RangeException.h:
   2953         * kdom/traversal/DocumentTraversal.cpp:
   2954         (DocumentTraversal::getValueProperty):
   2955         (DocumentTraversalProtoFunc::callAsFunction):
   2956         * kdom/traversal/DocumentTraversal.h:
   2957         * kdom/traversal/NodeIterator.cpp:
   2958         (NodeIterator::getValueProperty):
   2959         (NodeIteratorProtoFunc::callAsFunction):
   2960         * kdom/traversal/NodeIterator.h:
   2961         * kdom/traversal/TreeWalker.cpp:
   2962         (TreeWalker::getValueProperty):
   2963         (TreeWalker::putValueProperty):
   2964         (TreeWalkerProtoFunc::callAsFunction):
   2965         * kdom/traversal/TreeWalker.h:
   2966         * kdom/views/AbstractView.cpp:
   2967         (AbstractView::getValueProperty):
   2968         * kdom/views/AbstractView.h:
   2969         * kdom/views/DocumentView.cpp:
   2970         (DocumentView::getValueProperty):
   2971         * kdom/views/DocumentView.h:
   2972         * kdom/xpath/XPathEvaluator.cpp:
   2973         (XPathEvaluator::getValueProperty):
   2974         (XPathEvaluatorProtoFunc::callAsFunction):
   2975         * kdom/xpath/XPathEvaluator.h:
   2976         * kdom/xpath/XPathException.cpp:
   2977         (XPathException::getValueProperty):
   2978         * kdom/xpath/XPathException.h:
   2979         * kdom/xpath/XPathExpression.cpp:
   2980         (XPathExpression::getValueProperty):
   2981         (XPathExpressionProtoFunc::callAsFunction):
   2982         * kdom/xpath/XPathExpression.h:
   2983         * kdom/xpath/XPathNSResolver.cpp:
   2984         (XPathNSResolver::getValueProperty):
   2985         (XPathNSResolverProtoFunc::callAsFunction):
   2986         * kdom/xpath/XPathNSResolver.h:
   2987         * kdom/xpath/XPathNamespace.cpp:
   2988         (XPathNamespace::getValueProperty):
   2989         * kdom/xpath/XPathNamespace.h:
   2990         * kdom/xpath/XPathResult.cpp:
   2991         (XPathResult::getValueProperty):
   2992         (XPathResultProtoFunc::callAsFunction):
   2993         * kdom/xpath/XPathResult.h:
   2994         * ksvg2/KSVGFactory.cpp:
   2995         (KSVGFactory::createPartObject):
   2996         * ksvg2/data/SVGConstants.h:
   2997         (KSVG::SVGNumberConstants::):
   2998         * ksvg2/data/generateddata.cpp:
   2999         (SVGAElement::get):
   3000         (SVGAElement::getInParents):
   3001         (SVGAElement::prototype):
   3002         (SVGAElement::cache):
   3003         (SVGAngle::hasProperty):
   3004         (SVGAngle::get):
   3005         (SVGAngle::getInParents):
   3006         (SVGAngle::prototype):
   3007         (SVGAngle::cache):
   3008         (SVGAnimateColorElement::get):
   3009         (SVGAnimateColorElement::getInParents):
   3010         (SVGAnimateColorElement::prototype):
   3011         (SVGAnimateColorElement::cache):
   3012         (SVGAnimateElement::get):
   3013         (SVGAnimateElement::getInParents):
   3014         (SVGAnimateElement::prototype):
   3015         (SVGAnimateElement::cache):
   3016         (SVGAnimateTransformElement::get):
   3017         (SVGAnimateTransformElement::getInParents):
   3018         (SVGAnimateTransformElement::prototype):
   3019         (SVGAnimateTransformElement::cache):
   3020         (SVGAnimatedAngle::get):
   3021         (SVGAnimatedAngle::getInParents):
   3022         (SVGAnimatedAngle::prototype):
   3023         (SVGAnimatedAngle::cache):
   3024         (SVGAnimatedBoolean::get):
   3025         (SVGAnimatedBoolean::getInParents):
   3026         (SVGAnimatedBoolean::prototype):
   3027         (SVGAnimatedBoolean::cache):
   3028         (SVGAnimatedEnumeration::get):
   3029         (SVGAnimatedEnumeration::getInParents):
   3030         (SVGAnimatedEnumeration::prototype):
   3031         (SVGAnimatedEnumeration::cache):
   3032         (SVGAnimatedInteger::get):
   3033         (SVGAnimatedInteger::getInParents):
   3034         (SVGAnimatedInteger::prototype):
   3035         (SVGAnimatedInteger::cache):
   3036         (SVGAnimatedLength::get):
   3037         (SVGAnimatedLength::getInParents):
   3038         (SVGAnimatedLength::prototype):
   3039         (SVGAnimatedLength::cache):
   3040         (SVGAnimatedLengthList::get):
   3041         (SVGAnimatedLengthList::getInParents):
   3042         (SVGAnimatedLengthList::prototype):
   3043         (SVGAnimatedLengthList::cache):
   3044         (SVGAnimatedNumber::get):
   3045         (SVGAnimatedNumber::getInParents):
   3046         (SVGAnimatedNumber::prototype):
   3047         (SVGAnimatedNumber::cache):
   3048         (SVGAnimatedNumberList::get):
   3049         (SVGAnimatedNumberList::getInParents):
   3050         (SVGAnimatedNumberList::prototype):
   3051         (SVGAnimatedNumberList::cache):
   3052         (SVGAnimatedPathData::get):
   3053         (SVGAnimatedPathData::getInParents):
   3054         (SVGAnimatedPathData::prototype):
   3055         (SVGAnimatedPathData::cache):
   3056         (SVGAnimatedPoints::get):
   3057         (SVGAnimatedPoints::getInParents):
   3058         (SVGAnimatedPoints::prototype):
   3059         (SVGAnimatedPoints::cache):
   3060         (SVGAnimatedPreserveAspectRatio::get):
   3061         (SVGAnimatedPreserveAspectRatio::getInParents):
   3062         (SVGAnimatedPreserveAspectRatio::prototype):
   3063         (SVGAnimatedPreserveAspectRatio::cache):
   3064         (SVGAnimatedRect::get):
   3065         (SVGAnimatedRect::getInParents):
   3066         (SVGAnimatedRect::prototype):
   3067         (SVGAnimatedRect::cache):
   3068         (SVGAnimatedString::get):
   3069         (SVGAnimatedString::getInParents):
   3070         (SVGAnimatedString::prototype):
   3071         (SVGAnimatedString::cache):
   3072         (SVGAnimatedTransformList::get):
   3073         (SVGAnimatedTransformList::getInParents):
   3074         (SVGAnimatedTransformList::prototype):
   3075         (SVGAnimatedTransformList::cache):
   3076         (SVGAnimationElement::hasProperty):
   3077         (SVGAnimationElement::get):
   3078         (SVGAnimationElement::getInParents):
   3079         (SVGAnimationElement::prototype):
   3080         (SVGAnimationElement::cache):
   3081         (SVGCircleElement::get):
   3082         (SVGCircleElement::getInParents):
   3083         (SVGCircleElement::prototype):
   3084         (SVGCircleElement::cache):
   3085         (SVGClipPathElement::get):
   3086         (SVGClipPathElement::getInParents):
   3087         (SVGClipPathElement::prototype):
   3088         (SVGClipPathElement::cache):
   3089         (SVGColor::hasProperty):
   3090         (SVGColor::get):
   3091         (SVGColor::getInParents):
   3092         (SVGColor::prototype):
   3093         (SVGColor::cache):
   3094         (SVGComponentTransferFunctionElement::get):
   3095         (SVGComponentTransferFunctionElement::getInParents):
   3096         (SVGComponentTransferFunctionElement::prototype):
   3097         (SVGComponentTransferFunctionElement::cache):
   3098         (SVGDefsElement::get):
   3099         (SVGDefsElement::getInParents):
   3100         (SVGDefsElement::prototype):
   3101         (SVGDefsElement::cache):
   3102         (SVGDescElement::get):
   3103         (SVGDescElement::getInParents):
   3104         (SVGDescElement::prototype):
   3105         (SVGDescElement::cache):
   3106         (SVGDocument::get):
   3107         (SVGDocument::getInParents):
   3108         (SVGDocument::prototype):
   3109         (SVGDocument::cache):
   3110         (SVGElement::get):
   3111         (SVGElement::getInParents):
   3112         (SVGElement::prototype):
   3113         (SVGElement::cache):
   3114         (SVGElementInstance::get):
   3115         (SVGElementInstance::getInParents):
   3116         (SVGElementInstance::prototype):
   3117         (SVGElementInstance::cache):
   3118         (SVGElementInstanceList::hasProperty):
   3119         (SVGElementInstanceList::get):
   3120         (SVGElementInstanceList::getInParents):
   3121         (SVGElementInstanceList::prototype):
   3122         (SVGElementInstanceList::cache):
   3123         (SVGEllipseElement::get):
   3124         (SVGEllipseElement::getInParents):
   3125         (SVGEllipseElement::prototype):
   3126         (SVGEllipseElement::cache):
   3127         (SVGEvent::get):
   3128         (SVGEvent::getInParents):
   3129         (SVGEvent::prototype):
   3130         (SVGEvent::cache):
   3131         (SVGException::get):
   3132         (SVGException::getInParents):
   3133         (SVGException::prototype):
   3134         (SVGException::cache):
   3135         (SVGExternalResourcesRequired::get):
   3136         (SVGExternalResourcesRequired::getInParents):
   3137         (SVGExternalResourcesRequired::prototype):
   3138         (SVGExternalResourcesRequired::cache):
   3139         (SVGFEBlendElement::get):
   3140         (SVGFEBlendElement::getInParents):
   3141         (SVGFEBlendElement::prototype):
   3142         (SVGFEBlendElement::cache):
   3143         (SVGFEColorMatrixElement::get):
   3144         (SVGFEColorMatrixElement::getInParents):
   3145         (SVGFEColorMatrixElement::prototype):
   3146         (SVGFEColorMatrixElement::cache):
   3147         (SVGFEComponentTransferElement::get):
   3148         (SVGFEComponentTransferElement::getInParents):
   3149         (SVGFEComponentTransferElement::prototype):
   3150         (SVGFEComponentTransferElement::cache):
   3151         (SVGFECompositeElement::get):
   3152         (SVGFECompositeElement::getInParents):
   3153         (SVGFECompositeElement::prototype):
   3154         (SVGFECompositeElement::cache):
   3155         (SVGFEFloodElement::get):
   3156         (SVGFEFloodElement::getInParents):
   3157         (SVGFEFloodElement::prototype):
   3158         (SVGFEFloodElement::cache):
   3159         (SVGFEGaussianBlurElement::hasProperty):
   3160         (SVGFEGaussianBlurElement::get):
   3161         (SVGFEGaussianBlurElement::getInParents):
   3162         (SVGFEGaussianBlurElement::prototype):
   3163         (SVGFEGaussianBlurElement::cache):
   3164         (SVGFEImageElement::get):
   3165         (SVGFEImageElement::getInParents):
   3166         (SVGFEImageElement::prototype):
   3167         (SVGFEImageElement::cache):
   3168         (SVGFEMergeElement::get):
   3169         (SVGFEMergeElement::getInParents):
   3170         (SVGFEMergeElement::prototype):
   3171         (SVGFEMergeElement::cache):
   3172         (SVGFEMergeNodeElement::get):
   3173         (SVGFEMergeNodeElement::getInParents):
   3174         (SVGFEMergeNodeElement::prototype):
   3175         (SVGFEMergeNodeElement::cache):
   3176         (SVGFEOffsetElement::get):
   3177         (SVGFEOffsetElement::getInParents):
   3178         (SVGFEOffsetElement::prototype):
   3179         (SVGFEOffsetElement::cache):
   3180         (SVGFETileElement::get):
   3181         (SVGFETileElement::getInParents):
   3182         (SVGFETileElement::prototype):
   3183         (SVGFETileElement::cache):
   3184         (SVGFETurbulenceElement::get):
   3185         (SVGFETurbulenceElement::getInParents):
   3186         (SVGFETurbulenceElement::prototype):
   3187         (SVGFETurbulenceElement::cache):
   3188         (SVGFilterElement::hasProperty):
   3189         (SVGFilterElement::get):
   3190         (SVGFilterElement::getInParents):
   3191         (SVGFilterElement::prototype):
   3192         (SVGFilterElement::cache):
   3193         (SVGFilterPrimitiveStandardAttributes::get):
   3194         (SVGFilterPrimitiveStandardAttributes::getInParents):
   3195         (SVGFilterPrimitiveStandardAttributes::prototype):
   3196         (SVGFilterPrimitiveStandardAttributes::cache):
   3197         (SVGFitToViewBox::get):
   3198         (SVGFitToViewBox::getInParents):
   3199         (SVGFitToViewBox::prototype):
   3200         (SVGFitToViewBox::cache):
   3201         (SVGGElement::get):
   3202         (SVGGElement::getInParents):
   3203         (SVGGElement::prototype):
   3204         (SVGGElement::cache):
   3205         (SVGGradientElement::get):
   3206         (SVGGradientElement::getInParents):
   3207         (SVGGradientElement::prototype):
   3208         (SVGGradientElement::cache):
   3209         (SVGImageElement::get):
   3210         (SVGImageElement::getInParents):
   3211         (SVGImageElement::prototype):
   3212         (SVGImageElement::cache):
   3213         (SVGLangSpace::get):
   3214         (SVGLangSpace::getInParents):
   3215         (SVGLangSpace::prototype):
   3216         (SVGLangSpace::cache):
   3217         (SVGLength::hasProperty):
   3218         (SVGLength::get):
   3219         (SVGLength::getInParents):
   3220         (SVGLength::prototype):
   3221         (SVGLength::cache):
   3222         (SVGLengthList::hasProperty):
   3223         (SVGLengthList::get):
   3224         (SVGLengthList::getInParents):
   3225         (SVGLengthList::prototype):
   3226         (SVGLengthList::cache):
   3227         (SVGLineElement::get):
   3228         (SVGLineElement::getInParents):
   3229         (SVGLineElement::prototype):
   3230         (SVGLineElement::cache):
   3231         (SVGLinearGradientElement::get):
   3232         (SVGLinearGradientElement::getInParents):
   3233         (SVGLinearGradientElement::prototype):
   3234         (SVGLinearGradientElement::cache):
   3235         (SVGLocatable::hasProperty):
   3236         (SVGLocatable::get):
   3237         (SVGLocatable::getInParents):
   3238         (SVGLocatable::prototype):
   3239         (SVGLocatable::cache):
   3240         (SVGMarkerElement::hasProperty):
   3241         (SVGMarkerElement::get):
   3242         (SVGMarkerElement::getInParents):
   3243         (SVGMarkerElement::prototype):
   3244         (SVGMarkerElement::cache):
   3245         (SVGMatrix::hasProperty):
   3246         (SVGMatrix::get):
   3247         (SVGMatrix::getInParents):
   3248         (SVGMatrix::prototype):
   3249         (SVGMatrix::cache):
   3250         (SVGNumber::get):
   3251         (SVGNumber::getInParents):
   3252         (SVGNumber::prototype):
   3253         (SVGNumber::cache):
   3254         (SVGNumberList::hasProperty):
   3255         (SVGNumberList::get):
   3256         (SVGNumberList::getInParents):
   3257         (SVGNumberList::prototype):
   3258         (SVGNumberList::cache):
   3259         (SVGPaint::hasProperty):
   3260         (SVGPaint::get):
   3261         (SVGPaint::getInParents):
   3262         (SVGPaint::prototype):
   3263         (SVGPaint::cache):
   3264         (SVGPathElement::hasProperty):
   3265         (SVGPathElement::get):
   3266         (SVGPathElement::getInParents):
   3267         (SVGPathElement::prototype):
   3268         (SVGPathElement::cache):
   3269         (SVGPathSeg::get):
   3270         (SVGPathSeg::getInParents):
   3271         (SVGPathSeg::prototype):
   3272         (SVGPathSeg::cache):
   3273         (SVGPathSegArcAbs::get):
   3274         (SVGPathSegArcAbs::getInParents):
   3275         (SVGPathSegArcAbs::prototype):
   3276         (SVGPathSegArcAbs::cache):
   3277         (SVGPathSegArcRel::get):
   3278         (SVGPathSegArcRel::getInParents):
   3279         (SVGPathSegArcRel::prototype):
   3280         (SVGPathSegArcRel::cache):
   3281         (SVGPathSegCurvetoCubicAbs::get):
   3282         (SVGPathSegCurvetoCubicAbs::getInParents):
   3283         (SVGPathSegCurvetoCubicAbs::prototype):
   3284         (SVGPathSegCurvetoCubicAbs::cache):
   3285         (SVGPathSegCurvetoCubicRel::get):
   3286         (SVGPathSegCurvetoCubicRel::getInParents):
   3287         (SVGPathSegCurvetoCubicRel::prototype):
   3288         (SVGPathSegCurvetoCubicRel::cache):
   3289         (SVGPathSegCurvetoCubicSmoothAbs::get):
   3290         (SVGPathSegCurvetoCubicSmoothAbs::getInParents):
   3291         (SVGPathSegCurvetoCubicSmoothAbs::prototype):
   3292         (SVGPathSegCurvetoCubicSmoothAbs::cache):
   3293         (SVGPathSegCurvetoCubicSmoothRel::get):
   3294         (SVGPathSegCurvetoCubicSmoothRel::getInParents):
   3295         (SVGPathSegCurvetoCubicSmoothRel::prototype):
   3296         (SVGPathSegCurvetoCubicSmoothRel::cache):
   3297         (SVGPathSegCurvetoQuadraticAbs::get):
   3298         (SVGPathSegCurvetoQuadraticAbs::getInParents):
   3299         (SVGPathSegCurvetoQuadraticAbs::prototype):
   3300         (SVGPathSegCurvetoQuadraticAbs::cache):
   3301         (SVGPathSegCurvetoQuadraticRel::get):
   3302         (SVGPathSegCurvetoQuadraticRel::getInParents):
   3303         (SVGPathSegCurvetoQuadraticRel::prototype):
   3304         (SVGPathSegCurvetoQuadraticRel::cache):
   3305         (SVGPathSegCurvetoQuadraticSmoothAbs::get):
   3306         (SVGPathSegCurvetoQuadraticSmoothAbs::getInParents):
   3307         (SVGPathSegCurvetoQuadraticSmoothAbs::prototype):
   3308         (SVGPathSegCurvetoQuadraticSmoothAbs::cache):
   3309         (SVGPathSegCurvetoQuadraticSmoothRel::get):
   3310         (SVGPathSegCurvetoQuadraticSmoothRel::getInParents):
   3311         (SVGPathSegCurvetoQuadraticSmoothRel::prototype):
   3312         (SVGPathSegCurvetoQuadraticSmoothRel::cache):
   3313         (SVGPathSegLinetoAbs::get):
   3314         (SVGPathSegLinetoAbs::getInParents):
   3315         (SVGPathSegLinetoAbs::prototype):
   3316         (SVGPathSegLinetoAbs::cache):
   3317         (SVGPathSegLinetoHorizontalAbs::get):
   3318         (SVGPathSegLinetoHorizontalAbs::getInParents):
   3319         (SVGPathSegLinetoHorizontalAbs::prototype):
   3320         (SVGPathSegLinetoHorizontalAbs::cache):
   3321         (SVGPathSegLinetoHorizontalRel::get):
   3322         (SVGPathSegLinetoHorizontalRel::getInParents):
   3323         (SVGPathSegLinetoHorizontalRel::prototype):
   3324         (SVGPathSegLinetoHorizontalRel::cache):
   3325         (SVGPathSegLinetoRel::get):
   3326         (SVGPathSegLinetoRel::getInParents):
   3327         (SVGPathSegLinetoRel::prototype):
   3328         (SVGPathSegLinetoRel::cache):
   3329         (SVGPathSegLinetoVerticalAbs::get):
   3330         (SVGPathSegLinetoVerticalAbs::getInParents):
   3331         (SVGPathSegLinetoVerticalAbs::prototype):
   3332         (SVGPathSegLinetoVerticalAbs::cache):
   3333         (SVGPathSegLinetoVerticalRel::get):
   3334         (SVGPathSegLinetoVerticalRel::getInParents):
   3335         (SVGPathSegLinetoVerticalRel::prototype):
   3336         (SVGPathSegLinetoVerticalRel::cache):
   3337         (SVGPathSegList::hasProperty):
   3338         (SVGPathSegList::get):
   3339         (SVGPathSegList::getInParents):
   3340         (SVGPathSegList::prototype):
   3341         (SVGPathSegList::cache):
   3342         (SVGPathSegMovetoAbs::get):
   3343         (SVGPathSegMovetoAbs::getInParents):
   3344         (SVGPathSegMovetoAbs::prototype):
   3345         (SVGPathSegMovetoAbs::cache):
   3346         (SVGPathSegMovetoRel::get):
   3347         (SVGPathSegMovetoRel::getInParents):
   3348         (SVGPathSegMovetoRel::prototype):
   3349         (SVGPathSegMovetoRel::cache):
   3350         (SVGPatternElement::get):
   3351         (SVGPatternElement::getInParents):
   3352         (SVGPatternElement::prototype):
   3353         (SVGPatternElement::cache):
   3354         (SVGPoint::hasProperty):
   3355         (SVGPoint::get):
   3356         (SVGPoint::getInParents):
   3357         (SVGPoint::prototype):
   3358         (SVGPoint::cache):
   3359         (SVGPointList::hasProperty):
   3360         (SVGPointList::get):
   3361         (SVGPointList::getInParents):
   3362         (SVGPointList::prototype):
   3363         (SVGPointList::cache):
   3364         (SVGPolygonElement::get):
   3365         (SVGPolygonElement::getInParents):
   3366         (SVGPolygonElement::prototype):
   3367         (SVGPolygonElement::cache):
   3368         (SVGPolylineElement::get):
   3369         (SVGPolylineElement::getInParents):
   3370         (SVGPolylineElement::prototype):
   3371         (SVGPolylineElement::cache):
   3372         (SVGPreserveAspectRatio::get):
   3373         (SVGPreserveAspectRatio::getInParents):
   3374         (SVGPreserveAspectRatio::prototype):
   3375         (SVGPreserveAspectRatio::cache):
   3376         (SVGRadialGradientElement::get):
   3377         (SVGRadialGradientElement::getInParents):
   3378         (SVGRadialGradientElement::prototype):
   3379         (SVGRadialGradientElement::cache):
   3380         (SVGRect::get):
   3381         (SVGRect::getInParents):
   3382         (SVGRect::prototype):
   3383         (SVGRect::cache):
   3384         (SVGRectElement::get):
   3385         (SVGRectElement::getInParents):
   3386         (SVGRectElement::prototype):
   3387         (SVGRectElement::cache):
   3388         (SVGSVGElement::hasProperty):
   3389         (SVGSVGElement::get):
   3390         (SVGSVGElement::getInParents):
   3391         (SVGSVGElement::prototype):
   3392         (SVGSVGElement::cache):
   3393         (SVGScriptElement::get):
   3394         (SVGScriptElement::getInParents):
   3395         (SVGScriptElement::prototype):
   3396         (SVGScriptElement::cache):
   3397         (SVGSetElement::get):
   3398         (SVGSetElement::getInParents):
   3399         (SVGSetElement::prototype):
   3400         (SVGSetElement::cache):
   3401         (SVGStopElement::get):
   3402         (SVGStopElement::getInParents):
   3403         (SVGStopElement::prototype):
   3404         (SVGStopElement::cache):
   3405         (SVGStringList::hasProperty):
   3406         (SVGStringList::get):
   3407         (SVGStringList::getInParents):
   3408         (SVGStringList::prototype):
   3409         (SVGStringList::cache):
   3410         (SVGStylable::hasProperty):
   3411         (SVGStylable::get):
   3412         (SVGStylable::getInParents):
   3413         (SVGStylable::prototype):
   3414         (SVGStylable::cache):
   3415         (SVGStyleElement::get):
   3416         (SVGStyleElement::getInParents):
   3417         (SVGStyleElement::prototype):
   3418         (SVGStyleElement::cache):
   3419         (SVGSwitchElement::get):
   3420         (SVGSwitchElement::getInParents):
   3421         (SVGSwitchElement::prototype):
   3422         (SVGSwitchElement::cache):
   3423         (SVGSymbolElement::get):
   3424         (SVGSymbolElement::getInParents):
   3425         (SVGSymbolElement::prototype):
   3426         (SVGSymbolElement::cache):
   3427         (SVGTSpanElement::get):
   3428         (SVGTSpanElement::getInParents):
   3429         (SVGTSpanElement::prototype):
   3430         (SVGTSpanElement::cache):
   3431         (SVGTests::hasProperty):
   3432         (SVGTests::get):
   3433         (SVGTests::getInParents):
   3434         (SVGTests::prototype):
   3435         (SVGTests::cache):
   3436         (SVGTextContentElement::hasProperty):
   3437         (SVGTextContentElement::get):
   3438         (SVGTextContentElement::getInParents):
   3439         (SVGTextContentElement::prototype):
   3440         (SVGTextContentElement::cache):
   3441         (SVGTextElement::get):
   3442         (SVGTextElement::getInParents):
   3443         (SVGTextElement::prototype):
   3444         (SVGTextElement::cache):
   3445         (SVGTextPositioningElement::get):
   3446         (SVGTextPositioningElement::getInParents):
   3447         (SVGTextPositioningElement::prototype):
   3448         (SVGTextPositioningElement::cache):
   3449         (SVGTitleElement::get):
   3450         (SVGTitleElement::getInParents):
   3451         (SVGTitleElement::prototype):
   3452         (SVGTitleElement::cache):
   3453         (SVGTransform::hasProperty):
   3454         (SVGTransform::get):
   3455         (SVGTransform::getInParents):
   3456         (SVGTransform::prototype):
   3457         (SVGTransform::cache):
   3458         (SVGTransformList::hasProperty):
   3459         (SVGTransformList::get):
   3460         (SVGTransformList::getInParents):
   3461         (SVGTransformList::prototype):
   3462         (SVGTransformList::cache):
   3463         (SVGTransformable::get):
   3464         (SVGTransformable::getInParents):
   3465         (SVGTransformable::prototype):
   3466         (SVGTransformable::cache):
   3467         (SVGURIReference::get):
   3468         (SVGURIReference::getInParents):
   3469         (SVGURIReference::prototype):
   3470         (SVGURIReference::cache):
   3471         (SVGUseElement::get):
   3472         (SVGUseElement::getInParents):
   3473         (SVGUseElement::prototype):
   3474         (SVGUseElement::cache):
   3475         (SVGViewElement::get):
   3476         (SVGViewElement::getInParents):
   3477         (SVGViewElement::prototype):
   3478         (SVGViewElement::cache):
   3479         (SVGZoomAndPan::get):
   3480         (SVGZoomAndPan::getInParents):
   3481         (SVGZoomAndPan::prototype):
   3482         (SVGZoomAndPan::cache):
   3483         (SVGZoomEvent::get):
   3484         (SVGZoomEvent::getInParents):
   3485         (SVGZoomEvent::prototype):
   3486         (SVGZoomEvent::cache):
   3487         * ksvg2/dom/SVGAElement.cpp:
   3488         (SVGAElement::getValueProperty):
   3489         * ksvg2/dom/SVGAElement.h:
   3490         * ksvg2/dom/SVGAngle.cpp:
   3491         (SVGAngle::getValueProperty):
   3492         (SVGAngle::putValueProperty):
   3493         (SVGAngleProtoFunc::callAsFunction):
   3494         * ksvg2/dom/SVGAngle.h:
   3495         * ksvg2/dom/SVGAnimateColorElement.cpp:
   3496         (SVGAnimateColorElement::getValueProperty):
   3497         * ksvg2/dom/SVGAnimateColorElement.h:
   3498         * ksvg2/dom/SVGAnimateElement.cpp:
   3499         (SVGAnimateElement::getValueProperty):
   3500         * ksvg2/dom/SVGAnimateElement.h:
   3501         * ksvg2/dom/SVGAnimateTransformElement.cpp:
   3502         (SVGAnimateTransformElement::getValueProperty):
   3503         * ksvg2/dom/SVGAnimateTransformElement.h:
   3504         * ksvg2/dom/SVGAnimatedAngle.cpp:
   3505         (SVGAnimatedAngle::getValueProperty):
   3506         * ksvg2/dom/SVGAnimatedAngle.h:
   3507         * ksvg2/dom/SVGAnimatedBoolean.cpp:
   3508         (SVGAnimatedBoolean::getValueProperty):
   3509         (SVGAnimatedBoolean::putValueProperty):
   3510         * ksvg2/dom/SVGAnimatedBoolean.h:
   3511         * ksvg2/dom/SVGAnimatedEnumeration.cpp:
   3512         (SVGAnimatedEnumeration::getValueProperty):
   3513         (SVGAnimatedEnumeration::putValueProperty):
   3514         * ksvg2/dom/SVGAnimatedEnumeration.h:
   3515         * ksvg2/dom/SVGAnimatedInteger.cpp:
   3516         (SVGAnimatedInteger::getValueProperty):
   3517         (SVGAnimatedInteger::putValueProperty):
   3518         * ksvg2/dom/SVGAnimatedInteger.h:
   3519         * ksvg2/dom/SVGAnimatedLength.cpp:
   3520         (SVGAnimatedLength::getValueProperty):
   3521         * ksvg2/dom/SVGAnimatedLength.h:
   3522         * ksvg2/dom/SVGAnimatedLengthList.cpp:
   3523         (SVGAnimatedLengthList::getValueProperty):
   3524         * ksvg2/dom/SVGAnimatedLengthList.h:
   3525         * ksvg2/dom/SVGAnimatedNumber.cpp:
   3526         (SVGAnimatedNumber::getValueProperty):
   3527         (SVGAnimatedNumber::putValueProperty):
   3528         * ksvg2/dom/SVGAnimatedNumber.h:
   3529         * ksvg2/dom/SVGAnimatedNumberList.cpp:
   3530         (SVGAnimatedNumberList::getValueProperty):
   3531         * ksvg2/dom/SVGAnimatedNumberList.h:
   3532         * ksvg2/dom/SVGAnimatedPathData.cpp:
   3533         (SVGAnimatedPathData::getValueProperty):
   3534         * ksvg2/dom/SVGAnimatedPathData.h:
   3535         * ksvg2/dom/SVGAnimatedPoints.cpp:
   3536         (SVGAnimatedPoints::getValueProperty):
   3537         * ksvg2/dom/SVGAnimatedPoints.h:
   3538         * ksvg2/dom/SVGAnimatedPreserveAspectRatio.cpp:
   3539         (SVGAnimatedPreserveAspectRatio::getValueProperty):
   3540         * ksvg2/dom/SVGAnimatedPreserveAspectRatio.h:
   3541         * ksvg2/dom/SVGAnimatedRect.cpp:
   3542         (SVGAnimatedRect::getValueProperty):
   3543         * ksvg2/dom/SVGAnimatedRect.h:
   3544         * ksvg2/dom/SVGAnimatedString.cpp:
   3545         (SVGAnimatedString::getValueProperty):
   3546         (SVGAnimatedString::putValueProperty):
   3547         * ksvg2/dom/SVGAnimatedString.h:
   3548         * ksvg2/dom/SVGAnimatedTransformList.cpp:
   3549         (SVGAnimatedTransformList::getValueProperty):
   3550         * ksvg2/dom/SVGAnimatedTransformList.h:
   3551         * ksvg2/dom/SVGAnimationElement.cpp:
   3552         (SVGAnimationElement::getValueProperty):
   3553         (SVGAnimationElementProtoFunc::callAsFunction):
   3554         * ksvg2/dom/SVGAnimationElement.h:
   3555         * ksvg2/dom/SVGCircleElement.cpp:
   3556         (SVGCircleElement::getValueProperty):
   3557         * ksvg2/dom/SVGCircleElement.h:
   3558         * ksvg2/dom/SVGClipPathElement.cpp:
   3559         (SVGClipPathElement::getValueProperty):
   3560         * ksvg2/dom/SVGClipPathElement.h:
   3561         * ksvg2/dom/SVGColor.cpp:
   3562         (SVGColor::getValueProperty):
   3563         (SVGColorProtoFunc::callAsFunction):
   3564         * ksvg2/dom/SVGColor.h:
   3565         * ksvg2/dom/SVGComponentTransferFunctionElement.cpp:
   3566         (SVGComponentTransferFunctionElement::getValueProperty):
   3567         * ksvg2/dom/SVGComponentTransferFunctionElement.h:
   3568         * ksvg2/dom/SVGDefsElement.cpp:
   3569         (SVGDefsElement::getValueProperty):
   3570         * ksvg2/dom/SVGDefsElement.h:
   3571         * ksvg2/dom/SVGDescElement.cpp:
   3572         (SVGDescElement::getValueProperty):
   3573         * ksvg2/dom/SVGDescElement.h:
   3574         * ksvg2/dom/SVGDocument.cpp:
   3575         (SVGDocument::getValueProperty):
   3576         * ksvg2/dom/SVGDocument.h:
   3577         * ksvg2/dom/SVGElement.cpp:
   3578         (SVGElement::getValueProperty):
   3579         (SVGElement::putValueProperty):
   3580         * ksvg2/dom/SVGElement.h:
   3581         * ksvg2/dom/SVGElementInstance.cpp:
   3582         (SVGElementInstance::getValueProperty):
   3583         * ksvg2/dom/SVGElementInstance.h:
   3584         * ksvg2/dom/SVGElementInstanceList.cpp:
   3585         (SVGElementInstanceList::getValueProperty):
   3586         (SVGElementInstanceListProtoFunc::callAsFunction):
   3587         * ksvg2/dom/SVGElementInstanceList.h:
   3588         * ksvg2/dom/SVGEllipseElement.cpp:
   3589         (SVGEllipseElement::getValueProperty):
   3590         * ksvg2/dom/SVGEllipseElement.h:
   3591         * ksvg2/dom/SVGException.cpp:
   3592         (SVGException::getValueProperty):
   3593         * ksvg2/dom/SVGException.h:
   3594         * ksvg2/dom/SVGExternalResourcesRequired.cpp:
   3595         (SVGExternalResourcesRequired::getValueProperty):
   3596         * ksvg2/dom/SVGExternalResourcesRequired.h:
   3597         * ksvg2/dom/SVGFEBlendElement.cpp:
   3598         (SVGFEBlendElement::getValueProperty):
   3599         * ksvg2/dom/SVGFEBlendElement.h:
   3600         * ksvg2/dom/SVGFEColorMatrixElement.cpp:
   3601         (SVGFEColorMatrixElement::getValueProperty):
   3602         * ksvg2/dom/SVGFEColorMatrixElement.h:
   3603         * ksvg2/dom/SVGFEComponentTransferElement.cpp:
   3604         (SVGFEComponentTransferElement::getValueProperty):
   3605         * ksvg2/dom/SVGFEComponentTransferElement.h:
   3606         * ksvg2/dom/SVGFECompositeElement.cpp:
   3607         (SVGFECompositeElement::getValueProperty):
   3608         * ksvg2/dom/SVGFECompositeElement.h:
   3609         * ksvg2/dom/SVGFEFloodElement.cpp:
   3610         (SVGFEFloodElement::getValueProperty):
   3611         * ksvg2/dom/SVGFEFloodElement.h:
   3612         * ksvg2/dom/SVGFEGaussianBlurElement.cpp:
   3613         (SVGFEGaussianBlurElement::getValueProperty):
   3614         (SVGFEGaussianBlurElementProtoFunc::callAsFunction):
   3615         * ksvg2/dom/SVGFEGaussianBlurElement.h:
   3616         * ksvg2/dom/SVGFEImageElement.cpp:
   3617         (SVGFEImageElement::getValueProperty):
   3618         * ksvg2/dom/SVGFEImageElement.h:
   3619         * ksvg2/dom/SVGFEMergeElement.cpp:
   3620         (SVGFEMergeElement::getValueProperty):
   3621         * ksvg2/dom/SVGFEMergeElement.h:
   3622         * ksvg2/dom/SVGFEMergeNodeElement.cpp:
   3623         (SVGFEMergeNodeElement::getValueProperty):
   3624         * ksvg2/dom/SVGFEMergeNodeElement.h:
   3625         * ksvg2/dom/SVGFEOffsetElement.cpp:
   3626         (SVGFEOffsetElement::getValueProperty):
   3627         * ksvg2/dom/SVGFEOffsetElement.h:
   3628         * ksvg2/dom/SVGFETileElement.cpp:
   3629         (SVGFETileElement::getValueProperty):
   3630         * ksvg2/dom/SVGFETileElement.h:
   3631         * ksvg2/dom/SVGFETurbulenceElement.cpp:
   3632         (SVGFETurbulenceElement::getValueProperty):
   3633         * ksvg2/dom/SVGFETurbulenceElement.h:
   3634         * ksvg2/dom/SVGFilterElement.cpp:
   3635         (SVGFilterElement::getValueProperty):
   3636         (SVGFilterElementProtoFunc::callAsFunction):
   3637         * ksvg2/dom/SVGFilterElement.h:
   3638         * ksvg2/dom/SVGFilterPrimitiveStandardAttributes.cpp:
   3639         (SVGFilterPrimitiveStandardAttributes::getValueProperty):
   3640         * ksvg2/dom/SVGFilterPrimitiveStandardAttributes.h:
   3641         * ksvg2/dom/SVGFitToViewBox.cpp:
   3642         (SVGFitToViewBox::getValueProperty):
   3643         * ksvg2/dom/SVGFitToViewBox.h:
   3644         * ksvg2/dom/SVGGElement.cpp:
   3645         (SVGGElement::getValueProperty):
   3646         * ksvg2/dom/SVGGElement.h:
   3647         * ksvg2/dom/SVGGradientElement.cpp:
   3648         (SVGGradientElement::getValueProperty):
   3649         * ksvg2/dom/SVGGradientElement.h:
   3650         * ksvg2/dom/SVGImageElement.cpp:
   3651         (SVGImageElement::getValueProperty):
   3652         * ksvg2/dom/SVGImageElement.h:
   3653         * ksvg2/dom/SVGLangSpace.cpp:
   3654         (SVGLangSpace::getValueProperty):
   3655         (SVGLangSpace::putValueProperty):
   3656         * ksvg2/dom/SVGLangSpace.h:
   3657         * ksvg2/dom/SVGLength.cpp:
   3658         (SVGLength::getValueProperty):
   3659         (SVGLength::putValueProperty):
   3660         (SVGLengthProtoFunc::callAsFunction):
   3661         * ksvg2/dom/SVGLength.h:
   3662         * ksvg2/dom/SVGLengthList.cpp:
   3663         (SVGLengthList::getValueProperty):
   3664         (SVGLengthListProtoFunc::callAsFunction):
   3665         * ksvg2/dom/SVGLengthList.h:
   3666         * ksvg2/dom/SVGLineElement.cpp:
   3667         (SVGLineElement::getValueProperty):
   3668         * ksvg2/dom/SVGLineElement.h:
   3669         * ksvg2/dom/SVGLinearGradientElement.cpp:
   3670         (SVGLinearGradientElement::getValueProperty):
   3671         * ksvg2/dom/SVGLinearGradientElement.h:
   3672         * ksvg2/dom/SVGLocatable.cpp:
   3673         (SVGLocatable::getValueProperty):
   3674         (SVGLocatableProtoFunc::callAsFunction):
   3675         * ksvg2/dom/SVGLocatable.h:
   3676         * ksvg2/dom/SVGMarkerElement.cpp:
   3677         (SVGMarkerElement::getValueProperty):
   3678         (SVGMarkerElementProtoFunc::callAsFunction):
   3679         * ksvg2/dom/SVGMarkerElement.h:
   3680         * ksvg2/dom/SVGMatrix.cpp:
   3681         (SVGMatrix::getValueProperty):
   3682         (SVGMatrix::putValueProperty):
   3683         (SVGMatrixProtoFunc::callAsFunction):
   3684         * ksvg2/dom/SVGMatrix.h:
   3685         * ksvg2/dom/SVGNumber.cpp:
   3686         (SVGNumber::getValueProperty):
   3687         (SVGNumber::putValueProperty):
   3688         * ksvg2/dom/SVGNumber.h:
   3689         * ksvg2/dom/SVGNumberList.cpp:
   3690         (SVGNumberList::getValueProperty):
   3691         (SVGNumberListProtoFunc::callAsFunction):
   3692         * ksvg2/dom/SVGNumberList.h:
   3693         * ksvg2/dom/SVGPaint.cpp:
   3694         (SVGPaint::getValueProperty):
   3695         (SVGPaintProtoFunc::callAsFunction):
   3696         * ksvg2/dom/SVGPaint.h:
   3697         * ksvg2/dom/SVGPathElement.cpp:
   3698         (SVGPathElement::getValueProperty):
   3699         (SVGPathElementProtoFunc::callAsFunction):
   3700         * ksvg2/dom/SVGPathElement.h:
   3701         * ksvg2/dom/SVGPathSeg.cpp:
   3702         (SVGPathSeg::getValueProperty):
   3703         * ksvg2/dom/SVGPathSeg.h:
   3704         * ksvg2/dom/SVGPathSegArc.cpp:
   3705         (SVGPathSegArcAbs::getValueProperty):
   3706         (SVGPathSegArcAbs::putValueProperty):
   3707         (SVGPathSegArcRel::getValueProperty):
   3708         (SVGPathSegArcRel::putValueProperty):
   3709         * ksvg2/dom/SVGPathSegArc.h:
   3710         * ksvg2/dom/SVGPathSegCurvetoCubic.cpp:
   3711         (SVGPathSegCurvetoCubicAbs::getValueProperty):
   3712         (SVGPathSegCurvetoCubicAbs::putValueProperty):
   3713         (SVGPathSegCurvetoCubicRel::getValueProperty):
   3714         (SVGPathSegCurvetoCubicRel::putValueProperty):
   3715         * ksvg2/dom/SVGPathSegCurvetoCubic.h:
   3716         * ksvg2/dom/SVGPathSegCurvetoCubicSmooth.cpp:
   3717         (SVGPathSegCurvetoCubicSmoothAbs::getValueProperty):
   3718         (SVGPathSegCurvetoCubicSmoothAbs::putValueProperty):
   3719         (SVGPathSegCurvetoCubicSmoothRel::getValueProperty):
   3720         (SVGPathSegCurvetoCubicSmoothRel::putValueProperty):
   3721         * ksvg2/dom/SVGPathSegCurvetoCubicSmooth.h:
   3722         * ksvg2/dom/SVGPathSegCurvetoQuadratic.cpp:
   3723         (SVGPathSegCurvetoQuadraticAbs::getValueProperty):
   3724         (SVGPathSegCurvetoQuadraticAbs::putValueProperty):
   3725         (SVGPathSegCurvetoQuadraticRel::getValueProperty):
   3726         (SVGPathSegCurvetoQuadraticRel::putValueProperty):
   3727         * ksvg2/dom/SVGPathSegCurvetoQuadratic.h:
   3728         * ksvg2/dom/SVGPathSegCurvetoQuadraticSmooth.cpp:
   3729         (SVGPathSegCurvetoQuadraticSmoothAbs::getValueProperty):
   3730         (SVGPathSegCurvetoQuadraticSmoothAbs::putValueProperty):
   3731         (SVGPathSegCurvetoQuadraticSmoothRel::getValueProperty):
   3732         (SVGPathSegCurvetoQuadraticSmoothRel::putValueProperty):
   3733         * ksvg2/dom/SVGPathSegCurvetoQuadraticSmooth.h:
   3734         * ksvg2/dom/SVGPathSegLineto.cpp:
   3735         (SVGPathSegLinetoAbs::getValueProperty):
   3736         (SVGPathSegLinetoAbs::putValueProperty):
   3737         (SVGPathSegLinetoRel::getValueProperty):
   3738         (SVGPathSegLinetoRel::putValueProperty):
   3739         * ksvg2/dom/SVGPathSegLineto.h:
   3740         * ksvg2/dom/SVGPathSegLinetoHorizontal.cpp:
   3741         (SVGPathSegLinetoHorizontalAbs::getValueProperty):
   3742         (SVGPathSegLinetoHorizontalAbs::putValueProperty):
   3743         (SVGPathSegLinetoHorizontalRel::getValueProperty):
   3744         (SVGPathSegLinetoHorizontalRel::putValueProperty):
   3745         * ksvg2/dom/SVGPathSegLinetoHorizontal.h:
   3746         * ksvg2/dom/SVGPathSegLinetoVertical.cpp:
   3747         (SVGPathSegLinetoVerticalAbs::getValueProperty):
   3748         (SVGPathSegLinetoVerticalAbs::putValueProperty):
   3749         (SVGPathSegLinetoVerticalRel::getValueProperty):
   3750         (SVGPathSegLinetoVerticalRel::putValueProperty):
   3751         * ksvg2/dom/SVGPathSegLinetoVertical.h:
   3752         * ksvg2/dom/SVGPathSegList.cpp:
   3753         (SVGPathSegList::getValueProperty):
   3754         (SVGPathSegListProtoFunc::callAsFunction):
   3755         * ksvg2/dom/SVGPathSegList.h:
   3756         * ksvg2/dom/SVGPathSegMoveto.cpp:
   3757         (SVGPathSegMovetoAbs::getValueProperty):
   3758         (SVGPathSegMovetoAbs::putValueProperty):
   3759         (SVGPathSegMovetoRel::getValueProperty):
   3760         (SVGPathSegMovetoRel::putValueProperty):
   3761         * ksvg2/dom/SVGPathSegMoveto.h:
   3762         * ksvg2/dom/SVGPatternElement.cpp:
   3763         (SVGPatternElement::getValueProperty):
   3764         * ksvg2/dom/SVGPatternElement.h:
   3765         * ksvg2/dom/SVGPoint.cpp:
   3766         (SVGPoint::getValueProperty):
   3767         (SVGPoint::putValueProperty):
   3768         (SVGPointProtoFunc::callAsFunction):
   3769         * ksvg2/dom/SVGPoint.h:
   3770         * ksvg2/dom/SVGPointList.cpp:
   3771         (SVGPointList::getValueProperty):
   3772         (SVGPointListProtoFunc::callAsFunction):
   3773         * ksvg2/dom/SVGPointList.h:
   3774         * ksvg2/dom/SVGPolygonElement.cpp:
   3775         (SVGPolygonElement::getValueProperty):
   3776         * ksvg2/dom/SVGPolygonElement.h:
   3777         * ksvg2/dom/SVGPolylineElement.cpp:
   3778         (SVGPolylineElement::getValueProperty):
   3779         * ksvg2/dom/SVGPolylineElement.h:
   3780         * ksvg2/dom/SVGPreserveAspectRatio.cpp:
   3781         (SVGPreserveAspectRatio::getValueProperty):
   3782         (SVGPreserveAspectRatio::putValueProperty):
   3783         * ksvg2/dom/SVGPreserveAspectRatio.h:
   3784         * ksvg2/dom/SVGRadialGradientElement.cpp:
   3785         (SVGRadialGradientElement::getValueProperty):
   3786         * ksvg2/dom/SVGRadialGradientElement.h:
   3787         * ksvg2/dom/SVGRect.cpp:
   3788         (SVGRect::getValueProperty):
   3789         (SVGRect::putValueProperty):
   3790         * ksvg2/dom/SVGRect.h:
   3791         * ksvg2/dom/SVGRectElement.cpp:
   3792         (SVGRectElement::getValueProperty):
   3793         * ksvg2/dom/SVGRectElement.h:
   3794         * ksvg2/dom/SVGSVGElement.cpp:
   3795         (SVGSVGElement::getValueProperty):
   3796         (SVGSVGElement::putValueProperty):
   3797         (SVGSVGElementProtoFunc::callAsFunction):
   3798         * ksvg2/dom/SVGSVGElement.h:
   3799         * ksvg2/dom/SVGScriptElement.cpp:
   3800         (SVGScriptElement::getValueProperty):
   3801         (SVGScriptElement::putValueProperty):
   3802         * ksvg2/dom/SVGScriptElement.h:
   3803         * ksvg2/dom/SVGSetElement.cpp:
   3804         (SVGSetElement::getValueProperty):
   3805         * ksvg2/dom/SVGSetElement.h:
   3806         * ksvg2/dom/SVGStopElement.cpp:
   3807         (SVGStopElement::getValueProperty):
   3808         * ksvg2/dom/SVGStopElement.h:
   3809         * ksvg2/dom/SVGStringList.cpp:
   3810         (SVGStringList::getValueProperty):
   3811         (SVGStringListProtoFunc::callAsFunction):
   3812         * ksvg2/dom/SVGStringList.h:
   3813         * ksvg2/dom/SVGStylable.cpp:
   3814         (SVGStylable::getValueProperty):
   3815         (SVGStylableProtoFunc::callAsFunction):
   3816         * ksvg2/dom/SVGStylable.h:
   3817         * ksvg2/dom/SVGStyleElement.cpp:
   3818         (SVGStyleElement::getValueProperty):
   3819         (SVGStyleElement::putValueProperty):
   3820         * ksvg2/dom/SVGStyleElement.h:
   3821         * ksvg2/dom/SVGSwitchElement.cpp:
   3822         (SVGSwitchElement::getValueProperty):
   3823         * ksvg2/dom/SVGSwitchElement.h:
   3824         * ksvg2/dom/SVGSymbolElement.cpp:
   3825         (SVGSymbolElement::getValueProperty):
   3826         * ksvg2/dom/SVGSymbolElement.h:
   3827         * ksvg2/dom/SVGTSpanElement.cpp:
   3828         (SVGTSpanElement::getValueProperty):
   3829         * ksvg2/dom/SVGTSpanElement.h:
   3830         * ksvg2/dom/SVGTests.cpp:
   3831         (SVGTests::getValueProperty):
   3832         (SVGTestsProtoFunc::callAsFunction):
   3833         * ksvg2/dom/SVGTests.h:
   3834         * ksvg2/dom/SVGTextContentElement.cpp:
   3835         (SVGTextContentElement::getValueProperty):
   3836         (SVGTextContentElementProtoFunc::callAsFunction):
   3837         * ksvg2/dom/SVGTextContentElement.h:
   3838         * ksvg2/dom/SVGTextElement.cpp:
   3839         (SVGTextElement::getValueProperty):
   3840         * ksvg2/dom/SVGTextElement.h:
   3841         * ksvg2/dom/SVGTextPositioningElement.cpp:
   3842         (SVGTextPositioningElement::getValueProperty):
   3843         * ksvg2/dom/SVGTextPositioningElement.h:
   3844         * ksvg2/dom/SVGTitleElement.cpp:
   3845         (SVGTitleElement::getValueProperty):
   3846         * ksvg2/dom/SVGTitleElement.h:
   3847         * ksvg2/dom/SVGTransform.cpp:
   3848         (SVGTransform::getValueProperty):
   3849         (SVGTransformProtoFunc::callAsFunction):
   3850         * ksvg2/dom/SVGTransform.h:
   3851         * ksvg2/dom/SVGTransformList.cpp:
   3852         (SVGTransformList::getValueProperty):
   3853         (SVGTransformListProtoFunc::callAsFunction):
   3854         * ksvg2/dom/SVGTransformList.h:
   3855         * ksvg2/dom/SVGTransformable.cpp:
   3856         (SVGTransformable::getValueProperty):
   3857         * ksvg2/dom/SVGTransformable.h:
   3858         * ksvg2/dom/SVGURIReference.cpp:
   3859         (SVGURIReference::getValueProperty):
   3860         * ksvg2/dom/SVGURIReference.h:
   3861         * ksvg2/dom/SVGUseElement.cpp:
   3862         (SVGUseElement::getValueProperty):
   3863         * ksvg2/dom/SVGUseElement.h:
   3864         * ksvg2/dom/SVGViewElement.cpp:
   3865         (SVGViewElement::getValueProperty):
   3866         * ksvg2/dom/SVGViewElement.h:
   3867         * ksvg2/dom/SVGZoomAndPan.cpp:
   3868         (SVGZoomAndPan::getValueProperty):
   3869         (SVGZoomAndPan::putValueProperty):
   3870         * ksvg2/dom/SVGZoomAndPan.h:
   3871         * ksvg2/ecma/Ecma.cpp:
   3872         (KSVG::getSVGPathSeg):
   3873         * ksvg2/ecma/Ecma.h:
   3874         * ksvg2/ecma/GlobalObject.cpp:
   3875         (GlobalObject::get):
   3876         * ksvg2/ecma/GlobalObject.h:
   3877         * ksvg2/events/SVGEvent.cpp:
   3878         (SVGEvent::getValueProperty):
   3879         * ksvg2/events/SVGEvent.h:
   3880         * ksvg2/events/SVGZoomEvent.cpp:
   3881         (SVGZoomEvent::getValueProperty):
   3882         * ksvg2/events/SVGZoomEvent.h:
   3883         * ksvg2/impl/SVGScriptElementImpl.cpp:
   3884         (SVGScriptElementImpl::executeScript):
   3885 
   3886 2005-08-07  Darin Adler  <darin (a] apple.com>
   3887 
   3888         Rubber stamped by Maciej.
   3889 
   3890         - fixed http://bugs.webkit.org/show_bug.cgi?id=4313
   3891           eliminate KJS::Value and KJS::Object smart pointer wrappers (for simplicity and speed)
   3892 
   3893         * khtml/ecma/domparser.cpp:
   3894         (KJS::DOMParserConstructorImp::construct):
   3895         (KJS::DOMParserProtoFunc::callAsFunction):
   3896         * khtml/ecma/domparser.h:
   3897         * khtml/ecma/kjs_binding.cpp:
   3898         (KJS::ScriptInterpreter::ScriptInterpreter):
   3899         (KJS::ScriptInterpreter::isGlobalObject):
   3900         (KJS::ScriptInterpreter::createLanguageInstanceForValue):
   3901         (KJS::getStringOrNull):
   3902         (KJS::ValueToVariant):
   3903         (KJS::setDOMException):
   3904         * khtml/ecma/kjs_binding.h:
   3905         (KJS::DOMFunction::toPrimitive):
   3906         (KJS::cacheDOMObject):
   3907         * khtml/ecma/kjs_css.cpp:
   3908         (KJS::DOMCSSStyleDeclaration::indexGetter):
   3909         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
   3910         (KJS::DOMCSSStyleDeclaration::getValueProperty):
   3911         (KJS::DOMCSSStyleDeclaration::put):
   3912         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
   3913         (KJS::DOMStyleSheet::getValueProperty):
   3914         (KJS::DOMStyleSheet::put):
   3915         (KJS::DOMStyleSheetList::getValueProperty):
   3916         (KJS::DOMStyleSheetList::indexGetter):
   3917         (KJS::DOMStyleSheetList::nameGetter):
   3918         (KJS::DOMStyleSheetListFunc::callAsFunction):
   3919         (KJS::DOMMediaList::getValueProperty):
   3920         (KJS::DOMMediaList::indexGetter):
   3921         (KJS::DOMMediaList::put):
   3922         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
   3923         (KJS::DOMCSSStyleSheet::getValueProperty):
   3924         (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
   3925         (KJS::DOMCSSRuleList::getValueProperty):
   3926         (KJS::DOMCSSRuleList::indexGetter):
   3927         (KJS::DOMCSSRuleListFunc::callAsFunction):
   3928         (KJS::DOMCSSRule::getValueProperty):
   3929         (KJS::DOMCSSRule::put):
   3930         (KJS::DOMCSSRule::putValueProperty):
   3931         (KJS::DOMCSSRuleFunc::callAsFunction):
   3932         (KJS::CSSRuleConstructor::getValueProperty):
   3933         (KJS::getCSSRuleConstructor):
   3934         (KJS::DOMCSSValue::getValueProperty):
   3935         (KJS::DOMCSSValue::put):
   3936         (KJS::getDOMCSSValue):
   3937         (KJS::CSSValueConstructor::getValueProperty):
   3938         (KJS::getCSSValueConstructor):
   3939         (KJS::DOMCSSPrimitiveValue::getValueProperty):
   3940         (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
   3941         (KJS::CSSPrimitiveValueConstructor::getValueProperty):
   3942         (KJS::getCSSPrimitiveValueConstructor):
   3943         (KJS::DOMCSSValueList::getValueProperty):
   3944         (KJS::DOMCSSValueList::indexGetter):
   3945         (KJS::DOMCSSValueListFunc::callAsFunction):
   3946         (KJS::DOMRGBColor::getValueProperty):
   3947         (KJS::DOMRect::getValueProperty):
   3948         (KJS::DOMCounter::getValueProperty):
   3949         * khtml/ecma/kjs_css.h:
   3950         * khtml/ecma/kjs_dom.cpp:
   3951         (KJS::DOMNode::getValueProperty):
   3952         (KJS::DOMNode::put):
   3953         (KJS::DOMNode::putValueProperty):
   3954         (KJS::DOMNode::toPrimitive):
   3955         (KJS::DOMNode::getListener):
   3956         (KJS::DOMNodeProtoFunc::callAsFunction):
   3957         (KJS::DOMNodeList::toPrimitive):
   3958         (KJS::DOMNodeList::getValueProperty):
   3959         (KJS::DOMNodeList::indexGetter):
   3960         (KJS::DOMNodeList::nameGetter):
   3961         (KJS::DOMNodeList::callAsFunction):
   3962         (KJS::DOMNodeListFunc::DOMNodeListFunc):
   3963         (KJS::DOMNodeListFunc::callAsFunction):
   3964         (KJS::DOMAttr::getValueProperty):
   3965         (KJS::DOMAttr::put):
   3966         (KJS::DOMAttr::putValueProperty):
   3967         (KJS::DOMDocument::getValueProperty):
   3968         (KJS::DOMDocument::put):
   3969         (KJS::DOMDocument::putValueProperty):
   3970         (KJS::DOMDocumentProtoFunc::callAsFunction):
   3971         (KJS::DOMElement::getValueProperty):
   3972         (KJS::DOMElement::attributeGetter):
   3973         (KJS::DOMElement::getOwnPropertySlot):
   3974         (KJS::DOMElementProtoFunc::callAsFunction):
   3975         (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
   3976         (KJS::DOMDocumentType::getValueProperty):
   3977         (KJS::DOMNamedNodeMap::lengthGetter):
   3978         (KJS::DOMNamedNodeMap::indexGetter):
   3979         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
   3980         (KJS::DOMProcessingInstruction::getValueProperty):
   3981         (KJS::DOMProcessingInstruction::put):
   3982         (KJS::DOMNotation::getValueProperty):
   3983         (KJS::DOMEntity::getValueProperty):
   3984         (KJS::NodeConstructor::getValueProperty):
   3985         (KJS::DOMExceptionConstructor::getValueProperty):
   3986         (KJS::DOMNamedNodesCollection::lengthGetter):
   3987         (KJS::DOMNamedNodesCollection::indexGetter):
   3988         (KJS::DOMCharacterData::getValueProperty):
   3989         (KJS::DOMCharacterData::put):
   3990         (KJS::DOMCharacterDataProtoFunc::callAsFunction):
   3991         (KJS::DOMTextProtoFunc::callAsFunction):
   3992         * khtml/ecma/kjs_dom.h:
   3993         * khtml/ecma/kjs_events.cpp:
   3994         (KJS::JSAbstractEventListener::handleEvent):
   3995         (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener):
   3996         (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener):
   3997         (KJS::JSUnprotectedEventListener::listenerObj):
   3998         (KJS::JSUnprotectedEventListener::windowObj):
   3999         (KJS::JSUnprotectedEventListener::mark):
   4000         (KJS::JSEventListener::JSEventListener):
   4001         (KJS::JSEventListener::~JSEventListener):
   4002         (KJS::JSEventListener::listenerObj):
   4003         (KJS::JSEventListener::windowObj):
   4004         (KJS::JSLazyEventListener::JSLazyEventListener):
   4005         (KJS::JSLazyEventListener::handleEvent):
   4006         (KJS::JSLazyEventListener::listenerObj):
   4007         (KJS::JSLazyEventListener::parseCode):
   4008         (KJS::getNodeEventListener):
   4009         (KJS::EventConstructor::getValueProperty):
   4010         (KJS::getEventConstructor):
   4011         (KJS::DOMEvent::getValueProperty):
   4012         (KJS::DOMEvent::put):
   4013         (KJS::DOMEvent::putValueProperty):
   4014         (KJS::DOMEventProtoFunc::callAsFunction):
   4015         (KJS::getDOMEvent):
   4016         (KJS::EventExceptionConstructor::getValueProperty):
   4017         (KJS::getEventExceptionConstructor):
   4018         (KJS::DOMUIEvent::getValueProperty):
   4019         (KJS::DOMUIEventProtoFunc::callAsFunction):
   4020         (KJS::DOMMouseEvent::getValueProperty):
   4021         (KJS::DOMMouseEventProtoFunc::callAsFunction):
   4022         (KJS::DOMKeyboardEvent::getValueProperty):
   4023         (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
   4024         (KJS::MutationEventConstructor::getValueProperty):
   4025         (KJS::getMutationEventConstructor):
   4026         (KJS::DOMMutationEvent::getValueProperty):
   4027         (KJS::DOMMutationEventProtoFunc::callAsFunction):
   4028         (KJS::DOMWheelEvent::getValueProperty):
   4029         (KJS::DOMWheelEventProtoFunc::callAsFunction):
   4030         (KJS::stringOrUndefined):
   4031         (KJS::Clipboard::getValueProperty):
   4032         (KJS::Clipboard::put):
   4033         (KJS::Clipboard::putValueProperty):
   4034         (KJS::ClipboardProtoFunc::callAsFunction):
   4035         * khtml/ecma/kjs_events.h:
   4036         (KJS::JSAbstractEventListener::listenerObjImp):
   4037         * khtml/ecma/kjs_html.cpp:
   4038         (KJS::KJS::HTMLDocFunction::callAsFunction):
   4039         (KJS::HTMLDocument::namedItemGetter):
   4040         (KJS::HTMLDocument::getValueProperty):
   4041         (KJS::KJS::HTMLDocument::put):
   4042         (KJS::KJS::HTMLDocument::putValueProperty):
   4043         (KJS::HTMLElement::formIndexGetter):
   4044         (KJS::HTMLElement::formNameGetter):
   4045         (KJS::HTMLElement::selectIndexGetter):
   4046         (KJS::HTMLElement::framesetNameGetter):
   4047         (KJS::HTMLElement::frameWindowPropertyGetter):
   4048         (KJS::HTMLElement::runtimeObjectGetter):
   4049         (KJS::HTMLElement::runtimeObjectPropertyGetter):
   4050         (KJS::HTMLElement::getOwnPropertySlot):
   4051         (KJS::KJS::HTMLElement::implementsCall):
   4052         (KJS::KJS::HTMLElement::callAsFunction):
   4053         (KJS::HTMLElement::htmlGetter):
   4054         (KJS::HTMLElement::headGetter):
   4055         (KJS::HTMLElement::linkGetter):
   4056         (KJS::HTMLElement::titleGetter):
   4057         (KJS::HTMLElement::metaGetter):
   4058         (KJS::HTMLElement::baseGetter):
   4059         (KJS::HTMLElement::isIndexGetter):
   4060         (KJS::HTMLElement::styleGetter):
   4061         (KJS::HTMLElement::bodyGetter):
   4062         (KJS::HTMLElement::formGetter):
   4063         (KJS::HTMLElement::selectGetter):
   4064         (KJS::HTMLElement::optGroupGetter):
   4065         (KJS::HTMLElement::optionGetter):
   4066         (KJS::getInputSelectionStart):
   4067         (KJS::getInputSelectionEnd):
   4068         (KJS::HTMLElement::inputGetter):
   4069         (KJS::HTMLElement::textAreaGetter):
   4070         (KJS::HTMLElement::buttonGetter):
   4071         (KJS::HTMLElement::labelGetter):
   4072         (KJS::HTMLElement::fieldSetGetter):
   4073         (KJS::HTMLElement::legendGetter):
   4074         (KJS::HTMLElement::uListGetter):
   4075         (KJS::HTMLElement::oListGetter):
   4076         (KJS::HTMLElement::dListGetter):
   4077         (KJS::HTMLElement::dirGetter):
   4078         (KJS::HTMLElement::menuGetter):
   4079         (KJS::HTMLElement::liGetter):
   4080         (KJS::HTMLElement::divGetter):
   4081         (KJS::HTMLElement::paragraphGetter):
   4082         (KJS::HTMLElement::headingGetter):
   4083         (KJS::HTMLElement::blockQuoteGetter):
   4084         (KJS::HTMLElement::quoteGetter):
   4085         (KJS::HTMLElement::preGetter):
   4086         (KJS::HTMLElement::brGetter):
   4087         (KJS::HTMLElement::baseFontGetter):
   4088         (KJS::HTMLElement::fontGetter):
   4089         (KJS::HTMLElement::hrGetter):
   4090         (KJS::HTMLElement::modGetter):
   4091         (KJS::HTMLElement::anchorGetter):
   4092         (KJS::HTMLElement::imageGetter):
   4093         (KJS::HTMLElement::objectGetter):
   4094         (KJS::HTMLElement::paramGetter):
   4095         (KJS::HTMLElement::appletGetter):
   4096         (KJS::HTMLElement::mapGetter):
   4097         (KJS::HTMLElement::areaGetter):
   4098         (KJS::HTMLElement::scriptGetter):
   4099         (KJS::HTMLElement::tableGetter):
   4100         (KJS::HTMLElement::tableCaptionGetter):
   4101         (KJS::HTMLElement::tableColGetter):
   4102         (KJS::HTMLElement::tableSectionGetter):
   4103         (KJS::HTMLElement::tableRowGetter):
   4104         (KJS::HTMLElement::tableCellGetter):
   4105         (KJS::HTMLElement::frameSetGetter):
   4106         (KJS::HTMLElement::frameGetter):
   4107         (KJS::HTMLElement::iFrameGetter):
   4108         (KJS::HTMLElement::marqueeGetter):
   4109         (KJS::HTMLElement::getValueProperty):
   4110         (KJS::HTMLElementFunction::HTMLElementFunction):
   4111         (KJS::KJS::HTMLElementFunction::callAsFunction):
   4112         (KJS::KJS::HTMLElement::put):
   4113         (KJS::HTMLElement::htmlSetter):
   4114         (KJS::HTMLElement::headSetter):
   4115         (KJS::HTMLElement::linkSetter):
   4116         (KJS::HTMLElement::titleSetter):
   4117         (KJS::HTMLElement::metaSetter):
   4118         (KJS::HTMLElement::baseSetter):
   4119         (KJS::HTMLElement::isIndexSetter):
   4120         (KJS::HTMLElement::styleSetter):
   4121         (KJS::HTMLElement::bodySetter):
   4122         (KJS::HTMLElement::formSetter):
   4123         (KJS::HTMLElement::selectSetter):
   4124         (KJS::HTMLElement::optGroupSetter):
   4125         (KJS::HTMLElement::optionSetter):
   4126         (KJS::HTMLElement::inputSetter):
   4127         (KJS::HTMLElement::textAreaSetter):
   4128         (KJS::HTMLElement::buttonSetter):
   4129         (KJS::HTMLElement::labelSetter):
   4130         (KJS::HTMLElement::fieldSetSetter):
   4131         (KJS::HTMLElement::legendSetter):
   4132         (KJS::HTMLElement::uListSetter):
   4133         (KJS::HTMLElement::oListSetter):
   4134         (KJS::HTMLElement::dListSetter):
   4135         (KJS::HTMLElement::dirSetter):
   4136         (KJS::HTMLElement::menuSetter):
   4137         (KJS::HTMLElement::liSetter):
   4138         (KJS::HTMLElement::divSetter):
   4139         (KJS::HTMLElement::paragraphSetter):
   4140         (KJS::HTMLElement::headingSetter):
   4141         (KJS::HTMLElement::blockQuoteSetter):
   4142         (KJS::HTMLElement::quoteSetter):
   4143         (KJS::HTMLElement::preSetter):
   4144         (KJS::HTMLElement::brSetter):
   4145         (KJS::HTMLElement::baseFontSetter):
   4146         (KJS::HTMLElement::fontSetter):
   4147         (KJS::HTMLElement::hrSetter):
   4148         (KJS::HTMLElement::modSetter):
   4149         (KJS::HTMLElement::anchorSetter):
   4150         (KJS::HTMLElement::imageSetter):
   4151         (KJS::HTMLElement::objectSetter):
   4152         (KJS::HTMLElement::paramSetter):
   4153         (KJS::HTMLElement::appletSetter):
   4154         (KJS::HTMLElement::mapSetter):
   4155         (KJS::HTMLElement::areaSetter):
   4156         (KJS::HTMLElement::scriptSetter):
   4157         (KJS::HTMLElement::tableSetter):
   4158         (KJS::HTMLElement::tableCaptionSetter):
   4159         (KJS::HTMLElement::tableColSetter):
   4160         (KJS::HTMLElement::tableSectionSetter):
   4161         (KJS::HTMLElement::tableRowSetter):
   4162         (KJS::HTMLElement::tableCellSetter):
   4163         (KJS::HTMLElement::frameSetSetter):
   4164         (KJS::HTMLElement::frameSetter):
   4165         (KJS::HTMLElement::iFrameSetter):
   4166         (KJS::HTMLElement::marqueeSetter):
   4167         (KJS::HTMLElement::putValueProperty):
   4168         (KJS::HTMLCollection::lengthGetter):
   4169         (KJS::HTMLCollection::indexGetter):
   4170         (KJS::HTMLCollection::nameGetter):
   4171         (KJS::HTMLCollection::getOwnPropertySlot):
   4172         (KJS::KJS::HTMLCollection::callAsFunction):
   4173         (KJS::KJS::HTMLCollection::getNamedItems):
   4174         (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
   4175         (KJS::HTMLSelectCollection::selectedIndexGetter):
   4176         (KJS::KJS::HTMLSelectCollection::put):
   4177         (KJS::OptionConstructorImp::construct):
   4178         (KJS::ImageConstructorImp::construct):
   4179         (KJS::Image::getValueProperty):
   4180         (KJS::Image::put):
   4181         (KJS::Image::putValueProperty):
   4182         (KJS::isGradient):
   4183         (KJS::isImagePattern):
   4184         (KJS::KJS::Context2DFunction::callAsFunction):
   4185         (KJS::Context2D::getValueProperty):
   4186         (KJS::Context2D::put):
   4187         (KJS::colorRefFromValue):
   4188         (KJS::colorFromValue):
   4189         (KJS::Context2D::setShadow):
   4190         (KJS::Context2D::updateFillImagePattern):
   4191         (KJS::Context2D::updateStrokeImagePattern):
   4192         (KJS::Context2D::putValueProperty):
   4193         (KJS::Context2D::Context2D):
   4194         (KJS::Context2D::mark):
   4195         (KJS::GradientFunction::callAsFunction):
   4196         (KJS::Gradient::getValueProperty):
   4197         (KJS::Gradient::put):
   4198         (KJS::Gradient::putValueProperty):
   4199         (KJS::ImagePattern::getValueProperty):
   4200         (KJS::ImagePattern::put):
   4201         (KJS::ImagePattern::putValueProperty):
   4202         * khtml/ecma/kjs_html.h:
   4203         * khtml/ecma/kjs_navigator.cpp:
   4204         (KJS::Navigator::getValueProperty):
   4205         (KJS::Plugins::getValueProperty):
   4206         (KJS::Plugins::indexGetter):
   4207         (KJS::Plugins::nameGetter):
   4208         (KJS::MimeTypes::getValueProperty):
   4209         (KJS::MimeTypes::indexGetter):
   4210         (KJS::MimeTypes::nameGetter):
   4211         (KJS::Plugin::getValueProperty):
   4212         (KJS::Plugin::indexGetter):
   4213         (KJS::Plugin::nameGetter):
   4214         (KJS::MimeType::getValueProperty):
   4215         (KJS::PluginsFunc::callAsFunction):
   4216         (KJS::NavigatorFunc::callAsFunction):
   4217         * khtml/ecma/kjs_navigator.h:
   4218         * khtml/ecma/kjs_proxy.cpp:
   4219         (KJSProxyImpl::evaluate):
   4220         (TestFunctionImp::callAsFunction):
   4221         (KJSProxyImpl::initScript):
   4222         (KJSProxy::proxy):
   4223         * khtml/ecma/kjs_range.cpp:
   4224         (KJS::DOMRange::getValueProperty):
   4225         (KJS::DOMRangeProtoFunc::callAsFunction):
   4226         (KJS::RangeConstructor::getValueProperty):
   4227         * khtml/ecma/kjs_range.h:
   4228         * khtml/ecma/kjs_traversal.cpp:
   4229         (KJS::DOMNodeIterator::getValueProperty):
   4230         (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
   4231         (KJS::NodeFilterConstructor::getValueProperty):
   4232         (KJS::getNodeFilterConstructor):
   4233         (KJS::DOMNodeFilterProtoFunc::callAsFunction):
   4234         (KJS::DOMTreeWalker::getValueProperty):
   4235         (KJS::DOMTreeWalker::put):
   4236         (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
   4237         (KJS::JSNodeFilterCondition::JSNodeFilterCondition):
   4238         (KJS::JSNodeFilterCondition::acceptNode):
   4239         * khtml/ecma/kjs_traversal.h:
   4240         * khtml/ecma/kjs_views.cpp:
   4241         (KJS::DOMAbstractView::getValueProperty):
   4242         (KJS::DOMAbstractViewFunc::callAsFunction):
   4243         * khtml/ecma/kjs_views.h:
   4244         * khtml/ecma/kjs_window.cpp:
   4245         (KJS::Screen::getValueProperty):
   4246         (KJS::Window::retrieveWindow):
   4247         (KJS::Window::retrieveActive):
   4248         (KJS::Window::retrieve):
   4249         (KJS::parseFeatures):
   4250         (KJS::showModalDialog):
   4251         (KJS::Window::getValueProperty):
   4252         (KJS::Window::childFrameGetter):
   4253         (KJS::Window::namedFrameGetter):
   4254         (KJS::Window::indexGetter):
   4255         (KJS::Window::namedItemGetter):
   4256         (KJS::Window::put):
   4257         (KJS::Window::installTimeout):
   4258         (KJS::Window::setListener):
   4259         (KJS::Window::getListener):
   4260         (KJS::Window::getJSEventListener):
   4261         (KJS::Window::getJSUnprotectedEventListener):
   4262         (KJS::Window::getJSLazyEventListener):
   4263         (KJS::WindowFunc::callAsFunction):
   4264         (KJS::ScheduledAction::ScheduledAction):
   4265         (KJS::ScheduledAction::execute):
   4266         (KJS::WindowQObject::installTimeout):
   4267         (KJS::FrameArray::getValueProperty):
   4268         (KJS::FrameArray::indexGetter):
   4269         (KJS::FrameArray::nameGetter):
   4270         (KJS::Location::getValueProperty):
   4271         (KJS::Location::put):
   4272         (KJS::Location::toPrimitive):
   4273         (KJS::LocationFunc::callAsFunction):
   4274         (KJS::Selection::getValueProperty):
   4275         (KJS::Selection::toPrimitive):
   4276         (KJS::SelectionFunc::callAsFunction):
   4277         (KJS::BarInfo::getValueProperty):
   4278         (KJS::History::getValueProperty):
   4279         (KJS::HistoryFunc::callAsFunction):
   4280         (KJS::Konqueror::get):
   4281         (KJS::KonquerorFunc::callAsFunction):
   4282         * khtml/ecma/kjs_window.h:
   4283         * khtml/ecma/xmlhttprequest.cpp:
   4284         (KJS::XMLHttpRequestConstructorImp::construct):
   4285         (KJS::XMLHttpRequest::getValueProperty):
   4286         (KJS::XMLHttpRequest::put):
   4287         (KJS::XMLHttpRequest::putValueProperty):
   4288         (KJS::XMLHttpRequest::getAllResponseHeaders):
   4289         (KJS::XMLHttpRequest::getResponseHeader):
   4290         (KJS::XMLHttpRequest::getStatus):
   4291         (KJS::XMLHttpRequest::getStatusText):
   4292         (KJS::XMLHttpRequestProtoFunc::callAsFunction):
   4293         * khtml/ecma/xmlhttprequest.h:
   4294         * khtml/ecma/xmlserializer.cpp:
   4295         (KJS::XMLSerializerConstructorImp::construct):
   4296         (KJS::XMLSerializerProtoFunc::callAsFunction):
   4297         * khtml/ecma/xmlserializer.h:
   4298         * kwq/DOMUtility.mm:
   4299         (KJS::ScriptInterpreter::createObjcInstanceForValue):
   4300         * kwq/KWQKHTMLPart.mm:
   4301         (KWQKHTMLPart::bindingRootObject):
   4302         (KWQKHTMLPart::windowScriptObject):
   4303         (KWQKHTMLPart::windowScriptNPObject):
   4304         * kwq/WebCoreBridge.mm:
   4305         (-[WebCoreBridge executionContextForView:]):
   4306         * kwq/WebCoreScriptDebugger.mm:
   4307         (WebCoreScriptDebuggerImp::callEvent):
   4308         (WebCoreScriptDebuggerImp::returnEvent):
   4309         (-[WebCoreScriptDebugger finalize]):
   4310         (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
   4311         (-[WebCoreScriptCallFrame scopeChain]):
   4312         (-[WebCoreScriptCallFrame evaluateWebScript:]):
   4313 
   4314 2005-08-07  Eric Seidel  <eseidel (a] apple.com>
   4315 
   4316         Reviewed by darin.
   4317 
   4318         * kcanvas/KCanvasTreeDebug.cpp:
   4319         (operator<<):
   4320         Added support for printing many additional style values.
   4321         Added the W3C SVG test suite as layout tests.
   4322         http://bugs.webkit.org/show_bug.cgi?id=4303
   4323 
   4324         Test cases added:
   4325         * svg-tests/W3C-SVG-1.1/Resources/DisplaceChecker.png: Added.
   4326         * svg-tests/W3C-SVG-1.1/Resources/SVG-1.1-monolithic-fixed.dtd: Added.
   4327         * svg-tests/W3C-SVG-1.1/Resources/animation-add-BE-09-expected.txt: Added.
   4328         * svg-tests/W3C-SVG-1.1/Resources/animation-add-BE-09.svg: Added.
   4329         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.txt: Added.
   4330         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1.svg: Added.
   4331         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image2-expected.txt: Added.
   4332         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image2.svg: Added.
   4333         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image3-expected.txt: Added.
   4334         * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image3.svg: Added.
   4335         * svg-tests/W3C-SVG-1.1/Resources/bluesquidj.png: Added.
   4336         * svg-tests/W3C-SVG-1.1/Resources/bullet-small.png: Added.
   4337         * svg-tests/W3C-SVG-1.1/Resources/bullet-white.png: Added.
   4338         * svg-tests/W3C-SVG-1.1/Resources/bullet.png: Added.
   4339         * svg-tests/W3C-SVG-1.1/Resources/bumpMap.png: Added.
   4340         * svg-tests/W3C-SVG-1.1/Resources/bumpMap2.png: Added.
   4341         * svg-tests/W3C-SVG-1.1/Resources/changeColor.ICM: Added.
   4342         * svg-tests/W3C-SVG-1.1/Resources/colorprof.png: Added.
   4343         * svg-tests/W3C-SVG-1.1/Resources/convolveImage.png: Added.
   4344         * svg-tests/W3C-SVG-1.1/Resources/coords-units-01-f-expected.txt: Added.
   4345         * svg-tests/W3C-SVG-1.1/Resources/coords-units-01-f.png: Added.
   4346         * svg-tests/W3C-SVG-1.1/Resources/coords-units-01-f.svg: Added.
   4347         * svg-tests/W3C-SVG-1.1/Resources/copyright-documents-19990405.html: Added.
   4348         * svg-tests/W3C-SVG-1.1/Resources/diagarrow.png: Added.
   4349         * svg-tests/W3C-SVG-1.1/Resources/ext-TestComic-expected.txt: Added.
   4350         * svg-tests/W3C-SVG-1.1/Resources/ext-TestComic.svg: Added.
   4351         * svg-tests/W3C-SVG-1.1/Resources/fillChangeColor.ICM: Added.
   4352         * svg-tests/W3C-SVG-1.1/Resources/filters-blend-01-f-expected.txt: Added.
   4353         * svg-tests/W3C-SVG-1.1/Resources/filters-blend-01-f.svg: Added.
   4354         * svg-tests/W3C-SVG-1.1/Resources/filters-color-01-f-expected.txt: Added.
   4355         * svg-tests/W3C-SVG-1.1/Resources/filters-color-01-f.svg: Added.
   4356         * svg-tests/W3C-SVG-1.1/Resources/filters-composite-01-f-expected.txt: Added.
   4357         * svg-tests/W3C-SVG-1.1/Resources/filters-composite-01-f.svg: Added.
   4358         * svg-tests/W3C-SVG-1.1/Resources/filters-comptran-01-f.svg-disabled: Added.
   4359         * svg-tests/W3C-SVG-1.1/Resources/filters-conv-01-f-expected.txt: Added.
   4360         * svg-tests/W3C-SVG-1.1/Resources/filters-conv-01-f.includeimage.png: Added.
   4361         * svg-tests/W3C-SVG-1.1/Resources/filters-conv-01-f.svg: Added.
   4362         * svg-tests/W3C-SVG-1.1/Resources/filters-diffuse-01-f-expected.txt: Added.
   4363         * svg-tests/W3C-SVG-1.1/Resources/filters-diffuse-01-f.svg: Added.
   4364         * svg-tests/W3C-SVG-1.1/Resources/filters-example-01-f-expected.txt: Added.
   4365         * svg-tests/W3C-SVG-1.1/Resources/filters-example-01-f.svg: Added.
   4366         * svg-tests/W3C-SVG-1.1/Resources/gam030.png: Added.
   4367         * svg-tests/W3C-SVG-1.1/Resources/gam030b.png: Added.
   4368         * svg-tests/W3C-SVG-1.1/Resources/gam045.png: Added.
   4369         * svg-tests/W3C-SVG-1.1/Resources/gam045b.png: Added.
   4370         * svg-tests/W3C-SVG-1.1/Resources/gam056.png: Added.
   4371         * svg-tests/W3C-SVG-1.1/Resources/gam056b.png: Added.
   4372         * svg-tests/W3C-SVG-1.1/Resources/gam100.png: Added.
   4373         * svg-tests/W3C-SVG-1.1/Resources/gam100b.png: Added.
   4374         * svg-tests/W3C-SVG-1.1/Resources/gam200.png: Added.
   4375         * svg-tests/W3C-SVG-1.1/Resources/gam200b.png: Added.
   4376         * svg-tests/W3C-SVG-1.1/Resources/greentopbutton.jpg: Added.
   4377         * svg-tests/W3C-SVG-1.1/Resources/image.png: Added.
   4378         * svg-tests/W3C-SVG-1.1/Resources/image1.jpg: Added.
   4379         * svg-tests/W3C-SVG-1.1/Resources/image1.png: Added.
   4380         * svg-tests/W3C-SVG-1.1/Resources/image1_b.png: Added.
   4381         * svg-tests/W3C-SVG-1.1/Resources/image2_b.jpg: Added.
   4382         * svg-tests/W3C-SVG-1.1/Resources/image2_b.png: Added.
   4383         * svg-tests/W3C-SVG-1.1/Resources/interact-dom-01-f-expected.txt: Added.
   4384         * svg-tests/W3C-SVG-1.1/Resources/interact-dom-01-f.svg: Added.
   4385         * svg-tests/W3C-SVG-1.1/Resources/interact-order-02-b-targ-expected.txt: Added.
   4386         * svg-tests/W3C-SVG-1.1/Resources/interact-order-02-b-targ.svg: Added.
   4387         * svg-tests/W3C-SVG-1.1/Resources/interact-order-03-b-targ-expected.txt: Added.
   4388         * svg-tests/W3C-SVG-1.1/Resources/interact-order-03-b-targ.svg: Added.
   4389         * svg-tests/W3C-SVG-1.1/Resources/leftarrow.png: Added.
   4390         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-b-expected.txt: Added.
   4391         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-b.svg: Added.
   4392         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-f-1st.png: Added.
   4393         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-f-2nd.png: Added.
   4394         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-f-3rd.png: Added.
   4395         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-f-4th.png: Added.
   4396         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-f-start.png: Added.
   4397         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-03-f-1st.png: Added.
   4398         * svg-tests/W3C-SVG-1.1/Resources/linking-uri-03-f-start.png: Added.
   4399         * svg-tests/W3C-SVG-1.1/Resources/linkingCircle-f-expected.txt: Added.
   4400         * svg-tests/W3C-SVG-1.1/Resources/linkingCircle-f.svg: Added.
   4401         * svg-tests/W3C-SVG-1.1/Resources/linkingToc-t-expected.txt: Added.
   4402         * svg-tests/W3C-SVG-1.1/Resources/linkingToc-t.svg: Added.
   4403         * svg-tests/W3C-SVG-1.1/Resources/magnify.png: Added.
   4404         * svg-tests/W3C-SVG-1.1/Resources/myimage.jpg: Added.
   4405         * svg-tests/W3C-SVG-1.1/Resources/nav_bullet.png: Added.
   4406         * svg-tests/W3C-SVG-1.1/Resources/nav_down.png: Added.
   4407         * svg-tests/W3C-SVG-1.1/Resources/nav_downleft.png: Added.
   4408         * svg-tests/W3C-SVG-1.1/Resources/nav_downright.png: Added.
   4409         * svg-tests/W3C-SVG-1.1/Resources/nav_frame.png: Added.
   4410         * svg-tests/W3C-SVG-1.1/Resources/nav_left.png: Added.
   4411         * svg-tests/W3C-SVG-1.1/Resources/nav_noframe.png: Added.
   4412         * svg-tests/W3C-SVG-1.1/Resources/nav_right.png: Added.
   4413         * svg-tests/W3C-SVG-1.1/Resources/nav_svg.png: Added.
   4414         * svg-tests/W3C-SVG-1.1/Resources/nav_up.png: Added.
   4415         * svg-tests/W3C-SVG-1.1/Resources/nav_upleft.png: Added.
   4416         * svg-tests/W3C-SVG-1.1/Resources/nav_upright.png: Added.
   4417         * svg-tests/W3C-SVG-1.1/Resources/old-name-2-new-name1.html: Added.
   4418         * svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f-expected.txt: Added.
   4419         * svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f.png: Added.
   4420         * svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f.svg: Added.
   4421         * svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f-expected.txt: Added.
   4422         * svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f.png: Added.
   4423         * svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f.svg: Added.
   4424         * svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f-expected.txt: Added.
   4425         * svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f.png: Added.
   4426         * svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f.svg: Added.
   4427         * svg-tests/W3C-SVG-1.1/Resources/paths-data-04-f-expected.txt: Added.
   4428         * svg-tests/W3C-SVG-1.1/Resources/paths-data-04-f.png: Added.
   4429         * svg-tests/W3C-SVG-1.1/Resources/paths-data-04-f.svg: Added.
   4430         * svg-tests/W3C-SVG-1.1/Resources/rects-expected.txt: Added.
   4431         * svg-tests/W3C-SVG-1.1/Resources/rects.svg: Added.
   4432         * svg-tests/W3C-SVG-1.1/Resources/rects_b-expected.txt: Added.
   4433         * svg-tests/W3C-SVG-1.1/Resources/rects_b.svg: Added.
   4434         * svg-tests/W3C-SVG-1.1/Resources/rightarrow.png: Added.
   4435         * svg-tests/W3C-SVG-1.1/Resources/rotate20.png: Added.
   4436         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-b-expected.txt: Added.
   4437         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-b.svg: Added.
   4438         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-f-expected.txt: Added.
   4439         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-f.png: Added.
   4440         * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-f.svg: Added.
   4441         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-b-expected.txt: Added.
   4442         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-b.svg: Added.
   4443         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f-expected.txt: Added.
   4444         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f.png: Added.
   4445         * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f.svg: Added.
   4446         * svg-tests/W3C-SVG-1.1/Resources/sign.png: Added.
   4447         * svg-tests/W3C-SVG-1.1/Resources/sphere.png: Added.
   4448         * svg-tests/W3C-SVG-1.1/Resources/struct-frag-01-B-expected.txt: Added.
   4449         * svg-tests/W3C-SVG-1.1/Resources/struct-frag-01-B.svg: Added.
   4450         * svg-tests/W3C-SVG-1.1/Resources/struct-image-01.jpg: Added.
   4451         * svg-tests/W3C-SVG-1.1/Resources/struct-image-01.png: Added.
   4452         * svg-tests/W3C-SVG-1.1/Resources/struct-image-02.jpg: Added.
   4453         * svg-tests/W3C-SVG-1.1/Resources/struct-image-02.png: Added.
   4454         * svg-tests/W3C-SVG-1.1/Resources/struct-symbol-01.png: Added.
   4455         * svg-tests/W3C-SVG-1.1/Resources/text-align-01-f-expected.txt: Added.
   4456         * svg-tests/W3C-SVG-1.1/Resources/text-align-01-f.svg: Added.
   4457         * svg-tests/W3C-SVG-1.1/Resources/text-align-02-f-expected.txt: Added.
   4458         * svg-tests/W3C-SVG-1.1/Resources/text-align-02-f.svg: Added.
   4459         * svg-tests/W3C-SVG-1.1/Resources/text-align-03-f-expected.txt: Added.
   4460         * svg-tests/W3C-SVG-1.1/Resources/text-align-03-f.svg: Added.
   4461         * svg-tests/W3C-SVG-1.1/Resources/text-altglyph-01-f-expected.txt: Added.
   4462         * svg-tests/W3C-SVG-1.1/Resources/text-altglyph-01-f.svg: Added.
   4463         * svg-tests/W3C-SVG-1.1/Resources/text-extTref-BE-18-targ-expected.txt: Added.
   4464         * svg-tests/W3C-SVG-1.1/Resources/text-extTref-BE-18-targ.svg: Added.
   4465         * svg-tests/W3C-SVG-1.1/Resources/text-intro-01-f-expected.txt: Added.
   4466         * svg-tests/W3C-SVG-1.1/Resources/text-intro-01-f.svg: Added.
   4467         * svg-tests/W3C-SVG-1.1/Resources/text-tref-01-f-expected.txt: Added.
   4468         * svg-tests/W3C-SVG-1.1/Resources/text-tref-01-f.svg: Added.
   4469         * svg-tests/W3C-SVG-1.1/Resources/text-ws-01-f-expected.txt: Added.
   4470         * svg-tests/W3C-SVG-1.1/Resources/text-ws-01-f.svg: Added.
   4471         * svg-tests/W3C-SVG-1.1/Resources/toc-sv-expected.txt: Added.
   4472         * svg-tests/W3C-SVG-1.1/Resources/toc-sv.svg: Added.
   4473         * svg-tests/W3C-SVG-1.1/Resources/toc-svcmp-expected.txt: Added.
   4474         * svg-tests/W3C-SVG-1.1/Resources/toc-svcmp.svg: Added.
   4475         * svg-tests/W3C-SVG-1.1/Resources/uparrow.png: Added.
   4476         * svg-tests/W3C-SVG-1.1/animate-elem-02-t-expected.txt: Added.
   4477         * svg-tests/W3C-SVG-1.1/animate-elem-02-t-w3c.png: Added.
   4478         * svg-tests/W3C-SVG-1.1/animate-elem-02-t.svg: Added.
   4479         * svg-tests/W3C-SVG-1.1/animate-elem-03-t-expected.txt: Added.
   4480         * svg-tests/W3C-SVG-1.1/animate-elem-03-t-w3c.png: Added.
   4481         * svg-tests/W3C-SVG-1.1/animate-elem-03-t.svg: Added.
   4482         * svg-tests/W3C-SVG-1.1/animate-elem-04-t-expected.txt: Added.
   4483         * svg-tests/W3C-SVG-1.1/animate-elem-04-t-w3c.png: Added.
   4484         * svg-tests/W3C-SVG-1.1/animate-elem-04-t.svg: Added.
   4485         * svg-tests/W3C-SVG-1.1/animate-elem-05-t-expected.txt: Added.
   4486         * svg-tests/W3C-SVG-1.1/animate-elem-05-t-w3c.png: Added.
   4487         * svg-tests/W3C-SVG-1.1/animate-elem-05-t.svg: Added.
   4488         * svg-tests/W3C-SVG-1.1/animate-elem-06-t-expected.txt: Added.
   4489         * svg-tests/W3C-SVG-1.1/animate-elem-06-t-w3c.png: Added.
   4490         * svg-tests/W3C-SVG-1.1/animate-elem-06-t.svg: Added.
   4491         * svg-tests/W3C-SVG-1.1/animate-elem-07-t-expected.txt: Added.
   4492         * svg-tests/W3C-SVG-1.1/animate-elem-07-t-w3c.png: Added.
   4493         * svg-tests/W3C-SVG-1.1/animate-elem-07-t.svg: Added.
   4494         * svg-tests/W3C-SVG-1.1/animate-elem-08-t-expected.txt: Added.
   4495         * svg-tests/W3C-SVG-1.1/animate-elem-08-t-w3c.png: Added.
   4496         * svg-tests/W3C-SVG-1.1/animate-elem-08-t.svg: Added.
   4497         * svg-tests/W3C-SVG-1.1/animate-elem-09-t-expected.txt: Added.
   4498         * svg-tests/W3C-SVG-1.1/animate-elem-09-t-w3c.png: Added.
   4499         * svg-tests/W3C-SVG-1.1/animate-elem-09-t.svg: Added.
   4500         * svg-tests/W3C-SVG-1.1/animate-elem-10-t-expected.txt: Added.
   4501         * svg-tests/W3C-SVG-1.1/animate-elem-10-t-w3c.png: Added.
   4502         * svg-tests/W3C-SVG-1.1/animate-elem-10-t.svg: Added.
   4503         * svg-tests/W3C-SVG-1.1/animate-elem-11-t-expected.txt: Added.
   4504         * svg-tests/W3C-SVG-1.1/animate-elem-11-t-w3c.png: Added.
   4505         * svg-tests/W3C-SVG-1.1/animate-elem-11-t.svg: Added.
   4506         * svg-tests/W3C-SVG-1.1/animate-elem-12-t-expected.txt: Added.
   4507         * svg-tests/W3C-SVG-1.1/animate-elem-12-t-w3c.png: Added.
   4508         * svg-tests/W3C-SVG-1.1/animate-elem-12-t.svg: Added.
   4509         * svg-tests/W3C-SVG-1.1/animate-elem-13-t-expected.txt: Added.
   4510         * svg-tests/W3C-SVG-1.1/animate-elem-13-t-w3c.png: Added.
   4511         * svg-tests/W3C-SVG-1.1/animate-elem-13-t.svg: Added.
   4512         * svg-tests/W3C-SVG-1.1/animate-elem-14-t-expected.txt: Added.
   4513         * svg-tests/W3C-SVG-1.1/animate-elem-14-t-w3c.png: Added.
   4514         * svg-tests/W3C-SVG-1.1/animate-elem-14-t.svg: Added.
   4515         * svg-tests/W3C-SVG-1.1/animate-elem-15-t-expected.txt: Added.
   4516         * svg-tests/W3C-SVG-1.1/animate-elem-15-t-w3c.png: Added.
   4517         * svg-tests/W3C-SVG-1.1/animate-elem-15-t.svg: Added.
   4518         * svg-tests/W3C-SVG-1.1/animate-elem-16-t-expected.txt: Added.
   4519         * svg-tests/W3C-SVG-1.1/animate-elem-16-t-w3c.png: Added.
   4520         * svg-tests/W3C-SVG-1.1/animate-elem-16-t.svg: Added.
   4521         * svg-tests/W3C-SVG-1.1/animate-elem-17-t-expected.txt: Added.
   4522         * svg-tests/W3C-SVG-1.1/animate-elem-17-t-w3c.png: Added.
   4523         * svg-tests/W3C-SVG-1.1/animate-elem-17-t.svg: Added.
   4524         * svg-tests/W3C-SVG-1.1/animate-elem-18-t-expected.txt: Added.
   4525         * svg-tests/W3C-SVG-1.1/animate-elem-18-t-w3c.png: Added.
   4526         * svg-tests/W3C-SVG-1.1/animate-elem-18-t.svg: Added.
   4527         * svg-tests/W3C-SVG-1.1/animate-elem-19-t-expected.txt: Added.
   4528         * svg-tests/W3C-SVG-1.1/animate-elem-19-t-w3c.png: Added.
   4529         * svg-tests/W3C-SVG-1.1/animate-elem-19-t.svg: Added.
   4530         * svg-tests/W3C-SVG-1.1/animate-elem-20-t-expected.txt: Added.
   4531         * svg-tests/W3C-SVG-1.1/animate-elem-20-t-w3c.png: Added.
   4532         * svg-tests/W3C-SVG-1.1/animate-elem-20-t.svg: Added.
   4533         * svg-tests/W3C-SVG-1.1/animate-elem-21-t-expected.txt: Added.
   4534         * svg-tests/W3C-SVG-1.1/animate-elem-21-t-w3c.png: Added.
   4535         * svg-tests/W3C-SVG-1.1/animate-elem-21-t.svg: Added.
   4536         * svg-tests/W3C-SVG-1.1/animate-elem-22-b-expected.txt: Added.
   4537         * svg-tests/W3C-SVG-1.1/animate-elem-22-b-w3c.png: Added.
   4538         * svg-tests/W3C-SVG-1.1/animate-elem-22-b.svg: Added.
   4539         * svg-tests/W3C-SVG-1.1/animate-elem-23-t-expected.txt: Added.
   4540         * svg-tests/W3C-SVG-1.1/animate-elem-23-t-w3c.png: Added.
   4541         * svg-tests/W3C-SVG-1.1/animate-elem-23-t.svg: Added.
   4542         * svg-tests/W3C-SVG-1.1/animate-elem-24-t-expected.txt: Added.
   4543         * svg-tests/W3C-SVG-1.1/animate-elem-24-t-w3c.png: Added.
   4544         * svg-tests/W3C-SVG-1.1/animate-elem-24-t.svg: Added.
   4545         * svg-tests/W3C-SVG-1.1/animate-elem-25-t-expected.txt: Added.
   4546         * svg-tests/W3C-SVG-1.1/animate-elem-25-t-w3c.png: Added.
   4547         * svg-tests/W3C-SVG-1.1/animate-elem-25-t.svg: Added.
   4548         * svg-tests/W3C-SVG-1.1/animate-elem-26-t-expected.txt: Added.
   4549         * svg-tests/W3C-SVG-1.1/animate-elem-26-t-w3c.png: Added.
   4550         * svg-tests/W3C-SVG-1.1/animate-elem-26-t.svg: Added.
   4551         * svg-tests/W3C-SVG-1.1/animate-elem-27-t-expected.txt: Added.
   4552         * svg-tests/W3C-SVG-1.1/animate-elem-27-t-w3c.png: Added.
   4553         * svg-tests/W3C-SVG-1.1/animate-elem-27-t.svg: Added.
   4554         * svg-tests/W3C-SVG-1.1/animate-elem-28-t-expected.txt: Added.
   4555         * svg-tests/W3C-SVG-1.1/animate-elem-28-t-w3c.png: Added.
   4556         * svg-tests/W3C-SVG-1.1/animate-elem-28-t.svg: Added.
   4557         * svg-tests/W3C-SVG-1.1/animate-elem-29-b-expected.txt: Added.
   4558         * svg-tests/W3C-SVG-1.1/animate-elem-29-b-w3c.png: Added.
   4559         * svg-tests/W3C-SVG-1.1/animate-elem-29-b.svg: Added.
   4560         * svg-tests/W3C-SVG-1.1/color-prof-01-f-expected.txt: Added.
   4561         * svg-tests/W3C-SVG-1.1/color-prof-01-f-w3c.png: Added.
   4562         * svg-tests/W3C-SVG-1.1/color-prof-01-f.svg: Added.
   4563         * svg-tests/W3C-SVG-1.1/color-prop-01-b-expected.txt: Added.
   4564         * svg-tests/W3C-SVG-1.1/color-prop-01-b-w3c.png: Added.
   4565         * svg-tests/W3C-SVG-1.1/color-prop-01-b.svg: Added.
   4566         * svg-tests/W3C-SVG-1.1/color-prop-02-f-expected.txt: Added.
   4567         * svg-tests/W3C-SVG-1.1/color-prop-02-f-w3c.png: Added.
   4568         * svg-tests/W3C-SVG-1.1/color-prop-02-f.svg: Added.
   4569         * svg-tests/W3C-SVG-1.1/color-prop-03-t-expected.txt: Added.
   4570         * svg-tests/W3C-SVG-1.1/color-prop-03-t-w3c.png: Added.
   4571         * svg-tests/W3C-SVG-1.1/color-prop-03-t.svg: Added.
   4572         * svg-tests/W3C-SVG-1.1/coords-trans-01-b-expected.txt: Added.
   4573         * svg-tests/W3C-SVG-1.1/coords-trans-01-b-w3c.png: Added.
   4574         * svg-tests/W3C-SVG-1.1/coords-trans-01-b.svg: Added.
   4575         * svg-tests/W3C-SVG-1.1/coords-trans-02-t-expected.txt: Added.
   4576         * svg-tests/W3C-SVG-1.1/coords-trans-02-t-w3c.png: Added.
   4577         * svg-tests/W3C-SVG-1.1/coords-trans-02-t.svg: Added.
   4578         * svg-tests/W3C-SVG-1.1/coords-trans-03-t-expected.txt: Added.
   4579         * svg-tests/W3C-SVG-1.1/coords-trans-03-t-w3c.png: Added.
   4580         * svg-tests/W3C-SVG-1.1/coords-trans-03-t.svg: Added.
   4581         * svg-tests/W3C-SVG-1.1/coords-trans-04-t-expected.txt: Added.
   4582         * svg-tests/W3C-SVG-1.1/coords-trans-04-t-w3c.png: Added.
   4583         * svg-tests/W3C-SVG-1.1/coords-trans-04-t.svg: Added.
   4584         * svg-tests/W3C-SVG-1.1/coords-trans-05-t-expected.txt: Added.
   4585         * svg-tests/W3C-SVG-1.1/coords-trans-05-t-w3c.png: Added.
   4586         * svg-tests/W3C-SVG-1.1/coords-trans-05-t.svg: Added.
   4587         * svg-tests/W3C-SVG-1.1/coords-trans-06-t-expected.txt: Added.
   4588         * svg-tests/W3C-SVG-1.1/coords-trans-06-t-w3c.png: Added.
   4589         * svg-tests/W3C-SVG-1.1/coords-trans-06-t.svg: Added.
   4590         * svg-tests/W3C-SVG-1.1/coords-units-01-b-expected.txt: Added.
   4591         * svg-tests/W3C-SVG-1.1/coords-units-01-b-w3c.png: Added.
   4592         * svg-tests/W3C-SVG-1.1/coords-units-01-b.svg: Added.
   4593         * svg-tests/W3C-SVG-1.1/coords-units-02-b-expected.txt: Added.
   4594         * svg-tests/W3C-SVG-1.1/coords-units-02-b-w3c.png: Added.
   4595         * svg-tests/W3C-SVG-1.1/coords-units-02-b.svg: Added.
   4596         * svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.txt: Added.
   4597         * svg-tests/W3C-SVG-1.1/coords-units-03-b-w3c.png: Added.
   4598         * svg-tests/W3C-SVG-1.1/coords-units-03-b.svg: Added.
   4599         * svg-tests/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt: Added.
   4600         * svg-tests/W3C-SVG-1.1/coords-viewattr-01-b-w3c.png: Added.
   4601         * svg-tests/W3C-SVG-1.1/coords-viewattr-01-b.svg: Added.
   4602         * svg-tests/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt: Added.
   4603         * svg-tests/W3C-SVG-1.1/coords-viewattr-02-b-w3c.png: Added.
   4604         * svg-tests/W3C-SVG-1.1/coords-viewattr-02-b.svg: Added.
   4605         * svg-tests/W3C-SVG-1.1/extend-namespace-01-f-expected.txt: Added.
   4606         * svg-tests/W3C-SVG-1.1/extend-namespace-01-f-w3c.png: Added.
   4607         * svg-tests/W3C-SVG-1.1/extend-namespace-01-f.svg: Added.
   4608         * svg-tests/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added.
   4609         * svg-tests/W3C-SVG-1.1/filters-blend-01-b-w3c.png: Added.
   4610         * svg-tests/W3C-SVG-1.1/filters-blend-01-b.svg: Added.
   4611         * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.txt: Added.
   4612         * svg-tests/W3C-SVG-1.1/filters-color-01-b-w3c.png: Added.
   4613         * svg-tests/W3C-SVG-1.1/filters-color-01-b.svg: Added.
   4614         * svg-tests/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
   4615         * svg-tests/W3C-SVG-1.1/filters-composite-02-b-w3c.png: Added.
   4616         * svg-tests/W3C-SVG-1.1/filters-composite-02-b.svg: Added.
   4617         * svg-tests/W3C-SVG-1.1/filters-comptran-01-b-w3c.png: Added.
   4618         * svg-tests/W3C-SVG-1.1/filters-comptran-01-b.svg-disabled: Added.
   4619         * svg-tests/W3C-SVG-1.1/filters-conv-01-f-expected.txt: Added.
   4620         * svg-tests/W3C-SVG-1.1/filters-conv-01-f-w3c.png: Added.
   4621         * svg-tests/W3C-SVG-1.1/filters-conv-01-f.svg: Added.
   4622         * svg-tests/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt: Added.
   4623         * svg-tests/W3C-SVG-1.1/filters-diffuse-01-f-w3c.png: Added.
   4624         * svg-tests/W3C-SVG-1.1/filters-diffuse-01-f.svg: Added.
   4625         * svg-tests/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
   4626         * svg-tests/W3C-SVG-1.1/filters-displace-01-f-w3c.png: Added.
   4627         * svg-tests/W3C-SVG-1.1/filters-displace-01-f.svg: Added.
   4628         * svg-tests/W3C-SVG-1.1/filters-example-01-b-expected.txt: Added.
   4629         * svg-tests/W3C-SVG-1.1/filters-example-01-b-w3c.png: Added.
   4630         * svg-tests/W3C-SVG-1.1/filters-example-01-b.svg: Added.
   4631         * svg-tests/W3C-SVG-1.1/filters-gauss-01-b-expected.txt: Added.
   4632         * svg-tests/W3C-SVG-1.1/filters-gauss-01-b-w3c.png: Added.
   4633         * svg-tests/W3C-SVG-1.1/filters-gauss-01-b.svg: Added.
   4634         * svg-tests/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
   4635         * svg-tests/W3C-SVG-1.1/filters-image-01-b-w3c.png: Added.
   4636         * svg-tests/W3C-SVG-1.1/filters-image-01-b.svg: Added.
   4637         * svg-tests/W3C-SVG-1.1/filters-light-01-f-expected.txt: Added.
   4638         * svg-tests/W3C-SVG-1.1/filters-light-01-f-w3c.png: Added.
   4639         * svg-tests/W3C-SVG-1.1/filters-light-01-f.svg: Added.
   4640         * svg-tests/W3C-SVG-1.1/filters-morph-01-f-expected.txt: Added.
   4641         * svg-tests/W3C-SVG-1.1/filters-morph-01-f-w3c.png: Added.
   4642         * svg-tests/W3C-SVG-1.1/filters-morph-01-f.svg: Added.
   4643         * svg-tests/W3C-SVG-1.1/filters-offset-01-b-expected.txt: Added.
   4644         * svg-tests/W3C-SVG-1.1/filters-offset-01-b-w3c.png: Added.
   4645         * svg-tests/W3C-SVG-1.1/filters-offset-01-b.svg: Added.
   4646         * svg-tests/W3C-SVG-1.1/filters-specular-01-f-expected.txt: Added.
   4647         * svg-tests/W3C-SVG-1.1/filters-specular-01-f-w3c.png: Added.
   4648         * svg-tests/W3C-SVG-1.1/filters-specular-01-f.svg: Added.
   4649         * svg-tests/W3C-SVG-1.1/filters-tile-01-b-expected.txt: Added.
   4650         * svg-tests/W3C-SVG-1.1/filters-tile-01-b-w3c.png: Added.
   4651         * svg-tests/W3C-SVG-1.1/filters-tile-01-b.svg: Added.
   4652         * svg-tests/W3C-SVG-1.1/filters-turb-01-f-w3c.png: Added.
   4653         * svg-tests/W3C-SVG-1.1/filters-turb-01-f.svg-disabled: Added.
   4654         * svg-tests/W3C-SVG-1.1/fonts-elem-01-t-expected.txt: Added.
   4655         * svg-tests/W3C-SVG-1.1/fonts-elem-01-t-w3c.png: Added.
   4656         * svg-tests/W3C-SVG-1.1/fonts-elem-01-t.svg: Added.
   4657         * svg-tests/W3C-SVG-1.1/fonts-elem-02-t-expected.txt: Added.
   4658         * svg-tests/W3C-SVG-1.1/fonts-elem-02-t-w3c.png: Added.
   4659         * svg-tests/W3C-SVG-1.1/fonts-elem-02-t.svg: Added.
   4660         * svg-tests/W3C-SVG-1.1/fonts-elem-03-b-expected.txt: Added.
   4661         * svg-tests/W3C-SVG-1.1/fonts-elem-03-b-w3c.png: Added.
   4662         * svg-tests/W3C-SVG-1.1/fonts-elem-03-b.svg: Added.
   4663         * svg-tests/W3C-SVG-1.1/fonts-elem-04-b-expected.txt: Added.
   4664         * svg-tests/W3C-SVG-1.1/fonts-elem-04-b-w3c.png: Added.
   4665         * svg-tests/W3C-SVG-1.1/fonts-elem-04-b.svg: Added.
   4666         * svg-tests/W3C-SVG-1.1/interact-cursor-01-f-expected.txt: Added.
   4667         * svg-tests/W3C-SVG-1.1/interact-cursor-01-f-w3c.png: Added.
   4668         * svg-tests/W3C-SVG-1.1/interact-cursor-01-f.svg: Added.
   4669         * svg-tests/W3C-SVG-1.1/interact-dom-01-b-expected.txt: Added.
   4670         * svg-tests/W3C-SVG-1.1/interact-dom-01-b-w3c.png: Added.
   4671         * svg-tests/W3C-SVG-1.1/interact-dom-01-b.svg: Added.
   4672         * svg-tests/W3C-SVG-1.1/interact-events-01-b-expected.txt: Added.
   4673         * svg-tests/W3C-SVG-1.1/interact-events-01-b-w3c.png: Added.
   4674         * svg-tests/W3C-SVG-1.1/interact-events-01-b.svg: Added.
   4675         * svg-tests/W3C-SVG-1.1/interact-order-01-b-expected.txt: Added.
   4676         * svg-tests/W3C-SVG-1.1/interact-order-01-b-w3c.png: Added.
   4677         * svg-tests/W3C-SVG-1.1/interact-order-01-b.svg: Added.
   4678         * svg-tests/W3C-SVG-1.1/interact-order-02-b-expected.txt: Added.
   4679         * svg-tests/W3C-SVG-1.1/interact-order-02-b-w3c.png: Added.
   4680         * svg-tests/W3C-SVG-1.1/interact-order-02-b.svg: Added.
   4681         * svg-tests/W3C-SVG-1.1/interact-order-03-b-expected.txt: Added.
   4682         * svg-tests/W3C-SVG-1.1/interact-order-03-b-w3c.png: Added.
   4683         * svg-tests/W3C-SVG-1.1/interact-order-03-b.svg: Added.
   4684         * svg-tests/W3C-SVG-1.1/interact-zoom-01-t-expected.txt: Added.
   4685         * svg-tests/W3C-SVG-1.1/interact-zoom-01-t-w3c.png: Added.
   4686         * svg-tests/W3C-SVG-1.1/interact-zoom-01-t.svg: Added.
   4687         * svg-tests/W3C-SVG-1.1/linking-a-01-b-expected.txt: Added.
   4688         * svg-tests/W3C-SVG-1.1/linking-a-01-b-w3c.png: Added.
   4689         * svg-tests/W3C-SVG-1.1/linking-a-01-b.svg: Added.
   4690         * svg-tests/W3C-SVG-1.1/linking-a-02-b-expected.txt: Added.
   4691         * svg-tests/W3C-SVG-1.1/linking-a-02-b-w3c.png: Added.
   4692         * svg-tests/W3C-SVG-1.1/linking-a-02-b.svg: Added.
   4693         * svg-tests/W3C-SVG-1.1/linking-a-03-b-expected.txt: Added.
   4694         * svg-tests/W3C-SVG-1.1/linking-a-03-b-w3c.png: Added.
   4695         * svg-tests/W3C-SVG-1.1/linking-a-03-b.svg: Added.
   4696         * svg-tests/W3C-SVG-1.1/linking-a-04-t-expected.txt: Added.
   4697         * svg-tests/W3C-SVG-1.1/linking-a-04-t-w3c.png: Added.
   4698         * svg-tests/W3C-SVG-1.1/linking-a-04-t.svg: Added.
   4699         * svg-tests/W3C-SVG-1.1/linking-uri-01-b-expected.txt: Added.
   4700         * svg-tests/W3C-SVG-1.1/linking-uri-01-b-w3c.png: Added.
   4701         * svg-tests/W3C-SVG-1.1/linking-uri-01-b.svg: Added.
   4702         * svg-tests/W3C-SVG-1.1/linking-uri-02-b-expected.txt: Added.
   4703         * svg-tests/W3C-SVG-1.1/linking-uri-02-b-w3c.png: Added.
   4704         * svg-tests/W3C-SVG-1.1/linking-uri-02-b.svg: Added.
   4705         * svg-tests/W3C-SVG-1.1/linking-uri-03-t-expected.txt: Added.
   4706         * svg-tests/W3C-SVG-1.1/linking-uri-03-t-w3c.png: Added.
   4707         * svg-tests/W3C-SVG-1.1/linking-uri-03-t.svg: Added.
   4708         * svg-tests/W3C-SVG-1.1/masking-mask-01-b-expected.txt: Added.
   4709         * svg-tests/W3C-SVG-1.1/masking-mask-01-b-w3c.png: Added.
   4710         * svg-tests/W3C-SVG-1.1/masking-mask-01-b.svg: Added.
   4711         * svg-tests/W3C-SVG-1.1/masking-opacity-01-b-expected.txt: Added.
   4712         * svg-tests/W3C-SVG-1.1/masking-opacity-01-b-w3c.png: Added.
   4713         * svg-tests/W3C-SVG-1.1/masking-opacity-01-b.svg: Added.
   4714         * svg-tests/W3C-SVG-1.1/masking-path-01-b-expected.txt: Added.
   4715         * svg-tests/W3C-SVG-1.1/masking-path-01-b-w3c.png: Added.
   4716         * svg-tests/W3C-SVG-1.1/masking-path-01-b.svg: Added.
   4717         * svg-tests/W3C-SVG-1.1/masking-path-02-b-expected.txt: Added.
   4718         * svg-tests/W3C-SVG-1.1/masking-path-02-b-w3c.png: Added.
   4719         * svg-tests/W3C-SVG-1.1/masking-path-02-b.svg: Added.
   4720         * svg-tests/W3C-SVG-1.1/masking-path-03-b-expected.txt: Added.
   4721         * svg-tests/W3C-SVG-1.1/masking-path-03-b-w3c.png: Added.
   4722         * svg-tests/W3C-SVG-1.1/masking-path-03-b.svg: Added.
   4723         * svg-tests/W3C-SVG-1.1/masking-path-04-b-expected.txt: Added.
   4724         * svg-tests/W3C-SVG-1.1/masking-path-04-b-w3c.png: Added.
   4725         * svg-tests/W3C-SVG-1.1/masking-path-04-b.svg: Added.
   4726         * svg-tests/W3C-SVG-1.1/masking-path-05-f-expected.txt: Added.
   4727         * svg-tests/W3C-SVG-1.1/masking-path-05-f-w3c.png: Added.
   4728         * svg-tests/W3C-SVG-1.1/masking-path-05-f.svg: Added.
   4729         * svg-tests/W3C-SVG-1.1/metadata-example-01-b-expected.txt: Added.
   4730         * svg-tests/W3C-SVG-1.1/metadata-example-01-b-w3c.png: Added.
   4731         * svg-tests/W3C-SVG-1.1/metadata-example-01-b.svg: Added.
   4732         * svg-tests/W3C-SVG-1.1/painting-fill-01-t-expected.txt: Added.
   4733         * svg-tests/W3C-SVG-1.1/painting-fill-01-t-w3c.png: Added.
   4734         * svg-tests/W3C-SVG-1.1/painting-fill-01-t.svg: Added.
   4735         * svg-tests/W3C-SVG-1.1/painting-fill-02-t-expected.txt: Added.
   4736         * svg-tests/W3C-SVG-1.1/painting-fill-02-t-w3c.png: Added.
   4737         * svg-tests/W3C-SVG-1.1/painting-fill-02-t.svg: Added.
   4738         * svg-tests/W3C-SVG-1.1/painting-fill-03-t-expected.txt: Added.
   4739         * svg-tests/W3C-SVG-1.1/painting-fill-03-t-w3c.png: Added.
   4740         * svg-tests/W3C-SVG-1.1/painting-fill-03-t.svg: Added.
   4741         * svg-tests/W3C-SVG-1.1/painting-fill-04-t-expected.txt: Added.
   4742         * svg-tests/W3C-SVG-1.1/painting-fill-04-t-w3c.png: Added.
   4743         * svg-tests/W3C-SVG-1.1/painting-fill-04-t.svg: Added.
   4744         * svg-tests/W3C-SVG-1.1/painting-marker-01-f-expected.txt: Added.
   4745         * svg-tests/W3C-SVG-1.1/painting-marker-01-f-w3c.png: Added.
   4746         * svg-tests/W3C-SVG-1.1/painting-marker-01-f.svg: Added.
   4747         * svg-tests/W3C-SVG-1.1/painting-marker-02-f-expected.txt: Added.
   4748         * svg-tests/W3C-SVG-1.1/painting-marker-02-f-w3c.png: Added.
   4749         * svg-tests/W3C-SVG-1.1/painting-marker-02-f.svg: Added.
   4750         * svg-tests/W3C-SVG-1.1/painting-render-01-b-expected.txt: Added.
   4751         * svg-tests/W3C-SVG-1.1/painting-render-01-b-w3c.png: Added.
   4752         * svg-tests/W3C-SVG-1.1/painting-render-01-b.svg: Added.
   4753         * svg-tests/W3C-SVG-1.1/painting-stroke-01-t-expected.txt: Added.
   4754         * svg-tests/W3C-SVG-1.1/painting-stroke-01-t-w3c.png: Added.
   4755         * svg-tests/W3C-SVG-1.1/painting-stroke-01-t.svg: Added.
   4756         * svg-tests/W3C-SVG-1.1/painting-stroke-02-t-expected.txt: Added.
   4757         * svg-tests/W3C-SVG-1.1/painting-stroke-02-t-w3c.png: Added.
   4758         * svg-tests/W3C-SVG-1.1/painting-stroke-02-t.svg: Added.
   4759         * svg-tests/W3C-SVG-1.1/painting-stroke-03-t-expected.txt: Added.
   4760         * svg-tests/W3C-SVG-1.1/painting-stroke-03-t-w3c.png: Added.
   4761         * svg-tests/W3C-SVG-1.1/painting-stroke-03-t.svg: Added.
   4762         * svg-tests/W3C-SVG-1.1/painting-stroke-04-t-expected.txt: Added.
   4763         * svg-tests/W3C-SVG-1.1/painting-stroke-04-t-w3c.png: Added.
   4764         * svg-tests/W3C-SVG-1.1/painting-stroke-04-t.svg: Added.
   4765         * svg-tests/W3C-SVG-1.1/paths-data-01-t-expected.txt: Added.
   4766         * svg-tests/W3C-SVG-1.1/paths-data-01-t-w3c.png: Added.
   4767         * svg-tests/W3C-SVG-1.1/paths-data-01-t.svg: Added.
   4768         * svg-tests/W3C-SVG-1.1/paths-data-02-t-expected.txt: Added.
   4769         * svg-tests/W3C-SVG-1.1/paths-data-02-t-w3c.png: Added.
   4770         * svg-tests/W3C-SVG-1.1/paths-data-02-t.svg: Added.
   4771         * svg-tests/W3C-SVG-1.1/paths-data-03-f-expected.txt: Added.
   4772         * svg-tests/W3C-SVG-1.1/paths-data-03-f-w3c.png: Added.
   4773         * svg-tests/W3C-SVG-1.1/paths-data-03-f.svg: Added.
   4774         * svg-tests/W3C-SVG-1.1/paths-data-04-t-expected.txt: Added.
   4775         * svg-tests/W3C-SVG-1.1/paths-data-04-t-w3c.png: Added.
   4776         * svg-tests/W3C-SVG-1.1/paths-data-04-t.svg: Added.
   4777         * svg-tests/W3C-SVG-1.1/paths-data-05-t-expected.txt: Added.
   4778         * svg-tests/W3C-SVG-1.1/paths-data-05-t-w3c.png: Added.
   4779         * svg-tests/W3C-SVG-1.1/paths-data-05-t.svg: Added.
   4780         * svg-tests/W3C-SVG-1.1/paths-data-06-t-expected.txt: Added.
   4781         * svg-tests/W3C-SVG-1.1/paths-data-06-t-w3c.png: Added.
   4782         * svg-tests/W3C-SVG-1.1/paths-data-06-t.svg: Added.
   4783         * svg-tests/W3C-SVG-1.1/paths-data-07-t-expected.txt: Added.
   4784         * svg-tests/W3C-SVG-1.1/paths-data-07-t-w3c.png: Added.
   4785         * svg-tests/W3C-SVG-1.1/paths-data-07-t.svg: Added.
   4786         * svg-tests/W3C-SVG-1.1/pservers-grad-01-b-expected.txt: Added.
   4787         * svg-tests/W3C-SVG-1.1/pservers-grad-01-b-w3c.png: Added.
   4788         * svg-tests/W3C-SVG-1.1/pservers-grad-01-b.svg: Added.
   4789         * svg-tests/W3C-SVG-1.1/pservers-grad-02-b-expected.txt: Added.
   4790         * svg-tests/W3C-SVG-1.1/pservers-grad-02-b-w3c.png: Added.
   4791         * svg-tests/W3C-SVG-1.1/pservers-grad-02-b.svg: Added.
   4792         * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.txt: Added.
   4793         * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-w3c.png: Added.
   4794         * svg-tests/W3C-SVG-1.1/pservers-grad-03-b.svg: Added.
   4795         * svg-tests/W3C-SVG-1.1/pservers-grad-04-b-expected.txt: Added.
   4796         * svg-tests/W3C-SVG-1.1/pservers-grad-04-b-w3c.png: Added.
   4797         * svg-tests/W3C-SVG-1.1/pservers-grad-04-b.svg: Added.
   4798         * svg-tests/W3C-SVG-1.1/pservers-grad-05-b-expected.txt: Added.
   4799         * svg-tests/W3C-SVG-1.1/pservers-grad-05-b-w3c.png: Added.
   4800         * svg-tests/W3C-SVG-1.1/pservers-grad-05-b.svg: Added.
   4801         * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.txt: Added.
   4802         * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-w3c.png: Added.
   4803         * svg-tests/W3C-SVG-1.1/pservers-grad-06-b.svg: Added.
   4804         * svg-tests/W3C-SVG-1.1/pservers-grad-07-b-expected.txt: Added.
   4805         * svg-tests/W3C-SVG-1.1/pservers-grad-07-b-w3c.png: Added.
   4806         * svg-tests/W3C-SVG-1.1/pservers-grad-07-b.svg: Added.
   4807         * svg-tests/W3C-SVG-1.1/pservers-grad-08-b-expected.txt: Added.
   4808         * svg-tests/W3C-SVG-1.1/pservers-grad-08-b-w3c.png: Added.
   4809         * svg-tests/W3C-SVG-1.1/pservers-grad-08-b.svg: Added.
   4810         * svg-tests/W3C-SVG-1.1/pservers-grad-09-b-expected.txt: Added.
   4811         * svg-tests/W3C-SVG-1.1/pservers-grad-09-b-w3c.png: Added.
   4812         * svg-tests/W3C-SVG-1.1/pservers-grad-09-b.svg: Added.
   4813         * svg-tests/W3C-SVG-1.1/pservers-grad-10-b-expected.txt: Added.
   4814         * svg-tests/W3C-SVG-1.1/pservers-grad-10-b-w3c.png: Added.
   4815         * svg-tests/W3C-SVG-1.1/pservers-grad-10-b.svg: Added.
   4816         * svg-tests/W3C-SVG-1.1/pservers-grad-11-b-expected.txt: Added.
   4817         * svg-tests/W3C-SVG-1.1/pservers-grad-11-b-w3c.png: Added.
   4818         * svg-tests/W3C-SVG-1.1/pservers-grad-11-b.svg: Added.
   4819         * svg-tests/W3C-SVG-1.1/pservers-grad-12-b-expected.txt: Added.
   4820         * svg-tests/W3C-SVG-1.1/pservers-grad-12-b-w3c.png: Added.
   4821         * svg-tests/W3C-SVG-1.1/pservers-grad-12-b.svg: Added.
   4822         * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt: Added.
   4823         * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-w3c.png: Added.
   4824         * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b.svg: Added.
   4825         * svg-tests/W3C-SVG-1.1/render-elems-01-t-expected.txt: Added.
   4826         * svg-tests/W3C-SVG-1.1/render-elems-01-t-w3c.png: Added.
   4827         * svg-tests/W3C-SVG-1.1/render-elems-01-t.svg: Added.
   4828         * svg-tests/W3C-SVG-1.1/render-elems-02-t-expected.txt: Added.
   4829         * svg-tests/W3C-SVG-1.1/render-elems-02-t-w3c.png: Added.
   4830         * svg-tests/W3C-SVG-1.1/render-elems-02-t.svg: Added.
   4831         * svg-tests/W3C-SVG-1.1/render-elems-03-t-expected.txt: Added.
   4832         * svg-tests/W3C-SVG-1.1/render-elems-03-t-w3c.png: Added.
   4833         * svg-tests/W3C-SVG-1.1/render-elems-03-t.svg: Added.
   4834         * svg-tests/W3C-SVG-1.1/render-elems-06-t-expected.txt: Added.
   4835         * svg-tests/W3C-SVG-1.1/render-elems-06-t-w3c.png: Added.
   4836         * svg-tests/W3C-SVG-1.1/render-elems-06-t.svg: Added.
   4837         * svg-tests/W3C-SVG-1.1/render-elems-07-t-expected.txt: Added.
   4838         * svg-tests/W3C-SVG-1.1/render-elems-07-t-w3c.png: Added.
   4839         * svg-tests/W3C-SVG-1.1/render-elems-07-t.svg: Added.
   4840         * svg-tests/W3C-SVG-1.1/render-elems-08-t-expected.txt: Added.
   4841         * svg-tests/W3C-SVG-1.1/render-elems-08-t-w3c.png: Added.
   4842         * svg-tests/W3C-SVG-1.1/render-elems-08-t.svg: Added.
   4843         * svg-tests/W3C-SVG-1.1/render-groups-01-b-expected.txt: Added.
   4844         * svg-tests/W3C-SVG-1.1/render-groups-01-b-w3c.png: Added.
   4845         * svg-tests/W3C-SVG-1.1/render-groups-01-b.svg: Added.
   4846         * svg-tests/W3C-SVG-1.1/render-groups-03-t-expected.txt: Added.
   4847         * svg-tests/W3C-SVG-1.1/render-groups-03-t-w3c.png: Added.
   4848         * svg-tests/W3C-SVG-1.1/render-groups-03-t.svg: Added.
   4849         * svg-tests/W3C-SVG-1.1/script-handle-01-b-expected.txt: Added.
   4850         * svg-tests/W3C-SVG-1.1/script-handle-01-b-w3c.png: Added.
   4851         * svg-tests/W3C-SVG-1.1/script-handle-01-b.svg: Added.
   4852         * svg-tests/W3C-SVG-1.1/script-handle-02-b-expected.txt: Added.
   4853         * svg-tests/W3C-SVG-1.1/script-handle-02-b-w3c.png: Added.
   4854         * svg-tests/W3C-SVG-1.1/script-handle-02-b.svg: Added.
   4855         * svg-tests/W3C-SVG-1.1/script-handle-03-b-w3c.png: Added.
   4856         * svg-tests/W3C-SVG-1.1/script-handle-03-b.svg-disabled: Added.
   4857         * svg-tests/W3C-SVG-1.1/script-handle-04-b-w3c.png: Added.
   4858         * svg-tests/W3C-SVG-1.1/script-handle-04-b.svg-disabled: Added.
   4859         * svg-tests/W3C-SVG-1.1/shapes-circle-01-t-expected.txt: Added.
   4860         * svg-tests/W3C-SVG-1.1/shapes-circle-01-t-w3c.png: Added.
   4861         * svg-tests/W3C-SVG-1.1/shapes-circle-01-t.svg: Added.
   4862         * svg-tests/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt: Added.
   4863         * svg-tests/W3C-SVG-1.1/shapes-ellipse-01-t-w3c.png: Added.
   4864         * svg-tests/W3C-SVG-1.1/shapes-ellipse-01-t.svg: Added.
   4865         * svg-tests/W3C-SVG-1.1/shapes-line-01-t-expected.txt: Added.
   4866         * svg-tests/W3C-SVG-1.1/shapes-line-01-t-w3c.png: Added.
   4867         * svg-tests/W3C-SVG-1.1/shapes-line-01-t.svg: Added.
   4868         * svg-tests/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt: Added.
   4869         * svg-tests/W3C-SVG-1.1/shapes-polygon-01-t-w3c.png: Added.
   4870         * svg-tests/W3C-SVG-1.1/shapes-polygon-01-t.svg: Added.
   4871         * svg-tests/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt: Added.
   4872         * svg-tests/W3C-SVG-1.1/shapes-polyline-01-t-w3c.png: Added.
   4873         * svg-tests/W3C-SVG-1.1/shapes-polyline-01-t.svg: Added.
   4874         * svg-tests/W3C-SVG-1.1/shapes-rect-01-t-expected.txt: Added.
   4875         * svg-tests/W3C-SVG-1.1/shapes-rect-01-t-w3c.png: Added.
   4876         * svg-tests/W3C-SVG-1.1/shapes-rect-01-t.svg: Added.
   4877         * svg-tests/W3C-SVG-1.1/struct-cond-01-t-expected.txt: Added.
   4878         * svg-tests/W3C-SVG-1.1/struct-cond-01-t-w3c.png: Added.
   4879         * svg-tests/W3C-SVG-1.1/struct-cond-01-t.svg: Added.
   4880         * svg-tests/W3C-SVG-1.1/struct-cond-02-t-expected.txt: Added.
   4881         * svg-tests/W3C-SVG-1.1/struct-cond-02-t-w3c.png: Added.
   4882         * svg-tests/W3C-SVG-1.1/struct-cond-02-t.svg: Added.
   4883         * svg-tests/W3C-SVG-1.1/struct-defs-01-t-expected.txt: Added.
   4884         * svg-tests/W3C-SVG-1.1/struct-defs-01-t-w3c.png: Added.
   4885         * svg-tests/W3C-SVG-1.1/struct-defs-01-t.svg: Added.
   4886         * svg-tests/W3C-SVG-1.1/struct-dom-01-b-w3c.png: Added.
   4887         * svg-tests/W3C-SVG-1.1/struct-dom-01-b.svg-disabled: Added.
   4888         * svg-tests/W3C-SVG-1.1/struct-dom-02-b-w3c.png: Added.
   4889         * svg-tests/W3C-SVG-1.1/struct-dom-02-b.svg-disabled: Added.
   4890         * svg-tests/W3C-SVG-1.1/struct-dom-03-b-w3c.png: Added.
   4891         * svg-tests/W3C-SVG-1.1/struct-dom-03-b.svg-disabled: Added.
   4892         * svg-tests/W3C-SVG-1.1/struct-dom-04-b-w3c.png: Added.
   4893         * svg-tests/W3C-SVG-1.1/struct-dom-04-b.svg-disabled: Added.
   4894         * svg-tests/W3C-SVG-1.1/struct-dom-05-b-w3c.png: Added.
   4895         * svg-tests/W3C-SVG-1.1/struct-dom-05-b.svg-disabled: Added.
   4896         * svg-tests/W3C-SVG-1.1/struct-dom-06-b-w3c.png: Added.
   4897         * svg-tests/W3C-SVG-1.1/struct-dom-06-b.svg-disabled: Added.
   4898         * svg-tests/W3C-SVG-1.1/struct-frag-01-t-expected.txt: Added.
   4899         * svg-tests/W3C-SVG-1.1/struct-frag-01-t-w3c.png: Added.
   4900         * svg-tests/W3C-SVG-1.1/struct-frag-01-t.svg: Added.
   4901         * svg-tests/W3C-SVG-1.1/struct-group-01-t-expected.txt: Added.
   4902         * svg-tests/W3C-SVG-1.1/struct-group-01-t-w3c.png: Added.
   4903         * svg-tests/W3C-SVG-1.1/struct-group-01-t.svg: Added.
   4904         * svg-tests/W3C-SVG-1.1/struct-group-02-b-expected.txt: Added.
   4905         * svg-tests/W3C-SVG-1.1/struct-group-02-b-w3c.png: Added.
   4906         * svg-tests/W3C-SVG-1.1/struct-group-02-b.svg: Added.
   4907         * svg-tests/W3C-SVG-1.1/struct-image-01-t-expected.txt: Added.
   4908         * svg-tests/W3C-SVG-1.1/struct-image-01-t-w3c.png: Added.
   4909         * svg-tests/W3C-SVG-1.1/struct-image-01-t.svg: Added.
   4910         * svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.txt: Added.
   4911         * svg-tests/W3C-SVG-1.1/struct-image-02-b-w3c.png: Added.
   4912         * svg-tests/W3C-SVG-1.1/struct-image-02-b.svg: Added.
   4913         * svg-tests/W3C-SVG-1.1/struct-image-03-t-expected.txt: Added.
   4914         * svg-tests/W3C-SVG-1.1/struct-image-03-t-w3c.png: Added.
   4915         * svg-tests/W3C-SVG-1.1/struct-image-03-t.svg: Added.
   4916         * svg-tests/W3C-SVG-1.1/struct-image-04-t-expected.txt: Added.
   4917         * svg-tests/W3C-SVG-1.1/struct-image-04-t-w3c.png: Added.
   4918         * svg-tests/W3C-SVG-1.1/struct-image-04-t.svg: Added.
   4919         * svg-tests/W3C-SVG-1.1/struct-image-05-b-expected.txt: Added.
   4920         * svg-tests/W3C-SVG-1.1/struct-image-05-b-w3c.png: Added.
   4921         * svg-tests/W3C-SVG-1.1/struct-image-05-b.svg: Added.
   4922         * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.txt: Added.
   4923         * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-w3c.png: Added.
   4924         * svg-tests/W3C-SVG-1.1/struct-symbol-01-b.svg: Added.
   4925         * svg-tests/W3C-SVG-1.1/styling-css-01-b-expected.txt: Added.
   4926         * svg-tests/W3C-SVG-1.1/styling-css-01-b-w3c.png: Added.
   4927         * svg-tests/W3C-SVG-1.1/styling-css-01-b.svg: Added.
   4928         * svg-tests/W3C-SVG-1.1/styling-css-02-b-expected.txt: Added.
   4929         * svg-tests/W3C-SVG-1.1/styling-css-02-b-w3c.png: Added.
   4930         * svg-tests/W3C-SVG-1.1/styling-css-02-b.svg: Added.
   4931         * svg-tests/W3C-SVG-1.1/styling-css-03-b-expected.txt: Added.
   4932         * svg-tests/W3C-SVG-1.1/styling-css-03-b-w3c.png: Added.
   4933         * svg-tests/W3C-SVG-1.1/styling-css-03-b.svg: Added.
   4934         * svg-tests/W3C-SVG-1.1/styling-inherit-01-b-expected.txt: Added.
   4935         * svg-tests/W3C-SVG-1.1/styling-inherit-01-b-w3c.png: Added.
   4936         * svg-tests/W3C-SVG-1.1/styling-inherit-01-b.svg: Added.
   4937         * svg-tests/W3C-SVG-1.1/styling-pres-01-t-expected.txt: Added.
   4938         * svg-tests/W3C-SVG-1.1/styling-pres-01-t-w3c.png: Added.
   4939         * svg-tests/W3C-SVG-1.1/styling-pres-01-t.svg: Added.
   4940         * svg-tests/W3C-SVG-1.1/text-align-01-b-expected.txt: Added.
   4941         * svg-tests/W3C-SVG-1.1/text-align-01-b-w3c.png: Added.
   4942         * svg-tests/W3C-SVG-1.1/text-align-01-b.svg: Added.
   4943         * svg-tests/W3C-SVG-1.1/text-align-02-b-expected.txt: Added.
   4944         * svg-tests/W3C-SVG-1.1/text-align-02-b-w3c.png: Added.
   4945         * svg-tests/W3C-SVG-1.1/text-align-02-b.svg: Added.
   4946         * svg-tests/W3C-SVG-1.1/text-align-03-b-expected.txt: Added.
   4947         * svg-tests/W3C-SVG-1.1/text-align-03-b-w3c.png: Added.
   4948         * svg-tests/W3C-SVG-1.1/text-align-03-b.svg: Added.
   4949         * svg-tests/W3C-SVG-1.1/text-align-04-b-expected.txt: Added.
   4950         * svg-tests/W3C-SVG-1.1/text-align-04-b-w3c.png: Added.
   4951         * svg-tests/W3C-SVG-1.1/text-align-04-b.svg: Added.
   4952         * svg-tests/W3C-SVG-1.1/text-align-05-b-expected.txt: Added.
   4953         * svg-tests/W3C-SVG-1.1/text-align-05-b-w3c.png: Added.
   4954         * svg-tests/W3C-SVG-1.1/text-align-05-b.svg: Added.
   4955         * svg-tests/W3C-SVG-1.1/text-align-06-b-expected.txt: Added.
   4956         * svg-tests/W3C-SVG-1.1/text-align-06-b-w3c.png: Added.
   4957         * svg-tests/W3C-SVG-1.1/text-align-06-b.svg: Added.
   4958         * svg-tests/W3C-SVG-1.1/text-altglyph-01-b-expected.txt: Added.
   4959         * svg-tests/W3C-SVG-1.1/text-altglyph-01-b-w3c.png: Added.
   4960         * svg-tests/W3C-SVG-1.1/text-altglyph-01-b.svg: Added.
   4961         * svg-tests/W3C-SVG-1.1/text-deco-01-b-expected.txt: Added.
   4962         * svg-tests/W3C-SVG-1.1/text-deco-01-b-w3c.png: Added.
   4963         * svg-tests/W3C-SVG-1.1/text-deco-01-b.svg: Added.
   4964         * svg-tests/W3C-SVG-1.1/text-fonts-01-t-expected.txt: Added.
   4965         * svg-tests/W3C-SVG-1.1/text-fonts-01-t-w3c.png: Added.
   4966         * svg-tests/W3C-SVG-1.1/text-fonts-01-t.svg: Added.
   4967         * svg-tests/W3C-SVG-1.1/text-fonts-02-t-expected.txt: Added.
   4968         * svg-tests/W3C-SVG-1.1/text-fonts-02-t-w3c.png: Added.
   4969         * svg-tests/W3C-SVG-1.1/text-fonts-02-t.svg: Added.
   4970         * svg-tests/W3C-SVG-1.1/text-intro-01-t-expected.txt: Added.
   4971         * svg-tests/W3C-SVG-1.1/text-intro-01-t-w3c.png: Added.
   4972         * svg-tests/W3C-SVG-1.1/text-intro-01-t.svg: Added.
   4973         * svg-tests/W3C-SVG-1.1/text-intro-02-b-expected.txt: Added.
   4974         * svg-tests/W3C-SVG-1.1/text-intro-02-b-w3c.png: Added.
   4975         * svg-tests/W3C-SVG-1.1/text-intro-02-b.svg: Added.
   4976         * svg-tests/W3C-SVG-1.1/text-intro-03-b-expected.txt: Added.
   4977         * svg-tests/W3C-SVG-1.1/text-intro-03-b-w3c.png: Added.
   4978         * svg-tests/W3C-SVG-1.1/text-intro-03-b.svg: Added.
   4979         * svg-tests/W3C-SVG-1.1/text-intro-04-t-expected.txt: Added.
   4980         * svg-tests/W3C-SVG-1.1/text-intro-04-t-w3c.png: Added.
   4981         * svg-tests/W3C-SVG-1.1/text-intro-04-t.svg: Added.
   4982         * svg-tests/W3C-SVG-1.1/text-path-01-b-expected.txt: Added.
   4983         * svg-tests/W3C-SVG-1.1/text-path-01-b-w3c.png: Added.
   4984         * svg-tests/W3C-SVG-1.1/text-path-01-b.svg: Added.
   4985         * svg-tests/W3C-SVG-1.1/text-spacing-01-b-expected.txt: Added.
   4986         * svg-tests/W3C-SVG-1.1/text-spacing-01-b-w3c.png: Added.
   4987         * svg-tests/W3C-SVG-1.1/text-spacing-01-b.svg: Added.
   4988         * svg-tests/W3C-SVG-1.1/text-text-01-b-expected.txt: Added.
   4989         * svg-tests/W3C-SVG-1.1/text-text-01-b-w3c.png: Added.
   4990         * svg-tests/W3C-SVG-1.1/text-text-01-b.svg: Added.
   4991         * svg-tests/W3C-SVG-1.1/text-text-03-b-expected.txt: Added.
   4992         * svg-tests/W3C-SVG-1.1/text-text-03-b-w3c.png: Added.
   4993         * svg-tests/W3C-SVG-1.1/text-text-03-b.svg: Added.
   4994         * svg-tests/W3C-SVG-1.1/text-tref-01-b-expected.txt: Added.
   4995         * svg-tests/W3C-SVG-1.1/text-tref-01-b-w3c.png: Added.
   4996         * svg-tests/W3C-SVG-1.1/text-tref-01-b.svg: Added.
   4997         * svg-tests/W3C-SVG-1.1/text-tselect-01-b-expected.txt: Added.
   4998         * svg-tests/W3C-SVG-1.1/text-tselect-01-b-w3c.png: Added.
   4999         * svg-tests/W3C-SVG-1.1/text-tselect-01-b.svg: Added.
   5000         * svg-tests/W3C-SVG-1.1/text-tspan-01-b-expected.txt: Added.
   5001         * svg-tests/W3C-SVG-1.1/text-tspan-01-b-w3c.png: Added.
   5002         * svg-tests/W3C-SVG-1.1/text-tspan-01-b.svg: Added.
   5003         * svg-tests/W3C-SVG-1.1/text-ws-01-t-expected.txt: Added.
   5004         * svg-tests/W3C-SVG-1.1/text-ws-01-t-w3c.png: Added.
   5005         * svg-tests/W3C-SVG-1.1/text-ws-01-t.svg: Added.
   5006         * svg-tests/W3C-SVG-1.1/text-ws-02-t-expected.txt: Added.
   5007         * svg-tests/W3C-SVG-1.1/text-ws-02-t-w3c.png: Added.
   5008         * svg-tests/W3C-SVG-1.1/text-ws-02-t.svg: Added.
   5009 
   5010 2005-08-07  Anders Carlsson  <andersca (a] mac.com>
   5011 
   5012         Reviewed by darin.
   5013 
   5014         * khtml/ecma/kjs_dom.cpp:
   5015         * khtml/ecma/kjs_dom.h:
   5016         (KJS::DOMNodeList::):
   5017 	Add Length and Item to DOMNodeList.
   5018 	
   5019         * khtml/ecma/kjs_navigator.cpp:
   5020         (KJS::Plugins::getValueProperty):
   5021         (KJS::MimeTypes::getValueProperty):
   5022 	Fix capitalization.
   5023 	
   5024 2005-08-04  Maciej Stachowiak  <mjs (a] apple.com>
   5025 
   5026         Reviewed by Darin.
   5027 
   5028 	Change over to the new PropertySlot mechanism for property
   5029 	lookup. This allows the elimination of hasOwnProperty methods. I
   5030 	also did a bunch of code cleanup and regularization of the various
   5031 	property lookup methods.
   5032 	
   5033         Test cases added: Added a test case for a bug I found along the way.
   5034         * layout-tests/fast/js/string-index-overflow.html:
   5035 	* layout-tests/fast/js/string-index-overflow-expected.txt:
   5036 	
   5037         * khtml/ecma/kjs_binding.cpp:
   5038         (KJS::ScriptInterpreter::createLanguageInstanceForValue):
   5039         * khtml/ecma/kjs_binding.h:
   5040         * khtml/ecma/kjs_css.cpp:
   5041         (KJS::DOMCSSStyleDeclaration::indexGetter):
   5042         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
   5043         (KJS::DOMCSSStyleDeclaration::getOwnPropertySlot):
   5044         (KJS::DOMCSSStyleDeclaration::getValueProperty):
   5045         (KJS::DOMStyleSheet::getOwnPropertySlot):
   5046         (KJS::DOMStyleSheetList::getValueProperty):
   5047         (KJS::DOMStyleSheetList::indexGetter):
   5048         (KJS::DOMStyleSheetList::nameGetter):
   5049         (KJS::DOMStyleSheetList::getOwnPropertySlot):
   5050         (KJS::DOMMediaList::getValueProperty):
   5051         (KJS::DOMMediaList::indexGetter):
   5052         (KJS::DOMMediaList::getOwnPropertySlot):
   5053         (KJS::DOMCSSStyleSheet::getValueProperty):
   5054         (KJS::DOMCSSStyleSheet::getOwnPropertySlot):
   5055         (KJS::DOMCSSRuleList::getValueProperty):
   5056         (KJS::DOMCSSRuleList::indexGetter):
   5057         (KJS::DOMCSSRuleList::getOwnPropertySlot):
   5058         (KJS::DOMCSSRule::getOwnPropertySlot):
   5059         (KJS::CSSRuleConstructor::getOwnPropertySlot):
   5060         (KJS::DOMCSSValue::getValueProperty):
   5061         (KJS::DOMCSSValue::getOwnPropertySlot):
   5062         (KJS::CSSValueConstructor::getOwnPropertySlot):
   5063         (KJS::DOMCSSPrimitiveValue::getValueProperty):
   5064         (KJS::DOMCSSPrimitiveValue::getOwnPropertySlot):
   5065         (KJS::CSSPrimitiveValueConstructor::getOwnPropertySlot):
   5066         (KJS::DOMCSSValueList::getValueProperty):
   5067         (KJS::DOMCSSValueList::indexGetter):
   5068         (KJS::DOMCSSValueList::getOwnPropertySlot):
   5069         (KJS::DOMRGBColor::getOwnPropertySlot):
   5070         (KJS::DOMRect::getOwnPropertySlot):
   5071         (KJS::DOMCounter::getOwnPropertySlot):
   5072         * khtml/ecma/kjs_css.h:
   5073         (KJS::DOMCSSStyleDeclaration::):
   5074         (KJS::DOMCSSStyleSheet::):
   5075         (KJS::DOMCSSRule::):
   5076         (KJS::DOMCSSValueList::):
   5077         * khtml/ecma/kjs_dom.cpp:
   5078         (KJS::DOMNode::getOwnPropertySlot):
   5079         (KJS::):
   5080         (KJS::DOMNodeList::getValueProperty):
   5081         (KJS::DOMNodeList::indexGetter):
   5082         (KJS::DOMNodeList::nameGetter):
   5083         (KJS::DOMNodeList::getOwnPropertySlot):
   5084         (KJS::DOMNodeList::call):
   5085         (KJS::DOMAttr::getOwnPropertySlot):
   5086         (KJS::DOMDocument::getOwnPropertySlot):
   5087         (KJS::DOMElement::getValueProperty):
   5088         (KJS::DOMElement::attributeGetter):
   5089         (KJS::DOMElement::getOwnPropertySlot):
   5090         (KJS::DOMDocumentType::getOwnPropertySlot):
   5091         (KJS::DOMNamedNodeMap::lengthGetter):
   5092         (KJS::DOMNamedNodeMap::indexGetter):
   5093         (KJS::DOMNamedNodeMap::getOwnPropertySlot):
   5094         (KJS::DOMProcessingInstruction::getOwnPropertySlot):
   5095         (KJS::DOMNotation::getOwnPropertySlot):
   5096         (KJS::DOMEntity::getOwnPropertySlot):
   5097         (KJS::NodeConstructor::getOwnPropertySlot):
   5098         (KJS::DOMExceptionConstructor::getOwnPropertySlot):
   5099         (KJS::DOMNamedNodesCollection::lengthGetter):
   5100         (KJS::DOMNamedNodesCollection::indexGetter):
   5101         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
   5102         (KJS::DOMCharacterData::getOwnPropertySlot):
   5103         * khtml/ecma/kjs_dom.h:
   5104         * khtml/ecma/kjs_events.cpp:
   5105         (KJS::EventConstructor::getOwnPropertySlot):
   5106         (KJS::DOMEvent::getOwnPropertySlot):
   5107         (KJS::EventExceptionConstructor::getOwnPropertySlot):
   5108         (KJS::DOMUIEvent::getOwnPropertySlot):
   5109         (KJS::DOMMouseEvent::getOwnPropertySlot):
   5110         (KJS::DOMKeyboardEvent::getOwnPropertySlot):
   5111         (KJS::MutationEventConstructor::getOwnPropertySlot):
   5112         (KJS::DOMMutationEvent::getOwnPropertySlot):
   5113         (KJS::DOMWheelEvent::getOwnPropertySlot):
   5114         (KJS::Clipboard::getOwnPropertySlot):
   5115         * khtml/ecma/kjs_events.h:
   5116         * khtml/ecma/kjs_html.cpp:
   5117         (KJS::HTMLDocument::namedItemGetter):
   5118         (KJS::HTMLDocument::getValueProperty):
   5119         (KJS::HTMLDocument::getOwnPropertySlot):
   5120         (KJS::HTMLElement::formIndexGetter):
   5121         (KJS::HTMLElement::formNameGetter):
   5122         (KJS::HTMLElement::selectIndexGetter):
   5123         (KJS::HTMLElement::framesetNameGetter):
   5124         (KJS::HTMLElement::frameWindowPropertyGetter):
   5125         (KJS::HTMLElement::runtimeObjectGetter):
   5126         (KJS::HTMLElement::runtimeObjectPropertyGetter):
   5127         (KJS::HTMLElement::getOwnPropertySlot):
   5128         (KJS::HTMLCollection::lengthGetter):
   5129         (KJS::HTMLCollection::indexGetter):
   5130         (KJS::HTMLCollection::nameGetter):
   5131         (KJS::HTMLCollection::getOwnPropertySlot):
   5132         (KJS::HTMLSelectCollection::selectedIndexGetter):
   5133         (KJS::HTMLSelectCollection::getOwnPropertySlot):
   5134         (KJS::Image::getOwnPropertySlot):
   5135         (KJS::Context2D::getOwnPropertySlot):
   5136         (KJS::Gradient::getOwnPropertySlot):
   5137         (KJS::ImagePattern::getOwnPropertySlot):
   5138         * khtml/ecma/kjs_html.h:
   5139         (KJS::HTMLCollection::toBoolean):
   5140         * khtml/ecma/kjs_navigator.cpp:
   5141         (KJS::Plugins::):
   5142         (KJS::MimeTypes::):
   5143         (KJS::Plugin::):
   5144         (KJS::MimeType::):
   5145         (KJS::):
   5146         (KJS::Navigator::getOwnPropertySlot):
   5147         (KJS::Plugins::getValueProperty):
   5148         (KJS::Plugins::indexGetter):
   5149         (KJS::Plugins::nameGetter):
   5150         (KJS::Plugins::getOwnPropertySlot):
   5151         (KJS::MimeTypes::getValueProperty):
   5152         (KJS::MimeTypes::indexGetter):
   5153         (KJS::MimeTypes::nameGetter):
   5154         (KJS::MimeTypes::getOwnPropertySlot):
   5155         (KJS::Plugin::getValueProperty):
   5156         (KJS::Plugin::indexGetter):
   5157         (KJS::Plugin::nameGetter):
   5158         (KJS::Plugin::getOwnPropertySlot):
   5159         (KJS::MimeType::getValueProperty):
   5160         (KJS::MimeType::getOwnPropertySlot):
   5161         * khtml/ecma/kjs_navigator.h:
   5162         * khtml/ecma/kjs_range.cpp:
   5163         (KJS::DOMRange::getOwnPropertySlot):
   5164         (KJS::RangeConstructor::getOwnPropertySlot):
   5165         * khtml/ecma/kjs_range.h:
   5166         * khtml/ecma/kjs_traversal.cpp:
   5167         (KJS::DOMNodeIterator::getOwnPropertySlot):
   5168         (KJS::NodeFilterConstructor::getOwnPropertySlot):
   5169         (KJS::DOMTreeWalker::getOwnPropertySlot):
   5170         * khtml/ecma/kjs_traversal.h:
   5171         * khtml/ecma/kjs_views.cpp:
   5172         (KJS::DOMAbstractView::~DOMAbstractView):
   5173         (KJS::DOMAbstractView::getValueProperty):
   5174         (KJS::DOMAbstractView::getOwnPropertySlot):
   5175         * khtml/ecma/kjs_views.h:
   5176         * khtml/ecma/kjs_window.cpp:
   5177         (KJS::FrameArray::):
   5178         (KJS::FrameArray::classInfo):
   5179         (KJS::Screen::getOwnPropertySlot):
   5180         (KJS::Window::getValueProperty):
   5181         (KJS::Window::childFrameGetter):
   5182         (KJS::Window::namedFrameGetter):
   5183         (KJS::Window::indexGetter):
   5184         (KJS::Window::namedItemGetter):
   5185         (KJS::Window::getOwnPropertySlot):
   5186         (KJS::):
   5187         (KJS::FrameArray::getValueProperty):
   5188         (KJS::FrameArray::indexGetter):
   5189         (KJS::FrameArray::nameGetter):
   5190         (KJS::FrameArray::getOwnPropertySlot):
   5191         (KJS::Location::getValueProperty):
   5192         (KJS::Location::getOwnPropertySlot):
   5193         (KJS::Selection::getValueProperty):
   5194         (KJS::Selection::getOwnPropertySlot):
   5195         (KJS::BarInfo::getValueProperty):
   5196         (KJS::BarInfo::getOwnPropertySlot):
   5197         (KJS::History::getOwnPropertySlot):
   5198         * khtml/ecma/kjs_window.h:
   5199         * khtml/ecma/xmlhttprequest.cpp:
   5200         (KJS::XMLHttpRequest::getOwnPropertySlot):
   5201         * khtml/ecma/xmlhttprequest.h:
   5202 
   5203 2005-08-06  Eric Seidel  <eseidel (a] apple.com>
   5204 
   5205         Reviewed by darin.
   5206 
   5207         * WebCore+SVG/DrawDocument.mm: DumpKCanvasTree support
   5208         (-[DrawDocument renderTreeAsExternalRepresentation]):
   5209         * WebCore+SVG/DrawDocumentPrivate.h:
   5210         * WebCore.xcodeproj/project.pbxproj: fixed bison + zsh issue
   5211         * kcanvas/KCanvas.cpp:
   5212         (KCanvas::Private::~Private): device is now a singleton
   5213         * kcanvas/KCanvasContainer.cpp:
   5214         (KCanvasContainer::first): needed for DumpKCanvasTree
   5215         (KCanvasContainer::last): needed for DumpKCanvasTree
   5216         * kcanvas/KCanvasContainer.h:
   5217         * kcanvas/KCanvasTreeDebug.cpp: Added.
   5218         * kcanvas/KCanvasTreeDebug.h: Added.
   5219         * kwq/KWQTextStream.mm:
   5220         (QTextStream::operator<<): added missing float and double versions
   5221         This adds all the changes necessary to support DumpKCanvasTree.
   5222         Most noteable: operator<<(float) and double were missing from
   5223         KWQTextStream, also added KCanvasTreeDebug, modeled after
   5224         KWQRenderTreeDebug.  Most of KCanvasTreeDebug will be removed
   5225         if the render trees finally merge.
   5226         http://bugs.webkit.org/show_bug.cgi?id=3917
   5227 
   5228 2005-08-06  Darin Adler  <darin (a] apple.com>
   5229 
   5230         Reviewed by Dave Hyatt.
   5231 
   5232         * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::setChanged): Small tweak.
   5233 
   5234 2005-08-06  Darin Adler  <darin (a] apple.com>
   5235 
   5236         Reviewed by Dave Hyatt.
   5237 
   5238         - fixed crash in one of the W3C DOM tests
   5239 
   5240         * khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::dispatchEvent): Check for NULL which means
   5241         the passed object is not an event. Return without raising an exception because that's
   5242         what Gecko does despite the fact that the DOM test expects a (platform-specific) exception.
   5243 
   5244         * layout-tests/dom/html/level2/events/dispatchEvent01-expected.txt: Added.
   5245         * layout-tests/dom/html/level2/events/dispatchEvent01.html: Added.
   5246         * layout-tests/dom/html/level2/events/dispatchEvent01.html-disabled: Removed.
   5247 
   5248 2005-08-06  Darin Adler  <darin (a] apple.com>
   5249 
   5250         Reviewed by Dave Hyatt.
   5251 
   5252         - added a "set" operation to HashMap for cases where you want to either insert or
   5253           modify an existing map entry; the "set" name is based on symmetry with get, and also on
   5254           the naming used for similar operations in CFDictionary.
   5255 
   5256         * khtml/misc/hashmap.h: Small tweak to insert and added set.
   5257 
   5258 2005-08-06  Darin Adler  <darin (a] apple.com>
   5259 
   5260         Reviewed by Dave Hyatt.
   5261 
   5262         - made a small improvement to how Windows Latin-1 characters are handled in the tokenizer
   5263 
   5264         * khtml/html/htmltokenizer.cpp:
   5265         (khtml::fixUpChar): Changed to use an array and a quick check to determine if a character
   5266         is one of the ones that needs to be mapped. This retains most of the speedup gained from
   5267         not doing anything when the character doesn't need to be fixed up.
   5268         (khtml::HTMLTokenizer::parseSpecial): Get rid of the local check since the check in fixUpChar
   5269         is sufficient not.
   5270         (khtml::HTMLTokenizer::parseText): Ditto.
   5271         (khtml::HTMLTokenizer::parseEntity): Ditto.
   5272         (khtml::HTMLTokenizer::parseTag): Ditto.
   5273         (khtml::HTMLTokenizer::write): Ditto.
   5274 
   5275 2005-08-06  Eric Seidel  <eseidel (a] apple.com>
   5276 
   5277         Reviewed by darin.
   5278 
   5279         * WebCore+SVG/DrawView.mm:
   5280         (+[DrawView setFilterSupportEnabled:]): Moved from DrawViewPrivate
   5281         (+[DrawView isFilterSupportEnabled]): Moved from DrawViewPrivate
   5282         One half of fix for toggling filter support.
   5283         http://bugs.webkit.org/show_bug.cgi?id=4252
   5284 
   5285 2005-08-05  Adele Peterson  <adele (a] apple.com>
   5286 
   5287         Reviewed by Darin.
   5288 
   5289         * WebCore.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.
   5290 
   5291 2005-08-05  Geoffrey Garen  <ggaren (a] apple.com>
   5292 
   5293         -added layout test for fix to: <rdar://problem/4161606> JavaScript regular
   5294         expressions with certain ranges of Unicode characters cause a crash
   5295 
   5296         Test cases added:
   5297 
   5298         * layout-tests/fast/js/regexp-big-unicode-ranges-expected.txt: Added.
   5299         * layout-tests/fast/js/regexp-big-unicode-ranges.html: Added.
   5300 
   5301 2005-08-05  David Hyatt  <hyatt (a] apple.com>
   5302 
   5303 	Make sure that <wbr> and <nobr> are included as residual style tags.
   5304 	
   5305         Reviewed by john
   5306 
   5307         Test cases added: fast/invalid/wbrlink.html
   5308 
   5309         * khtml/css/html4.css:
   5310         * khtml/html/htmlparser.cpp:
   5311         (HTMLParser::isResidualStyleTag):
   5312 
   5313 2005-08-05  David Hyatt  <hyatt (a] apple.com>
   5314 
   5315 	Fix for bugzilla bug 4289, a regression from the QualifiedName landing.  Make sure getNamedItemNS and
   5316 	removeNamedItemNS are case-insensitive in HTML documents.
   5317 	
   5318         Reviewed by darin
   5319 
   5320         * khtml/xml/dom_elementimpl.cpp:
   5321         (NamedAttrMapImpl::getNamedItemNS):
   5322         (NamedAttrMapImpl::removeNamedItemNS):
   5323         * khtml/xml/dom_elementimpl.h:
   5324         * khtml/xml/dom_nodeimpl.cpp:
   5325         * khtml/xml/dom_nodeimpl.h:
   5326         (DOM::NamedNodeMapImpl::NamedNodeMapImpl):
   5327         (DOM::NamedNodeMapImpl::~NamedNodeMapImpl):
   5328 
   5329 2005-08-04  Justin Garcia  <justin.garcia (a] apple.com>
   5330 
   5331         Reviewed by kocienda
   5332         
   5333         Fix for: 
   5334         - <rdar://problem/4132360> HIM-8A428:Space key works like Return key in Mail application.
   5335         - <rdar://problem/4122708> Mail: when composing new mail with a Korean input method, the first space doesn't work
   5336 
   5337         If the user terminates marked text with a space, a string including marked characters and a normal, 
   5338         breaking space, is passed to WebCore in order to replace the previous marked sequence.  The fix ensures
   5339         that the space becomes a non breaking space if necessary.
   5340 
   5341         Test cases added:
   5342         * manual-tests/korean-input-space.html
   5343 
   5344         * khtml/editing/insert_text_command.cpp:
   5345         (khtml::InsertTextCommand::input):
   5346 
   5347 2005-08-03  David Hyatt  <hyatt (a] apple.com>
   5348 
   5349 	This patch significantly improves the performance of radio button groups and enables consistent tabbing
   5350 	behavior in radio groups with both OS X and Internet Explorer for Windows.  It also adds support for
   5351 	arrow key navigation between the radio buttons in a group.
   5352 
   5353 	In addition elements can now be shifted between forms using DOM operations and they will properly be
   5354 	adopted by the form into which they are inserted.  This movement works even when the forms themselves
   5355 	are not currently in the document by introducing a new set of notifications when an object is connected
   5356 	and removed from a tree of nodes (where that tree may or may not be the main document's tree).
   5357 	
   5358         Test cases added: formmove.html, formmove2.html in fast/forms
   5359 
   5360         * khtml/html/html_formimpl.cpp:
   5361         (DOM::HTMLFormElementImpl::HTMLFormElementImpl):
   5362         (DOM::HTMLFormElementImpl::~HTMLFormElementImpl):
   5363 	Updated to init/delete a new selectedRadioButtons member variable that is a hash tracking the current
   5364 	checked button in each radio group owned by the form.
   5365 	
   5366         (DOM::HTMLFormElementImpl::radioButtonChecked):
   5367         A notification that is called when a radio button becomes checked.
   5368 	
   5369 	(DOM::HTMLFormElementImpl::checkedRadioButtonForGroup):
   5370         Returns the current checked radio button for a given named group.
   5371 	
   5372 	(DOM::HTMLFormElementImpl::removeRadioButtonForGroup):
   5373         Clears out the checked radio button for a given named group.
   5374 	
   5375 	(DOM::HTMLFormElementImpl::registerFormElement):
   5376         (DOM::HTMLFormElementImpl::removeFormElement):
   5377         The registration and removal functions have been patched to deal with radio buttons and to remove
   5378 	the "dormant form control" concept, which is no longer needed now that controls can actually move
   5379 	between forms.
   5380 	
   5381 	(DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
   5382         Remove the dormant bit from form controls.
   5383 	
   5384 	(DOM::HTMLGenericFormElementImpl::attach):
   5385 	Remove the code that attempted to register a form element in attached.  We use new notifications now
   5386 	for dynamically inserted controls via JS.
   5387 	
   5388         (DOM::HTMLGenericFormElementImpl::insertedIntoTree):
   5389         (DOM::HTMLGenericFormElementImpl::removedFromTree):
   5390         These are the new notifications that are called whenever a form control is connected to or removed from
   5391 	a tree.  This tree may or may not be the document tree.  The form control can then "seek out" a form
   5392 	to latch on to, thus keeping its current status regarding what form it belongs to current across DOM
   5393 	operations.
   5394 
   5395 	(DOM::HTMLInputElementImpl::isKeyboardFocusable):
   5396         Overridden to deal with radio buttons.  Unnamed radio buttons can't be focused.  Radio buttons can't be
   5397 	focused if another member of their group is already currently focused.  Unchecked radio buttons can
   5398 	only be focused if no button within the group is checked.
   5399 	
   5400 	(DOM::HTMLInputElementImpl::setInputType):
   5401 	Make sure to remove a checked radio button from the form's radio button hash if the type is changed
   5402 	to something else, e.g., checkbox.
   5403 	
   5404         (DOM::HTMLInputElementImpl::setChecked):
   5405         Revised to update the form's hash when a radio button gets checked and to also prevent unnamed radio
   5406 	buttons from changing state (matches WinIE).
   5407 	
   5408 	(DOM::HTMLInputElementImpl::defaultEventHandler):
   5409         Add support for arrow key navigation through radio button groups.  Fix space behavior so that an unselected
   5410 	radio can become checked but not unchecked on space.  Fix enter behavior so that the form is not submitted
   5411 	on enter.  (Matches WinIE.)
   5412 	
   5413 	* khtml/html/html_formimpl.h:
   5414         Adds the new member variable to track the current radio buttons in the various groups and the notifications
   5415 	for updating form controls when they switch forms.
   5416 	
   5417 	* khtml/xml/dom_nodeimpl.cpp:
   5418         (DOM::NodeImpl::insertedIntoDocument):
   5419         (DOM::NodeImpl::removedFromDocument):
   5420         Patch insertedIntoDocument and removedFromDocument to also send the insertedIntoTree and removedFromTree
   5421 	notifications.
   5422 	
   5423 	(DOM::ContainerNodeImpl::removeChild):
   5424         Call removedFromTree in the case where the removal of a child happens on a tree that is not in the 
   5425 	document.
   5426 	
   5427 	(DOM::ContainerNodeImpl::insertedIntoTree):
   5428         (DOM::ContainerNodeImpl::removedFromTree):
   5429         The new notifications.  The container node can optionally crawl into children invoking their notifications.
   5430 	
   5431 	(DOM::ContainerNodeImpl::dispatchChildInsertedEvents):
   5432         Patched to call insertedIntoTree in the case where the insertion happened on a tree that is not in the
   5433 	document.
   5434 	
   5435 	* khtml/xml/dom_nodeimpl.h:
   5436         (DOM::NodeImpl::insertedIntoTree):
   5437         (DOM::NodeImpl::removedFromTree):
   5438 	Added the new notifications to NodeImpl for use by the form controls.
   5439 
   5440 2005-08-04  Darin Adler  <darin (a] apple.com>
   5441 
   5442         Reviewed by John Sullivan.
   5443 
   5444         - fixed Objective-C binding for getOverrideStyle
   5445 
   5446         * kwq/DOM.mm: ([DOMDocument getOverrideStyle::]): Change to call the DOM
   5447         getOverrideStyle. It was not correct to call getComputedStyle just because
   5448         getOverrideStyle is not yet implemented in our DOM.
   5449 
   5450 2005-08-04  Adele Peterson  <adele (a] apple.com>
   5451 
   5452         Reviewed by John.
   5453 
   5454         - fixed <rdar://problem/4204496> REGRESSION(denver): repro crash in KHTMLParser::finished() downloading attachment at webmail.mac.com
   5455         This regression was introduced by the fix for <rdar://problem/4084029>.  It was just missing a nil check.
   5456 
   5457         * khtml/html/htmlparser.cpp: (KHTMLParser::finished): added nil check for current.
   5458 
   5459 2005-08-04  Geoffrey Garen  <ggaren (a] apple.com>
   5460 
   5461         - fixed <rdar://problem/4199495> REGRESSION: Safari Crashes on Window Closing Event
   5462 
   5463         Reviewed by darin.
   5464 
   5465         * khtml/ecma/kjs_binding.cpp:
   5466         (KJS::ScriptInterpreter::updateDOMNodeDocument): inserting a node wrapper into a new
   5467         document set now removes the node wrapper from its old document set.
   5468 
   5469 2005-08-03  Vicki Murley  <vicki (a] apple.com>
   5470 
   5471         Reviewed by Beth and Hyatt.
   5472  
   5473 	<rdar://problem/4196646> target returns text node when it should return the parent node
   5474 
   5475         Test cases added: manual-tests/mouseevents-on-textnodes.html
   5476 
   5477         * khtml/khtmlview.cpp:
   5478         (KHTMLView::dispatchMouseEvent): if the targetNode is a text node, set the 
   5479 	targetNode to the parent node
   5480 
   5481 2005-08-02  Bruce DiBello  <bdibello (a] apple.com>
   5482 
   5483         Reviewed by Geoffrey Garen.
   5484 
   5485         Test cases added: getting and setting button.value
   5486 
   5487         * layout-tests/fast/dom/HTMLButtonElement/value/getset-expected.txt: Added.
   5488         * layout-tests/fast/dom/HTMLButtonElement/value/getset.html: Added.
   5489 
   5490 2005-08-01  Geoffrey Garen  <ggaren (a] apple.com>
   5491 
   5492         - landed layout tests for fix to <rdar://problem/3572585> 
   5493         window.open fails if name param = the name of a window just 
   5494         closed in same function
   5495 
   5496         Fix reviewed by darin.
   5497 
   5498         Test cases added:
   5499 
   5500         * manual-tests/open-after-close.html: Added.
   5501         * manual-tests/resources/open-after-close-popup.html: Added.
   5502 
   5503 2005-08-01  David Hyatt  <hyatt (a] apple.com>
   5504 
   5505 	Reviewed by cblu, kocienda, darin
   5506 
   5507 	This patch removes the old KWQCheckbox from the tree and enables the new
   5508 	checkbox handled by the engine.
   5509 	
   5510         * ForwardingHeaders/qcheckbox.h: Removed.
   5511         Removed the old header for the Qt checkbox class.
   5512 	
   5513 	* WebCore.xcodeproj/project.pbxproj:
   5514         Removed the references to KWQCheckBox from the project.
   5515 	
   5516 	* khtml/css/html4.css:
   5517         Turn on the -khtml-appearance property for checkboxes so that they have
   5518 	the native OS X look by default.
   5519 	
   5520 	* khtml/html/html_formimpl.cpp:
   5521         (DOM::HTMLInputElementImpl::setType):
   5522         (DOM::HTMLInputElementImpl::setInputType):
   5523         Change the setting of the type property in the DOM to simply update the
   5524 	corresponding attribute.  setType is the "public" API now and
   5525 	setInputType is the one called internally, e.g., when the attribute is
   5526 	changed.
   5527 	
   5528 	(DOM::HTMLInputElementImpl::click):
   5529         Remove the hack for checkboxes now that the new ones are turned on.
   5530 	
   5531 	(DOM::HTMLInputElementImpl::parseMappedAttribute):
   5532 	Make the attribute parsing code call the internal setInputType now.
   5533 	
   5534         (DOM::HTMLInputElementImpl::createRenderer):
   5535         (DOM::HTMLInputElementImpl::attach):
   5536         Remove the hack for making the old renderer and let only the new one
   5537 	get made now.
   5538 	
   5539 	(DOM::HTMLInputElementImpl::defaultEventHandler):
   5540         Remove the hack for still doing the old event handling now that the
   5541 	new checkbox is on.
   5542 	
   5543 	* khtml/html/html_formimpl.h:
   5544         Added the setInputType method (see above).
   5545 
   5546 	* khtml/rendering/render_form.cpp:
   5547         * khtml/rendering/render_form.h:
   5548 	Removed RenderCheckBox from these files.
   5549 	
   5550         * kwq/KWQButton.mm:
   5551         Removed an include of qcheckbox.h.
   5552 	
   5553 	* kwq/KWQCheckBox.h: Removed.
   5554         * kwq/KWQCheckBox.mm: Removed.
   5555         Removed from the tree.
   5556 	
   5557 	* kwq/KWQSlot.mm:
   5558         (KWQSlot::KWQSlot):
   5559         (KWQSlot::call):
   5560         Deleted the stateChanged signal/slot stuff, since it's no longer
   5561 	used by checkboxes.
   5562 	
   5563 	* layout-tests/fast/forms/001-expected.txt:
   5564         * layout-tests/fast/forms/check-box-enter-key-expected.txt:
   5565         * layout-tests/fast/forms/form-element-geometry-expected.txt:
   5566         * layout-tests/fast/forms/input-value-expected.txt:
   5567 	Updated the layout tests to reflect the new checkboxes.  In the case
   5568 	of the last test, it has also had bugs corrected from making the type
   5569 	property actually set the attribute instead.
   5570 
   5571 2005-08-01  David Hyatt  <hyatt (a] apple.com>
   5572 
   5573 	Fix bugzilla bug 4219, crash because we tried to do the fake paint
   5574 	when layout was not updated yet.
   5575 
   5576 	Also landing accessibility for checkboxes.
   5577 	
   5578         Reviewed by darin/mjs (accessibility), kocienda(crash)
   5579 
   5580         * ChangeLog:
   5581         * khtml/rendering/render_theme.h:
   5582         (khtml::RenderTheme::supportsControlTints):
   5583         * kwq/KWQAccObject.mm:
   5584         (-[KWQAccObject actionElement]):
   5585         (-[KWQAccObject role]):
   5586         (-[KWQAccObject roleDescription]):
   5587         (-[KWQAccObject value]):
   5588         (boundingBoxRect):
   5589         (-[KWQAccObject accessibilityIsIgnored]):
   5590         (-[KWQAccObject accessibilityAttributeValue:]):
   5591         (-[KWQAccObject accessibilityIsAttributeSettable:]):
   5592         * kwq/KWQKHTMLPart.mm:
   5593         (KWQKHTMLPart::setDisplaysWithFocusAttributes):
   5594 
   5595 2005-08-01  John Sullivan  <sullivan (a] apple.com>
   5596 
   5597         Reviewed by Beth Dakin.
   5598 
   5599         Test cases added: none, this only affects Safari forms autofill
   5600         
   5601         Moved the recently-added isTextField method out of the public DOMExtensions.h
   5602         and into the private DOMPrivate.h for now, and renamed it with a leading
   5603         underscore. We want to make some sort of public API that covers this, but not
   5604         necessarily this exact method, so we'll leave it out of the public API until we've
   5605         thought about this more.
   5606 
   5607         * kwq/DOMExtensions.h:
   5608         remove isTextField
   5609         * kwq/DOMPrivate.h:
   5610         add _isTextField. Also added some #imports that make this file more standalone.
   5611         * kwq/DOMHTML.mm:
   5612         (-[DOMHTMLInputElement _isTextField]):
   5613         moved this method and added leading underscore.
   5614 
   5615 2005-08-01  Eric Seidel  <eseidel (a] apple.com>
   5616 
   5617         Reviewed by darin.
   5618 
   5619         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
   5620         (getSharedContext): moved from QPainter -> CG
   5621         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
   5622         (CGShadingRefForLinearGradient): removed comment
   5623         (CGShadingRefForRadialGradient): removed comment
   5624         * khtml/ecma/kjs_html.cpp:
   5625         (KJS::KJS::Context2DFunction::call): moved from QPainter -> CG
   5626         (KJS::colorRefFromValue): moved from QPainter -> CG
   5627         (KJS::Gradient::getShading): moved from QPainter -> CG
   5628         * khtml/rendering/render_canvasimage.cpp:
   5629         (RenderCanvasImage::createDrawingContext):moved from QPainter -> CG
   5630         * kwq/KWQColor.mm:
   5631         (CGColorFromNSColor): moved from QPainter -> CG
   5632         * kwq/KWQPainter.h: removed colorspace calls
   5633         * kwq/KWQPainter.mm: removed colorspace calls
   5634         (QPainter::clearFocusRing): moved from QPainter -> CG
   5635         Removed use of WebKitGraphicsBridge Colorspace SPIs, as well
   5636         as corresponding QPainter colorspace "choke-point" methods.
   5637         This fixes colors for WebCore+SVG (since it wasn't linking in
   5638         webkit).  WebKit code removal in separate commit.
   5639         http://bugs.webkit.org/show_bug.cgi?id=4211
   5640 
   5641 2005-07-31  Darin Adler  <darin (a] apple.com>
   5642 
   5643         Reviewed by Maciej.
   5644 
   5645         - remove uses of Mac-OS-X-specific MAX macro in non-Mac-OS-X-specific code
   5646 
   5647         * khtml/misc/arena.cpp: (ArenaAllocate): Use std::max instead of MAX.
   5648         * khtml/misc/loader.cpp: (Cache::setSize): Use kMax instead of MAX.
   5649         * khtml/rendering/render_form.cpp:
   5650         (RenderLineEdit::setSelectionStart): Ditto.
   5651         (RenderLineEdit::setSelectionEnd): Ditto.
   5652         (RenderLineEdit::setSelectionRange): Ditto.
   5653 
   5654 2005-07-31  David Hyatt  <hyatt (a] apple.com>
   5655 
   5656 	Implement support for checkbox accessibility for VoiceOver.
   5657 	
   5658         Reviewed by mjs
   5659 
   5660         * kwq/KWQAccObject.mm:
   5661         (-[KWQAccObject actionElement]):
   5662         (-[KWQAccObject role]):
   5663         (-[KWQAccObject roleDescription]):
   5664         (-[KWQAccObject value]):
   5665         (boundingBoxRect):
   5666         (-[KWQAccObject accessibilityIsIgnored]):
   5667         (-[KWQAccObject accessibilityAttributeValue:]):
   5668         (-[KWQAccObject accessibilityIsAttributeSettable:]):
   5669 
   5670 2005-07-31  David Hyatt  <hyatt (a] apple.com>
   5671 
   5672 	Make node lists more refined in their invalidation when children are added/removed
   5673 	in the DOM or attributes are changed.  This is sort of a band-aid fix.  The
   5674 	architecture of node list notifications (as well as how they are stored) should
   5675 	be revisited.
   5676 	
   5677         Reviewed by darin
   5678 
   5679         * khtml/xml/dom_nodeimpl.cpp:
   5680         (DOM::NodeImpl::notifyLocalNodeListsAttributeChanged):
   5681         (DOM::NodeImpl::notifyNodeListsAttributeChanged):
   5682         (DOM::NodeImpl::notifyLocalNodeListsChildrenChanged):
   5683         (DOM::NodeImpl::notifyNodeListsChildrenChanged):
   5684         (DOM::NodeImpl::dispatchSubtreeModifiedEvent):
   5685         (DOM::NodeListImpl::rootNodeChildrenChanged):
   5686         * khtml/xml/dom_nodeimpl.h:
   5687         (DOM::NodeListImpl::rootNodeAttributeChanged):
   5688         (DOM::NameNodeListImpl::rootNodeChildrenChanged):
   5689         (DOM::NameNodeListImpl::rootNodeAttributeChanged):
   5690 
   5691 2005-07-31  Justin Garcia  <justin.garcia (a] apple.com>
   5692 
   5693         Reviewed by mjs
   5694         
   5695         Fixes <http://bugs.webkit.org/show_bug.cgi?id=3359> Crash on hover with certain styles on the text applied
   5696         
   5697         If a zero length render object (such as a text node that has been set to "") occured at the 
   5698         end of a line, it was previously given a non-zero sized run.  Iteration over such a node would cause
   5699         a crash.
   5700 
   5701         Test cases added:
   5702         * layout-tests/traversal/size-zero-run-expected.txt: Added.
   5703         * layout-tests/traversal/size-zero-run.html: Added.
   5704         
   5705         * khtml/rendering/bidi.cpp:
   5706         (khtml::appendRun):
   5707 
   5708 2005-07-31  Eric Seidel  <eseidel (a] apple.com>
   5709 
   5710         Reviewed by hyatt.
   5711 
   5712         * WebCore-svg.exp: Added.
   5713         * WebCore.xcodeproj/project.pbxproj: Uses WebCore+SVG.exp
   5714         * kcanvas/device/quartz/KCanvasFilterQuartz.mm: 
   5715         (KCanvasFEFloodQuartz::getCIFilter): Fixed longjmp warning.
   5716         * kdom/css/impl/CSSStyleSelector.cpp:
   5717         (CSSStyleSelector::applyRule): Fixed "un-initialized" warning.
   5718         * kdom/ecma/DOMLookup.h: Removed <iostream>
   5719         * ksvg2/impl/svgpathparser.cpp: Removed <iostream>
   5720         Several fixes required to make Deployment style builds
   5721         compile correctly.  Also WebCore-svg.exp symbols were added
   5722         both when generating WebCore-combined.exp as well as for
   5723         generating a new WebCore+SVG.exp export file for the Deployment
   5724         style builds, allowing DrawTest to link properly.
   5725         A few other small warnings were caught and fixed.
   5726         http://bugs.webkit.org/show_bug.cgi?id=4234
   5727 
   5728 2005-07-29  David Hyatt  <hyatt (a] apple.com>
   5729 
   5730 	This patch makes simulated clicks actually go into active state briefly.  Spacebar
   5731 	on the new checkboxes results in a pressed look.
   5732 	
   5733         Reviewed by darin
   5734 
   5735         * khtml/html/html_elementimpl.cpp:
   5736         (HTMLElementImpl::click):
   5737         * khtml/rendering/render_theme.cpp:
   5738         (khtml::RenderTheme::stateChanged):
   5739         * khtml/rendering/render_theme.h:
   5740         * khtml/xml/dom_nodeimpl.cpp:
   5741         (DOM::ContainerNodeImpl::setActive):
   5742         * khtml/xml/dom_nodeimpl.h:
   5743         (DOM::NodeImpl::setActive):
   5744         * kwq/KWQScrollView.mm:
   5745         (QScrollView::updateContents):
   5746 
   5747 2005-07-30  Anders Carlsson  <andersca (a] mac.com>
   5748 
   5749         Reviewed and landed by Darin Adler.
   5750 
   5751 	- Fixes <http://bugs.webkit.org/show_bug.cgi?id=3893>
   5752 	
   5753         Test cases added: 
   5754 	* layout-tests/fast/dom/css-dom-read-2.html: Added.
   5755 	* layout-tests/fast/dom/css-dom-read-2-expected.txt: Added.
   5756 	
   5757         * khtml/css/css_computedstyle.cpp:
   5758         (DOM::CSSComputedStyleDeclarationImpl::cssText):
   5759 	Implement.
   5760 	
   5761         (DOM::CSSComputedStyleDeclarationImpl::item):
   5762 	Return the item name, not its value.
   5763 	
   5764         * khtml/css/css_ruleimpl.cpp:
   5765         (CSSImportRuleImpl::cssText):
   5766         (CSSMediaRuleImpl::cssText):
   5767         (CSSStyleRuleImpl::cssText):
   5768         * khtml/css/css_ruleimpl.h:
   5769 	Implement.
   5770 	
   5771         * khtml/css/css_stylesheetimpl.cpp:
   5772         (MediaListImpl::mediaText):
   5773 	Don't put a trailing comma after lists.
   5774 
   5775 2005-07-30  Darin Adler  <darin (a] apple.com>
   5776 
   5777         - rolled back a test that has been failing since we rolled back the <script/> quirk
   5778 
   5779         * layout-tests/fast/tokenizer/script_extra_close-expected.txt: Updated.
   5780 
   5781 2005-07-30  Darin Adler  <darin (a] apple.com>
   5782 
   5783         Reviewed by me, change by Dave Hyatt.
   5784 
   5785         - fixed http://bugs.webkit.org/show_bug.cgi?id=4221
   5786           REGRESSION: Elements act as if in :hover meta-class during page load although they aren't
   5787 
   5788         * khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::NodeImpl): Initialize m_hovered to false.
   5789 
   5790 2005-07-30  Maciej Stachowiak  <mjs (a] apple.com>
   5791 
   5792         Missing bits of last checkin...
   5793 
   5794         * WebCore.exp:
   5795         * WebCore.xcodeproj/project.pbxproj:
   5796 
   5797 2005-07-29  Maciej Stachowiak  <mjs (a] apple.com>
   5798 
   5799         Changes by Michael Kahl, reviewed by me.
   5800 
   5801         Test cases added: No tests, this code only affects debugging.
   5802 
   5803 	- fixed <rdar://problem/4164112> MASTER: JavaScript debugging support
   5804 	
   5805         * kwq/WebCoreScriptDebugger.h: Added.
   5806         * kwq/WebCoreScriptDebugger.mm: Added.
   5807         (toNSString):
   5808         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
   5809         (WebCoreScriptDebuggerImp::sourceParsed):
   5810         (WebCoreScriptDebuggerImp::callEvent):
   5811         (WebCoreScriptDebuggerImp::atStatement):
   5812         (WebCoreScriptDebuggerImp::returnEvent):
   5813         (-[WebCoreScriptDebugger initWithDelegate:]):
   5814         (-[WebCoreScriptDebugger dealloc]):
   5815         (-[WebCoreScriptDebugger delegate]):
   5816         (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
   5817         (-[WebCoreScriptCallFrame _setWrapper:]):
   5818         (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
   5819         (-[WebCoreScriptCallFrame dealloc]):
   5820         (-[WebCoreScriptCallFrame wrapper]):
   5821         (-[WebCoreScriptCallFrame caller]):
   5822         (-[WebCoreScriptCallFrame scopeChain]):
   5823         (-[WebCoreScriptCallFrame functionName]):
   5824         (-[WebCoreScriptCallFrame exception]):
   5825         (-[WebCoreScriptCallFrame evaluateWebScript:]):
   5826 
   5827 2005-07-29  Maciej Stachowiak  <mjs (a] apple.com>
   5828 
   5829         Reviewed by hyatt (concept and a few manual parts), large part
   5830 	done by script and not really reviewed in detail.
   5831 
   5832         - changed how HTML tags and attributes are referred to in the code for better readability.
   5833 
   5834         * khtml/css/cssstyleselector.cpp:
   5835         (khtml::checkPseudoState):
   5836         (khtml::CSSStyleSelector::canShareStyleWithElement):
   5837         (khtml::CSSStyleSelector::adjustRenderStyle):
   5838         (khtml::CSSStyleSelector::checkOneSelector):
   5839         * khtml/css/parser.y:
   5840         * khtml/ecma/kjs_css.cpp:
   5841         (KJS::DOMStyleSheetList::getOwnProperty):
   5842         * khtml/ecma/kjs_dom.cpp:
   5843         (KJS::getRuntimeObject):
   5844         (KJS::DOMNamedNodesCollection::getOwnProperty):
   5845         * khtml/ecma/kjs_html.cpp:
   5846         (KJS::HTMLDocument::getOwnProperty):
   5847         (KJS::KJS::HTMLDocument::putValueProperty):
   5848         (KJS::KJS::HTMLElement::classInfo):
   5849         (KJS::HTMLElement::getSetInfo):
   5850         (KJS::KJS::HTMLElement::getOwnProperty):
   5851         (KJS::KJS::HTMLElement::implementsCall):
   5852         (KJS::KJS::HTMLElement::call):
   5853         (KJS::KJS::HTMLElement::hasOwnProperty):
   5854         (KJS::KJS::HTMLElement::toString):
   5855         (KJS::getForm):
   5856         (KJS::KJS::HTMLElement::pushEventHandlerScope):
   5857         (KJS::KJS::HTMLElementFunction::call):
   5858         (KJS::KJS::HTMLElement::put):
   5859         (KJS::toHTMLTableCaptionElement):
   5860         (KJS::toHTMLTableSectionElement):
   5861         (KJS::KJS::HTMLCollection::getOwnProperty):
   5862         (KJS::KJS::HTMLSelectCollection::put):
   5863         * khtml/editing/apply_style_command.cpp:
   5864         (khtml::isStyleSpan):
   5865         (khtml::isEmptyStyleSpan):
   5866         (khtml::isEmptyFontTag):
   5867         (khtml::createFontElement):
   5868         (khtml::createStyleSpanElement):
   5869         (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
   5870         (khtml::ApplyStyleCommand::applyInlineStyle):
   5871         (khtml::ApplyStyleCommand::isHTMLStyleNode):
   5872         (khtml::ApplyStyleCommand::removeHTMLFontStyle):
   5873         (khtml::ApplyStyleCommand::applyTextDecorationStyle):
   5874         (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
   5875         (khtml::ApplyStyleCommand::addBlockStyleIfNeeded):
   5876         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   5877         * khtml/editing/break_blockquote_command.cpp:
   5878         (khtml::BreakBlockquoteCommand::doApply):
   5879         * khtml/editing/composite_edit_command.cpp:
   5880         (khtml::CompositeEditCommand::insertNodeBefore):
   5881         (khtml::CompositeEditCommand::insertNodeAfter):
   5882         (khtml::CompositeEditCommand::findBlockPlaceholder):
   5883         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
   5884         (khtml::createBlockPlaceholderElement):
   5885         * khtml/editing/delete_selection_command.cpp:
   5886         (khtml::isListStructureNode):
   5887         (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete):
   5888         (khtml::DeleteSelectionCommand::handleGeneralDelete):
   5889         (khtml::DeleteSelectionCommand::moveNodesAfterNode):
   5890         * khtml/editing/htmlediting.cpp:
   5891         (khtml::isSpecialElement):
   5892         (khtml::createDefaultParagraphElement):
   5893         (khtml::createBreakElement):
   5894         (khtml::isMailBlockquote):
   5895         * khtml/editing/insert_line_break_command.cpp:
   5896         (khtml::InsertLineBreakCommand::doApply):
   5897         * khtml/editing/insert_paragraph_separator_command.cpp:
   5898         (khtml::InsertParagraphSeparatorCommand::doApply):
   5899         * khtml/editing/markup.cpp:
   5900         (khtml::startMarkup):
   5901         (khtml::createMarkup):
   5902         (khtml::createFragmentFromText):
   5903         * khtml/editing/replace_selection_command.cpp:
   5904         (khtml::isProbablyBlock):
   5905         (khtml::isProbablyTableStructureNode):
   5906         (khtml::ReplacementFragment::isInterchangeNewlineNode):
   5907         (khtml::ReplacementFragment::isInterchangeConvertedSpaceSpan):
   5908         (khtml::ReplacementFragment::removeStyleNodes):
   5909         (khtml::ReplaceSelectionCommand::doApply):
   5910         * khtml/editing/visible_position.cpp:
   5911         (khtml::VisiblePosition::init):
   5912         (khtml::VisiblePosition::isCandidate):
   5913         (khtml::VisiblePosition::isAtomicNode):
   5914         * khtml/editing/visible_text.cpp:
   5915         (khtml::TextIterator::handleNonTextNode):
   5916         (khtml::TextIterator::exitNode):
   5917         (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode):
   5918         * khtml/editing/visible_units.cpp:
   5919         (khtml::endOfLine):
   5920         * khtml/html/html_baseimpl.cpp:
   5921         (HTMLBodyElementImpl::HTMLBodyElementImpl):
   5922         (HTMLBodyElementImpl::mapToEntry):
   5923         (HTMLBodyElementImpl::parseMappedAttribute):
   5924         (HTMLBodyElementImpl::insertedIntoDocument):
   5925         (HTMLBodyElementImpl::isURLAttribute):
   5926         (HTMLBodyElementImpl::aLink):
   5927         (HTMLBodyElementImpl::setALink):
   5928         (HTMLBodyElementImpl::background):
   5929         (HTMLBodyElementImpl::setBackground):
   5930         (HTMLBodyElementImpl::bgColor):
   5931         (HTMLBodyElementImpl::setBgColor):
   5932         (HTMLBodyElementImpl::link):
   5933         (HTMLBodyElementImpl::setLink):
   5934         (HTMLBodyElementImpl::text):
   5935         (HTMLBodyElementImpl::setText):
   5936         (HTMLBodyElementImpl::vLink):
   5937         (HTMLBodyElementImpl::setVLink):
   5938         (HTMLFrameElementImpl::HTMLFrameElementImpl):
   5939         (HTMLFrameElementImpl::parseMappedAttribute):
   5940         (HTMLFrameElementImpl::attach):
   5941         (HTMLFrameElementImpl::isURLAttribute):
   5942         (HTMLFrameElementImpl::frameBorder):
   5943         (HTMLFrameElementImpl::setFrameBorder):
   5944         (HTMLFrameElementImpl::longDesc):
   5945         (HTMLFrameElementImpl::setLongDesc):
   5946         (HTMLFrameElementImpl::marginHeight):
   5947         (HTMLFrameElementImpl::setMarginHeight):
   5948         (HTMLFrameElementImpl::marginWidth):
   5949         (HTMLFrameElementImpl::setMarginWidth):
   5950         (HTMLFrameElementImpl::name):
   5951         (HTMLFrameElementImpl::setName):
   5952         (HTMLFrameElementImpl::setNoResize):
   5953         (HTMLFrameElementImpl::scrolling):
   5954         (HTMLFrameElementImpl::setScrolling):
   5955         (HTMLFrameElementImpl::src):
   5956         (HTMLFrameElementImpl::setSrc):
   5957         (HTMLFrameSetElementImpl::HTMLFrameSetElementImpl):
   5958         (HTMLFrameSetElementImpl::checkDTD):
   5959         (HTMLFrameSetElementImpl::parseMappedAttribute):
   5960         (HTMLFrameSetElementImpl::attach):
   5961         (HTMLFrameSetElementImpl::cols):
   5962         (HTMLFrameSetElementImpl::setCols):
   5963         (HTMLFrameSetElementImpl::rows):
   5964         (HTMLFrameSetElementImpl::setRows):
   5965         (HTMLHeadElementImpl::HTMLHeadElementImpl):
   5966         (HTMLHeadElementImpl::profile):
   5967         (HTMLHeadElementImpl::setProfile):
   5968         (HTMLHeadElementImpl::checkDTD):
   5969         (HTMLHtmlElementImpl::HTMLHtmlElementImpl):
   5970         (HTMLHtmlElementImpl::version):
   5971         (HTMLHtmlElementImpl::setVersion):
   5972         (HTMLHtmlElementImpl::checkDTD):
   5973         (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
   5974         (HTMLIFrameElementImpl::mapToEntry):
   5975         (HTMLIFrameElementImpl::parseMappedAttribute):
   5976         (HTMLIFrameElementImpl::attach):
   5977         (HTMLIFrameElementImpl::isURLAttribute):
   5978         (HTMLIFrameElementImpl::align):
   5979         (HTMLIFrameElementImpl::setAlign):
   5980         (HTMLIFrameElementImpl::height):
   5981         (HTMLIFrameElementImpl::setHeight):
   5982         (HTMLIFrameElementImpl::src):
   5983         (HTMLIFrameElementImpl::width):
   5984         (HTMLIFrameElementImpl::setWidth):
   5985         * khtml/html/html_blockimpl.cpp:
   5986         (HTMLBlockquoteElementImpl::HTMLBlockquoteElementImpl):
   5987         (HTMLBlockquoteElementImpl::cite):
   5988         (HTMLBlockquoteElementImpl::setCite):
   5989         (HTMLDivElementImpl::HTMLDivElementImpl):
   5990         (HTMLDivElementImpl::mapToEntry):
   5991         (HTMLDivElementImpl::parseMappedAttribute):
   5992         (HTMLDivElementImpl::align):
   5993         (HTMLDivElementImpl::setAlign):
   5994         (HTMLHRElementImpl::HTMLHRElementImpl):
   5995         (HTMLHRElementImpl::mapToEntry):
   5996         (HTMLHRElementImpl::parseMappedAttribute):
   5997         (HTMLHRElementImpl::align):
   5998         (HTMLHRElementImpl::setAlign):
   5999         (HTMLHRElementImpl::noShade):
   6000         (HTMLHRElementImpl::setNoShade):
   6001         (HTMLHRElementImpl::size):
   6002         (HTMLHRElementImpl::setSize):
   6003         (HTMLHRElementImpl::width):
   6004         (HTMLHRElementImpl::setWidth):
   6005         (HTMLHeadingElementImpl::checkDTD):
   6006         (HTMLHeadingElementImpl::align):
   6007         (HTMLHeadingElementImpl::setAlign):
   6008         (HTMLParagraphElementImpl::HTMLParagraphElementImpl):
   6009         (HTMLParagraphElementImpl::checkDTD):
   6010         (HTMLParagraphElementImpl::mapToEntry):
   6011         (HTMLParagraphElementImpl::parseMappedAttribute):
   6012         (HTMLParagraphElementImpl::align):
   6013         (HTMLParagraphElementImpl::setAlign):
   6014         (HTMLPreElementImpl::width):
   6015         (HTMLPreElementImpl::setWidth):
   6016         (HTMLMarqueeElementImpl::HTMLMarqueeElementImpl):
   6017         (HTMLMarqueeElementImpl::mapToEntry):
   6018         (HTMLMarqueeElementImpl::parseMappedAttribute):
   6019         * khtml/html/html_canvasimpl.cpp:
   6020         (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
   6021         (HTMLCanvasElementImpl::mapToEntry):
   6022         (HTMLCanvasElementImpl::parseMappedAttribute):
   6023         (HTMLCanvasElementImpl::isURLAttribute):
   6024         * khtml/html/html_documentimpl.cpp:
   6025         (DOM::HTMLDocumentImpl::childAllowed):
   6026         * khtml/html/html_elementimpl.cpp:
   6027         (HTMLElementImpl::endTagRequirement):
   6028         (HTMLElementImpl::tagPriority):
   6029         (HTMLElementImpl::mapToEntry):
   6030         (HTMLElementImpl::parseMappedAttribute):
   6031         (HTMLElementImpl::createContextualFragment):
   6032         (HTMLElementImpl::setInnerText):
   6033         (HTMLElementImpl::setOuterText):
   6034         (HTMLElementImpl::setContentEditable):
   6035         (HTMLElementImpl::id):
   6036         (HTMLElementImpl::setId):
   6037         (HTMLElementImpl::title):
   6038         (HTMLElementImpl::setTitle):
   6039         (HTMLElementImpl::lang):
   6040         (HTMLElementImpl::setLang):
   6041         (HTMLElementImpl::dir):
   6042         (HTMLElementImpl::setDir):
   6043         (HTMLElementImpl::className):
   6044         (HTMLElementImpl::setClassName):
   6045         (HTMLElementImpl::isRecognizedTagName):
   6046         (inlineTagList):
   6047         (blockTagList):
   6048         (HTMLElementImpl::checkDTD):
   6049         * khtml/html/html_formimpl.cpp:
   6050         (DOM::HTMLFormElementImpl::HTMLFormElementImpl):
   6051         (DOM::HTMLFormElementImpl::submitClick):
   6052         (DOM::HTMLFormElementImpl::formData):
   6053         (DOM::HTMLFormElementImpl::submit):
   6054         (DOM::HTMLFormElementImpl::parseMappedAttribute):
   6055         (DOM::HTMLFormElementImpl::radioClicked):
   6056         (DOM::HTMLFormElementImpl::isURLAttribute):
   6057         (DOM::HTMLFormElementImpl::name):
   6058         (DOM::HTMLFormElementImpl::setName):
   6059         (DOM::HTMLFormElementImpl::acceptCharset):
   6060         (DOM::HTMLFormElementImpl::setAcceptCharset):
   6061         (DOM::HTMLFormElementImpl::action):
   6062         (DOM::HTMLFormElementImpl::setAction):
   6063         (DOM::HTMLFormElementImpl::setEnctype):
   6064         (DOM::HTMLFormElementImpl::method):
   6065         (DOM::HTMLFormElementImpl::setMethod):
   6066         (DOM::HTMLFormElementImpl::target):
   6067         (DOM::HTMLFormElementImpl::setTarget):
   6068         (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
   6069         (DOM::HTMLGenericFormElementImpl::getForm):
   6070         (DOM::HTMLGenericFormElementImpl::name):
   6071         (DOM::HTMLGenericFormElementImpl::setName):
   6072         (DOM::HTMLGenericFormElementImpl::setDisabled):
   6073         (DOM::HTMLGenericFormElementImpl::setReadOnly):
   6074         (DOM::HTMLGenericFormElementImpl::tabIndex):
   6075         (DOM::HTMLGenericFormElementImpl::setTabIndex):
   6076         (DOM::HTMLButtonElementImpl::HTMLButtonElementImpl):
   6077         (DOM::HTMLButtonElementImpl::type):
   6078         (DOM::HTMLButtonElementImpl::parseMappedAttribute):
   6079         (DOM::HTMLButtonElementImpl::accessKey):
   6080         (DOM::HTMLButtonElementImpl::setAccessKey):
   6081         (DOM::HTMLButtonElementImpl::value):
   6082         (DOM::HTMLButtonElementImpl::setValue):
   6083         (DOM::HTMLFieldSetElementImpl::HTMLFieldSetElementImpl):
   6084         (DOM::HTMLFieldSetElementImpl::checkDTD):
   6085         (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
   6086         (DOM::HTMLInputElementImpl::setType):
   6087         (DOM::HTMLInputElementImpl::mapToEntry):
   6088         (DOM::HTMLInputElementImpl::parseMappedAttribute):
   6089         (DOM::HTMLInputElementImpl::attach):
   6090         (DOM::HTMLInputElementImpl::altText):
   6091         (DOM::HTMLInputElementImpl::value):
   6092         (DOM::HTMLInputElementImpl::setValue):
   6093         (DOM::HTMLInputElementImpl::isURLAttribute):
   6094         (DOM::HTMLInputElementImpl::defaultValue):
   6095         (DOM::HTMLInputElementImpl::setDefaultValue):
   6096         (DOM::HTMLInputElementImpl::defaultChecked):
   6097         (DOM::HTMLInputElementImpl::setDefaultChecked):
   6098         (DOM::HTMLInputElementImpl::accept):
   6099         (DOM::HTMLInputElementImpl::setAccept):
   6100         (DOM::HTMLInputElementImpl::accessKey):
   6101         (DOM::HTMLInputElementImpl::setAccessKey):
   6102         (DOM::HTMLInputElementImpl::align):
   6103         (DOM::HTMLInputElementImpl::setAlign):
   6104         (DOM::HTMLInputElementImpl::alt):
   6105         (DOM::HTMLInputElementImpl::setAlt):
   6106         (DOM::HTMLInputElementImpl::setMaxLength):
   6107         (DOM::HTMLInputElementImpl::setSize):
   6108         (DOM::HTMLInputElementImpl::src):
   6109         (DOM::HTMLInputElementImpl::setSrc):
   6110         (DOM::HTMLInputElementImpl::useMap):
   6111         (DOM::HTMLInputElementImpl::setUseMap):
   6112         (DOM::HTMLLabelElementImpl::HTMLLabelElementImpl):
   6113         (DOM::HTMLLabelElementImpl::parseMappedAttribute):
   6114         (DOM::HTMLLabelElementImpl::formElement):
   6115         (DOM::HTMLLabelElementImpl::form):
   6116         (DOM::HTMLLabelElementImpl::accessKey):
   6117         (DOM::HTMLLabelElementImpl::setAccessKey):
   6118         (DOM::HTMLLabelElementImpl::htmlFor):
   6119         (DOM::HTMLLabelElementImpl::setHtmlFor):
   6120         (DOM::HTMLLegendElementImpl::HTMLLegendElementImpl):
   6121         (DOM::HTMLLegendElementImpl::accessKey):
   6122         (DOM::HTMLLegendElementImpl::setAccessKey):
   6123         (DOM::HTMLLegendElementImpl::align):
   6124         (DOM::HTMLLegendElementImpl::setAlign):
   6125         (DOM::HTMLLegendElementImpl::formElement):
   6126         (DOM::HTMLSelectElementImpl::HTMLSelectElementImpl):
   6127         (DOM::HTMLSelectElementImpl::checkDTD):
   6128         (DOM::HTMLSelectElementImpl::selectedIndex):
   6129         (DOM::HTMLSelectElementImpl::setSelectedIndex):
   6130         (DOM::HTMLSelectElementImpl::length):
   6131         (DOM::HTMLSelectElementImpl::add):
   6132         (DOM::HTMLSelectElementImpl::value):
   6133         (DOM::HTMLSelectElementImpl::setValue):
   6134         (DOM::HTMLSelectElementImpl::state):
   6135         (DOM::HTMLSelectElementImpl::restoreState):
   6136         (DOM::HTMLSelectElementImpl::parseMappedAttribute):
   6137         (DOM::HTMLSelectElementImpl::appendFormData):
   6138         (DOM::HTMLSelectElementImpl::optionToListIndex):
   6139         (DOM::HTMLSelectElementImpl::listToOptionIndex):
   6140         (DOM::HTMLSelectElementImpl::recalcListItems):
   6141         (DOM::HTMLSelectElementImpl::reset):
   6142         (DOM::HTMLSelectElementImpl::notifyOptionSelected):
   6143         (DOM::HTMLSelectElementImpl::setMultiple):
   6144         (DOM::HTMLSelectElementImpl::setSize):
   6145         (DOM::HTMLKeygenElementImpl::HTMLKeygenElementImpl):
   6146         (DOM::HTMLKeygenElementImpl::parseMappedAttribute):
   6147         (DOM::HTMLOptGroupElementImpl::HTMLOptGroupElementImpl):
   6148         (DOM::HTMLOptGroupElementImpl::recalcSelectOptions):
   6149         (DOM::HTMLOptGroupElementImpl::label):
   6150         (DOM::HTMLOptGroupElementImpl::setLabel):
   6151         (DOM::HTMLOptionElementImpl::HTMLOptionElementImpl):
   6152         (DOM::HTMLOptionElementImpl::text):
   6153         (DOM::HTMLOptionElementImpl::index):
   6154         (DOM::HTMLOptionElementImpl::parseMappedAttribute):
   6155         (DOM::HTMLOptionElementImpl::setValue):
   6156         (DOM::HTMLOptionElementImpl::getSelect):
   6157         (DOM::HTMLOptionElementImpl::defaultSelected):
   6158         (DOM::HTMLOptionElementImpl::setDefaultSelected):
   6159         (DOM::HTMLOptionElementImpl::label):
   6160         (DOM::HTMLOptionElementImpl::setLabel):
   6161         (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl):
   6162         (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
   6163         (DOM::HTMLTextAreaElementImpl::accessKey):
   6164         (DOM::HTMLTextAreaElementImpl::setAccessKey):
   6165         (DOM::HTMLTextAreaElementImpl::setCols):
   6166         (DOM::HTMLTextAreaElementImpl::setRows):
   6167         (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
   6168         (DOM::HTMLIsIndexElementImpl::parseMappedAttribute):
   6169         (DOM::HTMLIsIndexElementImpl::prompt):
   6170         (DOM::HTMLIsIndexElementImpl::setPrompt):
   6171         * khtml/html/html_formimpl.h:
   6172         (DOM::HTMLOptGroupElementImpl::checkDTD):
   6173         * khtml/html/html_headimpl.cpp:
   6174         (HTMLBaseElementImpl::HTMLBaseElementImpl):
   6175         (HTMLBaseElementImpl::parseMappedAttribute):
   6176         (HTMLBaseElementImpl::setHref):
   6177         (HTMLBaseElementImpl::setTarget):
   6178         (HTMLLinkElementImpl::HTMLLinkElementImpl):
   6179         (HTMLLinkElementImpl::parseMappedAttribute):
   6180         (HTMLLinkElementImpl::process):
   6181         (HTMLLinkElementImpl::isURLAttribute):
   6182         (HTMLLinkElementImpl::disabled):
   6183         (HTMLLinkElementImpl::setDisabled):
   6184         (HTMLLinkElementImpl::charset):
   6185         (HTMLLinkElementImpl::setCharset):
   6186         (HTMLLinkElementImpl::href):
   6187         (HTMLLinkElementImpl::setHref):
   6188         (HTMLLinkElementImpl::hreflang):
   6189         (HTMLLinkElementImpl::setHreflang):
   6190         (HTMLLinkElementImpl::media):
   6191         (HTMLLinkElementImpl::setMedia):
   6192         (HTMLLinkElementImpl::rel):
   6193         (HTMLLinkElementImpl::setRel):
   6194         (HTMLLinkElementImpl::rev):
   6195         (HTMLLinkElementImpl::setRev):
   6196         (HTMLLinkElementImpl::target):
   6197         (HTMLLinkElementImpl::setTarget):
   6198         (HTMLLinkElementImpl::type):
   6199         (HTMLLinkElementImpl::setType):
   6200         (HTMLMetaElementImpl::HTMLMetaElementImpl):
   6201         (HTMLMetaElementImpl::parseMappedAttribute):
   6202         (HTMLMetaElementImpl::content):
   6203         (HTMLMetaElementImpl::setContent):
   6204         (HTMLMetaElementImpl::httpEquiv):
   6205         (HTMLMetaElementImpl::setHttpEquiv):
   6206         (HTMLMetaElementImpl::name):
   6207         (HTMLMetaElementImpl::setName):
   6208         (HTMLMetaElementImpl::scheme):
   6209         (HTMLMetaElementImpl::setScheme):
   6210         (HTMLScriptElementImpl::HTMLScriptElementImpl):
   6211         (HTMLScriptElementImpl::isURLAttribute):
   6212         (HTMLScriptElementImpl::insertedIntoDocument):
   6213         (HTMLScriptElementImpl::charset):
   6214         (HTMLScriptElementImpl::setCharset):
   6215         (HTMLScriptElementImpl::defer):
   6216         (HTMLScriptElementImpl::setDefer):
   6217         (HTMLScriptElementImpl::src):
   6218         (HTMLScriptElementImpl::setSrc):
   6219         (HTMLScriptElementImpl::type):
   6220         (HTMLScriptElementImpl::setType):
   6221         (HTMLStyleElementImpl::HTMLStyleElementImpl):
   6222         (HTMLStyleElementImpl::parseMappedAttribute):
   6223         (HTMLStyleElementImpl::disabled):
   6224         (HTMLStyleElementImpl::setDisabled):
   6225         (HTMLStyleElementImpl::media):
   6226         (HTMLStyleElementImpl::setMedia):
   6227         (HTMLStyleElementImpl::type):
   6228         (HTMLStyleElementImpl::setType):
   6229         (HTMLTitleElementImpl::HTMLTitleElementImpl):
   6230         * khtml/html/html_imageimpl.cpp:
   6231         (HTMLImageLoader::updateFromElement):
   6232         (HTMLImageElementImpl::HTMLImageElementImpl):
   6233         (HTMLImageElementImpl::mapToEntry):
   6234         (HTMLImageElementImpl::parseMappedAttribute):
   6235         (HTMLImageElementImpl::altText):
   6236         (HTMLImageElementImpl::width):
   6237         (HTMLImageElementImpl::height):
   6238         (HTMLImageElementImpl::isURLAttribute):
   6239         (HTMLImageElementImpl::name):
   6240         (HTMLImageElementImpl::setName):
   6241         (HTMLImageElementImpl::align):
   6242         (HTMLImageElementImpl::setAlign):
   6243         (HTMLImageElementImpl::alt):
   6244         (HTMLImageElementImpl::setAlt):
   6245         (HTMLImageElementImpl::border):
   6246         (HTMLImageElementImpl::setBorder):
   6247         (HTMLImageElementImpl::setHeight):
   6248         (HTMLImageElementImpl::hspace):
   6249         (HTMLImageElementImpl::setHspace):
   6250         (HTMLImageElementImpl::isMap):
   6251         (HTMLImageElementImpl::setIsMap):
   6252         (HTMLImageElementImpl::longDesc):
   6253         (HTMLImageElementImpl::setLongDesc):
   6254         (HTMLImageElementImpl::src):
   6255         (HTMLImageElementImpl::setSrc):
   6256         (HTMLImageElementImpl::useMap):
   6257         (HTMLImageElementImpl::setUseMap):
   6258         (HTMLImageElementImpl::vspace):
   6259         (HTMLImageElementImpl::setVspace):
   6260         (HTMLImageElementImpl::setWidth):
   6261         (HTMLMapElementImpl::HTMLMapElementImpl):
   6262         (HTMLMapElementImpl::checkDTD):
   6263         (HTMLMapElementImpl::mapMouseEvent):
   6264         (HTMLMapElementImpl::parseMappedAttribute):
   6265         (HTMLMapElementImpl::name):
   6266         (HTMLMapElementImpl::setName):
   6267         (HTMLAreaElementImpl::HTMLAreaElementImpl):
   6268         (HTMLAreaElementImpl::parseMappedAttribute):
   6269         (HTMLAreaElementImpl::accessKey):
   6270         (HTMLAreaElementImpl::setAccessKey):
   6271         (HTMLAreaElementImpl::alt):
   6272         (HTMLAreaElementImpl::setAlt):
   6273         (HTMLAreaElementImpl::coords):
   6274         (HTMLAreaElementImpl::setCoords):
   6275         (HTMLAreaElementImpl::href):
   6276         (HTMLAreaElementImpl::setHref):
   6277         (HTMLAreaElementImpl::noHref):
   6278         (HTMLAreaElementImpl::setNoHref):
   6279         (HTMLAreaElementImpl::shape):
   6280         (HTMLAreaElementImpl::setShape):
   6281         (HTMLAreaElementImpl::tabIndex):
   6282         (HTMLAreaElementImpl::setTabIndex):
   6283         (HTMLAreaElementImpl::target):
   6284         (HTMLAreaElementImpl::setTarget):
   6285         * khtml/html/html_inlineimpl.cpp:
   6286         (DOM::HTMLAnchorElementImpl::HTMLAnchorElementImpl):
   6287         (DOM::HTMLAnchorElementImpl::defaultEventHandler):
   6288         (DOM::HTMLAnchorElementImpl::parseMappedAttribute):
   6289         (DOM::HTMLAnchorElementImpl::isURLAttribute):
   6290         (DOM::HTMLAnchorElementImpl::accessKey):
   6291         (DOM::HTMLAnchorElementImpl::setAccessKey):
   6292         (DOM::HTMLAnchorElementImpl::charset):
   6293         (DOM::HTMLAnchorElementImpl::setCharset):
   6294         (DOM::HTMLAnchorElementImpl::coords):
   6295         (DOM::HTMLAnchorElementImpl::setCoords):
   6296         (DOM::HTMLAnchorElementImpl::href):
   6297         (DOM::HTMLAnchorElementImpl::setHref):
   6298         (DOM::HTMLAnchorElementImpl::hreflang):
   6299         (DOM::HTMLAnchorElementImpl::setHreflang):
   6300         (DOM::HTMLAnchorElementImpl::name):
   6301         (DOM::HTMLAnchorElementImpl::setName):
   6302         (DOM::HTMLAnchorElementImpl::rel):
   6303         (DOM::HTMLAnchorElementImpl::setRel):
   6304         (DOM::HTMLAnchorElementImpl::rev):
   6305         (DOM::HTMLAnchorElementImpl::setRev):
   6306         (DOM::HTMLAnchorElementImpl::shape):
   6307         (DOM::HTMLAnchorElementImpl::setShape):
   6308         (DOM::HTMLAnchorElementImpl::tabIndex):
   6309         (DOM::HTMLAnchorElementImpl::setTabIndex):
   6310         (DOM::HTMLAnchorElementImpl::target):
   6311         (DOM::HTMLAnchorElementImpl::setTarget):
   6312         (DOM::HTMLAnchorElementImpl::type):
   6313         (DOM::HTMLAnchorElementImpl::setType):
   6314         (DOM::HTMLBRElementImpl::HTMLBRElementImpl):
   6315         (DOM::HTMLBRElementImpl::mapToEntry):
   6316         (DOM::HTMLBRElementImpl::parseMappedAttribute):
   6317         (DOM::HTMLBRElementImpl::clear):
   6318         (DOM::HTMLBRElementImpl::setClear):
   6319         (DOM::HTMLFontElementImpl::HTMLFontElementImpl):
   6320         (DOM::HTMLFontElementImpl::mapToEntry):
   6321         (DOM::HTMLFontElementImpl::parseMappedAttribute):
   6322         (DOM::HTMLFontElementImpl::color):
   6323         (DOM::HTMLFontElementImpl::setColor):
   6324         (DOM::HTMLFontElementImpl::face):
   6325         (DOM::HTMLFontElementImpl::setFace):
   6326         (DOM::HTMLFontElementImpl::size):
   6327         (DOM::HTMLFontElementImpl::setSize):
   6328         (DOM::HTMLModElementImpl::cite):
   6329         (DOM::HTMLModElementImpl::setCite):
   6330         (DOM::HTMLModElementImpl::dateTime):
   6331         (DOM::HTMLModElementImpl::setDateTime):
   6332         (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
   6333         (DOM::HTMLQuoteElementImpl::cite):
   6334         (DOM::HTMLQuoteElementImpl::setCite):
   6335         * khtml/html/html_listimpl.cpp:
   6336         (DOM::HTMLUListElementImpl::mapToEntry):
   6337         (DOM::HTMLUListElementImpl::parseMappedAttribute):
   6338         (DOM::HTMLUListElementImpl::compact):
   6339         (DOM::HTMLUListElementImpl::setCompact):
   6340         (DOM::HTMLUListElementImpl::type):
   6341         (DOM::HTMLUListElementImpl::setType):
   6342         (DOM::HTMLDirectoryElementImpl::compact):
   6343         (DOM::HTMLDirectoryElementImpl::setCompact):
   6344         (DOM::HTMLMenuElementImpl::compact):
   6345         (DOM::HTMLMenuElementImpl::setCompact):
   6346         (DOM::HTMLOListElementImpl::mapToEntry):
   6347         (DOM::HTMLOListElementImpl::parseMappedAttribute):
   6348         (DOM::HTMLOListElementImpl::compact):
   6349         (DOM::HTMLOListElementImpl::setCompact):
   6350         (DOM::HTMLOListElementImpl::setStart):
   6351         (DOM::HTMLOListElementImpl::type):
   6352         (DOM::HTMLOListElementImpl::setType):
   6353         (DOM::HTMLLIElementImpl::mapToEntry):
   6354         (DOM::HTMLLIElementImpl::parseMappedAttribute):
   6355         (DOM::HTMLLIElementImpl::attach):
   6356         (DOM::HTMLLIElementImpl::type):
   6357         (DOM::HTMLLIElementImpl::setType):
   6358         (DOM::HTMLLIElementImpl::value):
   6359         (DOM::HTMLLIElementImpl::setValue):
   6360         (DOM::HTMLDListElementImpl::compact):
   6361         (DOM::HTMLDListElementImpl::setCompact):
   6362         * khtml/html/html_listimpl.h:
   6363         (DOM::HTMLUListElementImpl::HTMLUListElementImpl):
   6364         (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
   6365         (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
   6366         (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
   6367         (DOM::HTMLLIElementImpl::HTMLLIElementImpl):
   6368         (DOM::HTMLDListElementImpl::HTMLDListElementImpl):
   6369         * khtml/html/html_miscimpl.cpp:
   6370         (DOM::HTMLBaseFontElementImpl::HTMLBaseFontElementImpl):
   6371         (DOM::HTMLBaseFontElementImpl::color):
   6372         (DOM::HTMLBaseFontElementImpl::setColor):
   6373         (DOM::HTMLBaseFontElementImpl::face):
   6374         (DOM::HTMLBaseFontElementImpl::setFace):
   6375         (DOM::HTMLBaseFontElementImpl::size):
   6376         (DOM::HTMLBaseFontElementImpl::setSize):
   6377         (DOM::HTMLCollectionImpl::traverseNextItem):
   6378         (DOM::HTMLCollectionImpl::checkForNameMatch):
   6379         (DOM::HTMLNameCollectionImpl::traverseNextItem):
   6380         (DOM::HTMLCollectionImpl::updateNameCache):
   6381         (DOM::HTMLFormCollectionImpl::getNamedFormItem):
   6382         (DOM::HTMLFormCollectionImpl::nextNamedItemInternal):
   6383         (DOM::HTMLFormCollectionImpl::namedItem):
   6384         (DOM::HTMLFormCollectionImpl::nextNamedItem):
   6385         (DOM::HTMLFormCollectionImpl::updateNameCache):
   6386         * khtml/html/html_objectimpl.cpp:
   6387         (DOM::HTMLAppletElementImpl::HTMLAppletElementImpl):
   6388         (DOM::HTMLAppletElementImpl::checkDTD):
   6389         (DOM::HTMLAppletElementImpl::mapToEntry):
   6390         (DOM::HTMLAppletElementImpl::parseMappedAttribute):
   6391         (DOM::HTMLAppletElementImpl::rendererIsNeeded):
   6392         (DOM::HTMLAppletElementImpl::createRenderer):
   6393         (DOM::HTMLAppletElementImpl::align):
   6394         (DOM::HTMLAppletElementImpl::setAlign):
   6395         (DOM::HTMLAppletElementImpl::alt):
   6396         (DOM::HTMLAppletElementImpl::setAlt):
   6397         (DOM::HTMLAppletElementImpl::archive):
   6398         (DOM::HTMLAppletElementImpl::setArchive):
   6399         (DOM::HTMLAppletElementImpl::code):
   6400         (DOM::HTMLAppletElementImpl::setCode):
   6401         (DOM::HTMLAppletElementImpl::codeBase):
   6402         (DOM::HTMLAppletElementImpl::setCodeBase):
   6403         (DOM::HTMLAppletElementImpl::height):
   6404         (DOM::HTMLAppletElementImpl::setHeight):
   6405         (DOM::HTMLAppletElementImpl::hspace):
   6406         (DOM::HTMLAppletElementImpl::setHspace):
   6407         (DOM::HTMLAppletElementImpl::name):
   6408         (DOM::HTMLAppletElementImpl::setName):
   6409         (DOM::HTMLAppletElementImpl::object):
   6410         (DOM::HTMLAppletElementImpl::setObject):
   6411         (DOM::HTMLAppletElementImpl::vspace):
   6412         (DOM::HTMLAppletElementImpl::setVspace):
   6413         (DOM::HTMLAppletElementImpl::width):
   6414         (DOM::HTMLAppletElementImpl::setWidth):
   6415         (DOM::HTMLEmbedElementImpl::HTMLEmbedElementImpl):
   6416         (DOM::HTMLEmbedElementImpl::checkDTD):
   6417         (DOM::HTMLEmbedElementImpl::mapToEntry):
   6418         (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
   6419         (DOM::HTMLEmbedElementImpl::rendererIsNeeded):
   6420         (DOM::HTMLEmbedElementImpl::isURLAttribute):
   6421         (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
   6422         (DOM::HTMLObjectElementImpl::checkDTD):
   6423         (DOM::HTMLObjectElementImpl::form):
   6424         (DOM::HTMLObjectElementImpl::mapToEntry):
   6425         (DOM::HTMLObjectElementImpl::parseMappedAttribute):
   6426         (DOM::HTMLObjectElementImpl::isURLAttribute):
   6427         (DOM::HTMLObjectElementImpl::code):
   6428         (DOM::HTMLObjectElementImpl::setCode):
   6429         (DOM::HTMLObjectElementImpl::align):
   6430         (DOM::HTMLObjectElementImpl::setAlign):
   6431         (DOM::HTMLObjectElementImpl::archive):
   6432         (DOM::HTMLObjectElementImpl::setArchive):
   6433         (DOM::HTMLObjectElementImpl::border):
   6434         (DOM::HTMLObjectElementImpl::setBorder):
   6435         (DOM::HTMLObjectElementImpl::codeBase):
   6436         (DOM::HTMLObjectElementImpl::setCodeBase):
   6437         (DOM::HTMLObjectElementImpl::codeType):
   6438         (DOM::HTMLObjectElementImpl::setCodeType):
   6439         (DOM::HTMLObjectElementImpl::data):
   6440         (DOM::HTMLObjectElementImpl::setData):
   6441         (DOM::HTMLObjectElementImpl::declare):
   6442         (DOM::HTMLObjectElementImpl::setDeclare):
   6443         (DOM::HTMLObjectElementImpl::height):
   6444         (DOM::HTMLObjectElementImpl::setHeight):
   6445         (DOM::HTMLObjectElementImpl::hspace):
   6446         (DOM::HTMLObjectElementImpl::setHspace):
   6447         (DOM::HTMLObjectElementImpl::name):
   6448         (DOM::HTMLObjectElementImpl::setName):
   6449         (DOM::HTMLObjectElementImpl::standby):
   6450         (DOM::HTMLObjectElementImpl::setStandby):
   6451         (DOM::HTMLObjectElementImpl::tabIndex):
   6452         (DOM::HTMLObjectElementImpl::setTabIndex):
   6453         (DOM::HTMLObjectElementImpl::type):
   6454         (DOM::HTMLObjectElementImpl::setType):
   6455         (DOM::HTMLObjectElementImpl::useMap):
   6456         (DOM::HTMLObjectElementImpl::setUseMap):
   6457         (DOM::HTMLObjectElementImpl::vspace):
   6458         (DOM::HTMLObjectElementImpl::setVspace):
   6459         (DOM::HTMLObjectElementImpl::width):
   6460         (DOM::HTMLObjectElementImpl::setWidth):
   6461         (DOM::HTMLParamElementImpl::HTMLParamElementImpl):
   6462         (DOM::HTMLParamElementImpl::parseMappedAttribute):
   6463         (DOM::HTMLParamElementImpl::isURLAttribute):
   6464         (DOM::HTMLParamElementImpl::setName):
   6465         (DOM::HTMLParamElementImpl::type):
   6466         (DOM::HTMLParamElementImpl::setType):
   6467         (DOM::HTMLParamElementImpl::setValue):
   6468         (DOM::HTMLParamElementImpl::valueType):
   6469         (DOM::HTMLParamElementImpl::setValueType):
   6470         * khtml/html/html_tableimpl.cpp:
   6471         (DOM::HTMLTableElementImpl::HTMLTableElementImpl):
   6472         (DOM::HTMLTableElementImpl::checkDTD):
   6473         (DOM::HTMLTableElementImpl::createTHead):
   6474         (DOM::HTMLTableElementImpl::createTFoot):
   6475         (DOM::HTMLTableElementImpl::insertRow):
   6476         (DOM::HTMLTableElementImpl::deleteRow):
   6477         (DOM::HTMLTableElementImpl::addChild):
   6478         (DOM::HTMLTableElementImpl::mapToEntry):
   6479         (DOM::HTMLTableElementImpl::parseMappedAttribute):
   6480         (DOM::HTMLTableElementImpl::additionalAttributeStyleDecl):
   6481         (DOM::HTMLTableElementImpl::getSharedCellDecl):
   6482         (DOM::HTMLTableElementImpl::isURLAttribute):
   6483         (DOM::HTMLTableElementImpl::align):
   6484         (DOM::HTMLTableElementImpl::setAlign):
   6485         (DOM::HTMLTableElementImpl::bgColor):
   6486         (DOM::HTMLTableElementImpl::setBgColor):
   6487         (DOM::HTMLTableElementImpl::border):
   6488         (DOM::HTMLTableElementImpl::setBorder):
   6489         (DOM::HTMLTableElementImpl::cellPadding):
   6490         (DOM::HTMLTableElementImpl::setCellPadding):
   6491         (DOM::HTMLTableElementImpl::cellSpacing):
   6492         (DOM::HTMLTableElementImpl::setCellSpacing):
   6493         (DOM::HTMLTableElementImpl::frame):
   6494         (DOM::HTMLTableElementImpl::setFrame):
   6495         (DOM::HTMLTableElementImpl::rules):
   6496         (DOM::HTMLTableElementImpl::setRules):
   6497         (DOM::HTMLTableElementImpl::summary):
   6498         (DOM::HTMLTableElementImpl::setSummary):
   6499         (DOM::HTMLTableElementImpl::width):
   6500         (DOM::HTMLTableElementImpl::setWidth):
   6501         (DOM::HTMLTablePartElementImpl::mapToEntry):
   6502         (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
   6503         (DOM::HTMLTableSectionElementImpl::checkDTD):
   6504         (DOM::HTMLTableSectionElementImpl::addChild):
   6505         (DOM::HTMLTableSectionElementImpl::numRows):
   6506         (DOM::HTMLTableSectionElementImpl::align):
   6507         (DOM::HTMLTableSectionElementImpl::setAlign):
   6508         (DOM::HTMLTableSectionElementImpl::ch):
   6509         (DOM::HTMLTableSectionElementImpl::setCh):
   6510         (DOM::HTMLTableSectionElementImpl::chOff):
   6511         (DOM::HTMLTableSectionElementImpl::setChOff):
   6512         (DOM::HTMLTableSectionElementImpl::vAlign):
   6513         (DOM::HTMLTableSectionElementImpl::setVAlign):
   6514         (DOM::HTMLTableRowElementImpl::checkDTD):
   6515         (DOM::HTMLTableRowElementImpl::addChild):
   6516         (DOM::HTMLTableRowElementImpl::rowIndex):
   6517         (DOM::HTMLTableRowElementImpl::sectionRowIndex):
   6518         (DOM::HTMLTableRowElementImpl::insertCell):
   6519         (DOM::HTMLTableRowElementImpl::align):
   6520         (DOM::HTMLTableRowElementImpl::setAlign):
   6521         (DOM::HTMLTableRowElementImpl::bgColor):
   6522         (DOM::HTMLTableRowElementImpl::setBgColor):
   6523         (DOM::HTMLTableRowElementImpl::ch):
   6524         (DOM::HTMLTableRowElementImpl::setCh):
   6525         (DOM::HTMLTableRowElementImpl::chOff):
   6526         (DOM::HTMLTableRowElementImpl::setChOff):
   6527         (DOM::HTMLTableRowElementImpl::vAlign):
   6528         (DOM::HTMLTableRowElementImpl::setVAlign):
   6529         (DOM::HTMLTableCellElementImpl::cellIndex):
   6530         (DOM::HTMLTableCellElementImpl::mapToEntry):
   6531         (DOM::HTMLTableCellElementImpl::parseMappedAttribute):
   6532         (DOM::HTMLTableCellElementImpl::additionalAttributeStyleDecl):
   6533         (DOM::HTMLTableCellElementImpl::isURLAttribute):
   6534         (DOM::HTMLTableCellElementImpl::abbr):
   6535         (DOM::HTMLTableCellElementImpl::setAbbr):
   6536         (DOM::HTMLTableCellElementImpl::align):
   6537         (DOM::HTMLTableCellElementImpl::setAlign):
   6538         (DOM::HTMLTableCellElementImpl::axis):
   6539         (DOM::HTMLTableCellElementImpl::setAxis):
   6540         (DOM::HTMLTableCellElementImpl::bgColor):
   6541         (DOM::HTMLTableCellElementImpl::setBgColor):
   6542         (DOM::HTMLTableCellElementImpl::ch):
   6543         (DOM::HTMLTableCellElementImpl::setCh):
   6544         (DOM::HTMLTableCellElementImpl::chOff):
   6545         (DOM::HTMLTableCellElementImpl::setChOff):
   6546         (DOM::HTMLTableCellElementImpl::setColSpan):
   6547         (DOM::HTMLTableCellElementImpl::headers):
   6548         (DOM::HTMLTableCellElementImpl::setHeaders):
   6549         (DOM::HTMLTableCellElementImpl::height):
   6550         (DOM::HTMLTableCellElementImpl::setHeight):
   6551         (DOM::HTMLTableCellElementImpl::noWrap):
   6552         (DOM::HTMLTableCellElementImpl::setNoWrap):
   6553         (DOM::HTMLTableCellElementImpl::setRowSpan):
   6554         (DOM::HTMLTableCellElementImpl::scope):
   6555         (DOM::HTMLTableCellElementImpl::setScope):
   6556         (DOM::HTMLTableCellElementImpl::vAlign):
   6557         (DOM::HTMLTableCellElementImpl::setVAlign):
   6558         (DOM::HTMLTableCellElementImpl::width):
   6559         (DOM::HTMLTableCellElementImpl::setWidth):
   6560         (DOM::HTMLTableColElementImpl::HTMLTableColElementImpl):
   6561         (DOM::HTMLTableColElementImpl::mapToEntry):
   6562         (DOM::HTMLTableColElementImpl::parseMappedAttribute):
   6563         (DOM::HTMLTableColElementImpl::align):
   6564         (DOM::HTMLTableColElementImpl::setAlign):
   6565         (DOM::HTMLTableColElementImpl::ch):
   6566         (DOM::HTMLTableColElementImpl::setCh):
   6567         (DOM::HTMLTableColElementImpl::chOff):
   6568         (DOM::HTMLTableColElementImpl::setChOff):
   6569         (DOM::HTMLTableColElementImpl::setSpan):
   6570         (DOM::HTMLTableColElementImpl::vAlign):
   6571         (DOM::HTMLTableColElementImpl::setVAlign):
   6572         (DOM::HTMLTableColElementImpl::width):
   6573         (DOM::HTMLTableColElementImpl::setWidth):
   6574         (DOM::HTMLTableCaptionElementImpl::mapToEntry):
   6575         (DOM::HTMLTableCaptionElementImpl::parseMappedAttribute):
   6576         (DOM::HTMLTableCaptionElementImpl::align):
   6577         (DOM::HTMLTableCaptionElementImpl::setAlign):
   6578         * khtml/html/html_tableimpl.h:
   6579         (DOM::HTMLTableRowElementImpl::HTMLTableRowElementImpl):
   6580         (DOM::HTMLTableColElementImpl::endTagRequirement):
   6581         (DOM::HTMLTableColElementImpl::tagPriority):
   6582         (DOM::HTMLTableColElementImpl::checkDTD):
   6583         (DOM::HTMLTableCaptionElementImpl::HTMLTableCaptionElementImpl):
   6584         * khtml/html/htmlfactory.cpp:
   6585         (DOM::headingConstructor):
   6586         (DOM::preConstructor):
   6587         (DOM::modConstructor):
   6588         (DOM::tableColConstructor):
   6589         (DOM::tableCellConstructor):
   6590         (DOM::tableSectionConstructor):
   6591         (DOM::HTMLElementFactory::createHTMLElement):
   6592         * khtml/html/htmlnames.cpp:
   6593         (HTMLNames::initHTMLNames):
   6594         * khtml/html/htmlnames.h:
   6595         * khtml/html/htmlparser.cpp:
   6596         (HTMLParser::parseToken):
   6597         (isTableSection):
   6598         (isTablePart):
   6599         (isTableRelated):
   6600         (HTMLParser::handleError):
   6601         (HTMLParser::headCreateErrorCheck):
   6602         (HTMLParser::bodyCreateErrorCheck):
   6603         (HTMLParser::framesetCreateErrorCheck):
   6604         (HTMLParser::iframeCreateErrorCheck):
   6605         (HTMLParser::ddCreateErrorCheck):
   6606         (HTMLParser::dtCreateErrorCheck):
   6607         (HTMLParser::tableCellCreateErrorCheck):
   6608         (HTMLParser::tableSectionCreateErrorCheck):
   6609         (HTMLParser::noembedCreateErrorCheck):
   6610         (HTMLParser::noframesCreateErrorCheck):
   6611         (HTMLParser::noscriptCreateErrorCheck):
   6612         (HTMLParser::getNode):
   6613         (HTMLParser::processCloseTag):
   6614         (HTMLParser::isHeaderTag):
   6615         (HTMLParser::isInline):
   6616         (HTMLParser::isResidualStyleTag):
   6617         (HTMLParser::isAffectedByResidualStyle):
   6618         (HTMLParser::popBlock):
   6619         (HTMLParser::handleIsindex):
   6620         * khtml/html/htmltokenizer.cpp:
   6621         (khtml::HTMLTokenizer::parseSpecial):
   6622         (khtml::HTMLTokenizer::scriptHandler):
   6623         (khtml::HTMLTokenizer::parseTag):
   6624         * khtml/khtml_part.cpp:
   6625         (KHTMLPart::init):
   6626         (KHTMLPart::backgroundURL):
   6627         (KHTMLPart::updateActions):
   6628         (KHTMLPart::handleMouseMoveEventDrag):
   6629         (KHTMLPart::selectionComputedStyle):
   6630         (KHTMLPart::applyEditingStyleToElement):
   6631         (KHTMLPart::removeEditingStyleFromElement):
   6632         * khtml/khtmlview.cpp:
   6633         (KHTMLView::layout):
   6634         (isSubmitImage):
   6635         * khtml/misc/decoder.cpp:
   6636         (Decoder::decode):
   6637         * khtml/misc/hashtable.h:
   6638         (khtml::::lookup):
   6639         * khtml/rendering/render_applet.cpp:
   6640         (RenderApplet::createWidgetIfNecessary):
   6641         * khtml/rendering/render_block.cpp:
   6642         (khtml::RenderBlock::layoutBlock):
   6643         * khtml/rendering/render_box.cpp:
   6644         (RenderBox::paintRootBoxDecorations):
   6645         (RenderBox::paintBackgroundExtended):
   6646         * khtml/rendering/render_canvasimage.cpp:
   6647         (RenderCanvasImage::paint):
   6648         * khtml/rendering/render_flow.cpp:
   6649         (RenderFlow::addFocusRingRects):
   6650         * khtml/rendering/render_form.cpp:
   6651         (RenderLineEdit::updateFromElement):
   6652         (RenderFieldset::findLegend):
   6653         (RenderSelect::updateFromElement):
   6654         (RenderSelect::layout):
   6655         (RenderSelect::slotSelected):
   6656         (RenderSelect::slotSelectionChanged):
   6657         (RenderSelect::updateSelection):
   6658         (RenderSlider::updateFromElement):
   6659         (RenderSlider::slotSliderValueChanged):
   6660         * khtml/rendering/render_frames.cpp:
   6661         (RenderPartObject::updateWidget):
   6662         (RenderPartObject::slotViewCleared):
   6663         * khtml/rendering/render_image.cpp:
   6664         (RenderImage::paint):
   6665         (RenderImage::imageMap):
   6666         (RenderImage::updateAltText):
   6667         * khtml/rendering/render_layer.cpp:
   6668         (Marquee::marqueeSpeed):
   6669         * khtml/rendering/render_list.cpp:
   6670         (getParentOfFirstLineBox):
   6671         * khtml/rendering/render_object.cpp:
   6672         (RenderObject::isBody):
   6673         (RenderObject::isHR):
   6674         (RenderObject::isHTMLMarquee):
   6675         (RenderObject::sizesToMaxWidth):
   6676         (RenderObject::setStyle):
   6677         (RenderObject::getTextDecorationColors):
   6678         (RenderObject::setPixmap):
   6679         * khtml/rendering/render_table.cpp:
   6680         (RenderTable::addChild):
   6681         (RenderTable::layout):
   6682         (RenderTableSection::addChild):
   6683         (RenderTableRow::addChild):
   6684         (RenderTableCell::updateFromElement):
   6685         (RenderTableCell::calcMinMaxWidth):
   6686         (RenderTableCol::updateFromElement):
   6687         * khtml/rendering/render_theme.cpp:
   6688         (khtml::RenderTheme::isControlContainer):
   6689         (khtml::RenderTheme::isChecked):
   6690         (khtml::RenderTheme::isEnabled):
   6691         * khtml/xml/dom_docimpl.cpp:
   6692         (DocumentImpl::createElementNS):
   6693         (DocumentImpl::getElementById):
   6694         (DocumentImpl::getElementByAccessKey):
   6695         (DocumentImpl::body):
   6696         (DocumentImpl::shouldScheduleLayout):
   6697         (DocumentImpl::prepareMouseEvent):
   6698         (DocumentImpl::recalcStyleSelector):
   6699         * khtml/xml/dom_elementimpl.cpp:
   6700         (ElementImpl::getAttribute):
   6701         (ElementImpl::setAttribute):
   6702         (ElementImpl::setAttributeMap):
   6703         (ElementImpl::insertedIntoDocument):
   6704         (ElementImpl::removedFromDocument):
   6705         (ElementImpl::formatForDebugger):
   6706         (NamedAttrMapImpl::setNamedItem):
   6707         (NamedAttrMapImpl::removeNamedItem):
   6708         (NamedAttrMapImpl::operator=):
   6709         (StyledElementImpl::updateStyleAttributeIfNeeded):
   6710         (StyledElementImpl::mapToEntry):
   6711         (StyledElementImpl::parseMappedAttribute):
   6712         * khtml/xml/dom_nodeimpl.cpp:
   6713         (DOM::NodeImpl::maxDeepOffset):
   6714         (DOM::NodeImpl::enclosingBlockFlowOrTableElement):
   6715         (DOM::NodeImpl::enclosingBlockFlowElement):
   6716         (DOM::NodeImpl::enclosingInlineElement):
   6717         (DOM::NodeImpl::rootEditableElement):
   6718         (DOM::NodeImpl::showNode):
   6719         (DOM::NodeImpl::showTreeAndMark):
   6720         (DOM::NameNodeListImpl::nodeMatches):
   6721         * khtml/xml/dom_position.cpp:
   6722         (DOM::Position::downstream):
   6723         (DOM::Position::rendersInDifferentPosition):
   6724         (DOM::Position::leadingWhitespacePosition):
   6725         (DOM::Position::trailingWhitespacePosition):
   6726         * khtml/xml/xml_tokenizer.cpp:
   6727         (khtml::XMLTokenizer::startElement):
   6728         (khtml::XMLTokenizer::insertErrorMessageBlock):
   6729         (khtml::XMLTokenizer::addScripts):
   6730         (khtml::XMLTokenizer::executeScripts):
   6731         * kwq/DOM.mm:
   6732         (+[DOMNode _nodeWithImpl:]):
   6733         * kwq/DOMHTML.mm:
   6734         (-[DOMHTMLElement idName]):
   6735         (-[DOMHTMLElement setIdName:]):
   6736         (-[DOMHTMLLinkElement media]):
   6737         (-[DOMHTMLLinkElement setMedia:]):
   6738         (-[DOMHTMLLinkElement rel]):
   6739         (-[DOMHTMLLinkElement setRel:]):
   6740         (-[DOMHTMLLinkElement rev]):
   6741         (-[DOMHTMLLinkElement setRev:]):
   6742         (-[DOMHTMLLinkElement target]):
   6743         (-[DOMHTMLLinkElement setTarget:]):
   6744         (-[DOMHTMLLinkElement type]):
   6745         (-[DOMHTMLLinkElement setType:]):
   6746         (-[DOMHTMLTitleElement text]):
   6747         (-[DOMHTMLTitleElement setText:]):
   6748         (-[DOMHTMLMetaElement content]):
   6749         (-[DOMHTMLMetaElement setContent:]):
   6750         (-[DOMHTMLMetaElement httpEquiv]):
   6751         (-[DOMHTMLMetaElement setHttpEquiv:]):
   6752         (-[DOMHTMLMetaElement name]):
   6753         (-[DOMHTMLMetaElement setName:]):
   6754         (-[DOMHTMLMetaElement scheme]):
   6755         (-[DOMHTMLMetaElement setScheme:]):
   6756         (-[DOMHTMLBaseElement setHref:]):
   6757         (-[DOMHTMLBaseElement target]):
   6758         (-[DOMHTMLBaseElement setTarget:]):
   6759         (-[DOMHTMLStyleElement disabled]):
   6760         (-[DOMHTMLStyleElement setDisabled:]):
   6761         (-[DOMHTMLStyleElement media]):
   6762         (-[DOMHTMLStyleElement setMedia:]):
   6763         (-[DOMHTMLStyleElement type]):
   6764         (-[DOMHTMLStyleElement setType:]):
   6765         (-[DOMHTMLBodyElement aLink]):
   6766         (-[DOMHTMLBodyElement setALink:]):
   6767         (-[DOMHTMLBodyElement background]):
   6768         (-[DOMHTMLBodyElement setBackground:]):
   6769         (-[DOMHTMLBodyElement bgColor]):
   6770         (-[DOMHTMLBodyElement setBgColor:]):
   6771         (-[DOMHTMLBodyElement link]):
   6772         (-[DOMHTMLBodyElement setLink:]):
   6773         (-[DOMHTMLBodyElement text]):
   6774         (-[DOMHTMLBodyElement setText:]):
   6775         (-[DOMHTMLBodyElement vLink]):
   6776         (-[DOMHTMLBodyElement setVLink:]):
   6777         (-[DOMHTMLFormElement name]):
   6778         (-[DOMHTMLFormElement setName:]):
   6779         (-[DOMHTMLFormElement acceptCharset]):
   6780         (-[DOMHTMLFormElement setAcceptCharset:]):
   6781         (-[DOMHTMLFormElement action]):
   6782         (-[DOMHTMLFormElement setAction:]):
   6783         (-[DOMHTMLFormElement enctype]):
   6784         (-[DOMHTMLFormElement setEnctype:]):
   6785         (-[DOMHTMLFormElement method]):
   6786         (-[DOMHTMLFormElement setMethod:]):
   6787         (-[DOMHTMLFormElement target]):
   6788         (-[DOMHTMLFormElement setTarget:]):
   6789         (-[DOMHTMLTextAreaElement accessKey]):
   6790         (-[DOMHTMLTextAreaElement setAccessKey:]):
   6791         (-[DOMHTMLTextAreaElement cols]):
   6792         (-[DOMHTMLTextAreaElement setCols:]):
   6793         (-[DOMHTMLTextAreaElement disabled]):
   6794         (-[DOMHTMLTextAreaElement setDisabled:]):
   6795         (-[DOMHTMLTextAreaElement readOnly]):
   6796         (-[DOMHTMLTextAreaElement setReadOnly:]):
   6797         (-[DOMHTMLTextAreaElement rows]):
   6798         (-[DOMHTMLTextAreaElement setRows:]):
   6799         (-[DOMHTMLButtonElement accessKey]):
   6800         (-[DOMHTMLButtonElement setAccessKey:]):
   6801         (-[DOMHTMLButtonElement disabled]):
   6802         (-[DOMHTMLButtonElement setDisabled:]):
   6803         (-[DOMHTMLButtonElement value]):
   6804         (-[DOMHTMLButtonElement setValue:]):
   6805         (-[DOMHTMLLabelElement accessKey]):
   6806         (-[DOMHTMLLabelElement setAccessKey:]):
   6807         (-[DOMHTMLLabelElement htmlFor]):
   6808         (-[DOMHTMLLabelElement setHtmlFor:]):
   6809         (-[DOMHTMLLegendElement accessKey]):
   6810         (-[DOMHTMLLegendElement setAccessKey:]):
   6811         (-[DOMHTMLLegendElement align]):
   6812         (-[DOMHTMLLegendElement setAlign:]):
   6813         (-[DOMHTMLUListElement compact]):
   6814         (-[DOMHTMLUListElement setCompact:]):
   6815         (-[DOMHTMLUListElement type]):
   6816         (-[DOMHTMLUListElement setType:]):
   6817         (-[DOMHTMLOListElement start]):
   6818         (-[DOMHTMLOListElement setStart:]):
   6819         (-[DOMHTMLOListElement type]):
   6820         (-[DOMHTMLOListElement setType:]):
   6821         (-[DOMHTMLDListElement compact]):
   6822         (-[DOMHTMLDListElement setCompact:]):
   6823         (-[DOMHTMLDirectoryElement compact]):
   6824         (-[DOMHTMLDirectoryElement setCompact:]):
   6825         (-[DOMHTMLMenuElement compact]):
   6826         (-[DOMHTMLMenuElement setCompact:]):
   6827         (-[DOMHTMLQuoteElement cite]):
   6828         (-[DOMHTMLQuoteElement setCite:]):
   6829         (-[DOMHTMLDivElement align]):
   6830         (-[DOMHTMLDivElement setAlign:]):
   6831         (-[DOMHTMLParagraphElement align]):
   6832         (-[DOMHTMLParagraphElement setAlign:]):
   6833         (-[DOMHTMLHeadingElement align]):
   6834         (-[DOMHTMLHeadingElement setAlign:]):
   6835         (-[DOMHTMLPreElement width]):
   6836         (-[DOMHTMLPreElement setWidth:]):
   6837         (-[DOMHTMLBRElement clear]):
   6838         (-[DOMHTMLBRElement setClear:]):
   6839         (-[DOMHTMLBaseFontElement color]):
   6840         (-[DOMHTMLBaseFontElement setColor:]):
   6841         (-[DOMHTMLBaseFontElement face]):
   6842         (-[DOMHTMLBaseFontElement setFace:]):
   6843         (-[DOMHTMLBaseFontElement size]):
   6844         (-[DOMHTMLBaseFontElement setSize:]):
   6845         (-[DOMHTMLFontElement color]):
   6846         (-[DOMHTMLFontElement setColor:]):
   6847         (-[DOMHTMLFontElement face]):
   6848         (-[DOMHTMLFontElement setFace:]):
   6849         (-[DOMHTMLFontElement size]):
   6850         (-[DOMHTMLFontElement setSize:]):
   6851         (-[DOMHTMLHRElement align]):
   6852         (-[DOMHTMLHRElement setAlign:]):
   6853         (-[DOMHTMLHRElement noShade]):
   6854         (-[DOMHTMLHRElement setNoShade:]):
   6855         (-[DOMHTMLHRElement size]):
   6856         (-[DOMHTMLHRElement setSize:]):
   6857         (-[DOMHTMLHRElement width]):
   6858         (-[DOMHTMLHRElement setWidth:]):
   6859         (-[DOMHTMLModElement cite]):
   6860         (-[DOMHTMLModElement setCite:]):
   6861         (-[DOMHTMLModElement dateTime]):
   6862         (-[DOMHTMLModElement setDateTime:]):
   6863         (-[DOMHTMLAnchorElement accessKey]):
   6864         (-[DOMHTMLAnchorElement setAccessKey:]):
   6865         (-[DOMHTMLAnchorElement charset]):
   6866         (-[DOMHTMLAnchorElement setCharset:]):
   6867         (-[DOMHTMLAnchorElement coords]):
   6868         (-[DOMHTMLAnchorElement setCoords:]):
   6869         (-[DOMHTMLAnchorElement setHref:]):
   6870         (-[DOMHTMLAnchorElement target]):
   6871         (-[DOMHTMLAnchorElement setTarget:]):
   6872         (-[DOMHTMLAnchorElement type]):
   6873         (-[DOMHTMLAnchorElement setType:]):
   6874         (-[DOMHTMLImageElement name]):
   6875         (-[DOMHTMLImageElement setName:]):
   6876         (-[DOMHTMLImageElement align]):
   6877         (-[DOMHTMLImageElement setAlign:]):
   6878         (-[DOMHTMLImageElement alt]):
   6879         (-[DOMHTMLImageElement setAlt:]):
   6880         (-[DOMHTMLImageElement border]):
   6881         (-[DOMHTMLImageElement setBorder:]):
   6882         (-[DOMHTMLImageElement height]):
   6883         (-[DOMHTMLImageElement setHeight:]):
   6884         (-[DOMHTMLImageElement hspace]):
   6885         (-[DOMHTMLImageElement setHspace:]):
   6886         (-[DOMHTMLImageElement isMap]):
   6887         (-[DOMHTMLImageElement setIsMap:]):
   6888         (-[DOMHTMLImageElement longDesc]):
   6889         (-[DOMHTMLImageElement setLongDesc:]):
   6890         (-[DOMHTMLImageElement setSrc:]):
   6891         (-[DOMHTMLImageElement useMap]):
   6892         (-[DOMHTMLImageElement setUseMap:]):
   6893         (-[DOMHTMLImageElement vspace]):
   6894         (-[DOMHTMLImageElement setVspace:]):
   6895         (-[DOMHTMLImageElement width]):
   6896         (-[DOMHTMLImageElement setWidth:]):
   6897         (-[DOMHTMLObjectElement code]):
   6898         (-[DOMHTMLObjectElement setCode:]):
   6899         (-[DOMHTMLObjectElement align]):
   6900         (-[DOMHTMLObjectElement setAlign:]):
   6901         (-[DOMHTMLObjectElement archive]):
   6902         (-[DOMHTMLObjectElement setArchive:]):
   6903         (-[DOMHTMLObjectElement border]):
   6904         (-[DOMHTMLObjectElement setBorder:]):
   6905         (-[DOMHTMLObjectElement codeBase]):
   6906         (-[DOMHTMLObjectElement setCodeBase:]):
   6907         (-[DOMHTMLObjectElement codeType]):
   6908         (-[DOMHTMLObjectElement setCodeType:]):
   6909         (-[DOMHTMLObjectElement data]):
   6910         (-[DOMHTMLObjectElement setData:]):
   6911         (-[DOMHTMLObjectElement declare]):
   6912         (-[DOMHTMLObjectElement setDeclare:]):
   6913         (-[DOMHTMLObjectElement height]):
   6914         (-[DOMHTMLObjectElement setHeight:]):
   6915         (-[DOMHTMLObjectElement hspace]):
   6916         (-[DOMHTMLObjectElement setHspace:]):
   6917         (-[DOMHTMLObjectElement name]):
   6918         (-[DOMHTMLObjectElement setName:]):
   6919         (-[DOMHTMLObjectElement standby]):
   6920         (-[DOMHTMLObjectElement setStandby:]):
   6921         (-[DOMHTMLObjectElement tabIndex]):
   6922         (-[DOMHTMLObjectElement setTabIndex:]):
   6923         (-[DOMHTMLObjectElement type]):
   6924         (-[DOMHTMLObjectElement setType:]):
   6925         (-[DOMHTMLObjectElement useMap]):
   6926         (-[DOMHTMLObjectElement setUseMap:]):
   6927         (-[DOMHTMLObjectElement vspace]):
   6928         (-[DOMHTMLObjectElement setVspace:]):
   6929         (-[DOMHTMLObjectElement width]):
   6930         (-[DOMHTMLObjectElement setWidth:]):
   6931         (-[DOMHTMLParamElement name]):
   6932         (-[DOMHTMLParamElement setName:]):
   6933         (-[DOMHTMLParamElement type]):
   6934         (-[DOMHTMLParamElement setType:]):
   6935         (-[DOMHTMLParamElement value]):
   6936         (-[DOMHTMLParamElement setValue:]):
   6937         (-[DOMHTMLParamElement valueType]):
   6938         (-[DOMHTMLParamElement setValueType:]):
   6939         (-[DOMHTMLAppletElement align]):
   6940         (-[DOMHTMLAppletElement setAlign:]):
   6941         (-[DOMHTMLAppletElement alt]):
   6942         (-[DOMHTMLAppletElement setAlt:]):
   6943         (-[DOMHTMLAppletElement archive]):
   6944         (-[DOMHTMLAppletElement setArchive:]):
   6945         (-[DOMHTMLAppletElement code]):
   6946         (-[DOMHTMLAppletElement setCode:]):
   6947         (-[DOMHTMLAppletElement codeBase]):
   6948         (-[DOMHTMLAppletElement setCodeBase:]):
   6949         (-[DOMHTMLAppletElement height]):
   6950         (-[DOMHTMLAppletElement setHeight:]):
   6951         (-[DOMHTMLAppletElement hspace]):
   6952         (-[DOMHTMLAppletElement setHspace:]):
   6953         (-[DOMHTMLAppletElement name]):
   6954         (-[DOMHTMLAppletElement setName:]):
   6955         (-[DOMHTMLAppletElement object]):
   6956         (-[DOMHTMLAppletElement setObject:]):
   6957         (-[DOMHTMLAppletElement vspace]):
   6958         (-[DOMHTMLAppletElement setVspace:]):
   6959         (-[DOMHTMLAppletElement width]):
   6960         (-[DOMHTMLAppletElement setWidth:]):
   6961         (-[DOMHTMLMapElement name]):
   6962         (-[DOMHTMLMapElement setName:]):
   6963         (-[DOMHTMLAreaElement accessKey]):
   6964         (-[DOMHTMLAreaElement setAccessKey:]):
   6965         (-[DOMHTMLAreaElement alt]):
   6966         (-[DOMHTMLAreaElement setAlt:]):
   6967         (-[DOMHTMLAreaElement coords]):
   6968         (-[DOMHTMLAreaElement setCoords:]):
   6969         (-[DOMHTMLAreaElement setHref:]):
   6970         (-[DOMHTMLAreaElement noHref]):
   6971         (-[DOMHTMLAreaElement setNoHref:]):
   6972         (-[DOMHTMLAreaElement shape]):
   6973         (-[DOMHTMLAreaElement setShape:]):
   6974         (-[DOMHTMLAreaElement tabIndex]):
   6975         (-[DOMHTMLAreaElement setTabIndex:]):
   6976         (-[DOMHTMLAreaElement target]):
   6977         (-[DOMHTMLAreaElement setTarget:]):
   6978         (-[DOMHTMLScriptElement text]):
   6979         (-[DOMHTMLScriptElement setText:]):
   6980         (-[DOMHTMLScriptElement charset]):
   6981         (-[DOMHTMLScriptElement setCharset:]):
   6982         (-[DOMHTMLScriptElement defer]):
   6983         (-[DOMHTMLScriptElement setDefer:]):
   6984         (-[DOMHTMLScriptElement src]):
   6985         (-[DOMHTMLScriptElement setSrc:]):
   6986         (-[DOMHTMLScriptElement type]):
   6987         (-[DOMHTMLScriptElement setType:]):
   6988         (-[DOMHTMLTableCaptionElement align]):
   6989         (-[DOMHTMLTableCaptionElement setAlign:]):
   6990         (-[DOMHTMLTableSectionElement align]):
   6991         (-[DOMHTMLTableSectionElement setAlign:]):
   6992         (-[DOMHTMLTableSectionElement ch]):
   6993         (-[DOMHTMLTableSectionElement setCh:]):
   6994         (-[DOMHTMLTableSectionElement chOff]):
   6995         (-[DOMHTMLTableSectionElement setChOff:]):
   6996         (-[DOMHTMLTableSectionElement vAlign]):
   6997         (-[DOMHTMLTableSectionElement setVAlign:]):
   6998         (-[DOMHTMLTableElement align]):
   6999         (-[DOMHTMLTableElement setAlign:]):
   7000         (-[DOMHTMLTableElement bgColor]):
   7001         (-[DOMHTMLTableElement setBgColor:]):
   7002         (-[DOMHTMLTableElement border]):
   7003         (-[DOMHTMLTableElement setBorder:]):
   7004         (-[DOMHTMLTableElement cellPadding]):
   7005         (-[DOMHTMLTableElement setCellPadding:]):
   7006         (-[DOMHTMLTableElement cellSpacing]):
   7007         (-[DOMHTMLTableElement setCellSpacing:]):
   7008         (-[DOMHTMLTableElement frameBorders]):
   7009         (-[DOMHTMLTableElement setFrameBorders:]):
   7010         (-[DOMHTMLTableElement rules]):
   7011         (-[DOMHTMLTableElement setRules:]):
   7012         (-[DOMHTMLTableElement summary]):
   7013         (-[DOMHTMLTableElement setSummary:]):
   7014         (-[DOMHTMLTableElement width]):
   7015         (-[DOMHTMLTableElement setWidth:]):
   7016         (-[DOMHTMLTableColElement align]):
   7017         (-[DOMHTMLTableColElement setAlign:]):
   7018         (-[DOMHTMLTableColElement ch]):
   7019         (-[DOMHTMLTableColElement setCh:]):
   7020         (-[DOMHTMLTableColElement chOff]):
   7021         (-[DOMHTMLTableColElement setChOff:]):
   7022         (-[DOMHTMLTableColElement span]):
   7023         (-[DOMHTMLTableColElement setSpan:]):
   7024         (-[DOMHTMLTableColElement vAlign]):
   7025         (-[DOMHTMLTableColElement setVAlign:]):
   7026         (-[DOMHTMLTableColElement width]):
   7027         (-[DOMHTMLTableColElement setWidth:]):
   7028         (-[DOMHTMLTableRowElement align]):
   7029         (-[DOMHTMLTableRowElement setAlign:]):
   7030         (-[DOMHTMLTableRowElement bgColor]):
   7031         (-[DOMHTMLTableRowElement setBgColor:]):
   7032         (-[DOMHTMLTableRowElement ch]):
   7033         (-[DOMHTMLTableRowElement setCh:]):
   7034         (-[DOMHTMLTableRowElement chOff]):
   7035         (-[DOMHTMLTableRowElement setChOff:]):
   7036         (-[DOMHTMLTableRowElement vAlign]):
   7037         (-[DOMHTMLTableRowElement setVAlign:]):
   7038         (-[DOMHTMLTableCellElement abbr]):
   7039         (-[DOMHTMLTableCellElement setAbbr:]):
   7040         (-[DOMHTMLTableCellElement align]):
   7041         (-[DOMHTMLTableCellElement setAlign:]):
   7042         (-[DOMHTMLTableCellElement axis]):
   7043         (-[DOMHTMLTableCellElement setAxis:]):
   7044         (-[DOMHTMLTableCellElement bgColor]):
   7045         (-[DOMHTMLTableCellElement setBgColor:]):
   7046         (-[DOMHTMLTableCellElement ch]):
   7047         (-[DOMHTMLTableCellElement setCh:]):
   7048         (-[DOMHTMLTableCellElement chOff]):
   7049         (-[DOMHTMLTableCellElement setChOff:]):
   7050         (-[DOMHTMLTableCellElement colSpan]):
   7051         (-[DOMHTMLTableCellElement setColSpan:]):
   7052         (-[DOMHTMLTableCellElement headers]):
   7053         (-[DOMHTMLTableCellElement setHeaders:]):
   7054         (-[DOMHTMLTableCellElement height]):
   7055         (-[DOMHTMLTableCellElement setHeight:]):
   7056         (-[DOMHTMLTableCellElement noWrap]):
   7057         (-[DOMHTMLTableCellElement setNoWrap:]):
   7058         (-[DOMHTMLTableCellElement rowSpan]):
   7059         (-[DOMHTMLTableCellElement setRowSpan:]):
   7060         (-[DOMHTMLTableCellElement scope]):
   7061         (-[DOMHTMLTableCellElement setScope:]):
   7062         (-[DOMHTMLTableCellElement vAlign]):
   7063         (-[DOMHTMLTableCellElement setVAlign:]):
   7064         (-[DOMHTMLTableCellElement width]):
   7065         (-[DOMHTMLTableCellElement setWidth:]):
   7066         (-[DOMHTMLFrameSetElement rows]):
   7067         (-[DOMHTMLFrameSetElement setRows:]):
   7068         (-[DOMHTMLFrameSetElement cols]):
   7069         (-[DOMHTMLFrameSetElement setCols:]):
   7070         (-[DOMHTMLFrameElement frameBorder]):
   7071         (-[DOMHTMLFrameElement setFrameBorder:]):
   7072         (-[DOMHTMLFrameElement longDesc]):
   7073         (-[DOMHTMLFrameElement setLongDesc:]):
   7074         (-[DOMHTMLFrameElement marginHeight]):
   7075         (-[DOMHTMLFrameElement setMarginHeight:]):
   7076         (-[DOMHTMLFrameElement marginWidth]):
   7077         (-[DOMHTMLFrameElement setMarginWidth:]):
   7078         (-[DOMHTMLFrameElement name]):
   7079         (-[DOMHTMLFrameElement setName:]):
   7080         (-[DOMHTMLFrameElement noResize]):
   7081         (-[DOMHTMLFrameElement setNoResize:]):
   7082         (-[DOMHTMLFrameElement scrolling]):
   7083         (-[DOMHTMLFrameElement setScrolling:]):
   7084         (-[DOMHTMLFrameElement src]):
   7085         (-[DOMHTMLFrameElement setSrc:]):
   7086         (-[DOMHTMLIFrameElement align]):
   7087         (-[DOMHTMLIFrameElement setAlign:]):
   7088         (-[DOMHTMLIFrameElement frameBorder]):
   7089         (-[DOMHTMLIFrameElement setFrameBorder:]):
   7090         (-[DOMHTMLIFrameElement height]):
   7091         (-[DOMHTMLIFrameElement setHeight:]):
   7092         (-[DOMHTMLIFrameElement longDesc]):
   7093         (-[DOMHTMLIFrameElement setLongDesc:]):
   7094         (-[DOMHTMLIFrameElement marginHeight]):
   7095         (-[DOMHTMLIFrameElement setMarginHeight:]):
   7096         (-[DOMHTMLIFrameElement marginWidth]):
   7097         (-[DOMHTMLIFrameElement setMarginWidth:]):
   7098         (-[DOMHTMLIFrameElement name]):
   7099         (-[DOMHTMLIFrameElement setName:]):
   7100         (-[DOMHTMLIFrameElement noResize]):
   7101         (-[DOMHTMLIFrameElement setNoResize:]):
   7102         (-[DOMHTMLIFrameElement scrolling]):
   7103         (-[DOMHTMLIFrameElement setScrolling:]):
   7104         (-[DOMHTMLIFrameElement src]):
   7105         (-[DOMHTMLIFrameElement setSrc:]):
   7106         (-[DOMHTMLIFrameElement width]):
   7107         (-[DOMHTMLIFrameElement setWidth:]):
   7108         (-[DOMHTMLEmbedElement align]):
   7109         (-[DOMHTMLEmbedElement setAlign:]):
   7110         (-[DOMHTMLEmbedElement height]):
   7111         (-[DOMHTMLEmbedElement setHeight:]):
   7112         (-[DOMHTMLEmbedElement name]):
   7113         (-[DOMHTMLEmbedElement setName:]):
   7114         (-[DOMHTMLEmbedElement src]):
   7115         (-[DOMHTMLEmbedElement setSrc:]):
   7116         (-[DOMHTMLEmbedElement type]):
   7117         (-[DOMHTMLEmbedElement setType:]):
   7118         (-[DOMHTMLEmbedElement width]):
   7119         (-[DOMHTMLEmbedElement setWidth:]):
   7120         * kwq/KWQAccObject.mm:
   7121         (-[KWQAccObject role]):
   7122         (-[KWQAccObject helpText]):
   7123         (-[KWQAccObject title]):
   7124         (-[KWQAccObject accessibilityDescription]):
   7125         (-[KWQAccObject accessibilityIsIgnored]):
   7126         (-[KWQAccObject accessibilityAttributeValue:]):
   7127         * kwq/KWQKHTMLPart.cpp:
   7128         (KWQKHTMLPart::isFrameSet):
   7129         * kwq/KWQKHTMLPart.mm:
   7130         (scanForForm):
   7131         (KWQKHTMLPart::currentForm):
   7132         (KWQKHTMLPart::searchForLabelsBeforeElement):
   7133         (KWQKHTMLPart::matchLabelsAgainstElement):
   7134         (KWQKHTMLPart::fileWrapperForElement):
   7135         (listParent):
   7136         (isTextFirstInListItem):
   7137         (KWQKHTMLPart::attributedString):
   7138         (KWQKHTMLPart::styleForSelectionStart):
   7139         (KWQKHTMLPart::setSelectionFromNone):
   7140         * kwq/WebCoreBridge.mm:
   7141         (inputElementFromDOMElement):
   7142         (formElementFromDOMElement):
   7143         (-[WebCoreBridge elementAtPoint:]):
   7144 
   7145 2005-07-29  David Harrison  <harrison (a] apple.com>
   7146 
   7147         Test cases added: n/a
   7148 
   7149         Update layout tests for my previous change.
   7150         
   7151         * layout-tests/fast/dom/quadraticCurveTo-expected.txt:
   7152         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   7153 
   7154 2005-07-29  David Harrison  <harrison (a] apple.com>
   7155 
   7156         Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements).
   7157 
   7158         Test cases added: Existing tab-related basic editing tests were updated.  More complex tests are coming soon.
   7159 
   7160         <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
   7161         
   7162         Basic strategy is to put tabs into spans with white-space:pre style, and
   7163         render them with tabs stops every 8th space, where the space width and
   7164         the left margin are those of the enclosing block.
   7165 
   7166         * khtml/editing/apply_style_command.cpp:
   7167         (khtml::ApplyStyleCommand::removeCSSStyle):
   7168         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   7169         * khtml/editing/delete_selection_command.cpp:
   7170         (khtml::DeleteSelectionCommand::saveTypingStyleState):
   7171         * khtml/editing/edit_command.cpp:
   7172         (khtml::EditCommand::styleAtPosition):
   7173         * khtml/editing/html_interchange.h:
   7174         * khtml/editing/htmlediting.cpp:
   7175         (khtml::isSpecialElement):
   7176         (khtml::isTabSpanNode):
   7177         (khtml::isTabSpanTextNode):
   7178         (khtml::positionBeforeTabSpan):
   7179         (khtml::createTabSpanElement):
   7180         * khtml/editing/htmlediting.h:
   7181         * khtml/editing/insert_text_command.cpp:
   7182         (khtml::InsertTextCommand::prepareForTextInsertion):
   7183         (khtml::InsertTextCommand::input):
   7184         (khtml::InsertTextCommand::insertTab):
   7185         * khtml/editing/insert_text_command.h:
   7186         * khtml/editing/markup.cpp:
   7187         (khtml::createParagraphContentsFromString):
   7188         (khtml::createFragmentFromText):
   7189         * khtml/editing/replace_selection_command.cpp:
   7190         (khtml::ReplacementFragment::removeStyleNodes):
   7191         * khtml/html/htmltokenizer.cpp:
   7192         (khtml::HTMLTokenizer::begin):
   7193         (khtml::HTMLTokenizer::processListing):
   7194         (khtml::HTMLTokenizer::parseSpecial):
   7195         (khtml::HTMLTokenizer::parseText):
   7196         (khtml::HTMLTokenizer::parseEntity):
   7197         (khtml::HTMLTokenizer::parseTag):
   7198         (khtml::HTMLTokenizer::addPending):
   7199         (khtml::HTMLTokenizer::write):
   7200         * khtml/html/htmltokenizer.h:
   7201         (khtml::HTMLTokenizer::):
   7202         * khtml/rendering/bidi.cpp:
   7203         (khtml::addRun):
   7204         (khtml::RenderBlock::tabWidth):
   7205         (khtml::RenderBlock::computeHorizontalPositionsForLine):
   7206         (khtml::RenderBlock::layoutInlineChildren):
   7207         (khtml::RenderBlock::skipWhitespace):
   7208         (khtml::RenderBlock::findNextLineBreak):
   7209         (khtml::RenderBlock::checkLinesForTextOverflow):
   7210         * khtml/rendering/break_lines.cpp:
   7211         (khtml::isBreakable):
   7212         * khtml/rendering/font.cpp:
   7213         (Font::drawHighlightForText):
   7214         (Font::drawText):
   7215         (Font::floatWidth):
   7216         (Font::floatCharacterWidths):
   7217         (Font::checkSelectionPoint):
   7218         (Font::width):
   7219         * khtml/rendering/font.h:
   7220         * khtml/rendering/render_block.cpp:
   7221         (khtml:::RenderFlow):
   7222         (khtml::RenderBlock::setStyle):
   7223         (khtml::stripTrailingSpace):
   7224         (khtml::RenderBlock::calcInlineMinMaxWidth):
   7225         * khtml/rendering/render_block.h:
   7226         * khtml/rendering/render_br.h:
   7227         (khtml::RenderBR::width):
   7228         * khtml/rendering/render_flexbox.cpp:
   7229         (khtml::RenderFlexibleBox::layoutVerticalBox):
   7230         * khtml/rendering/render_image.cpp:
   7231         (RenderImage::setPixmap):
   7232         (RenderImage::paint):
   7233         * khtml/rendering/render_line.cpp:
   7234         (khtml::EllipsisBox::paint):
   7235         * khtml/rendering/render_line.h:
   7236         (khtml::InlineBox::width):
   7237         (khtml::InlineBox::xPos):
   7238         (khtml::InlineBox::yPos):
   7239         (khtml::InlineBox::height):
   7240         (khtml::InlineBox::baseline):
   7241         * khtml/rendering/render_list.cpp:
   7242         (RenderListMarker::paint):
   7243         (RenderListMarker::calcMinMaxWidth):
   7244         * khtml/rendering/render_object.cpp:
   7245         (RenderObject::tabWidth):
   7246         (RenderObject::recalcMinMaxWidths):
   7247         * khtml/rendering/render_object.h:
   7248         * khtml/rendering/render_replaced.cpp:
   7249         * khtml/rendering/render_text.cpp:
   7250         (InlineTextBox::selectionRect):
   7251         (InlineTextBox::paint):
   7252         (InlineTextBox::paintSelection):
   7253         (InlineTextBox::paintMarkedTextBackground):
   7254         (InlineTextBox::textPos):
   7255         (InlineTextBox::offsetForPosition):
   7256         (InlineTextBox::positionForOffset):
   7257         (RenderText::cacheWidths):
   7258         (RenderText::widthFromCache):
   7259         (RenderText::trimmedMinMaxWidth):
   7260         (RenderText::calcMinMaxWidth):
   7261         (RenderText::containsOnlyWhitespace):
   7262         (RenderText::width):
   7263         * khtml/rendering/render_text.h:
   7264         * kwq/KWQFontMetrics.h:
   7265         * kwq/KWQFontMetrics.mm:
   7266         (QFontMetrics::width):
   7267         (QFontMetrics::charWidth):
   7268         (QFontMetrics::floatWidth):
   7269         (QFontMetrics::floatCharacterWidths):
   7270         (QFontMetrics::checkSelectionPoint):
   7271         (QFontMetrics::boundingRect):
   7272         (QFontMetrics::size):
   7273         * kwq/KWQPainter.h:
   7274         * kwq/KWQPainter.mm:
   7275         (QPainter::drawRect):
   7276         (QPainter::drawLine):
   7277         (QPainter::drawText):
   7278         (QPainter::drawHighlightForText):
   7279         (_fillRectXX):
   7280         (QPainter::fillRect):
   7281         * kwq/WebCoreTextRenderer.h:
   7282         * kwq/WebCoreTextRendererFactory.mm:
   7283         (WebCoreInitializeEmptyTextStyle):
   7284         * layout-tests/editing/deleting/delete-tab-001-expected.txt:
   7285         * layout-tests/editing/deleting/delete-tab-001.html:
   7286         * layout-tests/editing/deleting/delete-tab-002-expected.txt:
   7287         * layout-tests/editing/deleting/delete-tab-002.html:
   7288         * layout-tests/editing/deleting/delete-tab-003-expected.txt:
   7289         * layout-tests/editing/deleting/delete-tab-003.html:
   7290         * layout-tests/editing/deleting/delete-tab-004-expected.txt:
   7291         * layout-tests/editing/deleting/delete-tab-004.html:
   7292         * layout-tests/editing/inserting/insert-tab-001-expected.txt:
   7293         * layout-tests/editing/inserting/insert-tab-002-expected.txt:
   7294         * layout-tests/editing/inserting/insert-tab-003-expected.txt:
   7295         * layout-tests/editing/inserting/insert-tab-004-expected.txt:
   7296         * layout-tests/fast/js/string-replace-2-expected.txt:
   7297         * layout-tests/fast/table/039-expected.txt:
   7298         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   7299         * layout-tests/fast/tokenizer/script_extra_close-expected.txt:
   7300 
   7301 2005-07-29  David Hyatt  <hyatt (a] apple.com>
   7302 
   7303 	(1) Fixes khtml-user-select: none to have the following additional behavior (that matches Firefox's implementation of the property as well)
   7304 	(a) If you mouse down (or click, double click, triple click) inside a "none" region, the selection should not be cleared or changed
   7305         (b) If you drag from within a "none" region out to a selectable region, so what, no selection should be changed or started.
   7306 
   7307 	(2) Adds a new value to khtml-user-select called "element" that is used for any object that should have the behavior of (a) and (b) above (but that is selectable aside from that).  This includes images, links, buttons, and so on.  html4.css is patched to add support for these objects.
   7308 	    This feature fixes the big contenteditable issue and selection is no longer cleared now when you click on these controls (or on links).  This behavior matches other browsers.
   7309 
   7310 	(3) :active and :hover have been substantially reworked.
   7311 	    (a) If you mouse down on a selectable region, then the behavior is unchanged.  :hover/:active is completely frozen, and they aren't updated at all.
   7312 	    (b) If you mouse down on a non-selectable region and start moving, then the behavior has changed.  Instead of not updating at all, we mark the chain at the time the mouse goes down, and we restrict :hover/:active updates to only apply to elements that are in that chain.  This yields perfect hover/active control behavior, even when :active has been applied hierarchically.
   7313 	    (c) :hover has moved onto the node and is no longer on the renderobject (allowing them to be consistent).
   7314 	
   7315         Reviewed by john
   7316 
   7317         * khtml/css/cssparser.cpp:
   7318         (CSSParser::parseValue):
   7319         * khtml/css/cssstyleselector.cpp:
   7320         (khtml::CSSStyleSelector::canShareStyleWithElement):
   7321         (khtml::CSSStyleSelector::checkOneSelector):
   7322         (khtml::CSSStyleSelector::applyProperty):
   7323         * khtml/css/html4.css:
   7324         * khtml/khtml_part.cpp:
   7325         (KHTMLPart::setSelection):
   7326         (KHTMLPart::selectClosestWordFromMouseEvent):
   7327         (KHTMLPart::handleMousePressEventTripleClick):
   7328         (KHTMLPart::handleMousePressEventSingleClick):
   7329         (KHTMLPart::handleMouseMoveEventSelection):
   7330         (KHTMLPart::khtmlMouseReleaseEvent):
   7331         * khtml/khtml_part.h:
   7332         (KHTMLPart::mouseDownMayStartSelect):
   7333         * khtml/khtmlview.cpp:
   7334         (KHTMLView::viewportMouseMoveEvent):
   7335         * khtml/rendering/render_layer.cpp:
   7336         (RenderLayer::hitTest):
   7337         (RenderLayer::updateHoverActiveState):
   7338         * khtml/rendering/render_object.cpp:
   7339         (RenderObject::RenderObject):
   7340         (RenderObject::information):
   7341         * khtml/rendering/render_object.h:
   7342         (khtml::RenderObject::isRunIn):
   7343         (khtml::RenderObject::setInline):
   7344         (khtml::RenderObject::NodeInfo::NodeInfo):
   7345         (khtml::RenderObject::NodeInfo::mouseMove):
   7346         * khtml/rendering/render_style.h:
   7347         (khtml::):
   7348         * khtml/xml/dom_docimpl.cpp:
   7349         (DocumentImpl::DocumentImpl):
   7350         (DocumentImpl::~DocumentImpl):
   7351         (DocumentImpl::prepareMouseEvent):
   7352         (DocumentImpl::setActiveNode):
   7353         * khtml/xml/dom_docimpl.h:
   7354         (DOM::DocumentImpl::activeNode):
   7355         * khtml/xml/dom_nodeimpl.cpp:
   7356         (DOM::ContainerNodeImpl::setHovered):
   7357         * khtml/xml/dom_nodeimpl.h:
   7358         (DOM::NodeImpl::inActiveChain):
   7359         (DOM::NodeImpl::hovered):
   7360         (DOM::NodeImpl::setInActiveChain):
   7361         (DOM::NodeImpl::setHovered):
   7362         * kwq/KWQKHTMLPart.h:
   7363         (KWQKHTMLPart::mouseDownMayStartSelect):
   7364         * kwq/KWQKHTMLPart.mm:
   7365         (KWQKHTMLPart::canMouseDownStartSelect):
   7366         (KWQKHTMLPart::khtmlMousePressEvent):
   7367 
   7368 2005-07-29  Justin Garcia  <justin.garcia (a] apple.com>
   7369 
   7370         Reviewed by geoff
   7371         
   7372         Fixed problem with patch that I just backed out:
   7373         Fix for <rdar://problems/4038408&4154187&4125381&4125087> 
   7374             Mail: Editing at the bottom of a quoted block makes the text blue in certain cases
   7375 
   7376         Test cases added:
   7377         * layout-tests/editing/deleting/delete-4038408-fix-expected.txt: Added.
   7378         * layout-tests/editing/deleting/delete-4038408-fix.html: Added.
   7379         
   7380         * khtml/editing/delete_selection_command.cpp:
   7381         (khtml::DeleteSelectionCommand::DeleteSelectionCommand):
   7382         (khtml::DeleteSelectionCommand::saveTypingStyleState):
   7383         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
   7384         (khtml::DeleteSelectionCommand::clearTransientState):
   7385         * khtml/editing/delete_selection_command.h:        
   7386 
   7387 2005-07-29  Geoffrey Garen  <ggaren (a] apple.com>
   7388 
   7389         - Oops. Last checkin omitted the actual test for:
   7390         <rdar://problem/3461547> can't use document.writeln() on windows opened via window.open("about:blank") in same function
   7391 
   7392         * manual-tests/write-after-open.html: Added.
   7393 
   7394 2005-07-29  Eric Seidel  <eseidel (a] apple.com>
   7395 
   7396         No review necessary
   7397 
   7398         * kdom/xpath/impl/parser/xpath.ypp:
   7399         Turned off "verbose errors" which was generating a warning
   7400         during compile (Bison 1.28 bug).  This is unused code in kdom
   7401         xpath support, thus I didn't ask for review.
   7402 
   7403 2005-07-29  Geoffrey Garen  <ggaren (a] apple.com>
   7404         
   7405         - fixed:
   7406         <rdar://problem/3461547> can't use document.writeln() on windows opened via window.open("about:blank") in same function
   7407         <rdar://problem/3725977> A_WINDOW.document.write() content overwritten when first parameter to window.open is provided
   7408         <rdar://problem/4101498> SAP: window.write in same call chain as window.open fails to write if URL parameter is provided
   7409         <rdar://problem/4179028> document.write in same function as window.open fails to write new content (4056)
   7410         http://bugs.webkit.org/show_bug.cgi?id=4056 document.write in same function as window.open fails to write new content
   7411 
   7412         Reviewed by darin.
   7413 
   7414         Test cases added:
   7415         * manual-tests/resources/write-after-open-popup.html: Added.
   7416 
   7417         * khtml/khtml_part.cpp:
   7418         (KHTMLPart::didExplicitOpen): now cancels any pending redirection
   7419 
   7420 2005-07-29  John Sullivan  <sullivan (a] apple.com>
   7421 
   7422         Reviewed by Dave Hyatt.
   7423 
   7424         Test cases added: none, this only affects Safari forms autofill
   7425 
   7426         - WebCore part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews
   7427 
   7428         * khtml/html/html_formimpl.cpp:
   7429         added a FIXME about a bug I ran into while doing this autofill stuff
   7430         
   7431         * kwq/DOMHTML.mm:
   7432         (viewForElement):
   7433         Moved this function here (was in WebCoreBridge), and simplified it a little. This will go
   7434         away when we have non-NSView ways of implementing all the methods below.
   7435         (-[DOMHTMLInputElement _displayedValue]):
   7436         moved here from Safari
   7437         (-[DOMHTMLInputElement _setDisplayedValue:]):
   7438         ditto
   7439         (-[DOMHTMLInputElement _rectOnScreen]):
   7440         ditto
   7441         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
   7442         ditto
   7443         (-[DOMHTMLInputElement _selectedRange]):
   7444         ditto
   7445         (-[DOMHTMLInputElement _setBackgroundColor:]):
   7446         ditto
   7447         (-[DOMHTMLSelectElement _activateItemAtIndex:]):
   7448         ditto
   7449         (-[DOMHTMLSelectElement _optionLabels]):
   7450         ditto
   7451 
   7452         * kwq/DOMPrivate.h:
   7453         moved DOMHTMLInputElement and DOMHTMLSelectElement categories here from Safari
   7454         
   7455         * kwq/WebCoreBridge.h:
   7456         * kwq/WebCoreBridge.mm:
   7457         removed viewForElement:, which had been added as a temporary measure while I did this conversion.
   7458 
   7459 2005-07-29  Eric Seidel  <eseidel (a] apple.com>
   7460 
   7461         Reviewed by sullivan.
   7462 
   7463         * WebCore+SVG/DrawCanvasItem.h: Added.
   7464         * WebCore+SVG/DrawCanvasItem.mm: Added.
   7465         * WebCore+SVG/DrawCanvasItemPrivate.h: Added.
   7466         * WebCore+SVG/DrawDocument.h: Added.
   7467         * WebCore+SVG/DrawDocument.mm: Added.
   7468         * WebCore+SVG/DrawDocumentPrivate.h: Added.
   7469         * WebCore+SVG/DrawView.h: Added.
   7470         * WebCore+SVG/DrawView.mm: Added.
   7471         * WebCore+SVG/DrawViewPrivate.h: Added.
   7472         * WebCore+SVG/NSSVGImageRep.h: Added.
   7473         * WebCore+SVG/NSSVGImageRep.m: Added.
   7474         Temporary SPI to make it possible to write Obj-C test applications.
   7475         http://bugs.webkit.org/show_bug.cgi?id=4155
   7476 
   7477 2005-07-29  Justin Garcia  <justin.garcia (a] apple.com>
   7478 
   7479         Reviewed by harrison
   7480         
   7481         Backing out my recent change as it causes a layout test failure in Deployment mode
   7482 
   7483         * khtml/editing/delete_selection_command.cpp:
   7484         (khtml::DeleteSelectionCommand::saveTypingStyleState):
   7485         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
   7486         (khtml::DeleteSelectionCommand::clearTransientState):
   7487         * khtml/editing/delete_selection_command.h:
   7488         * layout-tests/editing/deleting/delete-4038408-fix-expected.txt: Removed.
   7489         * layout-tests/editing/deleting/delete-4038408-fix.html: Removed.
   7490 
   7491 2005-07-28  Eric Seidel  <eseidel (a] apple.com>
   7492 
   7493         Reviewed by darin, eseidel
   7494         Submitted by Ben La Monica <ben.lamonica (a] gmail.com>
   7495 
   7496         * kdom/css/impl/kdomparsercss.y: commented out %destructor %verbose
   7497         * kdom/xpath/impl/parser/xpath.ypp: added missing definitions
   7498         Fixes kdom to build with bison 1.28
   7499         http://bugs.webkit.org/show_bug.cgi?id=3936
   7500 
   7501 2005-07-28  Eric Seidel  <eseidel (a] apple.com>
   7502 
   7503         Reviewed by mjs.
   7504 
   7505         * WebCore.xcodeproj/project.pbxproj: Added SVG files back.
   7506         * kdom/css/CSSCharsetRule.cpp:
   7507         * kdom/css/CSSFontFaceRule.cpp:
   7508         * kdom/css/CSSImportRule.cpp:
   7509         * kdom/css/CSSMediaRule.cpp:
   7510         * kdom/css/CSSPageRule.cpp:
   7511         * kdom/css/CSSPrimitiveValue.cpp:
   7512         * kdom/css/CSSRule.cpp:
   7513         * kdom/css/CSSRuleList.cpp:
   7514         * kdom/css/CSSStyleDeclaration.cpp:
   7515         * kdom/css/CSSStyleRule.cpp:
   7516         * kdom/css/CSSStyleSheet.cpp:
   7517         * kdom/css/CSSValue.cpp:
   7518         * kdom/css/CSSValueList.cpp:
   7519         * kdom/css/Counter.cpp:
   7520         * kdom/css/DocumentStyle.cpp:
   7521         * kdom/css/MediaList.cpp:
   7522         * kdom/css/RGBColor.cpp:
   7523         * kdom/css/Rect.cpp:
   7524         * kdom/css/StyleSheet.cpp:
   7525         * kdom/css/StyleSheetList.cpp:
   7526         * kdom/ecma/DOMLookup.h: Hacked around mjs's latest JSC change.
   7527         Fixed #include statements to build under Xcode 2.1.
   7528         http://bugs.webkit.org/show_bug.cgi?id=4154
   7529 
   7530 2005-07-28  David Hyatt  <hyatt (a] apple.com>
   7531 
   7532 	Give the theme a shot at deciding when to repaint when various control states change.
   7533 	Remove buggy code that was resigning first responder in next/previous key view (tested
   7534 	extensively and found this code to not be needed).
   7535 
   7536         Reviewed by darin and chris
   7537 
   7538         * khtml/html/html_formimpl.cpp:
   7539         (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
   7540         (DOM::HTMLInputElementImpl::setChecked):
   7541         * khtml/rendering/render_layer.cpp:
   7542         (RenderLayer::updateHoverActiveState):
   7543         * khtml/rendering/render_theme.cpp:
   7544         (khtml::RenderTheme::stateChanged):
   7545         * khtml/rendering/render_theme.h:
   7546         (khtml::):
   7547         * khtml/xml/dom_nodeimpl.cpp:
   7548         (DOM::ContainerNodeImpl::setActive):
   7549         * kwq/KWQButton.mm:
   7550         (-[KWQButton nextKeyView]):
   7551         (-[KWQButton previousKeyView]):
   7552         * kwq/KWQKHTMLPart.mm:
   7553         (KWQKHTMLPart::setDisplaysWithFocusAttributes):
   7554 
   7555 2005-07-28  David Hyatt  <hyatt (a] apple.com>
   7556 
   7557 	Implement support for the :checked, :enabled and :disabled pseudo-classes.
   7558 	
   7559         Reviewed by john
   7560 
   7561         * khtml/css/css_base.cpp:
   7562         (CSSSelector::extractPseudoType):
   7563         * khtml/css/css_base.h:
   7564         (DOM::CSSSelector::):
   7565         * khtml/css/cssstyleselector.cpp:
   7566         (khtml::CSSStyleSelector::checkOneSelector):
   7567         * khtml/html/html_formimpl.h:
   7568         (DOM::HTMLGenericFormElementImpl::isControl):
   7569         (DOM::HTMLGenericFormElementImpl::isEnabled):
   7570         (DOM::HTMLInputElementImpl::isChecked):
   7571         * khtml/rendering/render_theme.cpp:
   7572         (khtml::RenderTheme::isChecked):
   7573         (khtml::RenderTheme::isEnabled):
   7574         * khtml/xml/dom_nodeimpl.h:
   7575         (DOM::NodeImpl::isControl):
   7576         (DOM::NodeImpl::isEnabled):
   7577         (DOM::NodeImpl::isChecked):
   7578 
   7579 2005-07-28  Beth Dakin  <bdakin (a] apple.com>
   7580 
   7581 	This is a fix for <rdar://problem/4190684>. Hyatt and I
   7582 	(okay, mostly Hyatt) wrote this for Cayenne so that they
   7583 	can change the value of a style of a rule and have everything
   7584 	update dynamically without causing a crash.         
   7585 
   7586 	Reviewed by Hyatt
   7587 
   7588         Test cases added: (NONE)
   7589 
   7590         * khtml/css/css_valueimpl.cpp:
   7591         (DOM::CSSMutableStyleDeclarationImpl::setChanged):
   7592 
   7593 2005-07-28  Chris Blumenberg  <cblu (a] apple.com>
   7594 
   7595 	Moved non-AppKit related code from RenderThemeMac to RenderTheme so potentially other RenderTheme subclasses can inherit more behavior.
   7596 
   7597         Reviewed by hyatt.
   7598 
   7599         * khtml/rendering/render_theme.cpp:
   7600         (khtml::RenderTheme::baselinePosition):
   7601         (khtml::RenderTheme::isControlContainer):
   7602         (khtml::RenderTheme::sizeForFont):
   7603         (khtml::RenderTheme::setSizeFromFont):
   7604         (khtml::RenderTheme::setCheckboxSize):
   7605         (khtml::RenderTheme::adjustCheckboxStyle):
   7606         * khtml/rendering/render_theme.h:
   7607         * khtml/rendering/render_theme_mac.h:
   7608         * khtml/rendering/render_theme_mac.mm:
   7609         (khtml::RenderThemeMac::sizeForFont):
   7610 
   7611 2005-07-28  David Hyatt  <hyatt (a] apple.com>
   7612 
   7613 	Make sure :focus is not matched when the window is not key.
   7614 	This involved adding a check to the style selector and also
   7615 	removing the hack from the painter that turned off outline:auto
   7616 	drawing when the window wasn't key.
   7617 
   7618 	Added support for control tinting when the window resigns/becomes
   7619 	key.
   7620 	
   7621         Reviewed by john
   7622 
   7623         * khtml/css/cssstyleselector.cpp:
   7624         (khtml::CSSStyleSelector::checkOneSelector):
   7625         * khtml/khtml_part.h:
   7626         (KHTMLPart::displaysWithFocusAttributes):
   7627         * khtml/rendering/render_theme.cpp:
   7628         (khtml::RenderTheme::paint):
   7629         (khtml::RenderTheme::isChecked):
   7630         (khtml::RenderTheme::isEnabled):
   7631         (khtml::RenderTheme::isFocused):
   7632         (khtml::RenderTheme::isPressed):
   7633         * khtml/rendering/render_theme.h:
   7634         (khtml::RenderTheme::controlSupportsTints):
   7635         * khtml/rendering/render_theme_mac.h:
   7636         * khtml/rendering/render_theme_mac.mm:
   7637         (khtml::RenderThemeMac::controlSupportsTints):
   7638         * kwq/KWQKHTMLPart.mm:
   7639         (KWQKHTMLPart::setDisplaysWithFocusAttributes):
   7640         * kwq/KWQPainter.h:
   7641         (QPainter::updatingControlTints):
   7642         (QPainter::setUpdatingControlTints):
   7643         * kwq/KWQPainter.mm:
   7644         (QPainter::QPainter):
   7645         (QPainter::initFocusRing):
   7646         (QPainter::addFocusRingRect):
   7647         (QPainter::drawFocusRing):
   7648         * kwq/WebCoreBridge.mm:
   7649         (-[WebCoreBridge drawRect:]):
   7650 
   7651 2005-07-27  Justin Garcia  <justin.garcia (a] apple.com>
   7652 
   7653         Reviewed by ken
   7654         
   7655         Fix for <rdar://problems/4038408&4154187&4125381&4125087> 
   7656             Mail: Editing at the bottom of a quoted block makes the text blue in certain cases
   7657 
   7658         Test cases added:
   7659         * layout-tests/editing/deleting/delete-4038408-fix-expected.txt: Added.
   7660         * layout-tests/editing/deleting/delete-4038408-fix.html: Added.
   7661 
   7662         * khtml/editing/delete_selection_command.cpp:
   7663         (khtml::DeleteSelectionCommand::saveTypingStyleState):
   7664         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
   7665         (khtml::DeleteSelectionCommand::clearTransientState):
   7666         * khtml/editing/delete_selection_command.h:
   7667 
   7668 2005-07-27  Geoffrey Garen  <ggaren (a] apple.com>
   7669 
   7670         - added test case for http://bugs.webkit.org/show_bug.cgi?id=4147
   7671         Array.toString() and toLocaleString() improvements from KDE KJS
   7672         
   7673         Test cases added:
   7674 
   7675         * layout-tests/fast/js/toString-overrides-expected.txt: Added.
   7676         * layout-tests/fast/js/toString-overrides.html: Added.
   7677 
   7678 2005-07-27  Beth Dakin  <bdakin (a] apple.com>
   7679 	Fix submitted by: Andrew Wellington <proton (a] wiretapped.net>
   7680         Reviewed by Beth Dakin.
   7681 
   7682 	This is a fix for http://bugs.webkit.org/show_bug.cgi?id=3406 and 
   7683 	<rdar://problem/3204011>. It does not solve all of the problems with
   7684 	text-transform: capitalize, but it does fix some of the more notable 
   7685 	problems regarding apostrophes (like on amazon.com), and does not cause 
   7686 	any regressions (i.e., some things about text-transform are still wrong and some
   7687 	of those things are wrong in different ways than they were wrong before, but 
   7688 	the patch does not seem to cause anything that was right to be newly
   7689 	wrong.
   7690 
   7691         Test cases added: another text-transform test, see below
   7692 
   7693         * khtml/xml/dom_stringimpl.cpp: Here is the fix.
   7694         (DOM::DOMStringImpl::capitalize):
   7695         * layout-tests/css1/text_properties/text-transCapitalize-expected.txt: Added. New test case.
   7696         * layout-tests/css1/text_properties/text-transCapitalize.html: Added. New test case.
   7697         * layout-tests/css1/text_properties/text_transform-expected.txt: New expected results...
   7698 				here are some instances where things were wrong before but are
   7699 				wrong in new ways now.
   7700 
   7701 2005-07-27  Geoffrey Garen  <ggaren (a] apple.com>
   7702 
   7703         Test cases added:
   7704 
   7705         * layout-tests/fast/js/date-big-setdate-expected.txt: Added.
   7706         * layout-tests/fast/js/date-big-setdate.html: Added.
   7707 
   7708 2005-07-27  David Hyatt  <hyatt (a] apple.com>
   7709 
   7710 	Remove the "enforce a square size" rule for checkboxes. WinIE
   7711 	doesn't do this, and I'm not sure where I came up with it.
   7712 
   7713 	Fix a bug in isFocusable that was causing disabled form
   7714 	controls with no corresponding widget to still get focus!
   7715 	(This bug affected my new checkbox but also <input type=image>
   7716 	and the HTML4 button!)
   7717 
   7718         Reviewed by ggaren
   7719 
   7720         * khtml/html/html_formimpl.cpp:
   7721         * khtml/rendering/render_theme_mac.mm:
   7722 
   7723 2005-07-27  Geoffrey Garen  <ggaren (a] apple.com>
   7724         -added testcase for http://bugs.webkit.org/show_bug.cgi?id=3759
   7725         Date object enhancements
   7726         
   7727         Reviewed by darin.
   7728 
   7729         Test cases added:
   7730 
   7731         * layout-tests/fast/js/date-preserve-milliseconds-expected.txt: Added.
   7732         * layout-tests/fast/js/date-preserve-milliseconds.html: Added.
   7733 
   7734 2005-07-26  Justin Garcia  <justin.garcia (a] apple.com>
   7735 
   7736         Patch by Trey Matteson <trey (a] usa.net>
   7737         
   7738         Reviewed by hyatt.
   7739     
   7740         Fixed <rdar://problem/4083496> some elements draw selection when printing
   7741         Also listed as <http://bugs.webkit.org/show_bug.cgi?id=3992>
   7742         
   7743         Simply added tests to prevent selection drawing when printing.
   7744         
   7745         * khtml/rendering/render_block.cpp:
   7746         (khtml::RenderBlock::paintObject):
   7747         * khtml/rendering/render_canvasimage.cpp:
   7748         (RenderCanvasImage::paint):
   7749         * khtml/rendering/render_image.cpp:
   7750         (RenderImage::paint):
   7751         * khtml/rendering/render_replaced.cpp:
   7752         (RenderWidget::paint):
   7753 
   7754 2005-07-26  Justin Garcia  <justin.garcia (a] apple.com>
   7755 
   7756         Reviewed by darin
   7757         
   7758         Added forward declarations to fix new gcc4 errors
   7759         
   7760         * khtml/ecma/kjs_window.h:
   7761         * khtml/xml/dom_elementimpl.h:
   7762         * kwq/KWQMapImpl.h:
   7763 
   7764 2005-07-26  David Hyatt  <hyatt (a] apple.com>
   7765 
   7766 	Land current checkbox work.  The checkbox can now check/uncheck,
   7767 	supports looking pressed, and can dynamically enable/disable.
   7768 
   7769 	Entire patch reviewed by darin, portions reviewed by
   7770 	sullivan as well.
   7771 
   7772         * khtml/css/cssstyleselector.cpp:
   7773         (khtml::CSSStyleSelector::adjustRenderStyle):
   7774         * khtml/html/html_formimpl.cpp:
   7775         (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
   7776         (DOM::HTMLInputElementImpl::click):
   7777         (DOM::HTMLInputElementImpl::setChecked):
   7778         (DOM::HTMLInputElementImpl::defaultEventHandler):
   7779         * khtml/rendering/render_block.cpp:
   7780         (khtml::RenderBlock::baselinePosition):
   7781         * khtml/rendering/render_box.cpp:
   7782         (RenderBox::paintBoxDecorations):
   7783         (RenderBox::getAbsoluteRepaintRect):
   7784         * khtml/rendering/render_object.cpp:
   7785         (RenderObject::paintOutline):
   7786         (RenderObject::setStyle):
   7787         * khtml/rendering/render_style.h:
   7788         (khtml::RenderStyle::hasAppearance):
   7789         (khtml::RenderStyle::resetBorder):
   7790         * khtml/rendering/render_theme.cpp:
   7791         (khtml::RenderTheme::baselinePosition):
   7792         (khtml::RenderTheme::isChecked):
   7793         (khtml::RenderTheme::isEnabled):
   7794         (khtml::RenderTheme::isFocused):
   7795         (khtml::RenderTheme::isPressed):
   7796         * khtml/rendering/render_theme.h:
   7797         (khtml::RenderTheme::RenderTheme):
   7798         (khtml::RenderTheme::~RenderTheme):
   7799         (khtml::RenderTheme::isControlContainer):
   7800         (khtml::RenderTheme::adjustRepaintRect):
   7801         * khtml/rendering/render_theme_mac.h:
   7802         (khtml::RenderThemeMac::~RenderThemeMac):
   7803         * khtml/rendering/render_theme_mac.mm:
   7804         (khtml::RenderThemeMac::RenderThemeMac):
   7805         (khtml::RenderThemeMac::adjustRepaintRect):
   7806         (khtml::RenderThemeMac::inflateRect):
   7807         (khtml::RenderThemeMac::updateCheckedState):
   7808         (khtml::RenderThemeMac::updateEnabledState):
   7809         (khtml::RenderThemeMac::updateFocusedState):
   7810         (khtml::RenderThemeMac::updatePressedState):
   7811         (khtml::RenderThemeMac::baselinePosition):
   7812         (khtml::RenderThemeMac::isControlContainer):
   7813         (khtml::RenderThemeMac::controlSizeForFont):
   7814         (khtml::RenderThemeMac::setSizeFromFont):
   7815         (khtml::RenderThemeMac::setControlSize):
   7816         (khtml::RenderThemeMac::adjustCheckboxStyle):
   7817         (khtml::RenderThemeMac::paintCheckbox):
   7818         (khtml::RenderThemeMac::checkboxSizes):
   7819         (khtml::RenderThemeMac::checkboxMargins):
   7820         (khtml::RenderThemeMac::setCheckboxSize):
   7821         (khtml::RenderThemeMac::setCheckboxCellState):
   7822         * khtml/xml/dom_nodeimpl.cpp:
   7823         (DOM::ContainerNodeImpl::setFocus):
   7824         (DOM::ContainerNodeImpl::setActive):
   7825 
   7826 2005-07-26  Eric Seidel  <eseidel (a] apple.com>
   7827 
   7828         Reviewed by darin.
   7829 
   7830         * WebCore.xcodeproj/project.pbxproj: Removed unused C++ DOM
   7831         * khtml/dom/css_rule.cpp: Removed.
   7832         * khtml/dom/css_stylesheet.cpp: Removed.
   7833         * khtml/dom/css_value.cpp: Removed.
   7834         * khtml/dom/dom2_range.cpp: Removed.
   7835         * khtml/dom/dom2_views.cpp: Removed.
   7836         * khtml/dom/dom2_views.h: Removed.
   7837         * khtml/dom/dom_core.h: Removed.
   7838         * khtml/dom/dom_doc.cpp: Removed.
   7839         * khtml/dom/dom_doc.h: Removed.
   7840         * khtml/dom/dom_element.cpp: Removed.
   7841         * khtml/dom/dom_element.h: Removed.
   7842         * khtml/dom/dom_html.h: Removed.
   7843         * khtml/dom/dom_node.cpp: Removed.
   7844         * khtml/dom/dom_text.cpp: Removed.
   7845         * khtml/dom/dom_text.h: Removed.
   7846         * khtml/dom/dom_xml.cpp: Removed.
   7847         * khtml/dom/dom_xml.h: Removed.
   7848         * khtml/dom/html_base.cpp: Removed.
   7849         * khtml/dom/html_base.h: Removed.
   7850         * khtml/dom/html_block.cpp: Removed.
   7851         * khtml/dom/html_block.h: Removed.
   7852         * khtml/dom/html_document.cpp: Removed.
   7853         * khtml/dom/html_document.h: Removed.
   7854         * khtml/dom/html_element.cpp: Removed.
   7855         * khtml/dom/html_element.h: Removed.
   7856         * khtml/dom/html_form.cpp: Removed.
   7857         * khtml/dom/html_form.h: Removed.
   7858         * khtml/dom/html_head.cpp: Removed.
   7859         * khtml/dom/html_head.h: Removed.
   7860         * khtml/dom/html_image.cpp: Removed.
   7861         * khtml/dom/html_image.h: Removed.
   7862         * khtml/dom/html_inline.cpp: Removed.
   7863         * khtml/dom/html_inline.h: Removed.
   7864         * khtml/dom/html_list.cpp: Removed.
   7865         * khtml/dom/html_list.h: Removed.
   7866         * khtml/dom/html_misc.cpp: Removed.
   7867         * khtml/dom/html_misc.h: Removed.
   7868         * khtml/dom/html_object.cpp: Removed.
   7869         * khtml/dom/html_object.h: Removed.
   7870         * khtml/dom/html_table.cpp: Removed.
   7871         * khtml/dom/html_table.h: Removed.
   7872         This removes unused C++ DOM files from both the project and
   7873         the repository.  There are a few left (css_, dom_) which will
   7874         need to be cleaned over time.
   7875 
   7876 2005-07-26  John Sullivan  <sullivan (a] apple.com>
   7877 
   7878         Reviewed by Chris Blumenberg.
   7879 
   7880         Test cases added: none, only affects Safari autofill
   7881         
   7882         - more work to wean form-related SPI from NSView. All that's left (but this is a big "all")
   7883         is viewForElement: and elementForView:
   7884 
   7885         * kwq/WebCoreBridge.h:
   7886         Rename control:textView:doCommandBySelector: to textField:doCommandBySelector:, and changed
   7887         to take DOMHTMLInputElement* rather than NSControl* and NSTextView*
   7888 
   7889         * kwq/KWQTextField.mm:
   7890         (-[KWQTextFieldController control:textView:doCommandBySelector:]):
   7891         call renamed bridge method, passing DOMElement* instead of NSView*
   7892 
   7893 2005-07-26  John Sullivan  <sullivan (a] apple.com>
   7894 
   7895         Reviewed by Darin Adler.
   7896 
   7897         Test cases added: none, only affects Safari autofill
   7898         
   7899         - big hunk of weaning form-related SPI from NSView; autofill continues to
   7900         work (but only on tip of tree Safari)        
   7901 
   7902         * kwq/KWQTextArea.mm:
   7903         (-[KWQTextArea textDidChange:]):
   7904         call renamed bridge method, passing DOMElement* instead of NSView*
   7905         
   7906         * kwq/KWQTextField.mm:
   7907         (-[KWQTextFieldController controlTextDidBeginEditing:]):
   7908         call renamed bridge method, passing DOMElement* instead of NSView*
   7909         (-[KWQTextFieldController controlTextDidEndEditing:]):
   7910         ditto
   7911         (-[KWQTextFieldController controlTextDidChange:]):
   7912         ditto
   7913         (-[KWQTextFieldController control:textShouldBeginEditing:]):
   7914         don't call through to bridge form-delegate-related method; I deleted it because it was
   7915         not being used
   7916         (-[KWQTextFieldController control:textShouldEndEditing:]):
   7917         ditto
   7918         (-[KWQTextFieldController textView:shouldHandleEvent:]):
   7919         call renamed bridge method, passing DOMElement* instead of NSView*
   7920         
   7921         * kwq/WebCoreBridge.h:
   7922         Remove textShouldBeginEditing and textShouldEndEditing methods since they weren't being used.
   7923         Rename other methods and made them take DOMElement* instead of NSView*
   7924 
   7925 2005-07-26  Maciej Stachowiak  <mjs (a] apple.com>
   7926 
   7927         - imported much of the w3c DOM test suite:
   7928 
   7929 	DOM Level 1 Core (html version)
   7930 	DOM Level 2 Core (html version)
   7931 	DOM Level 2 Events (html version)
   7932 	DOM Level 2 HTML (html version)
   7933 
   7934 	For now I left out the XHTML versions.
   7935 
   7936         * layout-tests/dom/html/level1/core/*
   7937 	* layout-tests/dom/html/level2/core/*
   7938         * layout-tests/dom/html/level2/events/*
   7939         * layout-tests/dom/html/level2/html/*
   7940 	
   7941 2005-07-25  Vicki Murley  <vicki (a] apple.com>
   7942 
   7943         Reviewed by Beth Dakin.
   7944 
   7945 	- fixed <rdar://problem/4011544> selecting an item from a <select> menu with 
   7946 	the mouse doesn't place the focus on the menu
   7947         
   7948 	Test cases added: 
   7949         * manual-tests/focus-select-when-clicked.html: Added.
   7950 
   7951         * kwq/KWQComboBox.mm:
   7952         (-[KWQPopUpButton needsPanelToBecomeKey]): override this NSView method to return YES
   7953 
   7954 2005-07-24  Maciej Stachowiak  <mjs (a] apple.com>
   7955 
   7956         Reviewed by Darin.
   7957 
   7958 	- http://bugs.webkit.org/show_bug.cgi?id=4124
   7959 	(change JavaScript property access to avoid double lookup)
   7960 
   7961 	- 10% speedup on JavaScript iBench
   7962 	- 5% speedup on 24fun BenchJS benchmark
   7963 
   7964 	Changed all get methods to getOwnProperty - they are no longer responsible for
   7965 	prototype lookup, and determine if the property was found as a side efect.
   7966 
   7967 	Also miscellaneous code cleanup.
   7968 	
   7969         * khtml/ecma/kjs_css.cpp:
   7970         (KJS::DOMCSSStyleDeclaration::getOwnProperty):
   7971         (KJS::DOMStyleSheet::getOwnProperty):
   7972         (KJS::DOMStyleSheetList::getOwnProperty):
   7973         (KJS::DOMMediaList::getOwnProperty):
   7974         (KJS::DOMCSSStyleSheet::getOwnProperty):
   7975         (KJS::DOMCSSRuleList::getOwnProperty):
   7976         (KJS::DOMCSSRule::getOwnProperty):
   7977         (KJS::DOMCSSRule::getValueProperty):
   7978         (KJS::CSSRuleConstructor::getOwnProperty):
   7979         (KJS::DOMCSSValue::getOwnProperty):
   7980         (KJS::CSSValueConstructor::getOwnProperty):
   7981         (KJS::DOMCSSPrimitiveValue::getOwnProperty):
   7982         (KJS::CSSPrimitiveValueConstructor::getOwnProperty):
   7983         (KJS::DOMCSSValueList::getOwnProperty):
   7984         (KJS::DOMRGBColor::getOwnProperty):
   7985         (KJS::DOMRect::getOwnProperty):
   7986         (KJS::DOMCounter::getOwnProperty):
   7987         * khtml/ecma/kjs_css.h:
   7988         * khtml/ecma/kjs_dom.cpp:
   7989         (KJS::DOMNode::getOwnProperty):
   7990         (KJS::DOMNodeList::getOwnProperty):
   7991         (KJS::DOMAttr::getOwnProperty):
   7992         (KJS::DOMDocument::getOwnProperty):
   7993         (KJS::DOMElement::getOwnProperty):
   7994         (KJS::DOMDocumentType::getOwnProperty):
   7995         (KJS::DOMNamedNodeMap::getOwnProperty):
   7996         (KJS::DOMProcessingInstruction::getOwnProperty):
   7997         (KJS::DOMNotation::getOwnProperty):
   7998         (KJS::DOMEntity::getOwnProperty):
   7999         (KJS::NodeConstructor::getOwnProperty):
   8000         (KJS::DOMExceptionConstructor::getOwnProperty):
   8001         (KJS::DOMNamedNodesCollection::getOwnProperty):
   8002         (KJS::DOMCharacterData::getOwnProperty):
   8003         * khtml/ecma/kjs_dom.h:
   8004         * khtml/ecma/kjs_events.cpp:
   8005         (KJS::EventConstructor::getOwnProperty):
   8006         (KJS::DOMEvent::getOwnProperty):
   8007         (KJS::EventExceptionConstructor::getOwnProperty):
   8008         (KJS::DOMUIEvent::getOwnProperty):
   8009         (KJS::DOMMouseEvent::getOwnProperty):
   8010         (KJS::DOMKeyboardEvent::getOwnProperty):
   8011         (KJS::MutationEventConstructor::getOwnProperty):
   8012         (KJS::DOMMutationEvent::getOwnProperty):
   8013         (KJS::DOMWheelEvent::getOwnProperty):
   8014         (KJS::Clipboard::getOwnProperty):
   8015         * khtml/ecma/kjs_events.h:
   8016         * khtml/ecma/kjs_html.cpp:
   8017         (KJS::HTMLDocument::getOwnProperty):
   8018         (KJS::KJS::HTMLElement::getOwnProperty):
   8019         (KJS::KJS::HTMLCollection::getOwnProperty):
   8020         (KJS::KJS::HTMLSelectCollection::getOwnProperty):
   8021         (KJS::Image::getOwnProperty):
   8022         (KJS::Context2D::getOwnProperty):
   8023         (KJS::Gradient::getOwnProperty):
   8024         (KJS::ImagePattern::getOwnProperty):
   8025         * khtml/ecma/kjs_html.h:
   8026         * khtml/ecma/kjs_navigator.cpp:
   8027         (KJS::Plugin::Plugin):
   8028         (KJS::Navigator::getOwnProperty):
   8029         (KJS::Plugins::getOwnProperty):
   8030         (KJS::MimeTypes::getOwnProperty):
   8031         (KJS::Plugin::getOwnProperty):
   8032         (KJS::MimeType::getOwnProperty):
   8033         * khtml/ecma/kjs_navigator.h:
   8034         * khtml/ecma/kjs_range.cpp:
   8035         (KJS::DOMRange::getOwnProperty):
   8036         (KJS::RangeConstructor::getOwnProperty):
   8037         * khtml/ecma/kjs_range.h:
   8038         * khtml/ecma/kjs_traversal.cpp:
   8039         (KJS::DOMNodeIterator::getOwnProperty):
   8040         (KJS::NodeFilterConstructor::getOwnProperty):
   8041         (KJS::DOMTreeWalker::getOwnProperty):
   8042         * khtml/ecma/kjs_traversal.h:
   8043         * khtml/ecma/kjs_views.cpp:
   8044         (KJS::DOMAbstractView::getOwnProperty):
   8045         * khtml/ecma/kjs_views.h:
   8046         * khtml/ecma/kjs_window.cpp:
   8047         (KJS::Screen::getOwnProperty):
   8048         (KJS::Window::~Window):
   8049         (KJS::Window::getOwnProperty):
   8050         (KJS::Window::put):
   8051         (KJS::FrameArray::getOwnProperty):
   8052         (KJS::Location::Location):
   8053         (KJS::Location::getOwnProperty):
   8054         (KJS::Location::put):
   8055         (KJS::Selection::Selection):
   8056         (KJS::Selection::getOwnProperty):
   8057         (KJS::BarInfo::getOwnProperty):
   8058         (KJS::History::getOwnProperty):
   8059         * khtml/ecma/kjs_window.h:
   8060         * khtml/ecma/xmlhttprequest.cpp:
   8061         (KJS::XMLHttpRequest::getOwnProperty):
   8062         * khtml/ecma/xmlhttprequest.h:
   8063 
   8064 2005-07-25  Justin Garcia  <justin.garcia (a] apple.com>
   8065 
   8066         Reviewed by hyatt
   8067         
   8068         Backing out a change that made the caret invisible in Mail in certain situations.
   8069 
   8070         * khtml/rendering/render_block.cpp:
   8071         (khtml::RenderBlock::paintObject):
   8072 
   8073 2005-07-25  Justin Garcia  <justin.garcia (a] apple.com>
   8074         
   8075         Added a manual test for a recent change to WebKit
   8076 
   8077         Test cases added:
   8078         * manual-tests/deleteToEndOfLine.html: Added.
   8079 
   8080 2005-07-24  Justin Garcia  <justin.garcia (a] apple.com>
   8081 
   8082         Patch by Anders Carlsson <andersca (a] mac.com>
   8083 
   8084         Reviewed by hyatt
   8085         
   8086         - <http://bugs.webkit.org/show_bug.cgi?id=3615> canvas transform matrix does not apply to patterns
   8087         Fill and stroke patterns are created in the respective fill and stroke functions using the current CTM.
   8088 
   8089         * khtml/ecma/kjs_html.cpp:
   8090         (KJS::KJS::Context2DFunction::call):
   8091         (KJS::Context2D::updateFillImagePattern):
   8092         (KJS::Context2D::updateStrokeImagePattern):
   8093         (KJS::Context2D::putValueProperty):
   8094         (KJS::Context2D::Context2D):
   8095         (KJS::_rh):
   8096         (KJS::ImagePattern::createPattern):
   8097         * khtml/ecma/kjs_html.h:
   8098 
   8099 2005-07-24  Justin Garcia  <justin.garcia (a] apple.com>
   8100 
   8101         Reviewed by kevin.
   8102 
   8103         Fixes make clean problem introduced in xcode2.1 transition
   8104 
   8105         * Makefile.am:
   8106 
   8107 2005-07-23  Justin Garcia  <justin.garcia (a] apple.com>
   8108 
   8109         Adding a manual test for <http://bugs.webkit.org/show_bug.cgi?id=3862>
   8110 
   8111         Test cases added:
   8112         * manual-tests/bidi-visible-control-characters.html: Added.
   8113 
   8114 2005-07-22  David Hyatt  <hyatt (a] apple.com>
   8115 
   8116 	Put back in the <script src="foo"/> self-closing tag quirk in HTML.  Unfortunately
   8117 	Dashboard widgets are dependent on this quirk.
   8118 
   8119         Reviewed by mjs
   8120 
   8121         * khtml/html/htmltokenizer.cpp:
   8122         (khtml::HTMLTokenizer::parseTag):
   8123 
   8124 2005-07-22  John Sullivan  <sullivan (a] apple.com>
   8125 
   8126         Reviewed by Chris Blumenberg.
   8127         
   8128         Test cases added: none, this only affects Safari autocomplete; it doesn't affect any
   8129         web pages.
   8130 
   8131         - some changes in the direction of weaning all the form-related SPI from NSView
   8132 
   8133         * kwq/DOMExtensions.h:
   8134         added -[DOMHTMLInputElement isTextField]
   8135         * kwq/DOMHTML.mm:
   8136         (-[DOMHTMLInputElement isTextField]):
   8137         new method that returns YES if this element is one of the types that's represented
   8138         by a text field (as opposed to a button, slider, etc.). I could have put this method
   8139         in Safari, but it seems useful for other WebKit clients.
   8140 
   8141         * kwq/WebCoreBridge.h:
   8142         * kwq/WebCoreBridge.mm:
   8143         (-[WebCoreBridge viewForElement:]):
   8144         added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm:
   8145         to return DOMElements rather than NSViews, while keeping autocomplete working in
   8146         Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that
   8147         from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit
   8148         (it will always fail to find anything to autocomplete)
   8149         (-[WebCoreBridge controlsInForm:]):
   8150         now returns an array of DOMElement* rather than an array of NSView*
   8151 
   8152 2005-07-21  Geoffrey Garen  <ggaren (a] apple.com>
   8153 
   8154         * WebCore.pbproj/project.pbxproj: Removed.
   8155 
   8156 2005-07-21  Geoffrey Garen  <ggaren (a] apple.com>
   8157 
   8158         * WebCore.xcodeproj/.cvsignore: Added.
   8159 
   8160 2005-07-21  Geoffrey Garen  <ggaren (a] apple.com>
   8161 
   8162         * WebCore.xcodeproj/project.pbxproj: Added.
   8163 
   8164 2005-07-21  Geoffrey Garen  <ggaren (a] apple.com>
   8165 
   8166         * Makefile.am:
   8167 
   8168 2005-07-21  Beth Dakin  <bdakin (a] apple.com>
   8169 
   8170         Reviewed by Hyatt.
   8171 	
   8172 	-fix for <rdar://problem/4169069> Also fixes the behavior of generated content
   8173 	when it is specified within a list element.
   8174 
   8175         Test cases added: (NONE)
   8176 
   8177         * khtml/rendering/render_block.cpp:
   8178         (khtml::RenderBlock::setStyle): Added loop to skip over list elements hen updating 
   8179 					generatedcontent.
   8180         (khtml::RenderBlock::updateFirstLetter): Added clause so that the function updates the 
   8181 						first letter instead of just creating it.
   8182         * khtml/rendering/render_inline.cpp:
   8183         (RenderInline::setStyle): Added loop to skip over list elements when updating generated
   8184 				content.
   8185 
   8186 2005-07-20  Maciej Stachowiak  <mjs (a] apple.com>
   8187 
   8188         Reviewed by Geoff.
   8189 
   8190 	- fix handling of special properties of the HTML document object. Now we
   8191 	completely match IE.
   8192 
   8193         Test cases added:
   8194 	* layout-tests/fast/dom/HTMLDocument/document-special-properties.html:
   8195 	Added; new exhaustive test case.
   8196         * layout-tests/fast/dom/HTMLDocument/document-special-properties-expected.txt: Added.
   8197 
   8198         * khtml/ecma/kjs_html.cpp:
   8199         (KJS::HTMLDocument::hasOwnProperty): Check for named and doc extra named
   8200 	items.
   8201         (KJS::HTMLDocument::get): Return the appropriate element, window or collection
   8202 	by name; give such named items precedence over built-in and custom properties.
   8203         * khtml/ecma/kjs_window.cpp:
   8204         (KJS::Window::get): Replace quirky &* idiom with call to get().
   8205         * khtml/html/html_baseimpl.cpp:
   8206         (HTMLIFrameElementImpl::parseMappedAttribute): Track by name as a doc
   8207 	extra named item.
   8208         (HTMLIFrameElementImpl::insertedIntoDocument): ditto
   8209         (HTMLIFrameElementImpl::removedFromDocument): ditto
   8210         * khtml/html/html_baseimpl.h:
   8211         * khtml/html/html_documentimpl.cpp:
   8212         (DOM::addItemToMap): Factored out from addNamedItem
   8213         (DOM::removeItemFromMap): Factored out from removeNamedItem
   8214         (DOM::HTMLDocumentImpl::addNamedItem): refactored
   8215         (DOM::HTMLDocumentImpl::removeNamedItem): refactored
   8216         (DOM::HTMLDocumentImpl::addDocExtraNamedItem): new method - maintains
   8217 	a hashtable of the "extra" named items for a document, which are
   8218 	iframes by name and applets and embeds by id.
   8219         (DOM::HTMLDocumentImpl::removeDocExtraNamedItem): ditto
   8220         (DOM::HTMLDocumentImpl::hasDocExtraNamedItem): ditto
   8221         * khtml/html/html_documentimpl.h:
   8222         * khtml/html/html_miscimpl.cpp:
   8223         (DOM::HTMLCollectionImpl::traverseNextItem): Remove support for
   8224 	DOC_NAMEABLE_ITEMS collection - no longer needed.
   8225         (DOM::HTMLNameCollectionImpl::traverseNextItem): Add support for
   8226 	DOCUMENT_NAMED_ITEMS, implementing the correct document rule.
   8227         * khtml/html/html_miscimpl.h:
   8228         (DOM::HTMLCollectionImpl::):
   8229         * khtml/html/html_objectimpl.cpp:
   8230         (DOM::HTMLAppletElementImpl::parseMappedAttribute): Track by id
   8231 	as doc extra named item
   8232         (DOM::HTMLAppletElementImpl::insertedIntoDocument): ditto
   8233         (DOM::HTMLAppletElementImpl::removedFromDocument): ditto
   8234         (DOM::HTMLObjectElementImpl::parseMappedAttribute): ditto
   8235         (DOM::HTMLObjectElementImpl::insertedIntoDocument): ditto
   8236         (DOM::HTMLObjectElementImpl::removedFromDocument): ditto
   8237         * khtml/html/html_objectimpl.h:
   8238         * khtml/xml/dom_docimpl.cpp:
   8239         (DocumentImpl::nameableItems): removed - no longer used
   8240         (DocumentImpl::documentNamedItems): added
   8241         * khtml/xml/dom_docimpl.h:
   8242 
   8243 2005-07-20  John Sullivan  <sullivan (a] apple.com>
   8244 
   8245         Reviewed by Vicki Murley.
   8246         
   8247         - removed some form-related methods that weren't being used anywhere, in preparation
   8248         for weaning WebKit's WebFormDelegate protocol from NSView.
   8249 
   8250         Test cases added: none, no behavior change
   8251 
   8252         * kwq/KWQTextField.mm:
   8253         * kwq/WebCoreBridge.h:
   8254         removed these methods:
   8255         -control:didFailToFormatString:errorDescription:
   8256         -control:didFailToValidatePartialString:errorDescription:
   8257         -control:isValidObject:
   8258 
   8259 2005-07-20  Adele Peterson  <adele (a] apple.com>
   8260 
   8261         Rolling fix for <rdar://problem/4046602> back in.
   8262 
   8263     2005-03-11  David Harrison  <harrison (a] apple.com>
   8264         
   8265         Reviewed by Darin.
   8266         
   8267         <rdar://problem/4046602> WebCore invokes undefined behavior when the spell checker isn't running
   8268 
   8269         * kwq/KWQKHTMLPart.mm:
   8270         (KWQKHTMLPart::advanceToNextMisspelling):
   8271         (KWQKHTMLPart::markMisspellings):
   8272         Nil check checker.
   8273 
   8274 2005-07-20  Adele Peterson  <adele (a] apple.com>
   8275 
   8276         Reviewed by Darin.
   8277 
   8278         - fixed <rdar://problem/4181058> 8C45: Safari repro crash with document.write (DOM::NodeImpl::dispatchEvent)
   8279 
   8280         Test cases added:
   8281         * manual-tests/textfield-onblur.html: Added.
   8282         
   8283         * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]): added nil check for widget, since it can get deleted during an event.
   8284 
   8285 2005-07-20  Maciej Stachowiak  <mjs (a] apple.com>
   8286 
   8287         Patch from Trey Matteson <trey (a] usa.net>, reviewed by me.
   8288 
   8289 	- fixed http://bugs.webkit.org/show_bug.cgi?id=3956
   8290 	some of WebKit builds with symbols, some doesn't
   8291 	
   8292         * WebCore.pbproj/project.pbxproj: Generate symbols even for
   8293 	Deployment.
   8294 
   8295 2005-07-19  Maciej Stachowiak  <mjs (a] apple.com>
   8296 
   8297         Reviewed by Kevin.
   8298 
   8299 	- fixed some mistakes in my previous checkin
   8300 
   8301         * khtml/html/html_objectimpl.cpp:
   8302         (DOM::HTMLAppletElementImpl::parseMappedAttribute): Take name attribute out
   8303 	of the "do nothing" case (duh).
   8304         * layout-tests/fast/dom/Window/window-special-properties-expected.txt: Update
   8305 	for change to the text at the top.
   8306 
   8307 2005-07-18  Maciej Stachowiak  <mjs (a] apple.com>
   8308 
   8309         Reviewed by Darin.
   8310 
   8311 	- fix handling of special properties of the Window object. now we
   8312 	almost completely match Win IE.
   8313 	
   8314         Test cases added: 
   8315         * layout-tests/fast/dom/Window/window-special-properties-expected.txt: Added.
   8316         * layout-tests/fast/dom/Window/window-special-properties.html: Added.
   8317 
   8318         * khtml/ecma/kjs_html.cpp:
   8319         (KJS::HTMLDocument::hasOwnProperty):
   8320         (KJS::HTMLDocument::tryGet):
   8321         * khtml/ecma/kjs_window.cpp:
   8322         (KJS::Window::get):
   8323         (KJS::Window::hasOwnProperty):
   8324         * khtml/html/html_documentimpl.cpp:
   8325         (DOM::HTMLDocumentImpl::addNamedItem):
   8326         (DOM::HTMLDocumentImpl::removeNamedItem):
   8327         (DOM::HTMLDocumentImpl::hasNamedItem):
   8328         * khtml/html/html_documentimpl.h:
   8329         * khtml/html/html_formimpl.cpp:
   8330         (DOM::HTMLFormElementImpl::attach):
   8331         (DOM::HTMLFormElementImpl::insertedIntoDocument):
   8332         (DOM::HTMLFormElementImpl::removedFromDocument):
   8333         (DOM::HTMLFormElementImpl::parseMappedAttribute):
   8334         * khtml/html/html_formimpl.h:
   8335         * khtml/html/html_imageimpl.cpp:
   8336         (HTMLImageElementImpl::parseMappedAttribute):
   8337         (HTMLImageElementImpl::attach):
   8338         (HTMLImageElementImpl::insertedIntoDocument):
   8339         (HTMLImageElementImpl::removedFromDocument):
   8340         * khtml/html/html_imageimpl.h:
   8341         * khtml/html/html_miscimpl.cpp:
   8342         (DOM::HTMLCollectionImpl::HTMLCollectionImpl):
   8343         (DOM::HTMLCollectionImpl::traverseNextItem):
   8344         (DOM::HTMLCollectionImpl::namedItem):
   8345         (DOM::HTMLNameCollectionImpl::HTMLNameCollectionImpl):
   8346         (DOM::HTMLNameCollectionImpl::traverseNextItem):
   8347         (DOM::HTMLFormCollectionImpl::getNamedFormItem):
   8348         (DOM::HTMLFormCollectionImpl::nextNamedItem):
   8349         * khtml/html/html_miscimpl.h:
   8350         (DOM::HTMLCollectionImpl::):
   8351         * khtml/html/html_objectimpl.cpp:
   8352         (DOM::HTMLAppletElementImpl::parseMappedAttribute):
   8353         (DOM::HTMLAppletElementImpl::insertedIntoDocument):
   8354         (DOM::HTMLAppletElementImpl::removedFromDocument):
   8355         (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
   8356         (DOM::HTMLEmbedElementImpl::attach):
   8357         (DOM::HTMLEmbedElementImpl::insertedIntoDocument):
   8358         (DOM::HTMLEmbedElementImpl::removedFromDocument):
   8359         (DOM::HTMLObjectElementImpl::parseMappedAttribute):
   8360         (DOM::HTMLObjectElementImpl::detach):
   8361         (DOM::HTMLObjectElementImpl::insertedIntoDocument):
   8362         (DOM::HTMLObjectElementImpl::removedFromDocument):
   8363         * khtml/html/html_objectimpl.h:
   8364         * khtml/xml/dom_docimpl.cpp:
   8365         (DocumentImpl::windowNamedItems):
   8366         * khtml/xml/dom_docimpl.h:
   8367 
   8368 2005-07-19  Geoffrey Garen  <ggaren (a] apple.com>
   8369 
   8370         -rolled in patch by Anders Carlsson <andersca (a] mac.com> for
   8371         http://bugs.webkit.org/show_bug.cgi?id=3751
   8372         REGRESSION: affects Blogger, GMail & Wikipedia: empty textarea's which should have content
   8373         
   8374         Reviewed by mjs.
   8375 
   8376         * khtml/html/html_formimpl.cpp:
   8377         (DOM::HTMLTextAreaElementImpl::defaultValue):
   8378         (DOM::HTMLTextAreaElementImpl::attach):
   8379         * khtml/html/html_formimpl.h:
   8380 
   8381         Test cases added:
   8382         * manual-tests/textarea-after-stylesheet-link.html: Added.
   8383         Test is manual because the result doesn't show up in DumpRenderTree
   8384 
   8385 2005-07-19  Justin Garcia  <justin.garcia (a] apple.com>
   8386         
   8387         Added a virtual deconstructor to fix gcc4 build warning
   8388 
   8389         * khtml/rendering/render_theme.h:
   8390         (khtml::RenderTheme::~RenderTheme):
   8391 
   8392 2005-07-19  David Hyatt  <hyatt (a] apple.com>
   8393 
   8394 	Adding support for the "checkbox" appearance value.  This is not yet implemented, but the
   8395 	methods are now stubbed out and will get called.
   8396 
   8397 	Reviewed by mjs
   8398 
   8399         * WebCore.pbproj/project.pbxproj:
   8400         * khtml/css/cssstyleselector.cpp:
   8401         (khtml::CSSStyleSelector::adjustRenderStyle):
   8402         (khtml::CSSStyleSelector::applyProperty):
   8403         * khtml/css/html4.css:
   8404         * khtml/html/html_formimpl.cpp:
   8405         (DOM::HTMLInputElementImpl::createRenderer):
   8406         * khtml/rendering/render_box.cpp:
   8407         (RenderBox::paintBoxDecorations):
   8408         * khtml/rendering/render_theme.cpp: Added.
   8409         (khtml::RenderTheme::adjustStyle):
   8410         (khtml::RenderTheme::paint):
   8411         * khtml/rendering/render_theme.h: Added.
   8412         * khtml/rendering/render_theme_mac.h: Added.
   8413         * khtml/rendering/render_theme_mac.mm: Added.
   8414         (khtml::theme):
   8415         (khtml::RenderThemeMac::adjustCheckboxStyle):
   8416         (khtml::RenderThemeMac::paintCheckbox):
   8417 
   8418 2005-07-19  David Hyatt  <hyatt (a] apple.com>
   8419 
   8420 	Fix performance regressions from attribute QName landing.
   8421 	
   8422         Reviewed by mjs
   8423 
   8424         * khtml/html/htmltokenizer.cpp:
   8425         (khtml::Token::addAttribute):
   8426         (khtml::HTMLTokenizer::write):
   8427 
   8428 	Make sure attributes have a faster constructor that can avoid the copy of QualifiedNames.
   8429 
   8430 	Make sure to grab the part from the document outside the loop, so that it is not fetched
   8431 	over and over again for every character in the source.
   8432 	
   8433         * khtml/rendering/render_block.cpp:
   8434         (khtml::RenderBlock::paintObject):
   8435 
   8436 	Only call paintCaret if the block is actually editable.
   8437 	
   8438         * khtml/xml/dom_atomicstring.h:
   8439         (DOM::operator!=):
   8440         * khtml/xml/dom_elementimpl.h:
   8441         (DOM::AttributeImpl::AttributeImpl):
   8442         (DOM::AttributeImpl::~AttributeImpl):
   8443         (DOM::MappedAttributeImpl::MappedAttributeImpl):
   8444 
   8445 	Add != comparison operator with a char* to speed up the / check for attribute invalidity.
   8446 	
   8447 2005-07-19  Vicki Murley  <vicki (a] apple.com>
   8448 
   8449         Reviewed by Maciej.
   8450 
   8451 	- fixed <rdar://problem/3471901> support scrollIntoView method for DOM elements (3474)
   8452  
   8453         Test cases added: 
   8454         * manual-tests/scrollIntoView-horizontal.html: Added.
   8455         * manual-tests/scrollIntoView-vertical.html: Added.
   8456 
   8457         * khtml/xml/dom_elementimpl.h:        
   8458         * khtml/xml/dom_elementimpl.cpp:
   8459         (ElementImpl::scrollIntoView): Added.
   8460         * khtml/ecma/kjs_dom.h:
   8461         (KJS::DOMNode::):
   8462         (KJS::DOMElement::):
   8463         * khtml/ecma/kjs_dom.cpp:
   8464         (KJS::DOMElementProtoFunc::tryCall): glue for new scrollIntoView function
   8465 
   8466 2005-07-19  Geoffrey Garen  <ggaren (a] apple.com>
   8467 
   8468         - rolled in patch by opendarwin.org (a] mitzpettel.com for
   8469         http://bugs.webkit.org/show_bug.cgi?id=3838
   8470         Text runs unnecessarily split at EN L boundaries
   8471         
   8472         Reviewed by hyatt.
   8473 
   8474         * khtml/rendering/bidi.cpp:
   8475         (khtml::RenderBlock::bidiReorderLine):
   8476 
   8477         Lots of new test case results because previous results had inappropriately
   8478         split text runs.
   8479 
   8480         * layout-tests/css1/basic/containment-expected.txt:
   8481         * layout-tests/css1/box_properties/border-expected.txt:
   8482         * layout-tests/css1/box_properties/border_bottom-expected.txt:
   8483         * layout-tests/css1/box_properties/border_bottom_inline-expected.txt:
   8484         * layout-tests/css1/box_properties/border_bottom_width-expected.txt:
   8485         * layout-tests/css1/box_properties/border_bottom_width_inline-expected.txt:
   8486         * layout-tests/css1/box_properties/border_inline-expected.txt:
   8487         * layout-tests/css1/box_properties/border_left-expected.txt:
   8488         * layout-tests/css1/box_properties/border_left_inline-expected.txt:
   8489         * layout-tests/css1/box_properties/border_left_width-expected.txt:
   8490         * layout-tests/css1/box_properties/border_left_width_inline-expected.txt:
   8491         * layout-tests/css1/box_properties/border_right-expected.txt:
   8492         * layout-tests/css1/box_properties/border_right_inline-expected.txt:
   8493         * layout-tests/css1/box_properties/border_right_width-expected.txt:
   8494         * layout-tests/css1/box_properties/border_right_width_inline-expected.txt:
   8495         * layout-tests/css1/box_properties/border_top-expected.txt:
   8496         * layout-tests/css1/box_properties/border_top_inline-expected.txt:
   8497         * layout-tests/css1/box_properties/border_top_width-expected.txt:
   8498         * layout-tests/css1/box_properties/border_top_width_inline-expected.txt:
   8499         * layout-tests/css1/box_properties/border_width-expected.txt:
   8500         * layout-tests/css1/box_properties/border_width_inline-expected.txt:
   8501         * layout-tests/css1/box_properties/clear_float-expected.txt:
   8502         * layout-tests/css1/box_properties/float_elements_in_series-expected.txt:
   8503         * layout-tests/css1/box_properties/float_margin-expected.txt:
   8504         * layout-tests/css1/box_properties/float_on_text_elements-expected.txt:
   8505         * layout-tests/css1/box_properties/height-expected.txt:
   8506         * layout-tests/css1/box_properties/margin-expected.txt:
   8507         * layout-tests/css1/box_properties/margin_bottom-expected.txt:
   8508         * layout-tests/css1/box_properties/margin_bottom_inline-expected.txt:
   8509         * layout-tests/css1/box_properties/margin_inline-expected.txt:
   8510         * layout-tests/css1/box_properties/margin_left-expected.txt:
   8511         * layout-tests/css1/box_properties/margin_left_inline-expected.txt:
   8512         * layout-tests/css1/box_properties/margin_right-expected.txt:
   8513         * layout-tests/css1/box_properties/margin_right_inline-expected.txt:
   8514         * layout-tests/css1/box_properties/margin_top-expected.txt:
   8515         * layout-tests/css1/box_properties/margin_top_inline-expected.txt:
   8516         * layout-tests/css1/box_properties/padding-expected.txt:
   8517         * layout-tests/css1/box_properties/padding_bottom-expected.txt:
   8518         * layout-tests/css1/box_properties/padding_bottom_inline-expected.txt:
   8519         * layout-tests/css1/box_properties/padding_inline-expected.txt:
   8520         * layout-tests/css1/box_properties/padding_left-expected.txt:
   8521         * layout-tests/css1/box_properties/padding_left_inline-expected.txt:
   8522         * layout-tests/css1/box_properties/padding_right-expected.txt:
   8523         * layout-tests/css1/box_properties/padding_right_inline-expected.txt:
   8524         * layout-tests/css1/box_properties/padding_top-expected.txt:
   8525         * layout-tests/css1/box_properties/padding_top_inline-expected.txt:
   8526         * layout-tests/css1/box_properties/width-expected.txt:
   8527         * layout-tests/css1/classification/display-expected.txt:
   8528         * layout-tests/css1/color_and_background/background_position-expected.txt:
   8529         * layout-tests/css1/conformance/forward_compatible_parsing-expected.txt:
   8530         * layout-tests/css1/font_properties/font-expected.txt:
   8531         * layout-tests/css1/font_properties/font_size-expected.txt:
   8532         * layout-tests/css1/formatting_model/canvas-expected.txt:
   8533         * layout-tests/css1/formatting_model/floating_elements-expected.txt:
   8534         * layout-tests/css1/formatting_model/height_of_lines-expected.txt:
   8535         * layout-tests/css1/formatting_model/inline_elements-expected.txt:
   8536         * layout-tests/css1/formatting_model/replaced_elements-expected.txt:
   8537         * layout-tests/css1/formatting_model/vertical_formatting-expected.txt:
   8538         * layout-tests/css1/pseudo/anchor-expected.txt:
   8539         * layout-tests/css1/text_properties/letter_spacing-expected.txt:
   8540         * layout-tests/css1/text_properties/line_height-expected.txt:
   8541         * layout-tests/css1/text_properties/text_indent-expected.txt:
   8542         * layout-tests/css1/text_properties/vertical_align-expected.txt:
   8543         * layout-tests/css1/text_properties/word_spacing-expected.txt:
   8544         * layout-tests/css1/units/length_units-expected.txt:
   8545         * layout-tests/editing/style/relative-font-size-change-001-expected.txt:
   8546         * layout-tests/editing/style/relative-font-size-change-002-expected.txt:
   8547         * layout-tests/editing/style/relative-font-size-change-003-expected.txt:
   8548         * layout-tests/editing/style/relative-font-size-change-004-expected.txt:
   8549         * layout-tests/editing/style/smoosh-styles-003-expected.txt:
   8550         * layout-tests/fast/block/basic/018-expected.txt:
   8551         * layout-tests/fast/block/float/002-expected.txt:
   8552         * layout-tests/fast/block/float/021-expected.txt:
   8553         * layout-tests/fast/block/float/023-expected.txt:
   8554         * layout-tests/fast/block/float/024-expected.txt:
   8555         * layout-tests/fast/block/float/029-expected.txt:
   8556         * layout-tests/fast/block/float/030-expected.txt:
   8557         * layout-tests/fast/block/margin-collapse/043-expected.txt:
   8558         * layout-tests/fast/block/margin-collapse/101-expected.txt:
   8559         * layout-tests/fast/block/positioning/060-expected.txt:
   8560         * layout-tests/fast/block/positioning/auto/001-expected.txt:
   8561         * layout-tests/fast/block/positioning/auto/002-expected.txt:
   8562         * layout-tests/fast/block/positioning/auto/003-expected.txt:
   8563         * layout-tests/fast/block/positioning/auto/004-expected.txt:
   8564         * layout-tests/fast/block/positioning/auto/005-expected.txt:
   8565         * layout-tests/fast/block/positioning/auto/006-expected.txt:
   8566         * layout-tests/fast/clip/001-expected.txt:
   8567         * layout-tests/fast/clip/002-expected.txt:
   8568         * layout-tests/fast/clip/003-expected.txt:
   8569         * layout-tests/fast/clip/004-expected.txt:
   8570         * layout-tests/fast/clip/005-expected.txt:
   8571         * layout-tests/fast/clip/006-expected.txt:
   8572         * layout-tests/fast/clip/007-expected.txt:
   8573         * layout-tests/fast/clip/008-expected.txt:
   8574         * layout-tests/fast/clip/009-expected.txt:
   8575         * layout-tests/fast/clip/010-expected.txt:
   8576         * layout-tests/fast/clip/011-expected.txt:
   8577         * layout-tests/fast/clip/012-expected.txt:
   8578         * layout-tests/fast/clip/013-expected.txt:
   8579         * layout-tests/fast/clip/014-expected.txt:
   8580         * layout-tests/fast/clip/015-expected.txt:
   8581         * layout-tests/fast/clip/016-expected.txt:
   8582         * layout-tests/fast/css-generated-content/012-expected.txt:
   8583         * layout-tests/fast/css/008-expected.txt:
   8584         * layout-tests/fast/css/MarqueeLayoutTest-expected.txt:
   8585         * layout-tests/fast/css/apple-prefix-expected.txt:
   8586         * layout-tests/fast/dom/quadraticCurveTo-expected.txt:
   8587         * layout-tests/fast/dynamic/noninlinebadness-expected.txt:
   8588         * layout-tests/fast/encoding/utf-16-big-endian-expected.txt:
   8589         * layout-tests/fast/encoding/utf-16-little-endian-expected.txt:
   8590         * layout-tests/fast/flexbox/001-expected.txt:
   8591         * layout-tests/fast/flexbox/004-expected.txt:
   8592         * layout-tests/fast/flexbox/007-expected.txt:
   8593         * layout-tests/fast/flexbox/008-expected.txt:
   8594         * layout-tests/fast/flexbox/009-expected.txt:
   8595         * layout-tests/fast/flexbox/010-expected.txt:
   8596         * layout-tests/fast/flexbox/012-expected.txt:
   8597         * layout-tests/fast/flexbox/013-expected.txt:
   8598         * layout-tests/fast/flexbox/014-expected.txt:
   8599         * layout-tests/fast/flexbox/015-expected.txt:
   8600         * layout-tests/fast/flexbox/018-expected.txt:
   8601         * layout-tests/fast/flexbox/019-expected.txt:
   8602         * layout-tests/fast/flexbox/020-expected.txt:
   8603         * layout-tests/fast/flexbox/021-expected.txt:
   8604         * layout-tests/fast/flexbox/022-expected.txt:
   8605         * layout-tests/fast/flexbox/023-expected.txt:
   8606         * layout-tests/fast/flexbox/024-expected.txt:
   8607         * layout-tests/fast/invalid/012-expected.txt:
   8608         * layout-tests/fast/invalid/016-expected.txt:
   8609         * layout-tests/fast/invalid/nestedh3s-expected.txt:
   8610         * layout-tests/fast/lists/003-expected.txt:
   8611         * layout-tests/fast/replaced/004-expected.txt:
   8612         * layout-tests/fast/selectors/166-expected.txt:
   8613         * layout-tests/fast/table/032-expected.txt:
   8614         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   8615         * layout-tests/fast/text/basic/003-expected.txt:
   8616         * layout-tests/fast/text/basic/004-expected.txt:
   8617         * layout-tests/fast/text/basic/005-expected.txt:
   8618         * layout-tests/fast/text/basic/009-expected.txt:
   8619 
   8620 2005-07-19  Darin Adler  <darin (a] apple.com>
   8621 
   8622         Reviewed by Geoff Garen.
   8623 
   8624         Test cases added: None. Structural change only.
   8625 
   8626         - eliminated try wrappers for get/put/call since we don't use C++ exceptions any more
   8627 
   8628         * khtml/ecma/kjs_binding.cpp: Removed DOMObject::get, DOMObject::set, DOMFunction::get,
   8629         and DOMFunction::call.
   8630         * khtml/ecma/kjs_binding.h: Removed get, set, tryGet, trySet, call, tryCall from DOMObject
   8631         and DOMFunction. Removed DOMObjectLookupGet, DOMObjectLookupGetValue, and DOMObjectLookupPut.
   8632         We can just do things the normal way now.
   8633 
   8634         The rest of the changes are just renames and removal of a couple stray tryCall wrappers.
   8635 
   8636             tryGet -> get
   8637             tryPut -> put
   8638             tryCall -> call
   8639             putValue -> putValueProperty
   8640             DOMObjectLookupGet -> lookupGet
   8641             DOMObjectLookupGetValue -> lookupGetValue
   8642             DOMObjectLookupPut -> lookupPut
   8643 
   8644         * khtml/ecma/domparser.cpp:
   8645         (KJS::DOMParserProtoFunc::call):
   8646         * khtml/ecma/kjs_css.cpp:
   8647         (KJS::DOMCSSStyleDeclaration::get):
   8648         (KJS::DOMCSSStyleDeclaration::put):
   8649         (KJS::DOMCSSStyleDeclarationProtoFunc::call):
   8650         (KJS::DOMStyleSheet::get):
   8651         (KJS::DOMStyleSheet::put):
   8652         (KJS::DOMStyleSheetList::get):
   8653         (KJS::DOMStyleSheetListFunc::call):
   8654         (KJS::DOMMediaList::get):
   8655         (KJS::DOMMediaList::put):
   8656         (KJS::KJS::DOMMediaListProtoFunc::call):
   8657         (KJS::DOMCSSStyleSheet::get):
   8658         (KJS::DOMCSSStyleSheetProtoFunc::call):
   8659         (KJS::DOMCSSRuleList::get):
   8660         (KJS::DOMCSSRuleListFunc::call):
   8661         (KJS::DOMCSSRule::get):
   8662         (KJS::DOMCSSRule::put):
   8663         (KJS::DOMCSSRule::putValueProperty):
   8664         (KJS::DOMCSSRuleFunc::call):
   8665         (KJS::CSSRuleConstructor::get):
   8666         (KJS::DOMCSSValue::get):
   8667         (KJS::DOMCSSValue::put):
   8668         (KJS::CSSValueConstructor::get):
   8669         (KJS::DOMCSSPrimitiveValue::get):
   8670         (KJS::DOMCSSPrimitiveValueProtoFunc::call):
   8671         (KJS::CSSPrimitiveValueConstructor::get):
   8672         (KJS::DOMCSSValueList::get):
   8673         (KJS::DOMCSSValueListFunc::call):
   8674         (KJS::DOMRGBColor::get):
   8675         (KJS::DOMRect::get):
   8676         (KJS::DOMCounter::get):
   8677         * khtml/ecma/kjs_css.h:
   8678         * khtml/ecma/kjs_dom.cpp:
   8679         (KJS::DOMNode::get):
   8680         (KJS::DOMNode::put):
   8681         (KJS::DOMNode::putValueProperty):
   8682         (KJS::DOMNodeProtoFunc::call):
   8683         (KJS::DOMNodeList::get):
   8684         (KJS::DOMNodeList::call):
   8685         (KJS::DOMNodeListFunc::call):
   8686         (KJS::DOMAttr::get):
   8687         (KJS::DOMAttr::put):
   8688         (KJS::DOMAttr::putValueProperty):
   8689         (KJS::DOMDocument::get):
   8690         (KJS::DOMDocument::put):
   8691         (KJS::DOMDocument::putValueProperty):
   8692         (KJS::DOMDocumentProtoFunc::call):
   8693         (KJS::DOMElement::get):
   8694         (KJS::DOMElementProtoFunc::call):
   8695         (KJS::DOMDOMImplementationProtoFunc::call):
   8696         (KJS::DOMDocumentType::get):
   8697         (KJS::DOMNamedNodeMap::get):
   8698         (KJS::DOMNamedNodeMapProtoFunc::call):
   8699         (KJS::DOMProcessingInstruction::get):
   8700         (KJS::DOMProcessingInstruction::put):
   8701         (KJS::DOMNotation::get):
   8702         (KJS::DOMEntity::get):
   8703         (KJS::NodeConstructor::get):
   8704         (KJS::DOMExceptionConstructor::get):
   8705         (KJS::DOMNamedNodesCollection::get):
   8706         (KJS::DOMCharacterData::get):
   8707         (KJS::DOMCharacterData::put):
   8708         (KJS::DOMCharacterDataProtoFunc::call):
   8709         (KJS::DOMText::get):
   8710         (KJS::DOMTextProtoFunc::call):
   8711         * khtml/ecma/kjs_dom.h:
   8712         * khtml/ecma/kjs_events.cpp:
   8713         (KJS::EventConstructor::get):
   8714         (KJS::DOMEvent::get):
   8715         (KJS::DOMEvent::put):
   8716         (KJS::DOMEvent::putValueProperty):
   8717         (KJS::DOMEventProtoFunc::call):
   8718         (KJS::EventExceptionConstructor::get):
   8719         (KJS::DOMUIEvent::get):
   8720         (KJS::DOMUIEventProtoFunc::call):
   8721         (KJS::DOMMouseEvent::get):
   8722         (KJS::DOMMouseEventProtoFunc::call):
   8723         (KJS::DOMKeyboardEvent::get):
   8724         (KJS::DOMKeyboardEventProtoFunc::call):
   8725         (KJS::MutationEventConstructor::get):
   8726         (KJS::DOMMutationEvent::get):
   8727         (KJS::DOMMutationEventProtoFunc::call):
   8728         (KJS::DOMWheelEvent::get):
   8729         (KJS::DOMWheelEventProtoFunc::call):
   8730         (KJS::Clipboard::get):
   8731         (KJS::Clipboard::put):
   8732         (KJS::Clipboard::putValueProperty):
   8733         (KJS::ClipboardProtoFunc::call):
   8734         * khtml/ecma/kjs_events.h:
   8735         * khtml/ecma/kjs_html.cpp:
   8736         (KJS::KJS::HTMLDocFunction::call):
   8737         (KJS::HTMLDocument::get):
   8738         (KJS::KJS::HTMLDocument::put):
   8739         (KJS::KJS::HTMLDocument::putValueProperty):
   8740         (KJS::KJS::HTMLElement::get):
   8741         (KJS::KJS::HTMLElementFunction::call):
   8742         (KJS::KJS::HTMLElement::put):
   8743         (KJS::HTMLElement::putValueProperty):
   8744         (KJS::KJS::HTMLCollection::get):
   8745         (KJS::KJS::HTMLCollection::call):
   8746         (KJS::KJS::HTMLCollectionProtoFunc::call):
   8747         (KJS::KJS::HTMLSelectCollection::get):
   8748         (KJS::KJS::HTMLSelectCollection::put):
   8749         (KJS::Image::get):
   8750         (KJS::Image::put):
   8751         (KJS::Image::putValueProperty):
   8752         (KJS::KJS::Context2DFunction::call):
   8753         (KJS::Context2D::get):
   8754         (KJS::Context2D::put):
   8755         (KJS::Context2D::putValueProperty):
   8756         (KJS::GradientFunction::call):
   8757         (KJS::Gradient::get):
   8758         (KJS::Gradient::put):
   8759         (KJS::Gradient::putValueProperty):
   8760         (KJS::ImagePattern::get):
   8761         (KJS::ImagePattern::put):
   8762         (KJS::ImagePattern::putValueProperty):
   8763         * khtml/ecma/kjs_html.h:
   8764         * khtml/ecma/kjs_navigator.cpp:
   8765         (KJS::PluginsFunc::call):
   8766         (KJS::NavigatorFunc::call):
   8767         * khtml/ecma/kjs_range.cpp:
   8768         (KJS::DOMRange::get):
   8769         (KJS::DOMRangeProtoFunc::call):
   8770         (KJS::RangeConstructor::get):
   8771         * khtml/ecma/kjs_range.h:
   8772         * khtml/ecma/kjs_traversal.cpp:
   8773         (KJS::DOMNodeIterator::get):
   8774         (KJS::DOMNodeIteratorProtoFunc::call):
   8775         (KJS::NodeFilterConstructor::get):
   8776         (KJS::DOMNodeFilterProtoFunc::call):
   8777         (KJS::DOMTreeWalker::get):
   8778         (KJS::DOMTreeWalker::put):
   8779         (KJS::DOMTreeWalkerProtoFunc::call):
   8780         * khtml/ecma/kjs_traversal.h:
   8781         * khtml/ecma/kjs_views.cpp:
   8782         (KJS::DOMAbstractView::get):
   8783         (KJS::DOMAbstractViewFunc::call):
   8784         * khtml/ecma/kjs_views.h:
   8785         * khtml/ecma/kjs_window.cpp:
   8786         (KJS::WindowFunc::call):
   8787         (KJS::LocationFunc::call):
   8788         (KJS::SelectionFunc::call):
   8789         (KJS::HistoryFunc::call):
   8790         (KJS::KonquerorFunc::call):
   8791         * khtml/ecma/xmlhttprequest.cpp:
   8792         (KJS::XMLHttpRequest::get):
   8793         (KJS::XMLHttpRequest::put):
   8794         (KJS::XMLHttpRequest::putValueProperty):
   8795         (KJS::XMLHttpRequestProtoFunc::call):
   8796         * khtml/ecma/xmlhttprequest.h:
   8797         * khtml/ecma/xmlserializer.cpp:
   8798         (KJS::XMLSerializerProtoFunc::call):
   8799 
   8800 2005-07-19  Darin Adler  <darin (a] apple.com>
   8801 
   8802         Reviewed by Dave Hyatt.
   8803 
   8804         - fixed broken bi-di layout tests: the "dir" attribute was broken
   8805 
   8806         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseMappedAttribute):
   8807         Fix one case that said "direction" where it should say "dir".
   8808 
   8809 2005-07-19  Darin Adler  <darin (a] apple.com>
   8810 
   8811         - updated results of two tests that reflect properly-preserved namespace prefixes for attributes
   8812 
   8813         * layout-tests/fast/dom/dom-parse-serialize-display-expected.txt:
   8814         * layout-tests/fast/dom/dom-parse-serialize-expected.txt:
   8815 
   8816 2005-07-18  David Hyatt  <hyatt (a] apple.com>
   8817 
   8818 	Add support for -khtml-appearance in preparation for
   8819 	the addition of RenderTheme to the tree for form controls.
   8820 
   8821 	Make clean is required after this check-in, since there is
   8822 	some sort of bizarre bug with XCode dependencies on the
   8823 	property generation script.
   8824 	
   8825         Reviewed by darin
   8826 
   8827         * khtml/css/cssparser.cpp:
   8828         (CSSParser::parseValue):
   8829         * khtml/css/cssproperties.in:
   8830         * khtml/css/cssstyleselector.cpp:
   8831         (khtml::CSSStyleSelector::applyProperty):
   8832         * khtml/css/cssvalues.in:
   8833         * khtml/rendering/render_style.cpp:
   8834         (m_appearance):
   8835         (StyleCSS3NonInheritedData::operator==):
   8836         (RenderStyle::diff):
   8837         * khtml/rendering/render_style.h:
   8838         (khtml::):
   8839         (khtml::RenderStyle::appearance):
   8840         (khtml::RenderStyle::setAppearance):
   8841         (khtml::RenderStyle::initialAppearance):
   8842 
   8843 2005-07-18  David Harrison  <harrison (a] apple.com>
   8844 
   8845         Reviewed by Justin.
   8846 
   8847         Test cases added: None.  Existing tests were failing.
   8848 
   8849         Fix crash caused by my changes in revision 1.6 of khtml/editing/delete_selection_command.cpp.
   8850         
   8851         * khtml/editing/delete_selection_command.cpp:
   8852         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
   8853         Remove workaround that was added for missing typing style.
   8854         
   8855         (khtml::DeleteSelectionCommand::doApply):
   8856         Make sure to call saveTypingStyleState() before handleSpecialCaseBRDelete().
   8857 
   8858 2005-07-18  David Hyatt  <hyatt (a] apple.com>
   8859 
   8860 	Rename HTMLNames -> HTMLTags.  Purely mechanical (done in XCode)
   8861 	so no review needed.
   8862 
   8863         * khtml/css/cssstyleselector.cpp:
   8864         (khtml::CSSStyleSelector::adjustRenderStyle):
   8865         (khtml::CSSStyleSelector::checkOneSelector):
   8866         * khtml/dom/css_stylesheet.cpp:
   8867         (LinkStyle::operator = ):
   8868         (LinkStyle::sheet):
   8869         * khtml/dom/html_base.cpp:
   8870         (HTMLBodyElement::operator = ):
   8871         (HTMLFrameElement::operator = ):
   8872         (HTMLIFrameElement::operator = ):
   8873         (HTMLFrameSetElement::operator = ):
   8874         (HTMLHeadElement::operator = ):
   8875         (HTMLHtmlElement::operator = ):
   8876         * khtml/dom/html_block.cpp:
   8877         (HTMLBlockquoteElement::operator = ):
   8878         (HTMLDivElement::operator = ):
   8879         (HTMLHRElement::operator = ):
   8880         (HTMLHeadingElement::operator = ):
   8881         (HTMLParagraphElement::operator = ):
   8882         (HTMLPreElement::operator = ):
   8883         * khtml/dom/html_form.cpp:
   8884         (HTMLButtonElement::operator = ):
   8885         (HTMLFieldSetElement::operator = ):
   8886         (HTMLFormElement::operator = ):
   8887         (HTMLInputElement::operator = ):
   8888         (HTMLLabelElement::operator = ):
   8889         (HTMLLegendElement::operator = ):
   8890         (HTMLOptGroupElement::operator = ):
   8891         (HTMLSelectElement::operator = ):
   8892         (HTMLTextAreaElement::operator = ):
   8893         (HTMLOptionElement::operator = ):
   8894         (HTMLIsIndexElement::operator = ):
   8895         * khtml/dom/html_head.cpp:
   8896         (HTMLBaseElement::operator = ):
   8897         (HTMLLinkElement::operator = ):
   8898         (HTMLMetaElement::operator = ):
   8899         (HTMLScriptElement::operator = ):
   8900         (HTMLStyleElement::operator = ):
   8901         (HTMLTitleElement::operator = ):
   8902         * khtml/dom/html_image.cpp:
   8903         (HTMLAreaElement::operator = ):
   8904         (HTMLImageElement::operator = ):
   8905         (HTMLMapElement::operator = ):
   8906         * khtml/dom/html_inline.cpp:
   8907         (HTMLAnchorElement::operator = ):
   8908         (HTMLBRElement::operator = ):
   8909         (HTMLFontElement::operator = ):
   8910         (HTMLModElement::HTMLModElement):
   8911         (HTMLModElement::operator = ):
   8912         (HTMLQuoteElement::operator = ):
   8913         * khtml/dom/html_list.cpp:
   8914         (HTMLDListElement::operator = ):
   8915         (HTMLDirectoryElement::operator = ):
   8916         (HTMLLIElement::operator = ):
   8917         (HTMLMenuElement::operator = ):
   8918         (HTMLOListElement::operator = ):
   8919         (HTMLUListElement::operator = ):
   8920         * khtml/dom/html_misc.cpp:
   8921         (HTMLBaseFontElement::operator = ):
   8922         * khtml/dom/html_object.cpp:
   8923         (DOM::HTMLAppletElement::operator = ):
   8924         (DOM::HTMLObjectElement::operator = ):
   8925         (DOM::HTMLParamElement::operator = ):
   8926         * khtml/dom/html_table.cpp:
   8927         (HTMLTableCaptionElement::operator = ):
   8928         (HTMLTableCellElement::operator = ):
   8929         (HTMLTableColElement::operator = ):
   8930         (HTMLTableElement::operator = ):
   8931         (HTMLTableRowElement::operator = ):
   8932         (HTMLTableSectionElement::operator = ):
   8933         * khtml/ecma/kjs_css.cpp:
   8934         (KJS::DOMStyleSheetList::tryGet):
   8935         * khtml/ecma/kjs_dom.cpp:
   8936         (KJS::getRuntimeObject):
   8937         * khtml/ecma/kjs_html.cpp:
   8938         (KJS::HTMLDocument::tryGet):
   8939         (KJS::KJS::HTMLDocument::putValue):
   8940         (KJS::KJS::HTMLElement::classInfo):
   8941         (KJS::HTMLElement::getSetInfo):
   8942         (KJS::KJS::HTMLElement::tryGet):
   8943         (KJS::KJS::HTMLElement::implementsCall):
   8944         (KJS::KJS::HTMLElement::call):
   8945         (KJS::KJS::HTMLElement::hasOwnProperty):
   8946         (KJS::KJS::HTMLElement::toString):
   8947         (KJS::getForm):
   8948         (KJS::KJS::HTMLElement::pushEventHandlerScope):
   8949         (KJS::KJS::HTMLElementFunction::tryCall):
   8950         (KJS::KJS::HTMLElement::tryPut):
   8951         (KJS::toHTMLTableCaptionElement):
   8952         (KJS::toHTMLTableSectionElement):
   8953         (KJS::KJS::HTMLCollection::tryGet):
   8954         (KJS::KJS::HTMLSelectCollection::tryPut):
   8955         * khtml/editing/apply_style_command.cpp:
   8956         (khtml::isEmptyStyleSpan):
   8957         (khtml::isEmptyFontTag):
   8958         (khtml::createFontElement):
   8959         (khtml::createStyleSpanElement):
   8960         (khtml::ApplyStyleCommand::applyInlineStyle):
   8961         (khtml::ApplyStyleCommand::isHTMLStyleNode):
   8962         (khtml::ApplyStyleCommand::removeHTMLFontStyle):
   8963         (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
   8964         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   8965         * khtml/editing/break_blockquote_command.cpp:
   8966         (khtml::BreakBlockquoteCommand::doApply):
   8967         * khtml/editing/composite_edit_command.cpp:
   8968         (khtml::CompositeEditCommand::insertNodeBefore):
   8969         (khtml::CompositeEditCommand::insertNodeAfter):
   8970         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
   8971         (khtml::createBlockPlaceholderElement):
   8972         * khtml/editing/delete_selection_command.cpp:
   8973         (khtml::isListStructureNode):
   8974         (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete):
   8975         (khtml::DeleteSelectionCommand::handleGeneralDelete):
   8976         (khtml::DeleteSelectionCommand::moveNodesAfterNode):
   8977         * khtml/editing/htmlediting.cpp:
   8978         (khtml::isSpecialElement):
   8979         (khtml::createDefaultParagraphElement):
   8980         (khtml::createBreakElement):
   8981         (khtml::isMailBlockquote):
   8982         * khtml/editing/insert_line_break_command.cpp:
   8983         (khtml::InsertLineBreakCommand::doApply):
   8984         * khtml/editing/insert_paragraph_separator_command.cpp:
   8985         (khtml::InsertParagraphSeparatorCommand::doApply):
   8986         * khtml/editing/markup.cpp:
   8987         (khtml::startMarkup):
   8988         (khtml::createMarkup):
   8989         (khtml::createFragmentFromText):
   8990         * khtml/editing/replace_selection_command.cpp:
   8991         (khtml::isProbablyBlock):
   8992         (khtml::isProbablyTableStructureNode):
   8993         (khtml::ReplacementFragment::isInterchangeNewlineNode):
   8994         (khtml::ReplacementFragment::removeStyleNodes):
   8995         (khtml::ReplaceSelectionCommand::doApply):
   8996         * khtml/editing/visible_position.cpp:
   8997         (khtml::VisiblePosition::init):
   8998         (khtml::VisiblePosition::isCandidate):
   8999         (khtml::VisiblePosition::isAtomicNode):
   9000         * khtml/editing/visible_text.cpp:
   9001         (khtml::TextIterator::handleNonTextNode):
   9002         (khtml::TextIterator::exitNode):
   9003         (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode):
   9004         * khtml/editing/visible_units.cpp:
   9005         (khtml::endOfLine):
   9006         * khtml/html/html_baseimpl.cpp:
   9007         (HTMLBodyElementImpl::HTMLBodyElementImpl):
   9008         (HTMLFrameElementImpl::HTMLFrameElementImpl):
   9009         (HTMLFrameElementImpl::attach):
   9010         (HTMLFrameSetElementImpl::HTMLFrameSetElementImpl):
   9011         (HTMLFrameSetElementImpl::checkDTD):
   9012         (HTMLFrameSetElementImpl::attach):
   9013         (HTMLHeadElementImpl::HTMLHeadElementImpl):
   9014         (HTMLHeadElementImpl::checkDTD):
   9015         (HTMLHtmlElementImpl::HTMLHtmlElementImpl):
   9016         (HTMLHtmlElementImpl::checkDTD):
   9017         (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
   9018         * khtml/html/html_blockimpl.cpp:
   9019         (HTMLBlockquoteElementImpl::HTMLBlockquoteElementImpl):
   9020         (HTMLDivElementImpl::HTMLDivElementImpl):
   9021         (HTMLHRElementImpl::HTMLHRElementImpl):
   9022         (HTMLHeadingElementImpl::checkDTD):
   9023         (HTMLParagraphElementImpl::HTMLParagraphElementImpl):
   9024         (HTMLParagraphElementImpl::checkDTD):
   9025         (HTMLMarqueeElementImpl::HTMLMarqueeElementImpl):
   9026         * khtml/html/html_canvasimpl.cpp:
   9027         (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
   9028         * khtml/html/html_documentimpl.cpp:
   9029         (DOM::HTMLDocumentImpl::childAllowed):
   9030         * khtml/html/html_elementimpl.cpp:
   9031         (HTMLElementImpl::endTagRequirement):
   9032         (HTMLElementImpl::tagPriority):
   9033         (HTMLElementImpl::createContextualFragment):
   9034         (HTMLElementImpl::setInnerText):
   9035         (HTMLElementImpl::setOuterText):
   9036         (HTMLElementImpl::isRecognizedTagName):
   9037         (inlineTagList):
   9038         (blockTagList):
   9039         (HTMLElementImpl::checkDTD):
   9040         * khtml/html/html_formimpl.cpp:
   9041         (DOM::HTMLFormElementImpl::HTMLFormElementImpl):
   9042         (DOM::HTMLFormElementImpl::submitClick):
   9043         (DOM::HTMLFormElementImpl::formData):
   9044         (DOM::HTMLFormElementImpl::submit):
   9045         (DOM::HTMLFormElementImpl::radioClicked):
   9046         (DOM::HTMLGenericFormElementImpl::getForm):
   9047         (DOM::HTMLButtonElementImpl::HTMLButtonElementImpl):
   9048         (DOM::HTMLFieldSetElementImpl::HTMLFieldSetElementImpl):
   9049         (DOM::HTMLFieldSetElementImpl::checkDTD):
   9050         (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
   9051         (DOM::HTMLLabelElementImpl::HTMLLabelElementImpl):
   9052         (DOM::HTMLLabelElementImpl::form):
   9053         (DOM::HTMLLegendElementImpl::HTMLLegendElementImpl):
   9054         (DOM::HTMLLegendElementImpl::formElement):
   9055         (DOM::HTMLSelectElementImpl::HTMLSelectElementImpl):
   9056         (DOM::HTMLSelectElementImpl::checkDTD):
   9057         (DOM::HTMLSelectElementImpl::selectedIndex):
   9058         (DOM::HTMLSelectElementImpl::setSelectedIndex):
   9059         (DOM::HTMLSelectElementImpl::length):
   9060         (DOM::HTMLSelectElementImpl::add):
   9061         (DOM::HTMLSelectElementImpl::value):
   9062         (DOM::HTMLSelectElementImpl::setValue):
   9063         (DOM::HTMLSelectElementImpl::state):
   9064         (DOM::HTMLSelectElementImpl::restoreState):
   9065         (DOM::HTMLSelectElementImpl::appendFormData):
   9066         (DOM::HTMLSelectElementImpl::optionToListIndex):
   9067         (DOM::HTMLSelectElementImpl::listToOptionIndex):
   9068         (DOM::HTMLSelectElementImpl::recalcListItems):
   9069         (DOM::HTMLSelectElementImpl::reset):
   9070         (DOM::HTMLSelectElementImpl::notifyOptionSelected):
   9071         (DOM::HTMLKeygenElementImpl::HTMLKeygenElementImpl):
   9072         (DOM::HTMLOptGroupElementImpl::HTMLOptGroupElementImpl):
   9073         (DOM::HTMLOptGroupElementImpl::recalcSelectOptions):
   9074         (DOM::HTMLOptionElementImpl::HTMLOptionElementImpl):
   9075         (DOM::HTMLOptionElementImpl::index):
   9076         (DOM::HTMLOptionElementImpl::getSelect):
   9077         (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl):
   9078         (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
   9079         * khtml/html/html_formimpl.h:
   9080         (DOM::HTMLOptGroupElementImpl::checkDTD):
   9081         * khtml/html/html_headimpl.cpp:
   9082         (HTMLBaseElementImpl::HTMLBaseElementImpl):
   9083         (HTMLLinkElementImpl::HTMLLinkElementImpl):
   9084         (HTMLMetaElementImpl::HTMLMetaElementImpl):
   9085         (HTMLScriptElementImpl::HTMLScriptElementImpl):
   9086         (HTMLStyleElementImpl::HTMLStyleElementImpl):
   9087         (HTMLTitleElementImpl::HTMLTitleElementImpl):
   9088         * khtml/html/html_imageimpl.cpp:
   9089         (HTMLImageLoader::updateFromElement):
   9090         (HTMLImageElementImpl::HTMLImageElementImpl):
   9091         (HTMLMapElementImpl::HTMLMapElementImpl):
   9092         (HTMLMapElementImpl::checkDTD):
   9093         (HTMLMapElementImpl::mapMouseEvent):
   9094         (HTMLAreaElementImpl::HTMLAreaElementImpl):
   9095         * khtml/html/html_inlineimpl.cpp:
   9096         (DOM::HTMLAnchorElementImpl::HTMLAnchorElementImpl):
   9097         (DOM::HTMLAnchorElementImpl::defaultEventHandler):
   9098         (DOM::HTMLBRElementImpl::HTMLBRElementImpl):
   9099         (DOM::HTMLFontElementImpl::HTMLFontElementImpl):
   9100         (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
   9101         * khtml/html/html_listimpl.cpp:
   9102         (DOM::HTMLLIElementImpl::attach):
   9103         * khtml/html/html_listimpl.h:
   9104         (DOM::HTMLUListElementImpl::HTMLUListElementImpl):
   9105         (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
   9106         (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
   9107         (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
   9108         (DOM::HTMLLIElementImpl::HTMLLIElementImpl):
   9109         (DOM::HTMLDListElementImpl::HTMLDListElementImpl):
   9110         * khtml/html/html_miscimpl.cpp:
   9111         (DOM::HTMLBaseFontElementImpl::HTMLBaseFontElementImpl):
   9112         (DOM::HTMLCollectionImpl::traverseNextItem):
   9113         (DOM::HTMLCollectionImpl::checkForNameMatch):
   9114         (DOM::HTMLCollectionImpl::updateNameCache):
   9115         (DOM::HTMLFormCollectionImpl::getNamedFormItem):
   9116         (DOM::HTMLFormCollectionImpl::updateNameCache):
   9117         * khtml/html/html_objectimpl.cpp:
   9118         (DOM::HTMLAppletElementImpl::HTMLAppletElementImpl):
   9119         (DOM::HTMLAppletElementImpl::checkDTD):
   9120         (DOM::HTMLEmbedElementImpl::HTMLEmbedElementImpl):
   9121         (DOM::HTMLEmbedElementImpl::checkDTD):
   9122         (DOM::HTMLEmbedElementImpl::rendererIsNeeded):
   9123         (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
   9124         (DOM::HTMLObjectElementImpl::checkDTD):
   9125         (DOM::HTMLObjectElementImpl::form):
   9126         (DOM::HTMLParamElementImpl::HTMLParamElementImpl):
   9127         * khtml/html/html_tableimpl.cpp:
   9128         (DOM::HTMLTableElementImpl::HTMLTableElementImpl):
   9129         (DOM::HTMLTableElementImpl::checkDTD):
   9130         (DOM::HTMLTableElementImpl::createTHead):
   9131         (DOM::HTMLTableElementImpl::createTFoot):
   9132         (DOM::HTMLTableElementImpl::insertRow):
   9133         (DOM::HTMLTableElementImpl::deleteRow):
   9134         (DOM::HTMLTableElementImpl::addChild):
   9135         (DOM::HTMLTableSectionElementImpl::checkDTD):
   9136         (DOM::HTMLTableSectionElementImpl::addChild):
   9137         (DOM::HTMLTableSectionElementImpl::numRows):
   9138         (DOM::HTMLTableRowElementImpl::checkDTD):
   9139         (DOM::HTMLTableRowElementImpl::addChild):
   9140         (DOM::HTMLTableRowElementImpl::rowIndex):
   9141         (DOM::HTMLTableRowElementImpl::sectionRowIndex):
   9142         (DOM::HTMLTableRowElementImpl::insertCell):
   9143         (DOM::HTMLTableCellElementImpl::cellIndex):
   9144         (DOM::HTMLTableCellElementImpl::additionalAttributeStyleDecl):
   9145         (DOM::HTMLTableColElementImpl::HTMLTableColElementImpl):
   9146         * khtml/html/html_tableimpl.h:
   9147         (DOM::HTMLTableRowElementImpl::HTMLTableRowElementImpl):
   9148         (DOM::HTMLTableColElementImpl::endTagRequirement):
   9149         (DOM::HTMLTableColElementImpl::tagPriority):
   9150         (DOM::HTMLTableColElementImpl::checkDTD):
   9151         (DOM::HTMLTableCaptionElementImpl::HTMLTableCaptionElementImpl):
   9152         * khtml/html/htmlfactory.cpp:
   9153         (DOM::headingConstructor):
   9154         (DOM::preConstructor):
   9155         (DOM::modConstructor):
   9156         (DOM::tableColConstructor):
   9157         (DOM::tableCellConstructor):
   9158         (DOM::tableSectionConstructor):
   9159         (DOM::HTMLElementFactory::createHTMLElement):
   9160         * khtml/html/htmlnames.cpp:
   9161         (DOM::HTMLTags::init):
   9162         * khtml/html/htmlnames.h:
   9163         * khtml/html/htmlparser.cpp:
   9164         (HTMLParser::parseToken):
   9165         (isTableSection):
   9166         (isTablePart):
   9167         (isTableRelated):
   9168         (HTMLParser::handleError):
   9169         (HTMLParser::headCreateErrorCheck):
   9170         (HTMLParser::bodyCreateErrorCheck):
   9171         (HTMLParser::framesetCreateErrorCheck):
   9172         (HTMLParser::iframeCreateErrorCheck):
   9173         (HTMLParser::ddCreateErrorCheck):
   9174         (HTMLParser::dtCreateErrorCheck):
   9175         (HTMLParser::tableCellCreateErrorCheck):
   9176         (HTMLParser::tableSectionCreateErrorCheck):
   9177         (HTMLParser::noembedCreateErrorCheck):
   9178         (HTMLParser::noframesCreateErrorCheck):
   9179         (HTMLParser::noscriptCreateErrorCheck):
   9180         (HTMLParser::getNode):
   9181         (HTMLParser::processCloseTag):
   9182         (HTMLParser::isHeaderTag):
   9183         (HTMLParser::isInline):
   9184         (HTMLParser::isResidualStyleTag):
   9185         (HTMLParser::isAffectedByResidualStyle):
   9186         (HTMLParser::popBlock):
   9187         * khtml/html/htmltokenizer.cpp:
   9188         (khtml::HTMLTokenizer::parseSpecial):
   9189         (khtml::HTMLTokenizer::scriptHandler):
   9190         (khtml::HTMLTokenizer::parseTag):
   9191         * khtml/khtml_part.cpp:
   9192         (KHTMLPart::init):
   9193         (KHTMLPart::selectionComputedStyle):
   9194         * khtml/khtmlview.cpp:
   9195         (KHTMLView::layout):
   9196         (isSubmitImage):
   9197         * khtml/misc/decoder.cpp:
   9198         (Decoder::decode):
   9199         * khtml/rendering/render_applet.cpp:
   9200         (RenderApplet::createWidgetIfNecessary):
   9201         * khtml/rendering/render_block.cpp:
   9202         (khtml::RenderBlock::layoutBlock):
   9203         * khtml/rendering/render_box.cpp:
   9204         (RenderBox::paintRootBoxDecorations):
   9205         (RenderBox::paintBackgroundExtended):
   9206         * khtml/rendering/render_canvasimage.cpp:
   9207         (RenderCanvasImage::paint):
   9208         * khtml/rendering/render_flow.cpp:
   9209         (RenderFlow::addFocusRingRects):
   9210         * khtml/rendering/render_form.cpp:
   9211         (RenderFieldset::findLegend):
   9212         (RenderSelect::updateFromElement):
   9213         (RenderSelect::layout):
   9214         (RenderSelect::slotSelected):
   9215         (RenderSelect::slotSelectionChanged):
   9216         (RenderSelect::updateSelection):
   9217         * khtml/rendering/render_frames.cpp:
   9218         (RenderPartObject::updateWidget):
   9219         (RenderPartObject::slotViewCleared):
   9220         * khtml/rendering/render_image.cpp:
   9221         (RenderImage::paint):
   9222         (RenderImage::imageMap):
   9223         (RenderImage::updateAltText):
   9224         * khtml/rendering/render_layer.cpp:
   9225         (Marquee::marqueeSpeed):
   9226         * khtml/rendering/render_list.cpp:
   9227         (getParentOfFirstLineBox):
   9228         * khtml/rendering/render_object.cpp:
   9229         (RenderObject::isBody):
   9230         (RenderObject::isHR):
   9231         (RenderObject::isHTMLMarquee):
   9232         (RenderObject::sizesToMaxWidth):
   9233         (RenderObject::setStyle):
   9234         (RenderObject::getTextDecorationColors):
   9235         (RenderObject::setPixmap):
   9236         * khtml/rendering/render_table.cpp:
   9237         (RenderTable::addChild):
   9238         (RenderTable::layout):
   9239         (RenderTableSection::addChild):
   9240         (RenderTableRow::addChild):
   9241         (RenderTableCell::updateFromElement):
   9242         (RenderTableCol::updateFromElement):
   9243         * khtml/xml/dom_docimpl.cpp:
   9244         (DocumentImpl::createElementNS):
   9245         (DocumentImpl::body):
   9246         (DocumentImpl::shouldScheduleLayout):
   9247         (DocumentImpl::recalcStyleSelector):
   9248         * khtml/xml/dom_nodeimpl.cpp:
   9249         (DOM::NodeImpl::maxDeepOffset):
   9250         (DOM::NodeImpl::enclosingBlockFlowOrTableElement):
   9251         (DOM::NodeImpl::enclosingBlockFlowElement):
   9252         (DOM::NodeImpl::enclosingInlineElement):
   9253         (DOM::NodeImpl::rootEditableElement):
   9254         (DOM::NodeImpl::showTreeAndMark):
   9255         * khtml/xml/dom_position.cpp:
   9256         (DOM::Position::downstream):
   9257         (DOM::Position::rendersInDifferentPosition):
   9258         (DOM::Position::leadingWhitespacePosition):
   9259         (DOM::Position::trailingWhitespacePosition):
   9260         * khtml/xml/xml_tokenizer.cpp:
   9261         (khtml::XMLTokenizer::startElement):
   9262         (khtml::XMLTokenizer::insertErrorMessageBlock):
   9263         (khtml::XMLTokenizer::addScripts):
   9264         * kwq/DOM.mm:
   9265         (+[DOMNode _nodeWithImpl:]):
   9266         * kwq/DOMHTML.mm:
   9267         * kwq/KWQAccObject.mm:
   9268         (-[KWQAccObject role]):
   9269         (-[KWQAccObject title]):
   9270         (-[KWQAccObject accessibilityIsIgnored]):
   9271         * kwq/KWQKHTMLPart.cpp:
   9272         (KWQKHTMLPart::isFrameSet):
   9273         * kwq/KWQKHTMLPart.mm:
   9274         (scanForForm):
   9275         (KWQKHTMLPart::currentForm):
   9276         (KWQKHTMLPart::searchForLabelsBeforeElement):
   9277         (listParent):
   9278         (isTextFirstInListItem):
   9279         (KWQKHTMLPart::attributedString):
   9280         (KWQKHTMLPart::styleForSelectionStart):
   9281         (KWQKHTMLPart::setSelectionFromNone):
   9282         * kwq/WebCoreBridge.mm:
   9283         (inputElementFromDOMElement):
   9284         (formElementFromDOMElement):
   9285         (-[WebCoreBridge elementAtPoint:]):
   9286 
   9287 2005-07-18  David Hyatt  <hyatt (a] apple.com>
   9288 
   9289 	Fix for bugzilla bug 3927.  Convert attributes to use QualifiedName.
   9290 	
   9291         Reviewed by mjs
   9292 
   9293         * WebCore.pbproj/project.pbxproj:
   9294         * khtml/css/css_base.cpp:
   9295         (CSSSelector::print):
   9296         (CSSSelector::selectorText):
   9297         * khtml/css/css_base.h:
   9298         (DOM::CSSSelector::CSSSelector):
   9299         (DOM::CSSSelector::hasTag):
   9300         (DOM::CSSSelector::hasAttribute):
   9301         * khtml/css/css_stylesheetimpl.cpp:
   9302         (CSSStyleSheetImpl::determineNamespace):
   9303         * khtml/css/cssparser.cpp:
   9304         (CSSParser::parseContent):
   9305         * khtml/css/cssstyleselector.cpp:
   9306         (khtml::checkPseudoState):
   9307         (khtml::CSSStyleSelector::canShareStyleWithElement):
   9308         (khtml::CSSStyleSelector::checkOneSelector):
   9309         (khtml::CSSStyleSelector::applyProperty):
   9310         * khtml/css/parser.y:
   9311         * khtml/dom/css_stylesheet.cpp:
   9312         * khtml/dom/html_base.cpp:
   9313         * khtml/dom/html_block.cpp:
   9314         * khtml/dom/html_document.cpp:
   9315         * khtml/dom/html_element.cpp:
   9316         * khtml/dom/html_form.cpp:
   9317         * khtml/dom/html_head.cpp:
   9318         * khtml/dom/html_image.cpp:
   9319         * khtml/dom/html_inline.cpp:
   9320         * khtml/dom/html_list.cpp:
   9321         * khtml/dom/html_misc.cpp:
   9322         * khtml/dom/html_object.cpp:
   9323         * khtml/dom/html_table.cpp:
   9324         * khtml/ecma/kjs_html.cpp:
   9325         (KJS::HTMLElement::inputGetter):
   9326         (KJS::HTMLElement::inputSetter):
   9327         * khtml/editing/apply_style_command.cpp:
   9328         (khtml::isStyleSpan):
   9329         (khtml::isEmptyStyleSpan):
   9330         (khtml::isEmptyFontTag):
   9331         (khtml::createFontElement):
   9332         (khtml::createStyleSpanElement):
   9333         (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
   9334         (khtml::ApplyStyleCommand::removeHTMLFontStyle):
   9335         (khtml::ApplyStyleCommand::applyTextDecorationStyle):
   9336         (khtml::areIdenticalElements):
   9337         (khtml::ApplyStyleCommand::addBlockStyleIfNeeded):
   9338         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   9339         * khtml/editing/composite_edit_command.cpp:
   9340         (khtml::CompositeEditCommand::removeNodeAttribute):
   9341         (khtml::CompositeEditCommand::setNodeAttribute):
   9342         (khtml::CompositeEditCommand::findBlockPlaceholder):
   9343         (khtml::createBlockPlaceholderElement):
   9344         * khtml/editing/composite_edit_command.h:
   9345         * khtml/editing/markup.cpp:
   9346         (khtml::startMarkup):
   9347         (khtml::completeURLs):
   9348         (khtml::createFragmentFromText):
   9349         * khtml/editing/remove_node_attribute_command.cpp:
   9350         (khtml::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand):
   9351         * khtml/editing/remove_node_attribute_command.h:
   9352         (khtml::RemoveNodeAttributeCommand::attribute):
   9353         * khtml/editing/replace_selection_command.cpp:
   9354         (khtml::ReplacementFragment::isInterchangeNewlineNode):
   9355         (khtml::ReplacementFragment::isInterchangeConvertedSpaceSpan):
   9356         * khtml/editing/set_node_attribute_command.cpp:
   9357         (khtml::SetNodeAttributeCommand::SetNodeAttributeCommand):
   9358         * khtml/editing/set_node_attribute_command.h:
   9359         (khtml::SetNodeAttributeCommand::attribute):
   9360         * khtml/html/html_baseimpl.cpp:
   9361         (HTMLBodyElementImpl::mapToEntry):
   9362         (HTMLBodyElementImpl::parseMappedAttribute):
   9363         (HTMLBodyElementImpl::insertedIntoDocument):
   9364         (HTMLBodyElementImpl::isURLAttribute):
   9365         (HTMLBodyElementImpl::aLink):
   9366         (HTMLBodyElementImpl::setALink):
   9367         (HTMLBodyElementImpl::background):
   9368         (HTMLBodyElementImpl::setBackground):
   9369         (HTMLBodyElementImpl::bgColor):
   9370         (HTMLBodyElementImpl::setBgColor):
   9371         (HTMLBodyElementImpl::link):
   9372         (HTMLBodyElementImpl::setLink):
   9373         (HTMLBodyElementImpl::text):
   9374         (HTMLBodyElementImpl::setText):
   9375         (HTMLBodyElementImpl::vLink):
   9376         (HTMLBodyElementImpl::setVLink):
   9377         (HTMLFrameElementImpl::parseMappedAttribute):
   9378         (HTMLFrameElementImpl::attach):
   9379         (HTMLFrameElementImpl::isURLAttribute):
   9380         (HTMLFrameElementImpl::frameBorder):
   9381         (HTMLFrameElementImpl::setFrameBorder):
   9382         (HTMLFrameElementImpl::longDesc):
   9383         (HTMLFrameElementImpl::setLongDesc):
   9384         (HTMLFrameElementImpl::marginHeight):
   9385         (HTMLFrameElementImpl::setMarginHeight):
   9386         (HTMLFrameElementImpl::marginWidth):
   9387         (HTMLFrameElementImpl::setMarginWidth):
   9388         (HTMLFrameElementImpl::name):
   9389         (HTMLFrameElementImpl::setName):
   9390         (HTMLFrameElementImpl::setNoResize):
   9391         (HTMLFrameElementImpl::scrolling):
   9392         (HTMLFrameElementImpl::setScrolling):
   9393         (HTMLFrameElementImpl::src):
   9394         (HTMLFrameElementImpl::setSrc):
   9395         (HTMLFrameSetElementImpl::parseMappedAttribute):
   9396         (HTMLFrameSetElementImpl::cols):
   9397         (HTMLFrameSetElementImpl::setCols):
   9398         (HTMLFrameSetElementImpl::rows):
   9399         (HTMLFrameSetElementImpl::setRows):
   9400         (HTMLHeadElementImpl::profile):
   9401         (HTMLHeadElementImpl::setProfile):
   9402         (HTMLHtmlElementImpl::version):
   9403         (HTMLHtmlElementImpl::setVersion):
   9404         (HTMLIFrameElementImpl::mapToEntry):
   9405         (HTMLIFrameElementImpl::parseMappedAttribute):
   9406         (HTMLIFrameElementImpl::attach):
   9407         (HTMLIFrameElementImpl::isURLAttribute):
   9408         (HTMLIFrameElementImpl::align):
   9409         (HTMLIFrameElementImpl::setAlign):
   9410         (HTMLIFrameElementImpl::height):
   9411         (HTMLIFrameElementImpl::setHeight):
   9412         (HTMLIFrameElementImpl::src):
   9413         (HTMLIFrameElementImpl::width):
   9414         (HTMLIFrameElementImpl::setWidth):
   9415         * khtml/html/html_baseimpl.h:
   9416         * khtml/html/html_blockimpl.cpp:
   9417         (HTMLBlockquoteElementImpl::cite):
   9418         (HTMLBlockquoteElementImpl::setCite):
   9419         (HTMLDivElementImpl::mapToEntry):
   9420         (HTMLDivElementImpl::parseMappedAttribute):
   9421         (HTMLDivElementImpl::align):
   9422         (HTMLDivElementImpl::setAlign):
   9423         (HTMLHRElementImpl::mapToEntry):
   9424         (HTMLHRElementImpl::parseMappedAttribute):
   9425         (HTMLHRElementImpl::align):
   9426         (HTMLHRElementImpl::setAlign):
   9427         (HTMLHRElementImpl::noShade):
   9428         (HTMLHRElementImpl::setNoShade):
   9429         (HTMLHRElementImpl::size):
   9430         (HTMLHRElementImpl::setSize):
   9431         (HTMLHRElementImpl::width):
   9432         (HTMLHRElementImpl::setWidth):
   9433         (HTMLHeadingElementImpl::align):
   9434         (HTMLHeadingElementImpl::setAlign):
   9435         (HTMLParagraphElementImpl::mapToEntry):
   9436         (HTMLParagraphElementImpl::parseMappedAttribute):
   9437         (HTMLParagraphElementImpl::align):
   9438         (HTMLParagraphElementImpl::setAlign):
   9439         (HTMLPreElementImpl::width):
   9440         (HTMLPreElementImpl::setWidth):
   9441         (HTMLMarqueeElementImpl::mapToEntry):
   9442         (HTMLMarqueeElementImpl::parseMappedAttribute):
   9443         * khtml/html/html_blockimpl.h:
   9444         * khtml/html/html_canvasimpl.cpp:
   9445         (HTMLCanvasElementImpl::mapToEntry):
   9446         (HTMLCanvasElementImpl::parseMappedAttribute):
   9447         (HTMLCanvasElementImpl::isURLAttribute):
   9448         * khtml/html/html_canvasimpl.h:
   9449         * khtml/html/html_documentimpl.cpp:
   9450         * khtml/html/html_elementimpl.cpp:
   9451         (HTMLElementImpl::mapToEntry):
   9452         (HTMLElementImpl::parseMappedAttribute):
   9453         (HTMLElementImpl::setContentEditable):
   9454         (HTMLElementImpl::id):
   9455         (HTMLElementImpl::setId):
   9456         (HTMLElementImpl::title):
   9457         (HTMLElementImpl::setTitle):
   9458         (HTMLElementImpl::lang):
   9459         (HTMLElementImpl::setLang):
   9460         (HTMLElementImpl::dir):
   9461         (HTMLElementImpl::setDir):
   9462         (HTMLElementImpl::className):
   9463         (HTMLElementImpl::setClassName):
   9464         * khtml/html/html_elementimpl.h:
   9465         * khtml/html/html_formimpl.cpp:
   9466         (DOM::HTMLFormElementImpl::parseMappedAttribute):
   9467         (DOM::HTMLFormElementImpl::isURLAttribute):
   9468         (DOM::HTMLFormElementImpl::name):
   9469         (DOM::HTMLFormElementImpl::setName):
   9470         (DOM::HTMLFormElementImpl::acceptCharset):
   9471         (DOM::HTMLFormElementImpl::setAcceptCharset):
   9472         (DOM::HTMLFormElementImpl::action):
   9473         (DOM::HTMLFormElementImpl::setAction):
   9474         (DOM::HTMLFormElementImpl::setEnctype):
   9475         (DOM::HTMLFormElementImpl::method):
   9476         (DOM::HTMLFormElementImpl::setMethod):
   9477         (DOM::HTMLFormElementImpl::target):
   9478         (DOM::HTMLFormElementImpl::setTarget):
   9479         (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
   9480         (DOM::HTMLGenericFormElementImpl::name):
   9481         (DOM::HTMLGenericFormElementImpl::setName):
   9482         (DOM::HTMLGenericFormElementImpl::setDisabled):
   9483         (DOM::HTMLGenericFormElementImpl::setReadOnly):
   9484         (DOM::HTMLGenericFormElementImpl::tabIndex):
   9485         (DOM::HTMLGenericFormElementImpl::setTabIndex):
   9486         (DOM::HTMLButtonElementImpl::type):
   9487         (DOM::HTMLButtonElementImpl::parseMappedAttribute):
   9488         (DOM::HTMLButtonElementImpl::accessKey):
   9489         (DOM::HTMLButtonElementImpl::setAccessKey):
   9490         (DOM::HTMLButtonElementImpl::value):
   9491         (DOM::HTMLButtonElementImpl::setValue):
   9492         (DOM::HTMLInputElementImpl::setType):
   9493         (DOM::HTMLInputElementImpl::mapToEntry):
   9494         (DOM::HTMLInputElementImpl::parseMappedAttribute):
   9495         (DOM::HTMLInputElementImpl::attach):
   9496         (DOM::HTMLInputElementImpl::altText):
   9497         (DOM::HTMLInputElementImpl::value):
   9498         (DOM::HTMLInputElementImpl::setValue):
   9499         (DOM::HTMLInputElementImpl::isURLAttribute):
   9500         (DOM::HTMLInputElementImpl::defaultValue):
   9501         (DOM::HTMLInputElementImpl::setDefaultValue):
   9502         (DOM::HTMLInputElementImpl::defaultChecked):
   9503         (DOM::HTMLInputElementImpl::setDefaultChecked):
   9504         (DOM::HTMLInputElementImpl::accept):
   9505         (DOM::HTMLInputElementImpl::setAccept):
   9506         (DOM::HTMLInputElementImpl::accessKey):
   9507         (DOM::HTMLInputElementImpl::setAccessKey):
   9508         (DOM::HTMLInputElementImpl::align):
   9509         (DOM::HTMLInputElementImpl::setAlign):
   9510         (DOM::HTMLInputElementImpl::alt):
   9511         (DOM::HTMLInputElementImpl::setAlt):
   9512         (DOM::HTMLInputElementImpl::setMaxLength):
   9513         (DOM::HTMLInputElementImpl::setSize):
   9514         (DOM::HTMLInputElementImpl::src):
   9515         (DOM::HTMLInputElementImpl::setSrc):
   9516         (DOM::HTMLInputElementImpl::useMap):
   9517         (DOM::HTMLInputElementImpl::setUseMap):
   9518         (DOM::HTMLLabelElementImpl::parseMappedAttribute):
   9519         (DOM::HTMLLabelElementImpl::formElement):
   9520         (DOM::HTMLLabelElementImpl::accessKey):
   9521         (DOM::HTMLLabelElementImpl::setAccessKey):
   9522         (DOM::HTMLLabelElementImpl::htmlFor):
   9523         (DOM::HTMLLabelElementImpl::setHtmlFor):
   9524         (DOM::HTMLLegendElementImpl::accessKey):
   9525         (DOM::HTMLLegendElementImpl::setAccessKey):
   9526         (DOM::HTMLLegendElementImpl::align):
   9527         (DOM::HTMLLegendElementImpl::setAlign):
   9528         (DOM::HTMLSelectElementImpl::parseMappedAttribute):
   9529         (DOM::HTMLSelectElementImpl::reset):
   9530         (DOM::HTMLSelectElementImpl::setMultiple):
   9531         (DOM::HTMLSelectElementImpl::setSize):
   9532         (DOM::HTMLKeygenElementImpl::parseMappedAttribute):
   9533         (DOM::HTMLOptGroupElementImpl::label):
   9534         (DOM::HTMLOptGroupElementImpl::setLabel):
   9535         (DOM::HTMLOptionElementImpl::text):
   9536         (DOM::HTMLOptionElementImpl::parseMappedAttribute):
   9537         (DOM::HTMLOptionElementImpl::setValue):
   9538         (DOM::HTMLOptionElementImpl::defaultSelected):
   9539         (DOM::HTMLOptionElementImpl::setDefaultSelected):
   9540         (DOM::HTMLOptionElementImpl::label):
   9541         (DOM::HTMLOptionElementImpl::setLabel):
   9542         (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
   9543         (DOM::HTMLTextAreaElementImpl::accessKey):
   9544         (DOM::HTMLTextAreaElementImpl::setAccessKey):
   9545         (DOM::HTMLTextAreaElementImpl::setCols):
   9546         (DOM::HTMLTextAreaElementImpl::setRows):
   9547         (DOM::HTMLIsIndexElementImpl::parseMappedAttribute):
   9548         (DOM::HTMLIsIndexElementImpl::prompt):
   9549         (DOM::HTMLIsIndexElementImpl::setPrompt):
   9550         * khtml/html/html_formimpl.h:
   9551         * khtml/html/html_headimpl.cpp:
   9552         (HTMLBaseElementImpl::parseMappedAttribute):
   9553         (HTMLBaseElementImpl::setHref):
   9554         (HTMLBaseElementImpl::setTarget):
   9555         (HTMLLinkElementImpl::parseMappedAttribute):
   9556         (HTMLLinkElementImpl::process):
   9557         (HTMLLinkElementImpl::isURLAttribute):
   9558         (HTMLLinkElementImpl::disabled):
   9559         (HTMLLinkElementImpl::setDisabled):
   9560         (HTMLLinkElementImpl::charset):
   9561         (HTMLLinkElementImpl::setCharset):
   9562         (HTMLLinkElementImpl::href):
   9563         (HTMLLinkElementImpl::setHref):
   9564         (HTMLLinkElementImpl::hreflang):
   9565         (HTMLLinkElementImpl::setHreflang):
   9566         (HTMLLinkElementImpl::media):
   9567         (HTMLLinkElementImpl::setMedia):
   9568         (HTMLLinkElementImpl::rel):
   9569         (HTMLLinkElementImpl::setRel):
   9570         (HTMLLinkElementImpl::rev):
   9571         (HTMLLinkElementImpl::setRev):
   9572         (HTMLLinkElementImpl::target):
   9573         (HTMLLinkElementImpl::setTarget):
   9574         (HTMLLinkElementImpl::type):
   9575         (HTMLLinkElementImpl::setType):
   9576         (HTMLMetaElementImpl::parseMappedAttribute):
   9577         (HTMLMetaElementImpl::content):
   9578         (HTMLMetaElementImpl::setContent):
   9579         (HTMLMetaElementImpl::httpEquiv):
   9580         (HTMLMetaElementImpl::setHttpEquiv):
   9581         (HTMLMetaElementImpl::name):
   9582         (HTMLMetaElementImpl::setName):
   9583         (HTMLMetaElementImpl::scheme):
   9584         (HTMLMetaElementImpl::setScheme):
   9585         (HTMLScriptElementImpl::isURLAttribute):
   9586         (HTMLScriptElementImpl::insertedIntoDocument):
   9587         (HTMLScriptElementImpl::charset):
   9588         (HTMLScriptElementImpl::setCharset):
   9589         (HTMLScriptElementImpl::defer):
   9590         (HTMLScriptElementImpl::setDefer):
   9591         (HTMLScriptElementImpl::src):
   9592         (HTMLScriptElementImpl::setSrc):
   9593         (HTMLScriptElementImpl::type):
   9594         (HTMLScriptElementImpl::setType):
   9595         (HTMLStyleElementImpl::parseMappedAttribute):
   9596         (HTMLStyleElementImpl::disabled):
   9597         (HTMLStyleElementImpl::setDisabled):
   9598         (HTMLStyleElementImpl::media):
   9599         (HTMLStyleElementImpl::setMedia):
   9600         (HTMLStyleElementImpl::type):
   9601         (HTMLStyleElementImpl::setType):
   9602         * khtml/html/html_imageimpl.cpp:
   9603         (HTMLImageLoader::updateFromElement):
   9604         (HTMLImageElementImpl::mapToEntry):
   9605         (HTMLImageElementImpl::parseMappedAttribute):
   9606         (HTMLImageElementImpl::altText):
   9607         (HTMLImageElementImpl::width):
   9608         (HTMLImageElementImpl::height):
   9609         (HTMLImageElementImpl::isURLAttribute):
   9610         (HTMLImageElementImpl::name):
   9611         (HTMLImageElementImpl::setName):
   9612         (HTMLImageElementImpl::align):
   9613         (HTMLImageElementImpl::setAlign):
   9614         (HTMLImageElementImpl::alt):
   9615         (HTMLImageElementImpl::setAlt):
   9616         (HTMLImageElementImpl::border):
   9617         (HTMLImageElementImpl::setBorder):
   9618         (HTMLImageElementImpl::setHeight):
   9619         (HTMLImageElementImpl::hspace):
   9620         (HTMLImageElementImpl::setHspace):
   9621         (HTMLImageElementImpl::isMap):
   9622         (HTMLImageElementImpl::setIsMap):
   9623         (HTMLImageElementImpl::longDesc):
   9624         (HTMLImageElementImpl::setLongDesc):
   9625         (HTMLImageElementImpl::src):
   9626         (HTMLImageElementImpl::setSrc):
   9627         (HTMLImageElementImpl::useMap):
   9628         (HTMLImageElementImpl::setUseMap):
   9629         (HTMLImageElementImpl::vspace):
   9630         (HTMLImageElementImpl::setVspace):
   9631         (HTMLImageElementImpl::setWidth):
   9632         (HTMLMapElementImpl::parseMappedAttribute):
   9633         (HTMLMapElementImpl::name):
   9634         (HTMLMapElementImpl::setName):
   9635         (HTMLAreaElementImpl::parseMappedAttribute):
   9636         (HTMLAreaElementImpl::accessKey):
   9637         (HTMLAreaElementImpl::setAccessKey):
   9638         (HTMLAreaElementImpl::alt):
   9639         (HTMLAreaElementImpl::setAlt):
   9640         (HTMLAreaElementImpl::coords):
   9641         (HTMLAreaElementImpl::setCoords):
   9642         (HTMLAreaElementImpl::href):
   9643         (HTMLAreaElementImpl::setHref):
   9644         (HTMLAreaElementImpl::noHref):
   9645         (HTMLAreaElementImpl::setNoHref):
   9646         (HTMLAreaElementImpl::shape):
   9647         (HTMLAreaElementImpl::setShape):
   9648         (HTMLAreaElementImpl::tabIndex):
   9649         (HTMLAreaElementImpl::setTabIndex):
   9650         (HTMLAreaElementImpl::target):
   9651         (HTMLAreaElementImpl::setTarget):
   9652         * khtml/html/html_imageimpl.h:
   9653         * khtml/html/html_inlineimpl.cpp:
   9654         (DOM::HTMLAnchorElementImpl::defaultEventHandler):
   9655         (DOM::HTMLAnchorElementImpl::parseMappedAttribute):
   9656         (DOM::HTMLAnchorElementImpl::isURLAttribute):
   9657         (DOM::HTMLAnchorElementImpl::accessKey):
   9658         (DOM::HTMLAnchorElementImpl::setAccessKey):
   9659         (DOM::HTMLAnchorElementImpl::charset):
   9660         (DOM::HTMLAnchorElementImpl::setCharset):
   9661         (DOM::HTMLAnchorElementImpl::coords):
   9662         (DOM::HTMLAnchorElementImpl::setCoords):
   9663         (DOM::HTMLAnchorElementImpl::href):
   9664         (DOM::HTMLAnchorElementImpl::setHref):
   9665         (DOM::HTMLAnchorElementImpl::hreflang):
   9666         (DOM::HTMLAnchorElementImpl::setHreflang):
   9667         (DOM::HTMLAnchorElementImpl::name):
   9668         (DOM::HTMLAnchorElementImpl::setName):
   9669         (DOM::HTMLAnchorElementImpl::rel):
   9670         (DOM::HTMLAnchorElementImpl::setRel):
   9671         (DOM::HTMLAnchorElementImpl::rev):
   9672         (DOM::HTMLAnchorElementImpl::setRev):
   9673         (DOM::HTMLAnchorElementImpl::shape):
   9674         (DOM::HTMLAnchorElementImpl::setShape):
   9675         (DOM::HTMLAnchorElementImpl::tabIndex):
   9676         (DOM::HTMLAnchorElementImpl::setTabIndex):
   9677         (DOM::HTMLAnchorElementImpl::target):
   9678         (DOM::HTMLAnchorElementImpl::setTarget):
   9679         (DOM::HTMLAnchorElementImpl::type):
   9680         (DOM::HTMLAnchorElementImpl::setType):
   9681         (DOM::HTMLBRElementImpl::mapToEntry):
   9682         (DOM::HTMLBRElementImpl::parseMappedAttribute):
   9683         (DOM::HTMLBRElementImpl::clear):
   9684         (DOM::HTMLBRElementImpl::setClear):
   9685         (DOM::HTMLFontElementImpl::mapToEntry):
   9686         (DOM::HTMLFontElementImpl::parseMappedAttribute):
   9687         (DOM::HTMLFontElementImpl::color):
   9688         (DOM::HTMLFontElementImpl::setColor):
   9689         (DOM::HTMLFontElementImpl::face):
   9690         (DOM::HTMLFontElementImpl::setFace):
   9691         (DOM::HTMLFontElementImpl::size):
   9692         (DOM::HTMLFontElementImpl::setSize):
   9693         (DOM::HTMLModElementImpl::cite):
   9694         (DOM::HTMLModElementImpl::setCite):
   9695         (DOM::HTMLModElementImpl::dateTime):
   9696         (DOM::HTMLModElementImpl::setDateTime):
   9697         (DOM::HTMLQuoteElementImpl::cite):
   9698         (DOM::HTMLQuoteElementImpl::setCite):
   9699         * khtml/html/html_inlineimpl.h:
   9700         * khtml/html/html_listimpl.cpp:
   9701         (DOM::HTMLUListElementImpl::mapToEntry):
   9702         (DOM::HTMLUListElementImpl::parseMappedAttribute):
   9703         (DOM::HTMLUListElementImpl::compact):
   9704         (DOM::HTMLUListElementImpl::setCompact):
   9705         (DOM::HTMLUListElementImpl::type):
   9706         (DOM::HTMLUListElementImpl::setType):
   9707         (DOM::HTMLDirectoryElementImpl::compact):
   9708         (DOM::HTMLDirectoryElementImpl::setCompact):
   9709         (DOM::HTMLMenuElementImpl::compact):
   9710         (DOM::HTMLMenuElementImpl::setCompact):
   9711         (DOM::HTMLOListElementImpl::mapToEntry):
   9712         (DOM::HTMLOListElementImpl::parseMappedAttribute):
   9713         (DOM::HTMLOListElementImpl::compact):
   9714         (DOM::HTMLOListElementImpl::setCompact):
   9715         (DOM::HTMLOListElementImpl::setStart):
   9716         (DOM::HTMLOListElementImpl::type):
   9717         (DOM::HTMLOListElementImpl::setType):
   9718         (DOM::HTMLLIElementImpl::mapToEntry):
   9719         (DOM::HTMLLIElementImpl::parseMappedAttribute):
   9720         (DOM::HTMLLIElementImpl::type):
   9721         (DOM::HTMLLIElementImpl::setType):
   9722         (DOM::HTMLLIElementImpl::value):
   9723         (DOM::HTMLLIElementImpl::setValue):
   9724         (DOM::HTMLDListElementImpl::compact):
   9725         (DOM::HTMLDListElementImpl::setCompact):
   9726         * khtml/html/html_listimpl.h:
   9727         * khtml/html/html_miscimpl.cpp:
   9728         (DOM::HTMLBaseFontElementImpl::color):
   9729         (DOM::HTMLBaseFontElementImpl::setColor):
   9730         (DOM::HTMLBaseFontElementImpl::face):
   9731         (DOM::HTMLBaseFontElementImpl::setFace):
   9732         (DOM::HTMLBaseFontElementImpl::size):
   9733         (DOM::HTMLBaseFontElementImpl::setSize):
   9734         (DOM::HTMLCollectionImpl::traverseNextItem):
   9735         (DOM::HTMLCollectionImpl::checkForNameMatch):
   9736         (DOM::HTMLCollectionImpl::updateNameCache):
   9737         (DOM::HTMLFormCollectionImpl::getNamedItem):
   9738         (DOM::HTMLFormCollectionImpl::getNamedFormItem):
   9739         (DOM::HTMLFormCollectionImpl::nextNamedItemInternal):
   9740         (DOM::HTMLFormCollectionImpl::namedItem):
   9741         (DOM::HTMLFormCollectionImpl::nextNamedItem):
   9742         (DOM::HTMLFormCollectionImpl::updateNameCache):
   9743         * khtml/html/html_miscimpl.h:
   9744         * khtml/html/html_objectimpl.cpp:
   9745         (DOM::HTMLAppletElementImpl::mapToEntry):
   9746         (DOM::HTMLAppletElementImpl::parseMappedAttribute):
   9747         (DOM::HTMLAppletElementImpl::rendererIsNeeded):
   9748         (DOM::HTMLAppletElementImpl::createRenderer):
   9749         (DOM::HTMLAppletElementImpl::align):
   9750         (DOM::HTMLAppletElementImpl::setAlign):
   9751         (DOM::HTMLAppletElementImpl::alt):
   9752         (DOM::HTMLAppletElementImpl::setAlt):
   9753         (DOM::HTMLAppletElementImpl::archive):
   9754         (DOM::HTMLAppletElementImpl::setArchive):
   9755         (DOM::HTMLAppletElementImpl::code):
   9756         (DOM::HTMLAppletElementImpl::setCode):
   9757         (DOM::HTMLAppletElementImpl::codeBase):
   9758         (DOM::HTMLAppletElementImpl::setCodeBase):
   9759         (DOM::HTMLAppletElementImpl::height):
   9760         (DOM::HTMLAppletElementImpl::setHeight):
   9761         (DOM::HTMLAppletElementImpl::hspace):
   9762         (DOM::HTMLAppletElementImpl::setHspace):
   9763         (DOM::HTMLAppletElementImpl::name):
   9764         (DOM::HTMLAppletElementImpl::setName):
   9765         (DOM::HTMLAppletElementImpl::object):
   9766         (DOM::HTMLAppletElementImpl::setObject):
   9767         (DOM::HTMLAppletElementImpl::vspace):
   9768         (DOM::HTMLAppletElementImpl::setVspace):
   9769         (DOM::HTMLAppletElementImpl::width):
   9770         (DOM::HTMLAppletElementImpl::setWidth):
   9771         (DOM::HTMLEmbedElementImpl::mapToEntry):
   9772         (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
   9773         (DOM::HTMLEmbedElementImpl::isURLAttribute):
   9774         (DOM::HTMLObjectElementImpl::mapToEntry):
   9775         (DOM::HTMLObjectElementImpl::parseMappedAttribute):
   9776         (DOM::HTMLObjectElementImpl::isURLAttribute):
   9777         (DOM::HTMLObjectElementImpl::code):
   9778         (DOM::HTMLObjectElementImpl::setCode):
   9779         (DOM::HTMLObjectElementImpl::align):
   9780         (DOM::HTMLObjectElementImpl::setAlign):
   9781         (DOM::HTMLObjectElementImpl::archive):
   9782         (DOM::HTMLObjectElementImpl::setArchive):
   9783         (DOM::HTMLObjectElementImpl::border):
   9784         (DOM::HTMLObjectElementImpl::setBorder):
   9785         (DOM::HTMLObjectElementImpl::codeBase):
   9786         (DOM::HTMLObjectElementImpl::setCodeBase):
   9787         (DOM::HTMLObjectElementImpl::codeType):
   9788         (DOM::HTMLObjectElementImpl::setCodeType):
   9789         (DOM::HTMLObjectElementImpl::data):
   9790         (DOM::HTMLObjectElementImpl::setData):
   9791         (DOM::HTMLObjectElementImpl::declare):
   9792         (DOM::HTMLObjectElementImpl::setDeclare):
   9793         (DOM::HTMLObjectElementImpl::height):
   9794         (DOM::HTMLObjectElementImpl::setHeight):
   9795         (DOM::HTMLObjectElementImpl::hspace):
   9796         (DOM::HTMLObjectElementImpl::setHspace):
   9797         (DOM::HTMLObjectElementImpl::name):
   9798         (DOM::HTMLObjectElementImpl::setName):
   9799         (DOM::HTMLObjectElementImpl::standby):
   9800         (DOM::HTMLObjectElementImpl::setStandby):
   9801         (DOM::HTMLObjectElementImpl::tabIndex):
   9802         (DOM::HTMLObjectElementImpl::setTabIndex):
   9803         (DOM::HTMLObjectElementImpl::type):
   9804         (DOM::HTMLObjectElementImpl::setType):
   9805         (DOM::HTMLObjectElementImpl::useMap):
   9806         (DOM::HTMLObjectElementImpl::setUseMap):
   9807         (DOM::HTMLObjectElementImpl::vspace):
   9808         (DOM::HTMLObjectElementImpl::setVspace):
   9809         (DOM::HTMLObjectElementImpl::width):
   9810         (DOM::HTMLObjectElementImpl::setWidth):
   9811         (DOM::HTMLParamElementImpl::parseMappedAttribute):
   9812         (DOM::HTMLParamElementImpl::isURLAttribute):
   9813         (DOM::HTMLParamElementImpl::setName):
   9814         (DOM::HTMLParamElementImpl::type):
   9815         (DOM::HTMLParamElementImpl::setType):
   9816         (DOM::HTMLParamElementImpl::setValue):
   9817         (DOM::HTMLParamElementImpl::valueType):
   9818         (DOM::HTMLParamElementImpl::setValueType):
   9819         * khtml/html/html_objectimpl.h:
   9820         * khtml/html/html_tableimpl.cpp:
   9821         (DOM::HTMLTableElementImpl::mapToEntry):
   9822         (DOM::HTMLTableElementImpl::parseMappedAttribute):
   9823         (DOM::HTMLTableElementImpl::additionalAttributeStyleDecl):
   9824         (DOM::HTMLTableElementImpl::getSharedCellDecl):
   9825         (DOM::HTMLTableElementImpl::isURLAttribute):
   9826         (DOM::HTMLTableElementImpl::align):
   9827         (DOM::HTMLTableElementImpl::setAlign):
   9828         (DOM::HTMLTableElementImpl::bgColor):
   9829         (DOM::HTMLTableElementImpl::setBgColor):
   9830         (DOM::HTMLTableElementImpl::border):
   9831         (DOM::HTMLTableElementImpl::setBorder):
   9832         (DOM::HTMLTableElementImpl::cellPadding):
   9833         (DOM::HTMLTableElementImpl::setCellPadding):
   9834         (DOM::HTMLTableElementImpl::cellSpacing):
   9835         (DOM::HTMLTableElementImpl::setCellSpacing):
   9836         (DOM::HTMLTableElementImpl::frame):
   9837         (DOM::HTMLTableElementImpl::setFrame):
   9838         (DOM::HTMLTableElementImpl::rules):
   9839         (DOM::HTMLTableElementImpl::setRules):
   9840         (DOM::HTMLTableElementImpl::summary):
   9841         (DOM::HTMLTableElementImpl::setSummary):
   9842         (DOM::HTMLTableElementImpl::width):
   9843         (DOM::HTMLTableElementImpl::setWidth):
   9844         (DOM::HTMLTablePartElementImpl::mapToEntry):
   9845         (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
   9846         (DOM::HTMLTableSectionElementImpl::align):
   9847         (DOM::HTMLTableSectionElementImpl::setAlign):
   9848         (DOM::HTMLTableSectionElementImpl::ch):
   9849         (DOM::HTMLTableSectionElementImpl::setCh):
   9850         (DOM::HTMLTableSectionElementImpl::chOff):
   9851         (DOM::HTMLTableSectionElementImpl::setChOff):
   9852         (DOM::HTMLTableSectionElementImpl::vAlign):
   9853         (DOM::HTMLTableSectionElementImpl::setVAlign):
   9854         (DOM::HTMLTableRowElementImpl::align):
   9855         (DOM::HTMLTableRowElementImpl::setAlign):
   9856         (DOM::HTMLTableRowElementImpl::bgColor):
   9857         (DOM::HTMLTableRowElementImpl::setBgColor):
   9858         (DOM::HTMLTableRowElementImpl::ch):
   9859         (DOM::HTMLTableRowElementImpl::setCh):
   9860         (DOM::HTMLTableRowElementImpl::chOff):
   9861         (DOM::HTMLTableRowElementImpl::setChOff):
   9862         (DOM::HTMLTableRowElementImpl::vAlign):
   9863         (DOM::HTMLTableRowElementImpl::setVAlign):
   9864         (DOM::HTMLTableCellElementImpl::mapToEntry):
   9865         (DOM::HTMLTableCellElementImpl::parseMappedAttribute):
   9866         (DOM::HTMLTableCellElementImpl::isURLAttribute):
   9867         (DOM::HTMLTableCellElementImpl::abbr):
   9868         (DOM::HTMLTableCellElementImpl::setAbbr):
   9869         (DOM::HTMLTableCellElementImpl::align):
   9870         (DOM::HTMLTableCellElementImpl::setAlign):
   9871         (DOM::HTMLTableCellElementImpl::axis):
   9872         (DOM::HTMLTableCellElementImpl::setAxis):
   9873         (DOM::HTMLTableCellElementImpl::bgColor):
   9874         (DOM::HTMLTableCellElementImpl::setBgColor):
   9875         (DOM::HTMLTableCellElementImpl::ch):
   9876         (DOM::HTMLTableCellElementImpl::setCh):
   9877         (DOM::HTMLTableCellElementImpl::chOff):
   9878         (DOM::HTMLTableCellElementImpl::setChOff):
   9879         (DOM::HTMLTableCellElementImpl::setColSpan):
   9880         (DOM::HTMLTableCellElementImpl::headers):
   9881         (DOM::HTMLTableCellElementImpl::setHeaders):
   9882         (DOM::HTMLTableCellElementImpl::height):
   9883         (DOM::HTMLTableCellElementImpl::setHeight):
   9884         (DOM::HTMLTableCellElementImpl::noWrap):
   9885         (DOM::HTMLTableCellElementImpl::setNoWrap):
   9886         (DOM::HTMLTableCellElementImpl::setRowSpan):
   9887         (DOM::HTMLTableCellElementImpl::scope):
   9888         (DOM::HTMLTableCellElementImpl::setScope):
   9889         (DOM::HTMLTableCellElementImpl::vAlign):
   9890         (DOM::HTMLTableCellElementImpl::setVAlign):
   9891         (DOM::HTMLTableCellElementImpl::width):
   9892         (DOM::HTMLTableCellElementImpl::setWidth):
   9893         (DOM::HTMLTableColElementImpl::mapToEntry):
   9894         (DOM::HTMLTableColElementImpl::parseMappedAttribute):
   9895         (DOM::HTMLTableColElementImpl::align):
   9896         (DOM::HTMLTableColElementImpl::setAlign):
   9897         (DOM::HTMLTableColElementImpl::ch):
   9898         (DOM::HTMLTableColElementImpl::setCh):
   9899         (DOM::HTMLTableColElementImpl::chOff):
   9900         (DOM::HTMLTableColElementImpl::setChOff):
   9901         (DOM::HTMLTableColElementImpl::setSpan):
   9902         (DOM::HTMLTableColElementImpl::vAlign):
   9903         (DOM::HTMLTableColElementImpl::setVAlign):
   9904         (DOM::HTMLTableColElementImpl::width):
   9905         (DOM::HTMLTableColElementImpl::setWidth):
   9906         (DOM::HTMLTableCaptionElementImpl::mapToEntry):
   9907         (DOM::HTMLTableCaptionElementImpl::parseMappedAttribute):
   9908         (DOM::HTMLTableCaptionElementImpl::align):
   9909         (DOM::HTMLTableCaptionElementImpl::setAlign):
   9910         * khtml/html/html_tableimpl.h:
   9911         * khtml/html/htmlnames.cpp:
   9912         (DOM::HTMLNames::init):
   9913         (DOM::HTMLAttributes::init):
   9914         * khtml/html/htmlnames.h:
   9915         * khtml/html/htmlparser.cpp:
   9916         (HTMLParser::handleError):
   9917         (HTMLParser::framesetCreateErrorCheck):
   9918         (HTMLParser::handleIsindex):
   9919         * khtml/html/htmltokenizer.cpp:
   9920         (khtml::Token::addAttribute):
   9921         (khtml::HTMLTokenizer::HTMLTokenizer):
   9922         (khtml::HTMLTokenizer::parseTag):
   9923         (khtml::HTMLTokenizer::processToken):
   9924         * khtml/html/htmltokenizer.h:
   9925         * khtml/khtml_part.cpp:
   9926         (KHTMLPart::init):
   9927         (KHTMLPart::backgroundURL):
   9928         (KHTMLPart::updateActions):
   9929         (KHTMLPart::handleMouseMoveEventDrag):
   9930         (KHTMLPart::selectionComputedStyle):
   9931         (KHTMLPart::applyEditingStyleToElement):
   9932         (KHTMLPart::removeEditingStyleFromElement):
   9933         * khtml/khtmlview.cpp:
   9934         * khtml/misc/decoder.cpp:
   9935         * khtml/misc/htmlattrs.in: Removed.
   9936         * khtml/misc/htmlhashes.cpp: Removed.
   9937         * khtml/misc/htmlhashes.h: Removed.
   9938         * khtml/misc/htmltags.in: Removed.
   9939         * khtml/misc/makeattrs: Removed.
   9940         * khtml/misc/maketags: Removed.
   9941         * khtml/rendering/render_box.cpp:
   9942         * khtml/rendering/render_form.cpp:
   9943         (RenderLineEdit::updateFromElement):
   9944         (RenderSelect::updateFromElement):
   9945         (RenderSlider::updateFromElement):
   9946         (RenderSlider::slotSliderValueChanged):
   9947         * khtml/rendering/render_frames.cpp:
   9948         (RenderPartObject::updateWidget):
   9949         * khtml/rendering/render_object.cpp:
   9950         * khtml/rendering/render_table.cpp:
   9951         (RenderTableCell::calcMinMaxWidth):
   9952         * khtml/xml/dom_docimpl.cpp:
   9953         (DocumentImpl::createElement):
   9954         (DocumentImpl::importNode):
   9955         (DocumentImpl::createElementNS):
   9956         (DocumentImpl::getElementById):
   9957         (DocumentImpl::getElementByAccessKey):
   9958         (DocumentImpl::prepareMouseEvent):
   9959         (DocumentImpl::recalcStyleSelector):
   9960         (DocumentImpl::createAttributeNS):
   9961         * khtml/xml/dom_docimpl.h:
   9962         * khtml/xml/dom_elementimpl.cpp:
   9963         (AttributeImpl::clone):
   9964         (AttributeImpl::allocateImpl):
   9965         (AttrImpl::AttrImpl):
   9966         (AttrImpl::~AttrImpl):
   9967         (AttrImpl::nodeName):
   9968         (AttrImpl::name):
   9969         (ElementImpl::removeAttribute):
   9970         (ElementImpl::setAttribute):
   9971         (ElementImpl::getAttribute):
   9972         (ElementImpl::getAttributeNS):
   9973         (ElementImpl::createAttribute):
   9974         (ElementImpl::setAttributeMap):
   9975         (ElementImpl::nodeName):
   9976         (ElementImpl::insertedIntoDocument):
   9977         (ElementImpl::removedFromDocument):
   9978         (ElementImpl::openTagStartToString):
   9979         (ElementImpl::dump):
   9980         (ElementImpl::formatForDebugger):
   9981         (ElementImpl::removeAttributeNode):
   9982         (ElementImpl::setAttributeNS):
   9983         (ElementImpl::removeAttributeNS):
   9984         (ElementImpl::getAttributeNodeNS):
   9985         (ElementImpl::hasAttributeNS):
   9986         (NamedAttrMapImpl::getNamedItem):
   9987         (NamedAttrMapImpl::setNamedItem):
   9988         (NamedAttrMapImpl::removeNamedItem):
   9989         (NamedAttrMapImpl::getAttributeItem):
   9990         (NamedAttrMapImpl::clearAttributes):
   9991         (NamedAttrMapImpl::operator=):
   9992         (NamedAttrMapImpl::addAttribute):
   9993         (NamedAttrMapImpl::removeAttribute):
   9994         (StyledElementImpl::getMappedAttributeDecl):
   9995         (StyledElementImpl::setMappedAttributeDecl):
   9996         (StyledElementImpl::removeMappedAttributeDecl):
   9997         (StyledElementImpl::updateStyleAttributeIfNeeded):
   9998         (MappedAttributeImpl::clone):
   9999         (NamedMappedAttrMapImpl::mapsEquivalent):
   10000         (StyledElementImpl::createAttribute):
   10001         (StyledElementImpl::attributeChanged):
   10002         (StyledElementImpl::mapToEntry):
   10003         (StyledElementImpl::parseMappedAttribute):
   10004         * khtml/xml/dom_elementimpl.h:
   10005         (DOM::AttributeImpl::AttributeImpl):
   10006         (DOM::AttributeImpl::value):
   10007         (DOM::AttributeImpl::prefix):
   10008         (DOM::AttributeImpl::localName):
   10009         (DOM::AttributeImpl::namespaceURI):
   10010         (DOM::AttributeImpl::name):
   10011         (DOM::AttributeImpl::attrImpl):
   10012         (DOM::AttributeImpl::isNull):
   10013         (DOM::AttributeImpl::isEmpty):
   10014         (DOM::AttributeImpl::setValue):
   10015         (DOM::AttributeImpl::setPrefix):
   10016         (DOM::NamedAttrMapImpl::insertAttribute):
   10017         (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl):
   10018         (DOM::CSSMappedAttributeDeclarationImpl::setMappedState):
   10019         (DOM::MappedAttributeImpl::MappedAttributeImpl):
   10020         (DOM::StyledElementImpl::isMappedAttribute):
   10021         * khtml/xml/dom_nodeimpl.cpp:
   10022         (DOM::NodeImpl::namespaceURI):
   10023         (DOM::appendAttributeDesc):
   10024         (DOM::NodeImpl::showNode):
   10025         (DOM::NameNodeListImpl::nodeMatches):
   10026         (DOM::NamedNodeMapImpl::getNamedItemNS):
   10027         (DOM::NamedNodeMapImpl::removeNamedItemNS):
   10028         * khtml/xml/dom_nodeimpl.h:
   10029         * khtml/xml/dom_qname.cpp:
   10030         (DOM::QualifiedName::toString):
   10031         (DOM::QualifiedName::init):
   10032         * khtml/xml/dom_qname.h:
   10033         (DOM::anyQName):
   10034         * khtml/xml/dom_textimpl.cpp:
   10035         * khtml/xml/xml_tokenizer.cpp:
   10036         (khtml::XMLTokenizer::startElement):
   10037         (khtml::XMLTokenizer::insertErrorMessageBlock):
   10038         (khtml::XMLTokenizer::executeScripts):
   10039         * kwq/DOMHTML.h:
   10040         * kwq/DOMHTML.mm:
   10041         (-[DOMHTMLElement idName]):
   10042         (-[DOMHTMLElement setIdName:]):
   10043         (-[DOMHTMLElement title]):
   10044         (-[DOMHTMLElement setTitle:]):
   10045         (-[DOMHTMLElement lang]):
   10046         (-[DOMHTMLElement setLang:]):
   10047         (-[DOMHTMLElement dir]):
   10048         (-[DOMHTMLElement setDir:]):
   10049         (-[DOMHTMLElement className]):
   10050         (-[DOMHTMLElement setClassName:]):
   10051         (-[DOMHTMLHtmlElement version]):
   10052         (-[DOMHTMLHtmlElement setVersion:]):
   10053         (-[DOMHTMLHeadElement profile]):
   10054         (-[DOMHTMLHeadElement setProfile:]):
   10055         (-[DOMHTMLLinkElement disabled]):
   10056         (-[DOMHTMLLinkElement setDisabled:]):
   10057         (-[DOMHTMLLinkElement charset]):
   10058         (-[DOMHTMLLinkElement setCharset:]):
   10059         (-[DOMHTMLLinkElement setHref:]):
   10060         (-[DOMHTMLLinkElement hreflang]):
   10061         (-[DOMHTMLLinkElement setHreflang:]):
   10062         (-[DOMHTMLLinkElement media]):
   10063         (-[DOMHTMLLinkElement setMedia:]):
   10064         (-[DOMHTMLLinkElement rel]):
   10065         (-[DOMHTMLLinkElement setRel:]):
   10066         (-[DOMHTMLLinkElement rev]):
   10067         (-[DOMHTMLLinkElement setRev:]):
   10068         (-[DOMHTMLLinkElement target]):
   10069         (-[DOMHTMLLinkElement setTarget:]):
   10070         (-[DOMHTMLLinkElement type]):
   10071         (-[DOMHTMLLinkElement setType:]):
   10072         (-[DOMHTMLTitleElement text]):
   10073         (-[DOMHTMLTitleElement setText:]):
   10074         (-[DOMHTMLMetaElement content]):
   10075         (-[DOMHTMLMetaElement setContent:]):
   10076         (-[DOMHTMLMetaElement httpEquiv]):
   10077         (-[DOMHTMLMetaElement setHttpEquiv:]):
   10078         (-[DOMHTMLMetaElement name]):
   10079         (-[DOMHTMLMetaElement setName:]):
   10080         (-[DOMHTMLMetaElement scheme]):
   10081         (-[DOMHTMLMetaElement setScheme:]):
   10082         (-[DOMHTMLBaseElement setHref:]):
   10083         (-[DOMHTMLBaseElement target]):
   10084         (-[DOMHTMLBaseElement setTarget:]):
   10085         (-[DOMHTMLStyleElement disabled]):
   10086         (-[DOMHTMLStyleElement setDisabled:]):
   10087         (-[DOMHTMLStyleElement media]):
   10088         (-[DOMHTMLStyleElement setMedia:]):
   10089         (-[DOMHTMLStyleElement type]):
   10090         (-[DOMHTMLStyleElement setType:]):
   10091         (-[DOMHTMLBodyElement aLink]):
   10092         (-[DOMHTMLBodyElement setALink:]):
   10093         (-[DOMHTMLBodyElement background]):
   10094         (-[DOMHTMLBodyElement setBackground:]):
   10095         (-[DOMHTMLBodyElement bgColor]):
   10096         (-[DOMHTMLBodyElement setBgColor:]):
   10097         (-[DOMHTMLBodyElement link]):
   10098         (-[DOMHTMLBodyElement setLink:]):
   10099         (-[DOMHTMLBodyElement text]):
   10100         (-[DOMHTMLBodyElement setText:]):
   10101         (-[DOMHTMLBodyElement vLink]):
   10102         (-[DOMHTMLBodyElement setVLink:]):
   10103         (-[DOMHTMLFormElement name]):
   10104         (-[DOMHTMLFormElement setName:]):
   10105         (-[DOMHTMLFormElement acceptCharset]):
   10106         (-[DOMHTMLFormElement setAcceptCharset:]):
   10107         (-[DOMHTMLFormElement action]):
   10108         (-[DOMHTMLFormElement setAction:]):
   10109         (-[DOMHTMLFormElement enctype]):
   10110         (-[DOMHTMLFormElement setEnctype:]):
   10111         (-[DOMHTMLFormElement method]):
   10112         (-[DOMHTMLFormElement setMethod:]):
   10113         (-[DOMHTMLFormElement target]):
   10114         (-[DOMHTMLFormElement setTarget:]):
   10115         (-[DOMHTMLIsIndexElement prompt]):
   10116         (-[DOMHTMLIsIndexElement setPrompt:]):
   10117         (-[DOMHTMLSelectElement disabled]):
   10118         (-[DOMHTMLSelectElement setDisabled:]):
   10119         (-[DOMHTMLSelectElement multiple]):
   10120         (-[DOMHTMLSelectElement setMultiple:]):
   10121         (-[DOMHTMLSelectElement size]):
   10122         (-[DOMHTMLSelectElement setSize:]):
   10123         (-[DOMHTMLOptGroupElement disabled]):
   10124         (-[DOMHTMLOptGroupElement setDisabled:]):
   10125         (-[DOMHTMLOptGroupElement label]):
   10126         (-[DOMHTMLOptGroupElement setLabel:]):
   10127         (-[DOMHTMLOptionElement defaultSelected]):
   10128         (-[DOMHTMLOptionElement setDefaultSelected:]):
   10129         (-[DOMHTMLOptionElement disabled]):
   10130         (-[DOMHTMLOptionElement setDisabled:]):
   10131         (-[DOMHTMLOptionElement label]):
   10132         (-[DOMHTMLOptionElement setLabel:]):
   10133         (-[DOMHTMLInputElement defaultValue]):
   10134         (-[DOMHTMLInputElement setDefaultValue:]):
   10135         (-[DOMHTMLInputElement defaultChecked]):
   10136         (-[DOMHTMLInputElement setDefaultChecked:]):
   10137         (-[DOMHTMLInputElement accept]):
   10138         (-[DOMHTMLInputElement setAccept:]):
   10139         (-[DOMHTMLInputElement accessKey]):
   10140         (-[DOMHTMLInputElement setAccessKey:]):
   10141         (-[DOMHTMLInputElement align]):
   10142         (-[DOMHTMLInputElement setAlign:]):
   10143         (-[DOMHTMLInputElement alt]):
   10144         (-[DOMHTMLInputElement setAlt:]):
   10145         (-[DOMHTMLInputElement disabled]):
   10146         (-[DOMHTMLInputElement setDisabled:]):
   10147         (-[DOMHTMLInputElement maxLength]):
   10148         (-[DOMHTMLInputElement setMaxLength:]):
   10149         (-[DOMHTMLInputElement readOnly]):
   10150         (-[DOMHTMLInputElement setReadOnly:]):
   10151         (-[DOMHTMLInputElement size]):
   10152         (-[DOMHTMLInputElement setSize:]):
   10153         (-[DOMHTMLInputElement setSrc:]):
   10154         (-[DOMHTMLInputElement useMap]):
   10155         (-[DOMHTMLInputElement setUseMap:]):
   10156         (-[DOMHTMLTextAreaElement accessKey]):
   10157         (-[DOMHTMLTextAreaElement setAccessKey:]):
   10158         (-[DOMHTMLTextAreaElement cols]):
   10159         (-[DOMHTMLTextAreaElement setCols:]):
   10160         (-[DOMHTMLTextAreaElement disabled]):
   10161         (-[DOMHTMLTextAreaElement setDisabled:]):
   10162         (-[DOMHTMLTextAreaElement readOnly]):
   10163         (-[DOMHTMLTextAreaElement setReadOnly:]):
   10164         (-[DOMHTMLTextAreaElement rows]):
   10165         (-[DOMHTMLTextAreaElement setRows:]):
   10166         (-[DOMHTMLButtonElement accessKey]):
   10167         (-[DOMHTMLButtonElement setAccessKey:]):
   10168         (-[DOMHTMLButtonElement disabled]):
   10169         (-[DOMHTMLButtonElement setDisabled:]):
   10170         (-[DOMHTMLButtonElement value]):
   10171         (-[DOMHTMLButtonElement setValue:]):
   10172         (-[DOMHTMLLabelElement accessKey]):
   10173         (-[DOMHTMLLabelElement setAccessKey:]):
   10174         (-[DOMHTMLLabelElement htmlFor]):
   10175         (-[DOMHTMLLabelElement setHtmlFor:]):
   10176         (-[DOMHTMLLegendElement accessKey]):
   10177         (-[DOMHTMLLegendElement setAccessKey:]):
   10178         (-[DOMHTMLLegendElement align]):
   10179         (-[DOMHTMLLegendElement setAlign:]):
   10180         (-[DOMHTMLUListElement compact]):
   10181         (-[DOMHTMLUListElement setCompact:]):
   10182         (-[DOMHTMLUListElement type]):
   10183         (-[DOMHTMLUListElement setType:]):
   10184         (-[DOMHTMLOListElement compact]):
   10185         (-[DOMHTMLOListElement setCompact:]):
   10186         (-[DOMHTMLOListElement start]):
   10187         (-[DOMHTMLOListElement setStart:]):
   10188         (-[DOMHTMLOListElement type]):
   10189         (-[DOMHTMLOListElement setType:]):
   10190         (-[DOMHTMLDListElement compact]):
   10191         (-[DOMHTMLDListElement setCompact:]):
   10192         (-[DOMHTMLDirectoryElement compact]):
   10193         (-[DOMHTMLDirectoryElement setCompact:]):
   10194         (-[DOMHTMLMenuElement compact]):
   10195         (-[DOMHTMLMenuElement setCompact:]):
   10196         (-[DOMHTMLLIElement type]):
   10197         (-[DOMHTMLLIElement setType:]):
   10198         (-[DOMHTMLLIElement value]):
   10199         (-[DOMHTMLLIElement setValue:]):
   10200         (-[DOMHTMLQuoteElement cite]):
   10201         (-[DOMHTMLQuoteElement setCite:]):
   10202         (-[DOMHTMLDivElement align]):
   10203         (-[DOMHTMLDivElement setAlign:]):
   10204         (-[DOMHTMLParagraphElement align]):
   10205         (-[DOMHTMLParagraphElement setAlign:]):
   10206         (-[DOMHTMLHeadingElement align]):
   10207         (-[DOMHTMLHeadingElement setAlign:]):
   10208         (-[DOMHTMLPreElement width]):
   10209         (-[DOMHTMLPreElement setWidth:]):
   10210         (-[DOMHTMLBRElement clear]):
   10211         (-[DOMHTMLBRElement setClear:]):
   10212         (-[DOMHTMLBaseFontElement color]):
   10213         (-[DOMHTMLBaseFontElement setColor:]):
   10214         (-[DOMHTMLBaseFontElement face]):
   10215         (-[DOMHTMLBaseFontElement setFace:]):
   10216         (-[DOMHTMLBaseFontElement size]):
   10217         (-[DOMHTMLBaseFontElement setSize:]):
   10218         (-[DOMHTMLFontElement color]):
   10219         (-[DOMHTMLFontElement setColor:]):
   10220         (-[DOMHTMLFontElement face]):
   10221         (-[DOMHTMLFontElement setFace:]):
   10222         (-[DOMHTMLFontElement size]):
   10223         (-[DOMHTMLFontElement setSize:]):
   10224         (-[DOMHTMLHRElement align]):
   10225         (-[DOMHTMLHRElement setAlign:]):
   10226         (-[DOMHTMLHRElement noShade]):
   10227         (-[DOMHTMLHRElement setNoShade:]):
   10228         (-[DOMHTMLHRElement size]):
   10229         (-[DOMHTMLHRElement setSize:]):
   10230         (-[DOMHTMLHRElement width]):
   10231         (-[DOMHTMLHRElement setWidth:]):
   10232         (-[DOMHTMLModElement cite]):
   10233         (-[DOMHTMLModElement setCite:]):
   10234         (-[DOMHTMLModElement dateTime]):
   10235         (-[DOMHTMLModElement setDateTime:]):
   10236         (-[DOMHTMLAnchorElement accessKey]):
   10237         (-[DOMHTMLAnchorElement setAccessKey:]):
   10238         (-[DOMHTMLAnchorElement charset]):
   10239         (-[DOMHTMLAnchorElement setCharset:]):
   10240         (-[DOMHTMLAnchorElement coords]):
   10241         (-[DOMHTMLAnchorElement setCoords:]):
   10242         (-[DOMHTMLAnchorElement setHref:]):
   10243         (-[DOMHTMLAnchorElement hreflang]):
   10244         (-[DOMHTMLAnchorElement setHreflang:]):
   10245         (-[DOMHTMLAnchorElement name]):
   10246         (-[DOMHTMLAnchorElement setName:]):
   10247         (-[DOMHTMLAnchorElement rel]):
   10248         (-[DOMHTMLAnchorElement setRel:]):
   10249         (-[DOMHTMLAnchorElement rev]):
   10250         (-[DOMHTMLAnchorElement setRev:]):
   10251         (-[DOMHTMLAnchorElement shape]):
   10252         (-[DOMHTMLAnchorElement setShape:]):
   10253         (-[DOMHTMLAnchorElement tabIndex]):
   10254         (-[DOMHTMLAnchorElement setTabIndex:]):
   10255         (-[DOMHTMLAnchorElement target]):
   10256         (-[DOMHTMLAnchorElement setTarget:]):
   10257         (-[DOMHTMLAnchorElement type]):
   10258         (-[DOMHTMLAnchorElement setType:]):
   10259         (-[DOMHTMLImageElement name]):
   10260         (-[DOMHTMLImageElement setName:]):
   10261         (-[DOMHTMLImageElement align]):
   10262         (-[DOMHTMLImageElement setAlign:]):
   10263         (-[DOMHTMLImageElement alt]):
   10264         (-[DOMHTMLImageElement setAlt:]):
   10265         (-[DOMHTMLImageElement border]):
   10266         (-[DOMHTMLImageElement setBorder:]):
   10267         (-[DOMHTMLImageElement height]):
   10268         (-[DOMHTMLImageElement setHeight:]):
   10269         (-[DOMHTMLImageElement hspace]):
   10270         (-[DOMHTMLImageElement setHspace:]):
   10271         (-[DOMHTMLImageElement isMap]):
   10272         (-[DOMHTMLImageElement setIsMap:]):
   10273         (-[DOMHTMLImageElement longDesc]):
   10274         (-[DOMHTMLImageElement setLongDesc:]):
   10275         (-[DOMHTMLImageElement setSrc:]):
   10276         (-[DOMHTMLImageElement useMap]):
   10277         (-[DOMHTMLImageElement setUseMap:]):
   10278         (-[DOMHTMLImageElement vspace]):
   10279         (-[DOMHTMLImageElement setVspace:]):
   10280         (-[DOMHTMLImageElement width]):
   10281         (-[DOMHTMLImageElement setWidth:]):
   10282         (-[DOMHTMLObjectElement code]):
   10283         (-[DOMHTMLObjectElement setCode:]):
   10284         (-[DOMHTMLObjectElement align]):
   10285         (-[DOMHTMLObjectElement setAlign:]):
   10286         (-[DOMHTMLObjectElement archive]):
   10287         (-[DOMHTMLObjectElement setArchive:]):
   10288         (-[DOMHTMLObjectElement border]):
   10289         (-[DOMHTMLObjectElement setBorder:]):
   10290         (-[DOMHTMLObjectElement codeBase]):
   10291         (-[DOMHTMLObjectElement setCodeBase:]):
   10292         (-[DOMHTMLObjectElement codeType]):
   10293         (-[DOMHTMLObjectElement setCodeType:]):
   10294         (-[DOMHTMLObjectElement data]):
   10295         (-[DOMHTMLObjectElement setData:]):
   10296         (-[DOMHTMLObjectElement declare]):
   10297         (-[DOMHTMLObjectElement setDeclare:]):
   10298         (-[DOMHTMLObjectElement height]):
   10299         (-[DOMHTMLObjectElement setHeight:]):
   10300         (-[DOMHTMLObjectElement hspace]):
   10301         (-[DOMHTMLObjectElement setHspace:]):
   10302         (-[DOMHTMLObjectElement name]):
   10303         (-[DOMHTMLObjectElement setName:]):
   10304         (-[DOMHTMLObjectElement standby]):
   10305         (-[DOMHTMLObjectElement setStandby:]):
   10306         (-[DOMHTMLObjectElement tabIndex]):
   10307         (-[DOMHTMLObjectElement setTabIndex:]):
   10308         (-[DOMHTMLObjectElement type]):
   10309         (-[DOMHTMLObjectElement setType:]):
   10310         (-[DOMHTMLObjectElement useMap]):
   10311         (-[DOMHTMLObjectElement setUseMap:]):
   10312         (-[DOMHTMLObjectElement vspace]):
   10313         (-[DOMHTMLObjectElement setVspace:]):
   10314         (-[DOMHTMLObjectElement width]):
   10315         (-[DOMHTMLObjectElement setWidth:]):
   10316         (-[DOMHTMLParamElement name]):
   10317         (-[DOMHTMLParamElement setName:]):
   10318         (-[DOMHTMLParamElement type]):
   10319         (-[DOMHTMLParamElement setType:]):
   10320         (-[DOMHTMLParamElement value]):
   10321         (-[DOMHTMLParamElement setValue:]):
   10322         (-[DOMHTMLParamElement valueType]):
   10323         (-[DOMHTMLParamElement setValueType:]):
   10324         (-[DOMHTMLAppletElement align]):
   10325         (-[DOMHTMLAppletElement setAlign:]):
   10326         (-[DOMHTMLAppletElement alt]):
   10327         (-[DOMHTMLAppletElement setAlt:]):
   10328         (-[DOMHTMLAppletElement archive]):
   10329         (-[DOMHTMLAppletElement setArchive:]):
   10330         (-[DOMHTMLAppletElement code]):
   10331         (-[DOMHTMLAppletElement setCode:]):
   10332         (-[DOMHTMLAppletElement codeBase]):
   10333         (-[DOMHTMLAppletElement setCodeBase:]):
   10334         (-[DOMHTMLAppletElement height]):
   10335         (-[DOMHTMLAppletElement setHeight:]):
   10336         (-[DOMHTMLAppletElement hspace]):
   10337         (-[DOMHTMLAppletElement setHspace:]):
   10338         (-[DOMHTMLAppletElement name]):
   10339         (-[DOMHTMLAppletElement setName:]):
   10340         (-[DOMHTMLAppletElement object]):
   10341         (-[DOMHTMLAppletElement setObject:]):
   10342         (-[DOMHTMLAppletElement vspace]):
   10343         (-[DOMHTMLAppletElement setVspace:]):
   10344         (-[DOMHTMLAppletElement width]):
   10345         (-[DOMHTMLAppletElement setWidth:]):
   10346         (-[DOMHTMLMapElement name]):
   10347         (-[DOMHTMLMapElement setName:]):
   10348         (-[DOMHTMLAreaElement accessKey]):
   10349         (-[DOMHTMLAreaElement setAccessKey:]):
   10350         (-[DOMHTMLAreaElement alt]):
   10351         (-[DOMHTMLAreaElement setAlt:]):
   10352         (-[DOMHTMLAreaElement coords]):
   10353         (-[DOMHTMLAreaElement setCoords:]):
   10354         (-[DOMHTMLAreaElement setHref:]):
   10355         (-[DOMHTMLAreaElement noHref]):
   10356         (-[DOMHTMLAreaElement setNoHref:]):
   10357         (-[DOMHTMLAreaElement shape]):
   10358         (-[DOMHTMLAreaElement setShape:]):
   10359         (-[DOMHTMLAreaElement tabIndex]):
   10360         (-[DOMHTMLAreaElement setTabIndex:]):
   10361         (-[DOMHTMLAreaElement target]):
   10362         (-[DOMHTMLAreaElement setTarget:]):
   10363         (-[DOMHTMLScriptElement text]):
   10364         (-[DOMHTMLScriptElement setText:]):
   10365         (-[DOMHTMLScriptElement charset]):
   10366         (-[DOMHTMLScriptElement setCharset:]):
   10367         (-[DOMHTMLScriptElement defer]):
   10368         (-[DOMHTMLScriptElement setDefer:]):
   10369         (-[DOMHTMLScriptElement src]):
   10370         (-[DOMHTMLScriptElement setSrc:]):
   10371         (-[DOMHTMLScriptElement type]):
   10372         (-[DOMHTMLScriptElement setType:]):
   10373         (-[DOMHTMLTableCaptionElement align]):
   10374         (-[DOMHTMLTableCaptionElement setAlign:]):
   10375         (-[DOMHTMLTableSectionElement align]):
   10376         (-[DOMHTMLTableSectionElement setAlign:]):
   10377         (-[DOMHTMLTableSectionElement ch]):
   10378         (-[DOMHTMLTableSectionElement setCh:]):
   10379         (-[DOMHTMLTableSectionElement chOff]):
   10380         (-[DOMHTMLTableSectionElement setChOff:]):
   10381         (-[DOMHTMLTableSectionElement vAlign]):
   10382         (-[DOMHTMLTableSectionElement setVAlign:]):
   10383         (-[DOMHTMLTableElement align]):
   10384         (-[DOMHTMLTableElement setAlign:]):
   10385         (-[DOMHTMLTableElement bgColor]):
   10386         (-[DOMHTMLTableElement setBgColor:]):
   10387         (-[DOMHTMLTableElement border]):
   10388         (-[DOMHTMLTableElement setBorder:]):
   10389         (-[DOMHTMLTableElement cellPadding]):
   10390         (-[DOMHTMLTableElement setCellPadding:]):
   10391         (-[DOMHTMLTableElement cellSpacing]):
   10392         (-[DOMHTMLTableElement setCellSpacing:]):
   10393         (-[DOMHTMLTableElement frameBorders]):
   10394         (-[DOMHTMLTableElement setFrameBorders:]):
   10395         (-[DOMHTMLTableElement rules]):
   10396         (-[DOMHTMLTableElement setRules:]):
   10397         (-[DOMHTMLTableElement summary]):
   10398         (-[DOMHTMLTableElement setSummary:]):
   10399         (-[DOMHTMLTableElement width]):
   10400         (-[DOMHTMLTableElement setWidth:]):
   10401         (-[DOMHTMLTableColElement align]):
   10402         (-[DOMHTMLTableColElement setAlign:]):
   10403         (-[DOMHTMLTableColElement ch]):
   10404         (-[DOMHTMLTableColElement setCh:]):
   10405         (-[DOMHTMLTableColElement chOff]):
   10406         (-[DOMHTMLTableColElement setChOff:]):
   10407         (-[DOMHTMLTableColElement span]):
   10408         (-[DOMHTMLTableColElement setSpan:]):
   10409         (-[DOMHTMLTableColElement vAlign]):
   10410         (-[DOMHTMLTableColElement setVAlign:]):
   10411         (-[DOMHTMLTableColElement width]):
   10412         (-[DOMHTMLTableColElement setWidth:]):
   10413         (-[DOMHTMLTableRowElement align]):
   10414         (-[DOMHTMLTableRowElement setAlign:]):
   10415         (-[DOMHTMLTableRowElement bgColor]):
   10416         (-[DOMHTMLTableRowElement setBgColor:]):
   10417         (-[DOMHTMLTableRowElement ch]):
   10418         (-[DOMHTMLTableRowElement setCh:]):
   10419         (-[DOMHTMLTableRowElement chOff]):
   10420         (-[DOMHTMLTableRowElement setChOff:]):
   10421         (-[DOMHTMLTableRowElement vAlign]):
   10422         (-[DOMHTMLTableRowElement setVAlign:]):
   10423         (-[DOMHTMLTableCellElement abbr]):
   10424         (-[DOMHTMLTableCellElement setAbbr:]):
   10425         (-[DOMHTMLTableCellElement align]):
   10426         (-[DOMHTMLTableCellElement setAlign:]):
   10427         (-[DOMHTMLTableCellElement axis]):
   10428         (-[DOMHTMLTableCellElement setAxis:]):
   10429         (-[DOMHTMLTableCellElement bgColor]):
   10430         (-[DOMHTMLTableCellElement setBgColor:]):
   10431         (-[DOMHTMLTableCellElement ch]):
   10432         (-[DOMHTMLTableCellElement setCh:]):
   10433         (-[DOMHTMLTableCellElement chOff]):
   10434         (-[DOMHTMLTableCellElement setChOff:]):
   10435         (-[DOMHTMLTableCellElement colSpan]):
   10436         (-[DOMHTMLTableCellElement setColSpan:]):
   10437         (-[DOMHTMLTableCellElement headers]):
   10438         (-[DOMHTMLTableCellElement setHeaders:]):
   10439         (-[DOMHTMLTableCellElement height]):
   10440         (-[DOMHTMLTableCellElement setHeight:]):
   10441         (-[DOMHTMLTableCellElement noWrap]):
   10442         (-[DOMHTMLTableCellElement setNoWrap:]):
   10443         (-[DOMHTMLTableCellElement rowSpan]):
   10444         (-[DOMHTMLTableCellElement setRowSpan:]):
   10445         (-[DOMHTMLTableCellElement scope]):
   10446         (-[DOMHTMLTableCellElement setScope:]):
   10447         (-[DOMHTMLTableCellElement vAlign]):
   10448         (-[DOMHTMLTableCellElement setVAlign:]):
   10449         (-[DOMHTMLTableCellElement width]):
   10450         (-[DOMHTMLTableCellElement setWidth:]):
   10451         (-[DOMHTMLFrameSetElement rows]):
   10452         (-[DOMHTMLFrameSetElement setRows:]):
   10453         (-[DOMHTMLFrameSetElement cols]):
   10454         (-[DOMHTMLFrameSetElement setCols:]):
   10455         (-[DOMHTMLFrameElement frameBorder]):
   10456         (-[DOMHTMLFrameElement setFrameBorder:]):
   10457         (-[DOMHTMLFrameElement longDesc]):
   10458         (-[DOMHTMLFrameElement setLongDesc:]):
   10459         (-[DOMHTMLFrameElement marginHeight]):
   10460         (-[DOMHTMLFrameElement setMarginHeight:]):
   10461         (-[DOMHTMLFrameElement marginWidth]):
   10462         (-[DOMHTMLFrameElement setMarginWidth:]):
   10463         (-[DOMHTMLFrameElement name]):
   10464         (-[DOMHTMLFrameElement setName:]):
   10465         (-[DOMHTMLFrameElement noResize]):
   10466         (-[DOMHTMLFrameElement setNoResize:]):
   10467         (-[DOMHTMLFrameElement scrolling]):
   10468         (-[DOMHTMLFrameElement setScrolling:]):
   10469         (-[DOMHTMLFrameElement src]):
   10470         (-[DOMHTMLFrameElement setSrc:]):
   10471         (-[DOMHTMLIFrameElement align]):
   10472         (-[DOMHTMLIFrameElement setAlign:]):
   10473         (-[DOMHTMLIFrameElement frameBorder]):
   10474         (-[DOMHTMLIFrameElement setFrameBorder:]):
   10475         (-[DOMHTMLIFrameElement height]):
   10476         (-[DOMHTMLIFrameElement setHeight:]):
   10477         (-[DOMHTMLIFrameElement longDesc]):
   10478         (-[DOMHTMLIFrameElement setLongDesc:]):
   10479         (-[DOMHTMLIFrameElement marginHeight]):
   10480         (-[DOMHTMLIFrameElement setMarginHeight:]):
   10481         (-[DOMHTMLIFrameElement marginWidth]):
   10482         (-[DOMHTMLIFrameElement setMarginWidth:]):
   10483         (-[DOMHTMLIFrameElement name]):
   10484         (-[DOMHTMLIFrameElement setName:]):
   10485         (-[DOMHTMLIFrameElement noResize]):
   10486         (-[DOMHTMLIFrameElement setNoResize:]):
   10487         (-[DOMHTMLIFrameElement scrolling]):
   10488         (-[DOMHTMLIFrameElement setScrolling:]):
   10489         (-[DOMHTMLIFrameElement src]):
   10490         (-[DOMHTMLIFrameElement setSrc:]):
   10491         (-[DOMHTMLIFrameElement width]):
   10492         (-[DOMHTMLIFrameElement setWidth:]):
   10493         (-[DOMHTMLEmbedElement align]):
   10494         (-[DOMHTMLEmbedElement setAlign:]):
   10495         (-[DOMHTMLEmbedElement height]):
   10496         (-[DOMHTMLEmbedElement setHeight:]):
   10497         (-[DOMHTMLEmbedElement name]):
   10498         (-[DOMHTMLEmbedElement setName:]):
   10499         (-[DOMHTMLEmbedElement src]):
   10500         (-[DOMHTMLEmbedElement setSrc:]):
   10501         (-[DOMHTMLEmbedElement type]):
   10502         (-[DOMHTMLEmbedElement setType:]):
   10503         (-[DOMHTMLEmbedElement width]):
   10504         (-[DOMHTMLEmbedElement setWidth:]):
   10505         * kwq/KWQAccObject.mm:
   10506         (-[KWQAccObject helpText]):
   10507         (-[KWQAccObject accessibilityDescription]):
   10508         (-[KWQAccObject accessibilityAttributeValue:]):
   10509         * kwq/KWQKHTMLPart.mm:
   10510         (KWQKHTMLPart::matchLabelsAgainstElement):
   10511         (KWQKHTMLPart::fileWrapperForElement):
   10512         (KWQKHTMLPart::attributedString):
   10513         (KWQKHTMLPart::styleForSelectionStart):
   10514         * kwq/WebCoreBridge.mm:
   10515         (-[WebCoreBridge elementAtPoint:]):
   10516 
   10517 2005-07-18  David Harrison  <harrison (a] apple.com>
   10518 
   10519         Reviewed by Justin.
   10520 
   10521         <rdar://problem/4065343> Mail: Deleting a line sometimes makes the insertion point jump to the top of the message
   10522         
   10523         Test cases added: delete-br-011.html
   10524 
   10525         * khtml/editing/delete_selection_command.cpp:
   10526         (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete):
   10527         Make sure m_endingSelection is usable.
   10528         
   10529         (khtml::DeleteSelectionCommand::doApply):
   10530         Skip general delete related code when just doing handleSpecialCaseBRDelete().
   10531         
   10532         * layout-tests/editing/deleting/delete-br-011-expected.txt: Added.
   10533         * layout-tests/editing/deleting/delete-br-011.html: Added.
   10534         Mimics composing a Mail.app reply, clicking past the end of the content, and hitting delete key.
   10535 
   10536 2005-07-15  Adele Peterson  <adele (a] apple.com>
   10537 
   10538         Written by Anders Carlsson  <andersca (a] mac.com>
   10539         Reviewed by Dave Hyatt.
   10540 
   10541 	- Fixes <http://bugs.webkit.org/show_bug.cgi?id=3653>
   10542 	
   10543         Test cases added:
   10544 	layout-tests/fast/dom/createDocumentType.html: Added
   10545 	layout-tests/fast/dom/createDocumentType-expected.txt: Added
   10546 
   10547         * khtml/xml/dom_nodeimpl.cpp: (DocumentPtr::nullDocumentPtr):
   10548         * khtml/xml/dom_nodeimpl.h:
   10549 	Add nullDocumentPtr() function which returns a shared DocumentPtr
   10550 	object whose document always is 0.
   10551 	
   10552         * khtml/xml/dom_docimpl.cpp: (DOMImplementationImpl::createDocumentType):
   10553 	Pass nullDocumentPtr as the document type's document.
   10554 
   10555 2005-07-15  Adele Peterson  <adele (a] apple.com>
   10556 
   10557         Written by Anders Carlsson  <andersca (a] mac.com>
   10558         Reviewed by Maciej Stachowiak.
   10559 
   10560 	- Fixes <http://bugs.webkit.org/show_bug.cgi?id=3808>
   10561 
   10562         Test cases added:
   10563 	* layout-tests/fast/js/location-assign.html: Added.
   10564 	* layout-tests/fast/js/location-assign-expected.txt: Added.
   10565 	* layout-tests/fast/js/resources/new-location.html: Added.
   10566 
   10567         * khtml/ecma/kjs_window.cpp:
   10568         (KJS::Location::get):
   10569         (KJS::LocationFunc::tryCall):
   10570         * khtml/ecma/kjs_window.h: (KJS::Location::): Implement location.assign.
   10571 
   10572 2005-07-15  Adele Peterson  <adele (a] apple.com>
   10573 
   10574         Updated layout tests for formatting changes from change for
   10575         http://bugs.webkit.org/show_bug.cgi?id=3601
   10576 
   10577         * layout-tests/fast/dom/outerText-no-element-expected.txt:
   10578         * layout-tests/fast/dynamic/outerHTML-no-element-expected.txt:
   10579         * layout-tests/fast/js/array-every-expected.txt:
   10580         * layout-tests/fast/js/array-foreach-expected.txt:
   10581         * layout-tests/fast/js/array-some-expected.txt:
   10582         * layout-tests/fast/js/toString-stack-overflow-expected.txt:
   10583 
   10584 2005-07-15  Kevin Decker  <kdecker (a] apple.com>
   10585 
   10586         Reviewed by Adele
   10587 
   10588 	Fixed: http://bugs.webkit.org/show_bug.cgi?id=4009
   10589         Test cases added: none, doesn't affect layout
   10590 
   10591         * khtml/khtml_part.cpp:
   10592         (KHTMLPart::scheduleLocationChange): Corrected an earlier mistake of testing an always non-zero constant. 
   10593 
   10594 2005-07-14  John Sullivan  <sullivan (a] apple.com>
   10595 
   10596         Reviewed by Ken Kocienda (setFocusNode) and Dave Hyatt (everything).
   10597 
   10598         - WebCore part of fix for: 
   10599         <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
   10600 
   10601         Test cases added: none, doesn't affect layout
   10602         
   10603         There were two different problems leading to the same symptom, both of which needed to be fixed.
   10604         The first problem was that ancient and unneeded code in setFocusNode(0) was setting the focus 
   10605         to the enclosing WebHTMLView. The second problem was that the WebHTMLView didn't learn about
   10606         form controls resigning first-responder-hood, and so didn't update the displayed focus state.
   10607 
   10608         * khtml/xml/dom_docimpl.cpp:
   10609         (DocumentImpl::setFocusNode):
   10610         Removed a line of code that was setting the focus on the WebHTMLView whenever a form control
   10611         lost focus. This doesn't make sense in a world where the focus might be moving to something
   10612         outside of the web page entirely. This line of code was added ages ago to fix Radar 3037974,
   10613         which is not reproducible anymore with this line of code removed.
   10614         
   10615         * kwq/WebCoreBridge.h:
   10616         New bridge method -formControlIsResigningFirstResponder:, used to inform WebKit that a form
   10617         control is losing first-responder-hood.
   10618 
   10619         * kwq/KWQButton.mm:
   10620         (-[KWQButton resignFirstResponder]):
   10621         call formControlIsResigningFirstResponder:
   10622 
   10623         * kwq/KWQComboBox.mm:
   10624         (-[KWQPopUpButton resignFirstResponder]):
   10625         ditto
   10626         
   10627         * kwq/KWQListBox.mm:
   10628         (-[KWQTableView resignFirstResponder]):
   10629         ditto
   10630         
   10631         * kwq/KWQSlider.mm:
   10632         (-[KWQSlider resignFirstResponder]):
   10633         ditto
   10634         
   10635         * kwq/KWQTextArea.mm:
   10636         (-[KWQTextAreaTextView resignFirstResponder]):
   10637         ditto
   10638         
   10639         * kwq/KWQTextField.mm:
   10640         (-[KWQTextFieldController setHasFocus:]):
   10641         ditto
   10642 
   10643 2005-07-14  John Sullivan  <sullivan (a] apple.com>
   10644 
   10645         Reviewed by Ken Kocienda.
   10646         
   10647         - fixed <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
   10648 
   10649         Test cases added: none, doesn't affect layout
   10650 
   10651         * khtml/xml/dom_docimpl.cpp:
   10652         (DocumentImpl::setFocusNode):
   10653         Removed a line of code that was setting the focus on the WebHTMLView whenever a form control
   10654         lost focus. This doesn't make sense in a world where the focus might be moving to something
   10655         outside of the web page entirely. This line of code was added ages ago to fix Radar 3037974,
   10656         which is not reproducible anymore with this line of code removed.
   10657 
   10658 2005-07-12  Justin Garcia  <justin.garcia (a] apple.com>
   10659 
   10660         Reviewed by mjs
   10661 
   10662         - Fixes <rdar://problem/4124326> [RTL] Lines in messages with Hebrew text and numbers are truncated by Tiger Mail 
   10663         
   10664         Mail sends plaintext when a message doesn't have any formatting, plaintext depends on 
   10665         innertext, which depends on TextIterators.  A TextIterator iterates over text boxes 
   10666         in render order, but assumes logical order, which was causing the problems.
   10667 
   10668         Test cases added:
   10669         * layout-tests/fast/text/international/bidi-innertext-expected.txt: Added.
   10670         * layout-tests/fast/text/international/bidi-innertext.html: Added.
   10671 
   10672         * khtml/editing/visible_text.cpp:
   10673         (khtml::TextIterator::handleTextNode):
   10674             If the text node contains reversed text, sort the text boxes (m_sortedTextBoxes).  
   10675             Not all reversed text will be out of logical order, but this simple check is less expensive 
   10676             than doing an exhaustive one.  Most text is LTR and an exhaustive check might hurt performance.
   10677         (khtml::TextIterator::handleTextBox):
   10678             Iterates over sorted text boxes when necessary
   10679         * khtml/editing/visible_text.h:
   10680         * khtml/rendering/render_text.cpp:
   10681         (RenderText::RenderText):
   10682         (RenderText::position):
   10683             If asked to position a text box with reversed text, modify m_containsReversedText
   10684         * khtml/rendering/render_text.h:
   10685         (khtml::InlineTextBox::operator ==): Added to facilitate sorting
   10686         (khtml::InlineTextBox::operator <): Ditto
   10687         (khtml::RenderText::containsReversedText):
   10688         
   10689 
   10690 2005-07-14  Justin Garcia  <justin.garcia (a] apple.com>
   10691 
   10692         Patch by Anders Carlsson and justin
   10693 
   10694         Reviewed by mjs
   10695         
   10696         Fixes the following related bugs: 
   10697         <http://bugs.webkit.org/show_bug.cgi?id=3298> insertRow generates DOM Exception if TABLE does not possess a TBODY
   10698         <rdar://problem/4045213> insertRow fails on a <table> that has no <tbody> but does have other children in the DOM
   10699         <rdar://problem/3609576> insertRow() on table object containing any characters but no TR & TD elements fails (3476)
   10700         
   10701         Does a better job of maintaining the firstBody variable so that it's not invalidated on .innerHTML = ""
   10702         Better check for when to add an implicit tbody to hold the inserted row.
   10703 
   10704         Test cases added: (NONE)
   10705         * layout-tests/fast/dom/HTMLTableElement/insert-row-expected.txt: Added.
   10706         * layout-tests/fast/dom/HTMLTableElement/insert-row.html: Added.
   10707 
   10708         * khtml/html/html_tableimpl.cpp:
   10709         (DOM::HTMLTableElementImpl::~HTMLTableElementImpl):
   10710         (DOM::HTMLTableElementImpl::setTBody):
   10711         (DOM::HTMLTableElementImpl::insertRow):
   10712         (DOM::HTMLTableElementImpl::addChild):
   10713         (DOM::HTMLTableElementImpl::childrenChanged):
   10714         * khtml/html/html_tableimpl.h:
   10715 
   10716 
   10717 2005-07-14  Vicki Murley  <vicki (a] apple.com>
   10718 
   10719         Reviewed by hyatt, patch from Carsten Guenther.
   10720 
   10721 	- fix for http://bugs.webkit.org/show_bug.cgi?id=3855
   10722 
   10723         Test cases added:
   10724         * manual-tests/bugzilla-3855.html: Added.
   10725 
   10726         * kwq/KWQKHTMLPart.mm: 
   10727         (KWQKHTMLPart::searchForLabelsAboveCell): check for the existence of the cell renderer
   10728 
   10729 2005-07-14  Vicki Murley  <vicki (a] apple.com>
   10730 
   10731 	- added manual tests for <rdar://problem/4172380> [GENENTECH] window.opener not available 
   10732 	when child opened via target="_new"
   10733         
   10734 	Test cases added: 
   10735         * manual-tests/target_new-1.html: Added.
   10736         * manual-tests/target_new.html: Added.
   10737 
   10738 2005-07-14  Geoffrey Garen  <ggaren (a] apple.com>
   10739 
   10740         - landed fix for <http://bugs.webkit.org/show_bug.cgi?id=3677>
   10741         Safari fail to access a second time an element whose content was dynamically modified.
   10742         
   10743         - patch by Anders Carlsson <andersca (a] mac.com>.
   10744 
   10745         Reviewed by mjs + darin.
   10746 
   10747         Test cases added:
   10748         * layout-tests/fast/dom/ids/duplicate-ids-expected.txt: Added.
   10749         * layout-tests/fast/dom/ids/duplicate-ids.html: Added.
   10750         
   10751         * khtml/xml/dom_docimpl.cpp:
   10752         (DocumentImpl::getElementById):
   10753         If no element in the id dict can be found and we know that there's
   10754         at least one other element with the same id around, then traverse the document
   10755         and insert the new element in the id table.
   10756         
   10757         (DocumentImpl::addElementById):
   10758         (DocumentImpl::removeElementById):
   10759         Increment and decrement the id count accordingly.
   10760         
   10761         * khtml/xml/dom_docimpl.h:
   10762         Add QDict for id counts. Make element QDict mutable.
   10763 
   10764 2005-07-14  Geoffrey Garen  <ggaren (a] apple.com>
   10765 
   10766         -landed layout test for http://bugs.webkit.org/show_bug.cgi?id=3412
   10767         Object.prototype is missing toLocaleString
   10768 
   10769         Reviewed by mjs.
   10770 
   10771         Test cases added:
   10772         * layout-tests/fast/js/object-prototype-toLocaleString-expected.txt: Added.
   10773         * layout-tests/fast/js/object-prototype-toLocaleString.html: Added.
   10774 
   10775 2005-07-14  Vicki Murley  <vicki (a] apple.com>
   10776 
   10777         Reviewed by Kocienda.
   10778 
   10779         - WebCore part of fix for  <rdar://problem/4172380> [GENENTECH] window.opener 
   10780         not available when child opened via target="_new"
   10781 
   10782         Add a setOpener function to the WebCore bridge, and call this function when opening
   10783         new windows through Web Kit.
   10784 
   10785         * kwq/WebCoreBridge.h:
   10786         * kwq/WebCoreBridge.mm:
   10787 
   10788 2005-07-12  Maciej Stachowiak  <mjs (a] apple.com>
   10789 
   10790         Reviewed by Kevin.
   10791 
   10792         - convert some more things to use the new hashtable
   10793 
   10794         * khtml/ecma/kjs_binding.cpp:
   10795         (KJS::domObjects):
   10796         (KJS::domNodesPerDocument):
   10797         (KJS::ScriptInterpreter::getDOMObject):
   10798         (KJS::ScriptInterpreter::putDOMObject):
   10799         (KJS::ScriptInterpreter::deleteDOMObject):
   10800         (KJS::ScriptInterpreter::forgetDOMObject):
   10801         (KJS::ScriptInterpreter::getDOMNodeForDocument):
   10802         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
   10803         (KJS::ScriptInterpreter::putDOMNodeForDocument):
   10804         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument):
   10805         (KJS::ScriptInterpreter::mark):
   10806         (KJS::ScriptInterpreter::updateDOMNodeDocument):
   10807         * khtml/ecma/kjs_binding.h:
   10808         * khtml/ecma/kjs_window.h: Include QPtrDict header
   10809         * khtml/ecma/xmlhttprequest.h: ditto
   10810 
   10811 	- fix a bug with remove of a nonexistent key - it used to trash
   10812 	the table
   10813 	
   10814         * khtml/misc/hashtable.h:
   10815         (khtml::::remove):
   10816 
   10817 2005-07-13  Justin Garcia  <justin.garcia (a] apple.com>
   10818 
   10819         Reviewed by mjs
   10820 
   10821         Rolled in workarounds necessary to build with a gcc 4.0 regression introduced in build 5208:
   10822         <rdar://problem/4175534> Regression in gcc-5208 "comparison of distinct Objective-C types lacks a cast" warning
   10823         Problems overloading methods that take Objective-C typed arguments
   10824             
   10825         * kwq/KWQCursor.h:
   10826         * kwq/KWQCursor.mm:
   10827         (QCursor::makeWithNSCursor):
   10828         * kwq/KWQKCursor.mm:
   10829         (KCursor::crossCursor):
   10830         (KCursor::handCursor):
   10831         (KCursor::sizeAllCursor):
   10832         (KCursor::ibeamCursor):
   10833         (KCursor::waitCursor):
   10834         (KCursor::whatsThisCursor):
   10835         (KCursor::eastResizeCursor):
   10836         (KCursor::northResizeCursor):
   10837         (KCursor::northEastResizeCursor):
   10838         (KCursor::northWestResizeCursor):
   10839         (KCursor::southResizeCursor):
   10840         (KCursor::southEastResizeCursor):
   10841         (KCursor::southWestResizeCursor):
   10842         (KCursor::westResizeCursor):
   10843         * kwq/KWQKJobClasses.mm:
   10844         (KIO::TransferJob::emitResult):
   10845         (KIO::TransferJob::emitReceivedResponse):
   10846         * kwq/KWQSignal.h:
   10847         * kwq/KWQSignal.mm:
   10848         (KWQSignal::callWithData):
   10849         (KWQSignal::callWithResponse):
   10850         * kwq/KWQSlot.h:
   10851         * kwq/KWQSlot.mm:
   10852         (KWQSlot::callWithData):
   10853         (KWQSlot::callWithResponse):
   10854         * kwq/KWQWidget.mm:
   10855         (QWidget::cursor):
   10856 
   10857 2005-07-13  Justin Garcia  <justin.garcia (a] apple.com>
   10858 
   10859         Reviewed by mjs
   10860 
   10861         Rolling in changes necessary to build with newer versions of gcc 4.0
   10862 
   10863         * kwq/DOM-CSS.mm:
   10864         (+[DOMCSSPrimitiveValue _valueWithImpl:]):
   10865         * kwq/DOMEvents.h:
   10866         * kwq/DOMInternal.h:
   10867         (addDOMWrapper):
   10868         * kwq/KWQButton.mm:
   10869         (QButton::setWritingDirection):
   10870         * kwq/KWQClipboard.mm:
   10871         (KWQClipboard::dragNSImage):
   10872         * kwq/KWQComboBox.mm:
   10873         (QComboBox::setWritingDirection):
   10874         (QComboBox::populateMenu):
   10875         * kwq/KWQKHTMLPart.mm:
   10876         (regExpForLabels):
   10877         (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
   10878         (KWQKHTMLPart::fileWrapperForElement):
   10879         * kwq/KWQLineEdit.mm:
   10880         (QLineEdit::QLineEdit):
   10881         * kwq/KWQListBox.mm:
   10882         (QListBox::~QListBox):
   10883         (QListBox::setSelectionMode):
   10884         (QListBox::doneAppendingItems):
   10885         (QListBox::setSelected):
   10886         (QListBox::isSelected):
   10887         (QListBox::setEnabled):
   10888         (QListBox::sizeForNumberOfLines):
   10889         (QListBox::setWritingDirection):
   10890         * kwq/KWQScrollView.mm:
   10891         (QScrollView::contentsX):
   10892         (QScrollView::contentsY):
   10893         * kwq/KWQTextArea.mm:
   10894         (-[KWQTextArea _trackResizeFromMouseDown:]):
   10895         (-[KWQTextAreaTextView _enclosingTextArea]):
   10896         (-[KWQTextAreaTextView _resizeCornerRect]):
   10897         * kwq/KWQTextEdit.mm:
   10898         (QTextEdit::setAlignment):
   10899         (QTextEdit::setWritingDirection):
   10900         (QTextEdit::sizeWithColumnsAndRows):
   10901         (QTextEdit::setPalette):
   10902         * kwq/KWQWidget.mm:
   10903         (QWidget::hasFocus):
   10904         * kwq/WebCoreBridge.mm:
   10905         (-[WebCoreBridge elementAtPoint:]):
   10906 
   10907 2005-07-13  John Sullivan  <sullivan (a] apple.com>
   10908 
   10909         Reviewed by Maciej Stachowiak.
   10910         
   10911         - cleaned up Find-related experimental code that I checked in a while back
   10912 
   10913         * kwq/KWQKHTMLPart.h:
   10914         remove findInSelection flag from findString()
   10915         * kwq/KWQKHTMLPart.mm:
   10916         (KWQKHTMLPart::findString):
   10917         remove findInSelection flag. Always search the selection first, but if the found range is
   10918         the same as the selection range, then search again from beyond the selection.
   10919         
   10920         * kwq/WebCoreBridge.h:
   10921         * kwq/WebCoreBridge.mm:
   10922         (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:]):
   10923         remove findInSelection flag
   10924 
   10925 2005-07-13  Adele Peterson  <adele (a] apple.com>
   10926 
   10927         Reviewed by John.
   10928 
   10929         Fixed <rdar://problem/4170963> Focusing a field unnecessarily horizontally scrolls
   10930 
   10931         Horizontal scrolling while tabbing through forms can be surprising, and distracting.  This 
   10932         change will minimize that scrolling if we're not explicitly trying to center a rectangle in
   10933         _KWQ_scrollRectToVisible.
   10934 
   10935         Test cases added: None.  This test case involves tabbing to form controls and scrolling.
   10936 
   10937         * kwq/KWQNSViewExtras.m: (-[NSClipView _KWQ_scrollRectToVisible:inView:forceCentering:]):
   10938 
   10939 2005-07-12  Kevin Decker  <kdecker (a] apple.com>
   10940 
   10941          Reviewed by cblu.
   10942 
   10943 	Fixed: 
   10944 	  http://bugs.webkit.org/show_bug.cgi?id=3968
   10945 	 <rdar://problem/4172645> REGRESSION: top frame only loads at banking site - http://www.skandiabanken.no
   10946 
   10947         Test cases added: None; This fixes a race condition that is not reproducible locally.
   10948 
   10949         * khtml/khtml_part.cpp:
   10950         (KHTMLPart::scheduleLocationChange): If a redirect was scheduled during a load, then stop the current load. Otherwise when the current load transitions from a provisional to a committed state, pending redirects may be cancelled. 
   10951 
   10952 2005-07-12  Beth Dakin  <bdakin (a] apple.com>
   10953 
   10954 	Fix for http://bugs.webkit.org/show_bug.cgi?id=3942 and marquee problems in Radar bug 
   10955 	4172312. Vertical marquees default to 200px, and horizontal marquees do not allow text to be 
   10956 	truncated by a too-small height attribute. 
   10957 
   10958         Reviewed by Hyatt.
   10959 
   10960         Test cases added: (NONE)
   10961 
   10962         * khtml/html/html_blockimpl.cpp: deleted former changes to make marquee height work correctly.
   10963         (HTMLMarqueeElementImpl::mapToEntry):
   10964         (HTMLMarqueeElementImpl::parseMappedAttribute):
   10965         * khtml/rendering/render_layer.cpp: this is where the height issues are now addressed
   10966         (Marquee::updateMarqueeStyle):
   10967         * khtml/rendering/render_layer.h: 
   10968         (khtml::):
   10969         * khtml/rendering/render_style.h: added function fontSize() 
   10970         (khtml::RenderStyle::fontSize):
   10971         * khtml/xml/dom_elementimpl.h: deleted addition of EMarquee hash key
   10972         (DOM::):
   10973         * layout-tests/fast/css/MarqueeLayoutTest-expected.txt: 
   10974         * layout-tests/fast/css/MarqueeLayoutTest.html: added vertical marquees to test.
   10975 
   10976 2005-07-12  Geoffrey Garen  <ggaren (a] apple.com>
   10977 
   10978         Test cases modified:
   10979         * layout-tests/fast/frames/iframe-name-and-id.html:
   10980         now tests dynamically creating frames[x].name
   10981 
   10982 2005-07-12  Geoffrey Garen  <ggaren (a] apple.com>
   10983 
   10984         Added layout test for 
   10985         http://bugs.webkit.org/show_bug.cgi?id=3435
   10986         Parentheses are backwards in Hebrew text (no bidi mirroring?)
   10987 
   10988         Test is manual because results only reflect visually -
   10989         the layout is the same either way.
   10990         
   10991         Test cases added:
   10992         * manual-tests/bidi-parens.html: Added.
   10993 
   10994 2005-07-12  Ken Kocienda  <kocienda (a] apple.com>
   10995 
   10996         Reviewed by me
   10997 
   10998         Test cases added: (NONE)
   10999 
   11000         * kwq/KWQTextCodec.mm: Fix build breakage. /me is a real genius.
   11001 
   11002 2005-07-12  Ken Kocienda  <kocienda (a] apple.com>
   11003 
   11004         Reviewed by Chris Blumenberg
   11005 
   11006         Test cases added: (NONE)
   11007 
   11008         Switched over from TEC to ICU for unicode text conversion. TEC support has now been
   11009         removed from KWQTextCodec. I just added this dual support yesterday, and while Maciej 
   11010         and I agreed that it was good to land in the tree in case we run into problems in the
   11011         near future, we also agreed that cutting over to using ICU full time right now is 
   11012         probably the best way to find bugs.
   11013         
   11014         * kwq/KWQTextCodec.mm: Removed TEC support.
   11015         (QTextCodec::fromUnicode): Ditto.
   11016         (KWQTextDecoder::KWQTextDecoder): Ditto.
   11017         (KWQTextDecoder::~KWQTextDecoder): Ditto.
   11018         (KWQTextDecoder::convert): Ditto.
   11019         * kwq/WebCoreBridge.h: Removed some glue that allowed the converters to
   11020         be changed at runtime.
   11021         * kwq/WebCoreTextConversionMethod.h: Removed. This also was glue for the runtime switch.
   11022         * WebCore.pbproj/project.pbxproj: Removed WebCoreTextConversionMethod.h file.
   11023 
   11024 2005-07-12  Eric Seidel  <eseidel (a] apple.com>
   11025 
   11026         Reviewed by hyatt.
   11027 
   11028         * icu/unicode/ucnv.h: Added.
   11029         * icu/unicode/ucnv_err.h: Added.
   11030         Fixes build break for externals caused by KWQTextCodec.mm changes.
   11031         http://bugs.webkit.org/show_bug.cgi?id=3961
   11032 
   11033 2005-07-11  Eric Seidel  <eseidel (a] apple.com>
   11034 
   11035         Reviewed by Adele.
   11036 
   11037         * kdom/Namespace.h: Merged in XPath 2.0 namespace def from KDE.
   11038         * kdom/Shared.h: Merged in comments from KDE.
   11039         * kdom/kdom.h: Changed local // to use #ifndef APPLE_CHANGES
   11040         (KDOM::operator<<):
   11041         A tiny batch of changes I wished to commit before moving
   11042         WebCore/kdom to SVGSupport/kdom.
   11043         http://bugs.webkit.org/show_bug.cgi?id=3959
   11044 
   11045 2005-07-11  Geoffrey Garen  <ggaren (a] apple.com>
   11046 
   11047 	-fixed rdar://problem/4170960 
   11048 	http://bugs.webkit.org/show_bug.cgi?id=3952 
   11049 	iFrame name and id information incorrectly returned
   11050         
   11051 	Reviewed by mjs.
   11052 
   11053         Test cases added: (NONE)
   11054         * layout-tests/fast/frames/iframe-name-and-id-expected.txt: Added.
   11055         * layout-tests/fast/frames/iframe-name-and-id.html: Added.
   11056 
   11057         * ChangeLog:
   11058         * khtml/html/html_baseimpl.cpp:
   11059         (HTMLFrameElementImpl::attach): removed misleading comment
   11060         (HTMLIFrameElementImpl::attach): copied FrameElementImpl behavior
   11061 	for initializing m_name
   11062 
   11063 2005-07-11  Ken Kocienda  <kocienda (a] apple.com>
   11064 
   11065         Reviewed by Richard
   11066 
   11067         Test cases added: (NONE)
   11068 
   11069         * WebCore.pbproj/project.pbxproj:
   11070         * kwq/KWQLogging.h: Added constant for logging text conversions.
   11071         * kwq/KWQLogging.m: Ditto.
   11072         * kwq/KWQTextCodec.mm: Added support for using the ICU library for unicode text conversion.
   11073         (KWQTextDecoder::KWQTextDecoder): Check for conversion method to use.
   11074         (KWQTextDecoder::~KWQTextDecoder): Release ICU converter if needed.
   11075         (KWQTextDecoder::convertUTF16): Use constant rather in place of hard-coded buffer size.
   11076         (KWQTextDecoder::createTECConverter): Name change: qualify converter names with TEC suffix.
   11077         (KWQTextDecoder::createICUConverter): New function to create an ICU converter.
   11078         (KWQTextDecoder::convertOneChunkUsingTEC): Name change: qualify converter names with TEC suffix.
   11079         (KWQTextDecoder::convertUsingTEC): Ditto. Also, use constant rather in place of hard-coded buffer size.
   11080         (KWQTextDecoder::convertUsingICU): New function to convert text using ICU.
   11081         (KWQTextDecoder::convert): Now switches on converters, picking either TEC or ICU.
   11082         * kwq/WebCoreBridge.h: Add -textConversionMethod accessor so KWQTextDecoder can pick the right converter.
   11083         * kwq/WebCoreTextConversionMethod.h: Added.
   11084 
   11085 2005-07-11  Ken Kocienda  <kocienda (a] apple.com>
   11086 
   11087         Reviewed by me
   11088 
   11089         Test cases added: (NONE)
   11090 
   11091         * WebCore.pbproj/project.pbxproj: Fix project file.
   11092 
   11093 2005-07-11  Ken Kocienda  <kocienda (a] apple.com>
   11094 
   11095         Reviewed by me
   11096 
   11097         Test cases added: (NONE)
   11098 
   11099         * ChangeLog: Fixed two typos I found while reading the ChangeLog.
   11100 
   11101 2005-07-10  Maciej Stachowiak  <mjs (a] apple.com>
   11102 
   11103         Reviewed by John.
   11104 
   11105         * khtml/html/htmltokenizer.cpp:
   11106         (khtml::HTMLTokenizer::parseTag): Don't allow !doctype as a tag name, this screws up
   11107 	parsing and makes !doctype elements and extra text nodes get added to the DOM.
   11108         * khtml/xml/dom_atomicstring.cpp:
   11109         (DOM::AtomicString::equal): Add some nil checks, now that the equal this calls
   11110 	no longer checks for nil.
   11111 
   11112 2005-07-10  Eric Seidel  <eseidel (a] apple.com>
   11113 
   11114         Reviewed by mjs.
   11115 
   11116         * ksvg2/core/KCanvasRenderingStyle.cc: Added.
   11117         * ksvg2/core/KCanvasRenderingStyle.h: Added.
   11118         * ksvg2/core/KSVGDocumentBuilder.cc: Added.
   11119         * ksvg2/core/KSVGDocumentBuilder.h: Added.
   11120         * ksvg2/core/KSVGTimeScheduler.cc: Added.
   11121         * ksvg2/core/KSVGTimeScheduler.h: Added.
   11122         * ksvg2/core/KSVGTimeScheduler.moc: Added.
   11123         Added directory previously ignored by global cvsignore rules.
   11124         http://bugs.webkit.org/show_bug.cgi?id=3939
   11125 
   11126 2005-07-10  Eric Seidel  <eseidel (a] apple.com>
   11127 
   11128         Reviewed by mjs.
   11129 
   11130         * WebCore.pbproj/project.pbxproj:
   11131         added htmlfactory.* to WebCore+SVG
   11132         Also fixed /sw/bin/bison absolute path.
   11133         http://bugs.webkit.org/show_bug.cgi?id=3938
   11134 
   11135 2005-07-09  Timothy Hatcher  <timothy (a] colloquy.info>
   11136 
   11137         Reviewed and landed by Maciej.
   11138 
   11139 	Fixed a build error with GCC4 and the use of _M_type.
   11140 
   11141         * khtml/misc/hashtraits.h:
   11142         Test for GCC4 and use the new __value enum from _M_type.
   11143 
   11144 2005-07-09  David Hyatt  <hyatt (a] apple.com>
   11145 
   11146 	Make sure to keep eLastEntry at the end of the list, since it is used for the dynamic portion of the
   11147 	hash.
   11148 	
   11149         Reviewed by mjs
   11150 
   11151 2005-07-09  Maciej Stachowiak  <mjs (a] apple.com>
   11152 
   11153         Reviewed by Eric Seidel.
   11154 
   11155         - removed unused files
   11156 
   11157         * kdom/impl/NodeKeeper.cc: Removed.
   11158         * kdom/impl/NodeKeeper.h: Removed.
   11159         * WebCore.pbproj/project.pbxproj: Remove from +SVG build.
   11160 
   11161 2005-07-09  David Hyatt  <hyatt (a] apple.com>
   11162 
   11163 	Fix for bugzilla bug 3405, replace NodeImpl::Id with a new class,
   11164 	QualifiedName, to represent tag names (for DOM elements and CSS
   11165 	selectors).
   11166 	
   11167         Reviewed by mjs
   11168 
   11169         * WebCore.pbproj/project.pbxproj:
   11170         * khtml/css/css_base.cpp:
   11171         (CSSSelector::anyTagName):
   11172         (CSSSelector::print):
   11173         (CSSSelector::specificity):
   11174         (CSSSelector::selectorText):
   11175         * khtml/css/css_base.h:
   11176         (DOM::CSSNamespace::uri):
   11177         (DOM::CSSNamespace::prefix):
   11178         (DOM::CSSNamespace::namespaceForPrefix):
   11179         (DOM::CSSSelector::CSSSelector):
   11180         (DOM::CSSSelector::hasTag):
   11181         * khtml/css/css_ruleimpl.cpp:
   11182         * khtml/css/css_ruleimpl.h:
   11183         * khtml/css/css_stylesheetimpl.cpp:
   11184         (CSSStyleSheetImpl::addNamespace):
   11185         (CSSStyleSheetImpl::determineNamespace):
   11186         * khtml/css/css_stylesheetimpl.h:
   11187         * khtml/css/cssparser.cpp:
   11188         (CSSParser::CSSParser):
   11189         (CSSParser::parseSheet):
   11190         * khtml/css/cssparser.h:
   11191         * khtml/css/cssstyleselector.cpp:
   11192         (khtml::CSSStyleSelector::matchRules):
   11193         (khtml::CSSStyleSelector::matchRulesForList):
   11194         (khtml::CSSStyleSelector::canShareStyleWithElement):
   11195         (khtml::CSSStyleSelector::adjustRenderStyle):
   11196         (khtml::CSSStyleSelector::checkSelector):
   11197         (khtml::CSSStyleSelector::checkOneSelector):
   11198         (khtml::CSSRuleSet::addRule):
   11199         * khtml/css/cssstyleselector.h:
   11200         (khtml::CSSRuleSet::getTagRules):
   11201         * khtml/css/parser.y:
   11202         * khtml/dom/css_stylesheet.cpp:
   11203         (LinkStyle::operator = ):
   11204         (LinkStyle::sheet):
   11205         * khtml/dom/dom_element.cpp:
   11206         (Element::tagName):
   11207         * khtml/dom/dom_node.cpp:
   11208         (Node::namespaceURI):
   11209         (Node::setPrefix):
   11210         * khtml/dom/dom_node.h:
   11211         * khtml/dom/html_base.cpp:
   11212         (HTMLBodyElement::operator = ):
   11213         (HTMLFrameElement::operator = ):
   11214         (HTMLIFrameElement::operator = ):
   11215         (HTMLFrameSetElement::operator = ):
   11216         (HTMLHeadElement::operator = ):
   11217         (HTMLHtmlElement::operator = ):
   11218         * khtml/dom/html_block.cpp:
   11219         (HTMLBlockquoteElement::operator = ):
   11220         (HTMLDivElement::operator = ):
   11221         (HTMLHRElement::operator = ):
   11222         (HTMLHeadingElement::operator = ):
   11223         (HTMLParagraphElement::operator = ):
   11224         (HTMLPreElement::operator = ):
   11225         * khtml/dom/html_element.cpp:
   11226         (HTMLElement::assignOther):
   11227         * khtml/dom/html_element.h:
   11228         * khtml/dom/html_form.cpp:
   11229         (HTMLButtonElement::operator = ):
   11230         (HTMLFieldSetElement::operator = ):
   11231         (HTMLFormElement::operator = ):
   11232         (HTMLInputElement::operator = ):
   11233         (HTMLLabelElement::operator = ):
   11234         (HTMLLegendElement::operator = ):
   11235         (HTMLOptGroupElement::operator = ):
   11236         (HTMLSelectElement::operator = ):
   11237         (HTMLTextAreaElement::operator = ):
   11238         (HTMLOptionElement::operator = ):
   11239         (HTMLIsIndexElement::operator = ):
   11240         * khtml/dom/html_head.cpp:
   11241         (HTMLBaseElement::operator = ):
   11242         (HTMLLinkElement::operator = ):
   11243         (HTMLMetaElement::operator = ):
   11244         (HTMLScriptElement::operator = ):
   11245         (HTMLStyleElement::operator = ):
   11246         (HTMLTitleElement::operator = ):
   11247         * khtml/dom/html_image.cpp:
   11248         (HTMLAreaElement::operator = ):
   11249         (HTMLImageElement::operator = ):
   11250         (HTMLMapElement::operator = ):
   11251         * khtml/dom/html_inline.cpp:
   11252         (HTMLAnchorElement::operator = ):
   11253         (HTMLBRElement::operator = ):
   11254         (HTMLFontElement::operator = ):
   11255         (HTMLModElement::HTMLModElement):
   11256         (HTMLModElement::operator = ):
   11257         (HTMLQuoteElement::HTMLQuoteElement):
   11258         (HTMLQuoteElement::operator = ):
   11259         * khtml/dom/html_inline.h:
   11260         * khtml/dom/html_list.cpp:
   11261         (HTMLDListElement::operator = ):
   11262         (HTMLDirectoryElement::operator = ):
   11263         (HTMLLIElement::operator = ):
   11264         (HTMLMenuElement::operator = ):
   11265         (HTMLOListElement::operator = ):
   11266         (HTMLUListElement::operator = ):
   11267         * khtml/dom/html_misc.cpp:
   11268         (HTMLBaseFontElement::operator = ):
   11269         * khtml/dom/html_object.cpp:
   11270         (DOM::HTMLAppletElement::operator = ):
   11271         (DOM::HTMLObjectElement::operator = ):
   11272         (DOM::HTMLParamElement::operator = ):
   11273         * khtml/dom/html_table.cpp:
   11274         (HTMLTableCaptionElement::operator = ):
   11275         (HTMLTableCellElement::operator = ):
   11276         (HTMLTableColElement::operator = ):
   11277         (HTMLTableElement::operator = ):
   11278         (HTMLTableRowElement::operator = ):
   11279         (HTMLTableSectionElement::operator = ):
   11280         * khtml/ecma/kjs_css.cpp:
   11281         (KJS::DOMStyleSheetList::tryGet):
   11282         * khtml/ecma/kjs_dom.cpp:
   11283         (KJS::DOMNode::putValue):
   11284         (KJS::DOMElement::tryGet):
   11285         (KJS::getRuntimeObject):
   11286         * khtml/ecma/kjs_html.cpp:
   11287         (KJS::HTMLDocument::tryGet):
   11288         (KJS::KJS::HTMLDocument::putValue):
   11289         (KJS::KJS::HTMLElement::classInfo):
   11290         (KJS::):
   11291         (KJS::HTMLElement::getSetInfo):
   11292         (KJS::KJS::HTMLElement::tryGet):
   11293         (KJS::KJS::HTMLElement::implementsCall):
   11294         (KJS::KJS::HTMLElement::call):
   11295         (KJS::HTMLElement::htmlGetter):
   11296         (KJS::HTMLElement::headGetter):
   11297         (KJS::HTMLElement::linkGetter):
   11298         (KJS::HTMLElement::titleGetter):
   11299         (KJS::HTMLElement::metaGetter):
   11300         (KJS::HTMLElement::baseGetter):
   11301         (KJS::HTMLElement::isIndexGetter):
   11302         (KJS::HTMLElement::styleGetter):
   11303         (KJS::HTMLElement::bodyGetter):
   11304         (KJS::HTMLElement::formGetter):
   11305         (KJS::HTMLElement::selectGetter):
   11306         (KJS::HTMLElement::optGroupGetter):
   11307         (KJS::HTMLElement::optionGetter):
   11308         (KJS::getInputSelectionStart):
   11309         (KJS::getInputSelectionEnd):
   11310         (KJS::HTMLElement::inputGetter):
   11311         (KJS::HTMLElement::textAreaGetter):
   11312         (KJS::HTMLElement::buttonGetter):
   11313         (KJS::HTMLElement::labelGetter):
   11314         (KJS::HTMLElement::fieldSetGetter):
   11315         (KJS::HTMLElement::legendGetter):
   11316         (KJS::HTMLElement::uListGetter):
   11317         (KJS::HTMLElement::oListGetter):
   11318         (KJS::HTMLElement::dListGetter):
   11319         (KJS::HTMLElement::dirGetter):
   11320         (KJS::HTMLElement::menuGetter):
   11321         (KJS::HTMLElement::liGetter):
   11322         (KJS::HTMLElement::divGetter):
   11323         (KJS::HTMLElement::paragraphGetter):
   11324         (KJS::HTMLElement::headingGetter):
   11325         (KJS::HTMLElement::blockQuoteGetter):
   11326         (KJS::HTMLElement::quoteGetter):
   11327         (KJS::HTMLElement::preGetter):
   11328         (KJS::HTMLElement::brGetter):
   11329         (KJS::HTMLElement::baseFontGetter):
   11330         (KJS::HTMLElement::fontGetter):
   11331         (KJS::HTMLElement::hrGetter):
   11332         (KJS::HTMLElement::modGetter):
   11333         (KJS::HTMLElement::anchorGetter):
   11334         (KJS::HTMLElement::imageGetter):
   11335         (KJS::HTMLElement::objectGetter):
   11336         (KJS::HTMLElement::paramGetter):
   11337         (KJS::HTMLElement::appletGetter):
   11338         (KJS::HTMLElement::mapGetter):
   11339         (KJS::HTMLElement::areaGetter):
   11340         (KJS::HTMLElement::scriptGetter):
   11341         (KJS::HTMLElement::tableGetter):
   11342         (KJS::HTMLElement::tableCaptionGetter):
   11343         (KJS::HTMLElement::tableColGetter):
   11344         (KJS::HTMLElement::tableSectionGetter):
   11345         (KJS::HTMLElement::tableRowGetter):
   11346         (KJS::HTMLElement::tableCellGetter):
   11347         (KJS::HTMLElement::frameSetGetter):
   11348         (KJS::HTMLElement::frameGetter):
   11349         (KJS::HTMLElement::iFrameGetter):
   11350         (KJS::HTMLElement::marqueeGetter):
   11351         (KJS::HTMLElement::getValueProperty):
   11352         (KJS::KJS::HTMLElement::hasOwnProperty):
   11353         (KJS::KJS::HTMLElement::toString):
   11354         (KJS::getForm):
   11355         (KJS::KJS::HTMLElement::pushEventHandlerScope):
   11356         (KJS::KJS::HTMLElementFunction::tryCall):
   11357         (KJS::KJS::HTMLElement::tryPut):
   11358         (KJS::HTMLElement::htmlSetter):
   11359         (KJS::HTMLElement::headSetter):
   11360         (KJS::HTMLElement::linkSetter):
   11361         (KJS::HTMLElement::titleSetter):
   11362         (KJS::HTMLElement::metaSetter):
   11363         (KJS::HTMLElement::baseSetter):
   11364         (KJS::HTMLElement::isIndexSetter):
   11365         (KJS::HTMLElement::styleSetter):
   11366         (KJS::HTMLElement::bodySetter):
   11367         (KJS::HTMLElement::formSetter):
   11368         (KJS::HTMLElement::selectSetter):
   11369         (KJS::HTMLElement::optGroupSetter):
   11370         (KJS::HTMLElement::optionSetter):
   11371         (KJS::HTMLElement::inputSetter):
   11372         (KJS::HTMLElement::textAreaSetter):
   11373         (KJS::HTMLElement::buttonSetter):
   11374         (KJS::HTMLElement::labelSetter):
   11375         (KJS::HTMLElement::fieldSetSetter):
   11376         (KJS::HTMLElement::legendSetter):
   11377         (KJS::HTMLElement::uListSetter):
   11378         (KJS::HTMLElement::oListSetter):
   11379         (KJS::HTMLElement::dListSetter):
   11380         (KJS::HTMLElement::dirSetter):
   11381         (KJS::HTMLElement::menuSetter):
   11382         (KJS::HTMLElement::liSetter):
   11383         (KJS::HTMLElement::divSetter):
   11384         (KJS::HTMLElement::paragraphSetter):
   11385         (KJS::HTMLElement::headingSetter):
   11386         (KJS::HTMLElement::blockQuoteSetter):
   11387         (KJS::HTMLElement::quoteSetter):
   11388         (KJS::HTMLElement::preSetter):
   11389         (KJS::HTMLElement::brSetter):
   11390         (KJS::HTMLElement::baseFontSetter):
   11391         (KJS::HTMLElement::fontSetter):
   11392         (KJS::HTMLElement::hrSetter):
   11393         (KJS::HTMLElement::modSetter):
   11394         (KJS::HTMLElement::anchorSetter):
   11395         (KJS::HTMLElement::imageSetter):
   11396         (KJS::HTMLElement::objectSetter):
   11397         (KJS::HTMLElement::paramSetter):
   11398         (KJS::HTMLElement::appletSetter):
   11399         (KJS::HTMLElement::mapSetter):
   11400         (KJS::HTMLElement::areaSetter):
   11401         (KJS::HTMLElement::scriptSetter):
   11402         (KJS::HTMLElement::tableSetter):
   11403         (KJS::HTMLElement::tableCaptionSetter):
   11404         (KJS::HTMLElement::tableColSetter):
   11405         (KJS::HTMLElement::tableSectionSetter):
   11406         (KJS::HTMLElement::tableRowSetter):
   11407         (KJS::HTMLElement::tableCellSetter):
   11408         (KJS::HTMLElement::frameSetSetter):
   11409         (KJS::HTMLElement::frameSetter):
   11410         (KJS::HTMLElement::iFrameSetter):
   11411         (KJS::HTMLElement::marqueeSetter):
   11412         (KJS::HTMLElement::putValue):
   11413         (KJS::toHTMLTableCaptionElement):
   11414         (KJS::toHTMLTableSectionElement):
   11415         (KJS::KJS::HTMLCollection::tryGet):
   11416         (KJS::KJS::HTMLSelectCollection::tryPut):
   11417         * khtml/ecma/kjs_html.h:
   11418         * khtml/ecma/kjs_window.cpp:
   11419         * khtml/editing/apply_style_command.cpp:
   11420         (khtml::isStyleSpan):
   11421         (khtml::isEmptyStyleSpan):
   11422         (khtml::isEmptyFontTag):
   11423         (khtml::createFontElement):
   11424         (khtml::createStyleSpanElement):
   11425         (khtml::ApplyStyleCommand::applyInlineStyle):
   11426         (khtml::ApplyStyleCommand::isHTMLStyleNode):
   11427         (khtml::ApplyStyleCommand::removeHTMLFontStyle):
   11428         (khtml::areIdenticalElements):
   11429         (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
   11430         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   11431         * khtml/editing/break_blockquote_command.cpp:
   11432         (khtml::BreakBlockquoteCommand::doApply):
   11433         * khtml/editing/composite_edit_command.cpp:
   11434         (khtml::CompositeEditCommand::insertNodeBefore):
   11435         (khtml::CompositeEditCommand::insertNodeAfter):
   11436         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
   11437         (khtml::createBlockPlaceholderElement):
   11438         * khtml/editing/delete_selection_command.cpp:
   11439         (khtml::isListStructureNode):
   11440         (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete):
   11441         (khtml::DeleteSelectionCommand::handleGeneralDelete):
   11442         (khtml::DeleteSelectionCommand::moveNodesAfterNode):
   11443         * khtml/editing/htmlediting.cpp:
   11444         (khtml::isSpecialElement):
   11445         (khtml::createDefaultParagraphElement):
   11446         (khtml::createBreakElement):
   11447         (khtml::isMailBlockquote):
   11448         * khtml/editing/insert_line_break_command.cpp:
   11449         (khtml::InsertLineBreakCommand::doApply):
   11450         * khtml/editing/insert_paragraph_separator_command.cpp:
   11451         (khtml::InsertParagraphSeparatorCommand::doApply):
   11452         * khtml/editing/markup.cpp:
   11453         (khtml::startMarkup):
   11454         (khtml::endMarkup):
   11455         (khtml::markup):
   11456         (khtml::createMarkup):
   11457         (khtml::createFragmentFromText):
   11458         * khtml/editing/replace_selection_command.cpp:
   11459         (khtml::isProbablyBlock):
   11460         (khtml::isProbablyTableStructureNode):
   11461         (khtml::ReplacementFragment::isInterchangeNewlineNode):
   11462         (khtml::ReplacementFragment::removeStyleNodes):
   11463         (khtml::ReplaceSelectionCommand::doApply):
   11464         (khtml::ReplaceSelectionCommand::updateNodesInserted):
   11465         * khtml/editing/selection.cpp:
   11466         (khtml::Selection::debugRenderer):
   11467         * khtml/editing/visible_position.cpp:
   11468         (khtml::VisiblePosition::init):
   11469         (khtml::VisiblePosition::isCandidate):
   11470         (khtml::VisiblePosition::isAtomicNode):
   11471         * khtml/editing/visible_text.cpp:
   11472         (khtml::TextIterator::handleNonTextNode):
   11473         (khtml::TextIterator::exitNode):
   11474         (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode):
   11475         * khtml/editing/visible_units.cpp:
   11476         (khtml::endOfLine):
   11477         * khtml/html/dtd.cpp: Removed.
   11478         * khtml/html/dtd.h: Removed.
   11479         * khtml/html/html_baseimpl.cpp:
   11480         (HTMLBodyElementImpl::HTMLBodyElementImpl):
   11481         (HTMLFrameElementImpl::HTMLFrameElementImpl):
   11482         (HTMLFrameElementImpl::init):
   11483         (HTMLFrameElementImpl::attach):
   11484         (HTMLFrameSetElementImpl::HTMLFrameSetElementImpl):
   11485         (HTMLFrameSetElementImpl::checkDTD):
   11486         (HTMLFrameSetElementImpl::attach):
   11487         (HTMLHeadElementImpl::HTMLHeadElementImpl):
   11488         (HTMLHeadElementImpl::checkDTD):
   11489         (HTMLHtmlElementImpl::HTMLHtmlElementImpl):
   11490         (HTMLHtmlElementImpl::checkDTD):
   11491         (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
   11492         * khtml/html/html_baseimpl.h:
   11493         (DOM::HTMLBodyElementImpl::endTagRequirement):
   11494         (DOM::HTMLBodyElementImpl::tagPriority):
   11495         (DOM::HTMLFrameElementImpl::endTagRequirement):
   11496         (DOM::HTMLFrameElementImpl::tagPriority):
   11497         (DOM::HTMLFrameSetElementImpl::endTagRequirement):
   11498         (DOM::HTMLFrameSetElementImpl::tagPriority):
   11499         (DOM::HTMLHeadElementImpl::endTagRequirement):
   11500         (DOM::HTMLHeadElementImpl::tagPriority):
   11501         (DOM::HTMLHtmlElementImpl::endTagRequirement):
   11502         (DOM::HTMLHtmlElementImpl::tagPriority):
   11503         (DOM::HTMLIFrameElementImpl::endTagRequirement):
   11504         (DOM::HTMLIFrameElementImpl::tagPriority):
   11505         * khtml/html/html_blockimpl.cpp:
   11506         (HTMLBlockquoteElementImpl::HTMLBlockquoteElementImpl):
   11507         (HTMLDivElementImpl::HTMLDivElementImpl):
   11508         (HTMLHRElementImpl::HTMLHRElementImpl):
   11509         (HTMLHeadingElementImpl::HTMLHeadingElementImpl):
   11510         (HTMLHeadingElementImpl::checkDTD):
   11511         (HTMLParagraphElementImpl::HTMLParagraphElementImpl):
   11512         (HTMLParagraphElementImpl::checkDTD):
   11513         (HTMLPreElementImpl::HTMLPreElementImpl):
   11514         (HTMLMarqueeElementImpl::HTMLMarqueeElementImpl):
   11515         (HTMLMarqueeElementImpl::parseMappedAttribute):
   11516         * khtml/html/html_blockimpl.h:
   11517         (DOM::HTMLBlockquoteElementImpl::endTagRequirement):
   11518         (DOM::HTMLBlockquoteElementImpl::tagPriority):
   11519         (DOM::HTMLDivElementImpl::endTagRequirement):
   11520         (DOM::HTMLDivElementImpl::tagPriority):
   11521         (DOM::HTMLHRElementImpl::endTagRequirement):
   11522         (DOM::HTMLHRElementImpl::tagPriority):
   11523         (DOM::HTMLHeadingElementImpl::endTagRequirement):
   11524         (DOM::HTMLHeadingElementImpl::tagPriority):
   11525         (DOM::HTMLParagraphElementImpl::endTagRequirement):
   11526         (DOM::HTMLParagraphElementImpl::tagPriority):
   11527         (DOM::HTMLPreElementImpl::endTagRequirement):
   11528         (DOM::HTMLPreElementImpl::tagPriority):
   11529         (DOM::HTMLMarqueeElementImpl::endTagRequirement):
   11530         (DOM::HTMLMarqueeElementImpl::tagPriority):
   11531         * khtml/html/html_canvasimpl.cpp:
   11532         (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
   11533         * khtml/html/html_canvasimpl.h:
   11534         * khtml/html/html_documentimpl.cpp:
   11535         (DOM::HTMLDocumentImpl::childAllowed):
   11536         (DOM::HTMLDocumentImpl::createElement):
   11537         * khtml/html/html_documentimpl.h:
   11538         * khtml/html/html_elementimpl.cpp:
   11539         (HTMLElementImpl::HTMLElementImpl):
   11540         (HTMLElementImpl::nodeName):
   11541         (HTMLElementImpl::endTagRequirement):
   11542         (HTMLElementImpl::tagPriority):
   11543         (HTMLElementImpl::cloneNode):
   11544         (HTMLElementImpl::createContextualFragment):
   11545         (HTMLElementImpl::setInnerHTML):
   11546         (HTMLElementImpl::setOuterHTML):
   11547         (HTMLElementImpl::setInnerText):
   11548         (HTMLElementImpl::setOuterText):
   11549         (HTMLElementImpl::toString):
   11550         (HTMLElementImpl::id):
   11551         (HTMLElementImpl::childAllowed):
   11552         (HTMLElementImpl::isRecognizedTagName):
   11553         (inlineTagList):
   11554         (blockTagList):
   11555         (HTMLElementImpl::inEitherTagList):
   11556         (HTMLElementImpl::inInlineTagList):
   11557         (HTMLElementImpl::inBlockTagList):
   11558         (HTMLElementImpl::checkDTD):
   11559         * khtml/html/html_elementimpl.h:
   11560         (DOM::):
   11561         * khtml/html/html_formimpl.cpp:
   11562         (DOM::HTMLFormElementImpl::HTMLFormElementImpl):
   11563         (DOM::HTMLFormElementImpl::submitClick):
   11564         (DOM::HTMLFormElementImpl::formData):
   11565         (DOM::HTMLFormElementImpl::submit):
   11566         (DOM::HTMLFormElementImpl::radioClicked):
   11567         (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
   11568         (DOM::HTMLGenericFormElementImpl::getForm):
   11569         (DOM::HTMLButtonElementImpl::HTMLButtonElementImpl):
   11570         (DOM::HTMLFieldSetElementImpl::HTMLFieldSetElementImpl):
   11571         (DOM::HTMLFieldSetElementImpl::checkDTD):
   11572         (DOM::HTMLFieldSetElementImpl::isFocusable):
   11573         (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
   11574         (DOM::HTMLInputElementImpl::init):
   11575         (DOM::HTMLLabelElementImpl::HTMLLabelElementImpl):
   11576         (DOM::HTMLLabelElementImpl::form):
   11577         (DOM::HTMLLegendElementImpl::HTMLLegendElementImpl):
   11578         (DOM::HTMLLegendElementImpl::formElement):
   11579         (DOM::HTMLSelectElementImpl::HTMLSelectElementImpl):
   11580         (DOM::HTMLSelectElementImpl::init):
   11581         (DOM::HTMLSelectElementImpl::checkDTD):
   11582         (DOM::HTMLSelectElementImpl::selectedIndex):
   11583         (DOM::HTMLSelectElementImpl::setSelectedIndex):
   11584         (DOM::HTMLSelectElementImpl::length):
   11585         (DOM::HTMLSelectElementImpl::add):
   11586         (DOM::HTMLSelectElementImpl::value):
   11587         (DOM::HTMLSelectElementImpl::setValue):
   11588         (DOM::HTMLSelectElementImpl::state):
   11589         (DOM::HTMLSelectElementImpl::restoreState):
   11590         (DOM::HTMLSelectElementImpl::appendFormData):
   11591         (DOM::HTMLSelectElementImpl::optionToListIndex):
   11592         (DOM::HTMLSelectElementImpl::listToOptionIndex):
   11593         (DOM::HTMLSelectElementImpl::recalcListItems):
   11594         (DOM::HTMLSelectElementImpl::reset):
   11595         (DOM::HTMLSelectElementImpl::notifyOptionSelected):
   11596         (DOM::HTMLKeygenElementImpl::HTMLKeygenElementImpl):
   11597         (DOM::HTMLOptGroupElementImpl::HTMLOptGroupElementImpl):
   11598         (DOM::HTMLOptGroupElementImpl::recalcSelectOptions):
   11599         (DOM::HTMLOptionElementImpl::HTMLOptionElementImpl):
   11600         (DOM::HTMLOptionElementImpl::index):
   11601         (DOM::HTMLOptionElementImpl::getSelect):
   11602         (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl):
   11603         (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
   11604         * khtml/html/html_formimpl.h:
   11605         (DOM::HTMLFormElementImpl::endTagRequirement):
   11606         (DOM::HTMLFormElementImpl::tagPriority):
   11607         (DOM::HTMLGenericFormElementImpl::endTagRequirement):
   11608         (DOM::HTMLGenericFormElementImpl::tagPriority):
   11609         (DOM::HTMLFieldSetElementImpl::tagPriority):
   11610         (DOM::HTMLInputElementImpl::endTagRequirement):
   11611         (DOM::HTMLInputElementImpl::tagPriority):
   11612         (DOM::HTMLLabelElementImpl::tagPriority):
   11613         (DOM::HTMLSelectElementImpl::tagPriority):
   11614         (DOM::HTMLKeygenElementImpl::tagPriority):
   11615         (DOM::HTMLOptGroupElementImpl::checkDTD):
   11616         (DOM::HTMLOptionElementImpl::endTagRequirement):
   11617         (DOM::HTMLOptionElementImpl::tagPriority):
   11618         (DOM::HTMLOptionElementImpl::checkDTD):
   11619         (DOM::HTMLTextAreaElementImpl::checkDTD):
   11620         (DOM::HTMLTextAreaElementImpl::cols):
   11621         (DOM::HTMLIsIndexElementImpl::endTagRequirement):
   11622         (DOM::HTMLIsIndexElementImpl::tagPriority):
   11623         * khtml/html/html_headimpl.cpp:
   11624         (HTMLBaseElementImpl::HTMLBaseElementImpl):
   11625         (HTMLLinkElementImpl::HTMLLinkElementImpl):
   11626         (HTMLMetaElementImpl::HTMLMetaElementImpl):
   11627         (HTMLScriptElementImpl::HTMLScriptElementImpl):
   11628         (HTMLStyleElementImpl::HTMLStyleElementImpl):
   11629         (HTMLTitleElementImpl::HTMLTitleElementImpl):
   11630         * khtml/html/html_headimpl.h:
   11631         (DOM::HTMLBaseElementImpl::endTagRequirement):
   11632         (DOM::HTMLBaseElementImpl::tagPriority):
   11633         (DOM::HTMLLinkElementImpl::endTagRequirement):
   11634         (DOM::HTMLLinkElementImpl::tagPriority):
   11635         (DOM::HTMLMetaElementImpl::endTagRequirement):
   11636         (DOM::HTMLMetaElementImpl::tagPriority):
   11637         (DOM::HTMLScriptElementImpl::endTagRequirement):
   11638         (DOM::HTMLScriptElementImpl::tagPriority):
   11639         (DOM::HTMLScriptElementImpl::checkDTD):
   11640         (DOM::HTMLStyleElementImpl::endTagRequirement):
   11641         (DOM::HTMLStyleElementImpl::tagPriority):
   11642         (DOM::HTMLStyleElementImpl::checkDTD):
   11643         (DOM::HTMLTitleElementImpl::checkDTD):
   11644         * khtml/html/html_imageimpl.cpp:
   11645         (HTMLImageLoader::updateFromElement):
   11646         (HTMLImageElementImpl::HTMLImageElementImpl):
   11647         (HTMLImageElementImpl::~HTMLImageElementImpl):
   11648         (HTMLMapElementImpl::HTMLMapElementImpl):
   11649         (HTMLMapElementImpl::checkDTD):
   11650         (HTMLMapElementImpl::mapMouseEvent):
   11651         (HTMLAreaElementImpl::HTMLAreaElementImpl):
   11652         * khtml/html/html_imageimpl.h:
   11653         (DOM::HTMLImageElementImpl::endTagRequirement):
   11654         (DOM::HTMLImageElementImpl::tagPriority):
   11655         (DOM::HTMLAreaElementImpl::endTagRequirement):
   11656         (DOM::HTMLAreaElementImpl::tagPriority):
   11657         (DOM::HTMLMapElementImpl::endTagRequirement):
   11658         (DOM::HTMLMapElementImpl::tagPriority):
   11659         * khtml/html/html_inlineimpl.cpp:
   11660         (DOM::HTMLAnchorElementImpl::HTMLAnchorElementImpl):
   11661         (DOM::HTMLAnchorElementImpl::defaultEventHandler):
   11662         (DOM::HTMLBRElementImpl::HTMLBRElementImpl):
   11663         (DOM::HTMLFontElementImpl::HTMLFontElementImpl):
   11664         (DOM::HTMLModElementImpl::HTMLModElementImpl):
   11665         (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
   11666         * khtml/html/html_inlineimpl.h:
   11667         (DOM::HTMLAnchorElementImpl::endTagRequirement):
   11668         (DOM::HTMLAnchorElementImpl::tagPriority):
   11669         (DOM::HTMLBRElementImpl::endTagRequirement):
   11670         (DOM::HTMLBRElementImpl::tagPriority):
   11671         (DOM::HTMLFontElementImpl::endTagRequirement):
   11672         (DOM::HTMLFontElementImpl::tagPriority):
   11673         (DOM::HTMLModElementImpl::endTagRequirement):
   11674         (DOM::HTMLModElementImpl::tagPriority):
   11675         (DOM::HTMLQuoteElementImpl::endTagRequirement):
   11676         (DOM::HTMLQuoteElementImpl::tagPriority):
   11677         * khtml/html/html_listimpl.cpp:
   11678         (DOM::HTMLOListElementImpl::parseMappedAttribute):
   11679         (DOM::HTMLLIElementImpl::attach):
   11680         (DOM::HTMLLIElementImpl::setValue):
   11681         * khtml/html/html_listimpl.h:
   11682         (DOM::HTMLUListElementImpl::HTMLUListElementImpl):
   11683         (DOM::HTMLUListElementImpl::endTagRequirement):
   11684         (DOM::HTMLUListElementImpl::tagPriority):
   11685         (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
   11686         (DOM::HTMLDirectoryElementImpl::endTagRequirement):
   11687         (DOM::HTMLDirectoryElementImpl::tagPriority):
   11688         (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
   11689         (DOM::HTMLMenuElementImpl::endTagRequirement):
   11690         (DOM::HTMLMenuElementImpl::tagPriority):
   11691         (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
   11692         (DOM::HTMLOListElementImpl::endTagRequirement):
   11693         (DOM::HTMLOListElementImpl::tagPriority):
   11694         (DOM::HTMLLIElementImpl::HTMLLIElementImpl):
   11695         (DOM::HTMLLIElementImpl::endTagRequirement):
   11696         (DOM::HTMLLIElementImpl::tagPriority):
   11697         (DOM::HTMLDListElementImpl::HTMLDListElementImpl):
   11698         (DOM::HTMLDListElementImpl::endTagRequirement):
   11699         (DOM::HTMLDListElementImpl::tagPriority):
   11700         * khtml/html/html_miscimpl.cpp:
   11701         (DOM::HTMLBaseFontElementImpl::HTMLBaseFontElementImpl):
   11702         (DOM::HTMLCollectionImpl::traverseNextItem):
   11703         (DOM::HTMLCollectionImpl::checkForNameMatch):
   11704         (DOM::HTMLCollectionImpl::updateNameCache):
   11705         (DOM::HTMLFormCollectionImpl::getNamedFormItem):
   11706         (DOM::HTMLFormCollectionImpl::updateNameCache):
   11707         * khtml/html/html_miscimpl.h:
   11708         (DOM::HTMLBaseFontElementImpl::endTagRequirement):
   11709         (DOM::HTMLBaseFontElementImpl::tagPriority):
   11710         * khtml/html/html_objectimpl.cpp:
   11711         (DOM::HTMLAppletElementImpl::HTMLAppletElementImpl):
   11712         (DOM::HTMLAppletElementImpl::checkDTD):
   11713         (DOM::HTMLEmbedElementImpl::HTMLEmbedElementImpl):
   11714         (DOM::HTMLEmbedElementImpl::checkDTD):
   11715         (DOM::HTMLEmbedElementImpl::rendererIsNeeded):
   11716         (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
   11717         (DOM::HTMLObjectElementImpl::checkDTD):
   11718         (DOM::HTMLObjectElementImpl::form):
   11719         (DOM::HTMLParamElementImpl::HTMLParamElementImpl):
   11720         * khtml/html/html_objectimpl.h:
   11721         (DOM::HTMLAppletElementImpl::endTagRequirement):
   11722         (DOM::HTMLAppletElementImpl::tagPriority):
   11723         (DOM::HTMLEmbedElementImpl::endTagRequirement):
   11724         (DOM::HTMLEmbedElementImpl::tagPriority):
   11725         (DOM::HTMLObjectElementImpl::endTagRequirement):
   11726         (DOM::HTMLObjectElementImpl::tagPriority):
   11727         (DOM::HTMLParamElementImpl::endTagRequirement):
   11728         (DOM::HTMLParamElementImpl::tagPriority):
   11729         * khtml/html/html_tableimpl.cpp:
   11730         (DOM::HTMLTableElementImpl::HTMLTableElementImpl):
   11731         (DOM::HTMLTableElementImpl::checkDTD):
   11732         (DOM::HTMLTableElementImpl::createTHead):
   11733         (DOM::HTMLTableElementImpl::createTFoot):
   11734         (DOM::HTMLTableElementImpl::insertRow):
   11735         (DOM::HTMLTableElementImpl::deleteRow):
   11736         (DOM::HTMLTableElementImpl::addChild):
   11737         (DOM::HTMLTableSectionElementImpl::HTMLTableSectionElementImpl):
   11738         (DOM::HTMLTableSectionElementImpl::checkDTD):
   11739         (DOM::HTMLTableSectionElementImpl::addChild):
   11740         (DOM::HTMLTableSectionElementImpl::numRows):
   11741         (DOM::HTMLTableRowElementImpl::checkDTD):
   11742         (DOM::HTMLTableRowElementImpl::addChild):
   11743         (DOM::HTMLTableRowElementImpl::rowIndex):
   11744         (DOM::HTMLTableRowElementImpl::sectionRowIndex):
   11745         (DOM::HTMLTableRowElementImpl::insertCell):
   11746         (DOM::HTMLTableCellElementImpl::HTMLTableCellElementImpl):
   11747         (DOM::HTMLTableCellElementImpl::cellIndex):
   11748         (DOM::HTMLTableCellElementImpl::additionalAttributeStyleDecl):
   11749         (DOM::HTMLTableColElementImpl::HTMLTableColElementImpl):
   11750         * khtml/html/html_tableimpl.h:
   11751         (DOM::HTMLTableElementImpl::endTagRequirement):
   11752         (DOM::HTMLTableElementImpl::tagPriority):
   11753         (DOM::HTMLTablePartElementImpl::HTMLTablePartElementImpl):
   11754         (DOM::HTMLTableSectionElementImpl::endTagRequirement):
   11755         (DOM::HTMLTableSectionElementImpl::tagPriority):
   11756         (DOM::HTMLTableRowElementImpl::HTMLTableRowElementImpl):
   11757         (DOM::HTMLTableRowElementImpl::endTagRequirement):
   11758         (DOM::HTMLTableRowElementImpl::tagPriority):
   11759         (DOM::HTMLTableCellElementImpl::endTagRequirement):
   11760         (DOM::HTMLTableCellElementImpl::tagPriority):
   11761         (DOM::HTMLTableColElementImpl::endTagRequirement):
   11762         (DOM::HTMLTableColElementImpl::tagPriority):
   11763         (DOM::HTMLTableColElementImpl::checkDTD):
   11764         (DOM::HTMLTableCaptionElementImpl::HTMLTableCaptionElementImpl):
   11765         (DOM::HTMLTableCaptionElementImpl::endTagRequirement):
   11766         (DOM::HTMLTableCaptionElementImpl::tagPriority):
   11767         * khtml/html/htmlfactory.cpp: Added.
   11768         (DOM::htmlConstructor):
   11769         (DOM::headConstructor):
   11770         (DOM::bodyConstructor):
   11771         (DOM::baseConstructor):
   11772         (DOM::linkConstructor):
   11773         (DOM::metaConstructor):
   11774         (DOM::styleConstructor):
   11775         (DOM::titleConstructor):
   11776         (DOM::frameConstructor):
   11777         (DOM::framesetConstructor):
   11778         (DOM::iframeConstructor):
   11779         (DOM::formConstructor):
   11780         (DOM::buttonConstructor):
   11781         (DOM::inputConstructor):
   11782         (DOM::isindexConstructor):
   11783         (DOM::fieldsetConstructor):
   11784         (DOM::labelConstructor):
   11785         (DOM::legendConstructor):
   11786         (DOM::optgroupConstructor):
   11787         (DOM::optionConstructor):
   11788         (DOM::selectConstructor):
   11789         (DOM::textareaConstructor):
   11790         (DOM::dlConstructor):
   11791         (DOM::ulConstructor):
   11792         (DOM::olConstructor):
   11793         (DOM::dirConstructor):
   11794         (DOM::menuConstructor):
   11795         (DOM::liConstructor):
   11796         (DOM::blockquoteConstructor):
   11797         (DOM::divConstructor):
   11798         (DOM::headingConstructor):
   11799         (DOM::hrConstructor):
   11800         (DOM::paragraphConstructor):
   11801         (DOM::preConstructor):
   11802         (DOM::basefontConstructor):
   11803         (DOM::fontConstructor):
   11804         (DOM::modConstructor):
   11805         (DOM::anchorConstructor):
   11806         (DOM::imageConstructor):
   11807         (DOM::mapConstructor):
   11808         (DOM::areaConstructor):
   11809         (DOM::canvasConstructor):
   11810         (DOM::appletConstructor):
   11811         (DOM::embedConstructor):
   11812         (DOM::objectConstructor):
   11813         (DOM::paramConstructor):
   11814         (DOM::scriptConstructor):
   11815         (DOM::tableConstructor):
   11816         (DOM::tableCaptionConstructor):
   11817         (DOM::tableColConstructor):
   11818         (DOM::tableRowConstructor):
   11819         (DOM::tableCellConstructor):
   11820         (DOM::tableSectionConstructor):
   11821         (DOM::brConstructor):
   11822         (DOM::quoteConstructor):
   11823         (DOM::marqueeConstructor):
   11824         (DOM::HTMLElementFactory::createHTMLElement):
   11825         * khtml/html/htmlfactory.h: Added.
   11826         * khtml/html/htmlnames.cpp:
   11827         (DOM::HTMLNames::init):
   11828         * khtml/html/htmlnames.h:
   11829         (DOM::HTMLNames::xhtmlNamespaceURI):
   11830         * khtml/html/htmlparser.cpp:
   11831         (HTMLStackElem::HTMLStackElem):
   11832         (HTMLParser::HTMLParser):
   11833         (HTMLParser::~HTMLParser):
   11834         (HTMLParser::reset):
   11835         (HTMLParser::setCurrent):
   11836         (HTMLParser::parseToken):
   11837         (isTableSection):
   11838         (isTablePart):
   11839         (isTableRelated):
   11840         (HTMLParser::insertNode):
   11841         (HTMLParser::handleError):
   11842         (HTMLParser::textCreateErrorCheck):
   11843         (HTMLParser::commentCreateErrorCheck):
   11844         (HTMLParser::headCreateErrorCheck):
   11845         (HTMLParser::bodyCreateErrorCheck):
   11846         (HTMLParser::framesetCreateErrorCheck):
   11847         (HTMLParser::iframeCreateErrorCheck):
   11848         (HTMLParser::formCreateErrorCheck):
   11849         (HTMLParser::isindexCreateErrorCheck):
   11850         (HTMLParser::selectCreateErrorCheck):
   11851         (HTMLParser::ddCreateErrorCheck):
   11852         (HTMLParser::dtCreateErrorCheck):
   11853         (HTMLParser::nestedCreateErrorCheck):
   11854         (HTMLParser::nestedStyleCreateErrorCheck):
   11855         (HTMLParser::tableCellCreateErrorCheck):
   11856         (HTMLParser::tableSectionCreateErrorCheck):
   11857         (HTMLParser::noembedCreateErrorCheck):
   11858         (HTMLParser::noframesCreateErrorCheck):
   11859         (HTMLParser::noscriptCreateErrorCheck):
   11860         (HTMLParser::nolayerCreateErrorCheck):
   11861         (HTMLParser::getNode):
   11862         (HTMLParser::allowNestedRedundantTag):
   11863         (HTMLParser::processCloseTag):
   11864         (HTMLParser::isHeaderTag):
   11865         (HTMLParser::popNestedHeaderTag):
   11866         (HTMLParser::isInline):
   11867         (HTMLParser::isResidualStyleTag):
   11868         (HTMLParser::isAffectedByResidualStyle):
   11869         (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
   11870         (HTMLParser::reopenResidualStyleTags):
   11871         (HTMLParser::pushBlock):
   11872         (HTMLParser::popBlock):
   11873         (HTMLParser::popOneBlock):
   11874         (HTMLParser::popInlineBlocks):
   11875         (HTMLParser::freeBlock):
   11876         (HTMLParser::createHead):
   11877         (HTMLParser::handleIsindex):
   11878         (HTMLParser::startBody):
   11879         (HTMLParser::finished):
   11880         * khtml/html/htmlparser.h:
   11881         (HTMLParser::skipMode):
   11882         (HTMLParser::setSkipMode):
   11883         (HTMLParser::popBlock):
   11884         * khtml/html/htmltokenizer.cpp:
   11885         (khtml::HTMLTokenizer::HTMLTokenizer):
   11886         (khtml::HTMLTokenizer::parseSpecial):
   11887         (khtml::HTMLTokenizer::scriptHandler):
   11888         (khtml::HTMLTokenizer::parseComment):
   11889         (khtml::HTMLTokenizer::parseTag):
   11890         (khtml::HTMLTokenizer::processToken):
   11891         * khtml/html/htmltokenizer.h:
   11892         (khtml::Token::Token):
   11893         (khtml::Token::~Token):
   11894         (khtml::Token::addAttribute):
   11895         (khtml::Token::isOpenTag):
   11896         (khtml::Token::isCloseTag):
   11897         (khtml::Token::reset):
   11898         * khtml/khtml_part.cpp:
   11899         (KHTMLPart::init):
   11900         (KHTMLPart::selectionComputedStyle):
   11901         * khtml/khtmlview.cpp:
   11902         (KHTMLView::layout):
   11903         (isSubmitImage):
   11904         * khtml/misc/decoder.cpp:
   11905         (Decoder::decode):
   11906         * khtml/misc/hashmap.h:
   11907         (khtml::::size):
   11908         (khtml::::isEmpty):
   11909         (khtml::::begin):
   11910         (khtml::::end):
   11911         (khtml::::get):
   11912         * khtml/misc/hashset.h:
   11913         (khtml::::size):
   11914         (khtml::::isEmpty):
   11915         (khtml::::begin):
   11916         (khtml::::end):
   11917         (khtml::::contains):
   11918         * khtml/misc/hashtable.h:
   11919         (khtml::HashTableIterator::skipEmptyBuckets):
   11920         (khtml::::lookup):
   11921         (khtml::::find):
   11922         (khtml::::contains):
   11923         (khtml::::remove):
   11924         * khtml/misc/htmlhashes.cpp:
   11925         (khtml::getAttrID):
   11926         * khtml/misc/htmlhashes.h:
   11927         * khtml/rendering/bidi.cpp:
   11928         (khtml::BidiIterator::direction):
   11929         * khtml/rendering/break_lines.cpp:
   11930         (khtml::isBreakable):
   11931         * khtml/rendering/render_applet.cpp:
   11932         (RenderApplet::createWidgetIfNecessary):
   11933         * khtml/rendering/render_block.cpp:
   11934         (khtml::RenderBlock::layoutBlock):
   11935         * khtml/rendering/render_box.cpp:
   11936         (RenderBox::paintRootBoxDecorations):
   11937         (RenderBox::paintBackgroundExtended):
   11938         * khtml/rendering/render_canvasimage.cpp:
   11939         (RenderCanvasImage::paint):
   11940         * khtml/rendering/render_canvasimage.h:
   11941         * khtml/rendering/render_container.cpp:
   11942         (RenderContainer::updatePseudoChild):
   11943         * khtml/rendering/render_flow.cpp:
   11944         (RenderFlow::addFocusRingRects):
   11945         * khtml/rendering/render_form.cpp:
   11946         (RenderFieldset::findLegend):
   11947         (RenderSelect::updateFromElement):
   11948         (RenderSelect::layout):
   11949         (RenderSelect::slotSelected):
   11950         (RenderSelect::slotSelectionChanged):
   11951         (RenderSelect::updateSelection):
   11952         * khtml/rendering/render_frames.cpp:
   11953         (RenderPartObject::updateWidget):
   11954         (RenderPartObject::slotViewCleared):
   11955         * khtml/rendering/render_image.cpp:
   11956         (RenderImage::paint):
   11957         (RenderImage::imageMap):
   11958         (RenderImage::updateAltText):
   11959         * khtml/rendering/render_image.h:
   11960         * khtml/rendering/render_layer.cpp:
   11961         (Marquee::marqueeSpeed):
   11962         * khtml/rendering/render_line.cpp:
   11963         * khtml/rendering/render_list.cpp:
   11964         (getParentOfFirstLineBox):
   11965         * khtml/rendering/render_object.cpp:
   11966         (RenderObject::isBody):
   11967         (RenderObject::isHR):
   11968         (RenderObject::isHTMLMarquee):
   11969         (RenderObject::sizesToMaxWidth):
   11970         (RenderObject::information):
   11971         (RenderObject::setStyle):
   11972         (RenderObject::getTextDecorationColors):
   11973         (RenderObject::setPixmap):
   11974         * khtml/rendering/render_style.cpp:
   11975         (RenderStyle::getPseudoStyle):
   11976         * khtml/rendering/render_style.h:
   11977         * khtml/rendering/render_table.cpp:
   11978         (RenderTable::addChild):
   11979         (RenderTable::layout):
   11980         (RenderTableSection::addChild):
   11981         (RenderTableRow::addChild):
   11982         (RenderTableCell::updateFromElement):
   11983         (RenderTableCol::updateFromElement):
   11984         * khtml/xml/dom2_rangeimpl.cpp:
   11985         * khtml/xml/dom2_traversalimpl.cpp:
   11986         * khtml/xml/dom_atomicstring.cpp:
   11987         (DOM::equal):
   11988         (DOM::AtomicString::init):
   11989         * khtml/xml/dom_atomicstring.h:
   11990         * khtml/xml/dom_docimpl.cpp:
   11991         (DocumentImpl::createElement):
   11992         (DocumentImpl::importNode):
   11993         (DocumentImpl::createElementNS):
   11994         (DocumentImpl::body):
   11995         (DocumentImpl::shouldScheduleLayout):
   11996         (DocumentImpl::attrId):
   11997         (DocumentImpl::recalcStyleSelector):
   11998         * khtml/xml/dom_docimpl.h:
   11999         * khtml/xml/dom_elementimpl.cpp:
   12000         (AttrImpl::prefix):
   12001         (AttrImpl::setPrefix):
   12002         (ElementImpl::ElementImpl):
   12003         (ElementImpl::~ElementImpl):
   12004         (ElementImpl::cloneNode):
   12005         (ElementImpl::hasAttributes):
   12006         (ElementImpl::nodeName):
   12007         (ElementImpl::setPrefix):
   12008         (ElementImpl::openTagStartToString):
   12009         (ElementImpl::toString):
   12010         (StyledElementImpl::StyledElementImpl):
   12011         * khtml/xml/dom_elementimpl.h:
   12012         (DOM::ElementImpl::tagName):
   12013         (DOM::ElementImpl::hasTagName):
   12014         (DOM::ElementImpl::hasLocalName):
   12015         (DOM::ElementImpl::localName):
   12016         (DOM::ElementImpl::prefix):
   12017         (DOM::ElementImpl::namespaceURI):
   12018         (DOM::ElementImpl::mouseEventHandler):
   12019         * khtml/xml/dom_nodeimpl.cpp:
   12020         (DOM::NodeImpl::lastDescendant):
   12021         (DOM::NodeImpl::prefix):
   12022         (DOM::NodeImpl::setPrefix):
   12023         (DOM::NodeImpl::localName):
   12024         (DOM::NodeImpl::namespaceURI):
   12025         (DOM::NodeImpl::checkSetPrefix):
   12026         (DOM::NodeImpl::isAtomicNode):
   12027         (DOM::NodeImpl::maxDeepOffset):
   12028         (DOM::NodeImpl::enclosingBlockFlowOrTableElement):
   12029         (DOM::NodeImpl::enclosingBlockFlowElement):
   12030         (DOM::NodeImpl::enclosingInlineElement):
   12031         (DOM::NodeImpl::rootEditableElement):
   12032         (DOM::NodeImpl::getElementsByTagNameNS):
   12033         (DOM::NodeImpl::showTreeAndMark):
   12034         (DOM::ContainerNodeImpl::addChild):
   12035         (DOM::TagNodeListImpl::TagNodeListImpl):
   12036         (DOM::TagNodeListImpl::item):
   12037         (DOM::TagNodeListImpl::nodeMatches):
   12038         * khtml/xml/dom_nodeimpl.h:
   12039         (DOM::NodeImpl::hasTagName):
   12040         (DOM::NodeImpl::isCommentNode):
   12041         (DOM::NodeImpl::isDocumentNode):
   12042         (DOM::NodeImpl::closeRenderer):
   12043         (DOM::NodeImpl::getElementsByTagName):
   12044         * khtml/xml/dom_position.cpp:
   12045         (DOM::Position::downstream):
   12046         (DOM::Position::rendersInDifferentPosition):
   12047         (DOM::Position::leadingWhitespacePosition):
   12048         (DOM::Position::trailingWhitespacePosition):
   12049         * khtml/xml/dom_qname.cpp:
   12050         (DOM::hashComponents):
   12051         (DOM::QNameHash::hash):
   12052         (DOM::QNameHash::equal):
   12053         (DOM::equalComponents):
   12054         (DOM::convertComponents):
   12055         (DOM::QualifiedName::QualifiedName):
   12056         (DOM::QualifiedName::deref):
   12057         (DOM::QualifiedName::setPrefix):
   12058         * khtml/xml/dom_qname.h:
   12059         (DOM::QualifiedName::hasPrefix):
   12060         (DOM::operator==):
   12061         * khtml/xml/dom_textimpl.cpp:
   12062         (CommentImpl::localName):
   12063         (CommentImpl::nodeName):
   12064         (TextImpl::localName):
   12065         (TextImpl::nodeName):
   12066         * khtml/xml/dom_textimpl.h:
   12067         (DOM::CommentImpl::isCommentNode):
   12068         (DOM::TextImpl::isTextNode):
   12069         * khtml/xml/xml_tokenizer.cpp:
   12070         (khtml::XMLTokenizer::startElement):
   12071         (khtml::XMLTokenizer::insertErrorMessageBlock):
   12072         (khtml::XMLTokenizer::addScripts):
   12073         * kwq/DOM.mm:
   12074         (-[DOMNode setPrefix:]):
   12075         (+[DOMNode _nodeWithImpl:]):
   12076         (-[DOMElement tagName]):
   12077         * kwq/DOMHTML.mm:
   12078         (-[DOMHTMLQuoteElement _quoteElementImpl]):
   12079         * kwq/KWQAccObject.mm:
   12080         (-[KWQAccObject role]):
   12081         (-[KWQAccObject title]):
   12082         (-[KWQAccObject accessibilityIsIgnored]):
   12083         * kwq/KWQDOMNode.cpp: Removed.
   12084         * kwq/KWQDOMNode.h: Removed.
   12085         * kwq/KWQFont.h:
   12086         (QFont::):
   12087         (QFont::isFixedPitch):
   12088         * kwq/KWQFont.mm:
   12089         (QFont::QFont):
   12090         (QFont::operator=):
   12091         (QFont::determinePitch):
   12092         (QFont::operator==):
   12093         * kwq/KWQKHTMLPart.cpp:
   12094         (KWQKHTMLPart::isFrameSet):
   12095         * kwq/KWQKHTMLPart.mm:
   12096         (scanForForm):
   12097         (KWQKHTMLPart::currentForm):
   12098         (KWQKHTMLPart::searchForLabelsAboveCell):
   12099         (KWQKHTMLPart::searchForLabelsBeforeElement):
   12100         (listParent):
   12101         (isTextFirstInListItem):
   12102         (KWQKHTMLPart::attributedString):
   12103         (KWQKHTMLPart::styleForSelectionStart):
   12104         (KWQKHTMLPart::setSelectionFromNone):
   12105         * kwq/KWQRenderTreeDebug.cpp:
   12106         (getTagName):
   12107         * kwq/WebCoreBridge.mm:
   12108         (inputElementFromDOMElement):
   12109         (formElementFromDOMElement):
   12110         (-[WebCoreBridge elementAtPoint:]):
   12111         * layout-tests/fast/dom/css-dom-read-expected.txt:
   12112         * layout-tests/fast/overflow/003-expected.txt:
   12113         * layout-tests/fast/tokenizer/002-expected.txt:
   12114         * layout-tests/fast/tokenizer/external-script-document-write-expected.txt:
   12115         * layout-tests/fast/tokenizer/script_extra_close-expected.txt:
   12116         * layout-tests/fast/tokenizer/script_quirk-expected.txt: Removed.
   12117         * layout-tests/fast/tokenizer/script_quirk.html: Removed.
   12118 
   12119 2005-07-08  Eric Seidel  <eseidel (a] apple.com>
   12120 
   12121         Reviewed by mjs/hyatt (just approved the changelog).
   12122 
   12123         * ForwardingHeaders/kdom/css/impl/cssproperties.h: Added.
   12124         * ForwardingHeaders/kdom/css/impl/cssvalues.h: Added.
   12125         * ForwardingHeaders/ksvg2/KSVGPart.h: Added.
   12126         * ForwardingHeaders/ksvg2/KSVGView.h: Added.
   12127         * ForwardingHeaders/ksvg2/css/impl/cssproperties.h: Added.
   12128         * ForwardingHeaders/ksvg2/css/impl/cssvalues.h: Added.
   12129         * ForwardingHeaders/ksvg2/data/Constructors.lut.h: Added.
   12130         * ForwardingHeaders/ksvg2/data/GlobalObject.lut.h: Added.
   12131         * WebCore.pbproj/project.pbxproj:  Added WebCore+SVG Target.
   12132         * kcanvas/DESIGN: Added.
   12133         * kcanvas/KCanvas.cc: Added.
   12134         * kcanvas/KCanvas.h: Added.
   12135         * kcanvas/KCanvasContainer.cc: Added.
   12136         * kcanvas/KCanvasContainer.h: Added.
   12137         * kcanvas/KCanvasCreator.cc: Added.
   12138         * kcanvas/KCanvasCreator.h: Added.
   12139         * kcanvas/KCanvasFilters.cc: Added.
   12140         * kcanvas/KCanvasFilters.h: Added.
   12141         * kcanvas/KCanvasImage.cc: Added.
   12142         * kcanvas/KCanvasImage.h: Added.
   12143         * kcanvas/KCanvasItem.cc: Added.
   12144         * kcanvas/KCanvasItem.h: Added.
   12145         * kcanvas/KCanvasMatrix.cc: Added.
   12146         * kcanvas/KCanvasMatrix.h: Added.
   12147         * kcanvas/KCanvasPath.h: Added.
   12148         * kcanvas/KCanvasRegistry.cc: Added.
   12149         * kcanvas/KCanvasRegistry.h: Added.
   12150         * kcanvas/KCanvasResourceListener.h: Added.
   12151         * kcanvas/KCanvasResources.cc: Added.
   12152         * kcanvas/KCanvasResources.h: Added.
   12153         * kcanvas/KCanvasTypes.h: Added.
   12154         * kcanvas/KCanvasView.cc: Added.
   12155         * kcanvas/KCanvasView.h: Added.
   12156         * kcanvas/KCanvasView.moc: Added.
   12157         * kcanvas/device/KRenderingDevice.cc: Added.
   12158         * kcanvas/device/KRenderingDevice.h: Added.
   12159         * kcanvas/device/KRenderingDevice.moc: Added.
   12160         * kcanvas/device/KRenderingDeviceFactory.cc: Added.
   12161         * kcanvas/device/KRenderingDeviceFactory.h: Added.
   12162         * kcanvas/device/KRenderingFillPainter.cc: Added.
   12163         * kcanvas/device/KRenderingFillPainter.h: Added.
   12164         * kcanvas/device/KRenderingPaintServer.h: Added.
   12165         * kcanvas/device/KRenderingPaintServerGradient.cc: Added.
   12166         * kcanvas/device/KRenderingPaintServerGradient.h: Added.
   12167         * kcanvas/device/KRenderingPaintServerImage.cc: Added.
   12168         * kcanvas/device/KRenderingPaintServerImage.h: Added.
   12169         * kcanvas/device/KRenderingPaintServerPattern.cc: Added.
   12170         * kcanvas/device/KRenderingPaintServerPattern.h: Added.
   12171         * kcanvas/device/KRenderingPaintServerSolid.cc: Added.
   12172         * kcanvas/device/KRenderingPaintServerSolid.h: Added.
   12173         * kcanvas/device/KRenderingStrokePainter.cc: Added.
   12174         * kcanvas/device/KRenderingStrokePainter.h: Added.
   12175         * kcanvas/device/KRenderingStyle.cc: Added.
   12176         * kcanvas/device/KRenderingStyle.h: Added.
   12177         * kcanvas/device/quartz/KCanvasFilterQuartz.h: Added.
   12178         * kcanvas/device/quartz/KCanvasFilterQuartz.mm: Added.
   12179         * kcanvas/device/quartz/KCanvasItemQuartz.h: Added.
   12180         * kcanvas/device/quartz/KCanvasItemQuartz.mm: Added.
   12181         * kcanvas/device/quartz/KCanvasResourcesQuartz.h: Added.
   12182         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: Added.
   12183         * kcanvas/device/quartz/KCanvasViewQuartz.h: Added.
   12184         * kcanvas/device/quartz/KCanvasViewQuartz.mm: Added.
   12185         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: Added.
   12186         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: Added.
   12187         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: Added.
   12188         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: Added.
   12189         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: Added.
   12190         * kcanvas/device/quartz/QuartzSupport.h: Added.
   12191         * kcanvas/device/quartz/QuartzSupport.mm: Added.
   12192         * kdom/AUTHORS: Added.
   12193         * kdom/Attr.cc: Added.
   12194         * kdom/Attr.h: Added.
   12195         * kdom/CDATASection.cc: Added.
   12196         * kdom/CDATASection.h: Added.
   12197         * kdom/CharacterData.cc: Added.
   12198         * kdom/CharacterData.h: Added.
   12199         * kdom/Comment.cc: Added.
   12200         * kdom/Comment.h: Added.
   12201         * kdom/DOMConfiguration.cc: Added.
   12202         * kdom/DOMConfiguration.h: Added.
   12203         * kdom/DOMError.cc: Added.
   12204         * kdom/DOMError.h: Added.
   12205         * kdom/DOMErrorHandler.cc: Added.
   12206         * kdom/DOMErrorHandler.h: Added.
   12207         * kdom/DOMException.cc: Added.
   12208         * kdom/DOMException.h: Added.
   12209         * kdom/DOMImplementation.cc: Added.
   12210         * kdom/DOMImplementation.h: Added.
   12211         * kdom/DOMLocator.cc: Added.
   12212         * kdom/DOMLocator.h: Added.
   12213         * kdom/DOMObject.cc: Added.
   12214         * kdom/DOMObject.h: Added.
   12215         * kdom/DOMString.cc: Added.
   12216         * kdom/DOMString.h: Added.
   12217         * kdom/DOMStringList.cc: Added.
   12218         * kdom/DOMStringList.h: Added.
   12219         * kdom/DOMUserData.cc: Added.
   12220         * kdom/DOMUserData.h: Added.
   12221         * kdom/Document.cc: Added.
   12222         * kdom/Document.h: Added.
   12223         * kdom/DocumentFragment.cc: Added.
   12224         * kdom/DocumentFragment.h: Added.
   12225         * kdom/DocumentType.cc: Added.
   12226         * kdom/DocumentType.h: Added.
   12227         * kdom/Element.cc: Added.
   12228         * kdom/Element.h: Added.
   12229         * kdom/Entity.cc: Added.
   12230         * kdom/Entity.h: Added.
   12231         * kdom/EntityReference.cc: Added.
   12232         * kdom/EntityReference.h: Added.
   12233         * kdom/Helper.cc: Added.
   12234         * kdom/Helper.h: Added.
   12235         * kdom/KDOMPart.cc: Added.
   12236         * kdom/KDOMPart.h: Added.
   12237         * kdom/KDOMSettings.cc: Added.
   12238         * kdom/KDOMSettings.h: Added.
   12239         * kdom/KDOMView.cc: Added.
   12240         * kdom/KDOMView.h: Added.
   12241         * kdom/NOTES: Added.
   12242         * kdom/NamedNodeMap.cc: Added.
   12243         * kdom/NamedNodeMap.h: Added.
   12244         * kdom/Namespace.h: Added.
   12245         * kdom/Node.cc: Added.
   12246         * kdom/Node.h: Added.
   12247         * kdom/NodeList.cc: Added.
   12248         * kdom/NodeList.h: Added.
   12249         * kdom/Notation.cc: Added.
   12250         * kdom/Notation.h: Added.
   12251         * kdom/ProcessingInstruction.cc: Added.
   12252         * kdom/ProcessingInstruction.h: Added.
   12253         * kdom/Shared.cc: Added.
   12254         * kdom/Shared.h: Added.
   12255         * kdom/Text.cc: Added.
   12256         * kdom/Text.h: Added.
   12257         * kdom/TreeShared.h: Added.
   12258         * kdom/TypeInfo.cc: Added.
   12259         * kdom/TypeInfo.h: Added.
   12260         * kdom/backends/libxml/LibXMLParser.cc: Added.
   12261         * kdom/backends/libxml/LibXMLParser.h: Added.
   12262         * kdom/backends/libxml/LibXMLParser.moc: Added.
   12263         * kdom/cache/IconData.h: Added.
   12264         * kdom/cache/ImageSource.cc: Added.
   12265         * kdom/cache/ImageSource.h: Added.
   12266         * kdom/cache/KDOMCache.cc: Added.
   12267         * kdom/cache/KDOMCache.h: Added.
   12268         * kdom/cache/KDOMCacheHelper.h: Added.
   12269         * kdom/cache/KDOMCachedDocument.cc: Added.
   12270         * kdom/cache/KDOMCachedDocument.h: Added.
   12271         * kdom/cache/KDOMCachedImage.cc: Added.
   12272         * kdom/cache/KDOMCachedImage.h: Added.
   12273         * kdom/cache/KDOMCachedImage.moc: Added.
   12274         * kdom/cache/KDOMCachedObject.cc: Added.
   12275         * kdom/cache/KDOMCachedObject.h: Added.
   12276         * kdom/cache/KDOMCachedObjectClient.h: Added.
   12277         * kdom/cache/KDOMCachedScript.cc: Added.
   12278         * kdom/cache/KDOMCachedScript.h: Added.
   12279         * kdom/cache/KDOMCachedStyleSheet.cc: Added.
   12280         * kdom/cache/KDOMCachedStyleSheet.h: Added.
   12281         * kdom/cache/KDOMLoader.cc: Added.
   12282         * kdom/cache/KDOMLoader.h: Added.
   12283         * kdom/cache/KDOMLoader.moc: Added.
   12284         * kdom/css/CSSCharsetRule.cc: Added.
   12285         * kdom/css/CSSCharsetRule.h: Added.
   12286         * kdom/css/CSSFontFaceRule.cc: Added.
   12287         * kdom/css/CSSFontFaceRule.h: Added.
   12288         * kdom/css/CSSHelper.h: Added.
   12289         * kdom/css/CSSImportRule.cc: Added.
   12290         * kdom/css/CSSImportRule.h: Added.
   12291         * kdom/css/CSSMediaRule.cc: Added.
   12292         * kdom/css/CSSMediaRule.h: Added.
   12293         * kdom/css/CSSPageRule.cc: Added.
   12294         * kdom/css/CSSPageRule.h: Added.
   12295         * kdom/css/CSSPrimitiveValue.cc: Added.
   12296         * kdom/css/CSSPrimitiveValue.h: Added.
   12297         * kdom/css/CSSRule.cc: Added.
   12298         * kdom/css/CSSRule.h: Added.
   12299         * kdom/css/CSSRuleList.cc: Added.
   12300         * kdom/css/CSSRuleList.h: Added.
   12301         * kdom/css/CSSStyleDeclaration.cc: Added.
   12302         * kdom/css/CSSStyleDeclaration.h: Added.
   12303         * kdom/css/CSSStyleRule.cc: Added.
   12304         * kdom/css/CSSStyleRule.h: Added.
   12305         * kdom/css/CSSStyleSheet.cc: Added.
   12306         * kdom/css/CSSStyleSheet.h: Added.
   12307         * kdom/css/CSSUnknownRule.cc: Added.
   12308         * kdom/css/CSSUnknownRule.h: Added.
   12309         * kdom/css/CSSValue.cc: Added.
   12310         * kdom/css/CSSValue.h: Added.
   12311         * kdom/css/CSSValueList.cc: Added.
   12312         * kdom/css/CSSValueList.h: Added.
   12313         * kdom/css/Counter.cc: Added.
   12314         * kdom/css/Counter.h: Added.
   12315         * kdom/css/DOMImplementationCSS.cc: Added.
   12316         * kdom/css/DOMImplementationCSS.h: Added.
   12317         * kdom/css/DocumentCSS.cc: Added.
   12318         * kdom/css/DocumentCSS.h: Added.
   12319         * kdom/css/DocumentStyle.cc: Added.
   12320         * kdom/css/DocumentStyle.h: Added.
   12321         * kdom/css/LinkStyle.cc: Added.
   12322         * kdom/css/LinkStyle.h: Added.
   12323         * kdom/css/MediaList.cc: Added.
   12324         * kdom/css/MediaList.h: Added.
   12325         * kdom/css/RGBColor.cc: Added.
   12326         * kdom/css/RGBColor.h: Added.
   12327         * kdom/css/Rect.cc: Added.
   12328         * kdom/css/Rect.h: Added.
   12329         * kdom/css/StyleSheet.cc: Added.
   12330         * kdom/css/StyleSheet.h: Added.
   12331         * kdom/css/StyleSheetList.cc: Added.
   12332         * kdom/css/StyleSheetList.h: Added.
   12333         * kdom/css/ViewCSS.cc: Added.
   12334         * kdom/css/ViewCSS.h: Added.
   12335         * kdom/css/impl/CSSCharsetRuleImpl.cc: Added.
   12336         * kdom/css/impl/CSSCharsetRuleImpl.h: Added.
   12337         * kdom/css/impl/CSSFontFaceRuleImpl.cc: Added.
   12338         * kdom/css/impl/CSSFontFaceRuleImpl.h: Added.
   12339         * kdom/css/impl/CSSImageValueImpl.cc: Added.
   12340         * kdom/css/impl/CSSImageValueImpl.h: Added.
   12341         * kdom/css/impl/CSSImportRuleImpl.cc: Added.
   12342         * kdom/css/impl/CSSImportRuleImpl.h: Added.
   12343         * kdom/css/impl/CSSMediaRuleImpl.cc: Added.
   12344         * kdom/css/impl/CSSMediaRuleImpl.h: Added.
   12345         * kdom/css/impl/CSSPageRuleImpl.cc: Added.
   12346         * kdom/css/impl/CSSPageRuleImpl.h: Added.
   12347         * kdom/css/impl/CSSPrimitiveValueImpl.cc: Added.
   12348         * kdom/css/impl/CSSPrimitiveValueImpl.h: Added.
   12349         * kdom/css/impl/CSSRuleImpl.cc: Added.
   12350         * kdom/css/impl/CSSRuleImpl.h: Added.
   12351         * kdom/css/impl/CSSRuleListImpl.cc: Added.
   12352         * kdom/css/impl/CSSRuleListImpl.h: Added.
   12353         * kdom/css/impl/CSSStyleDeclarationImpl.cc: Added.
   12354         * kdom/css/impl/CSSStyleDeclarationImpl.h: Added.
   12355         * kdom/css/impl/CSSStyleRuleImpl.cc: Added.
   12356         * kdom/css/impl/CSSStyleRuleImpl.h: Added.
   12357         * kdom/css/impl/CSSStyleSelector.cc: Added.
   12358         * kdom/css/impl/CSSStyleSelector.h: Added.
   12359         * kdom/css/impl/CSSStyleSheetImpl.cc: Added.
   12360         * kdom/css/impl/CSSStyleSheetImpl.h: Added.
   12361         * kdom/css/impl/CSSUnknownRuleImpl.cc: Added.
   12362         * kdom/css/impl/CSSUnknownRuleImpl.h: Added.
   12363         * kdom/css/impl/CSSValueImpl.cc: Added.
   12364         * kdom/css/impl/CSSValueImpl.h: Added.
   12365         * kdom/css/impl/CSSValueListImpl.cc: Added.
   12366         * kdom/css/impl/CSSValueListImpl.h: Added.
   12367         * kdom/css/impl/CounterImpl.cc: Added.
   12368         * kdom/css/impl/CounterImpl.h: Added.
   12369         * kdom/css/impl/DocumentStyleImpl.cc: Added.
   12370         * kdom/css/impl/DocumentStyleImpl.h: Added.
   12371         * kdom/css/impl/Font.cc: Added.
   12372         * kdom/css/impl/Font.h: Added.
   12373         * kdom/css/impl/KDOMCSSParser.cc: Added.
   12374         * kdom/css/impl/KDOMCSSParser.h: Added.
   12375         * kdom/css/impl/MediaListImpl.cc: Added.
   12376         * kdom/css/impl/MediaListImpl.h: Added.
   12377         * kdom/css/impl/RGBColorImpl.cc: Added.
   12378         * kdom/css/impl/RGBColorImpl.h: Added.
   12379         * kdom/css/impl/RectImpl.cc: Added.
   12380         * kdom/css/impl/RectImpl.h: Added.
   12381         * kdom/css/impl/RenderStyle.cc: Added.
   12382         * kdom/css/impl/RenderStyle.h: Added.
   12383         * kdom/css/impl/RenderStyleDefs.cc: Added.
   12384         * kdom/css/impl/RenderStyleDefs.h: Added.
   12385         * kdom/css/impl/StyleBaseImpl.cc: Added.
   12386         * kdom/css/impl/StyleBaseImpl.h: Added.
   12387         * kdom/css/impl/StyleSheetImpl.cc: Added.
   12388         * kdom/css/impl/StyleSheetImpl.h: Added.
   12389         * kdom/css/impl/StyleSheetListImpl.cc: Added.
   12390         * kdom/css/impl/StyleSheetListImpl.h: Added.
   12391         * kdom/css/impl/cssproperties.in: Added.
   12392         * kdom/css/impl/cssvalues.in: Added.
   12393         * kdom/css/impl/kdomparsercss.y: Added.
   12394         * kdom/css/impl/tokenizer.cpp: Added.
   12395         * kdom/css/kdomcss.h: Added.
   12396         * kdom/data/CSSConstants.h: Added.
   12397         * kdom/data/DOMConstants.h: Added.
   12398         * kdom/data/EcmaConstants.h: Added.
   12399         * kdom/data/EventsConstants.h: Added.
   12400         * kdom/data/LSConstants.h: Added.
   12401         * kdom/data/RangeConstants.h: Added.
   12402         * kdom/data/TraversalConstants.h: Added.
   12403         * kdom/data/ViewConstants.h: Added.
   12404         * kdom/data/XPathConstants.h: Added.
   12405         * kdom/data/generateddata.cc: Added.
   12406         * kdom/ecma/Constructors.cc: Added.
   12407         * kdom/ecma/Constructors.h: Added.
   12408         * kdom/ecma/DOMBridge.h: Added.
   12409         * kdom/ecma/DOMLookup.h: Added.
   12410         * kdom/ecma/Ecma.cc: Added.
   12411         * kdom/ecma/Ecma.h: Added.
   12412         * kdom/ecma/EcmaInterface.h: Added.
   12413         * kdom/ecma/GlobalObject.cc: Added.
   12414         * kdom/ecma/GlobalObject.h: Added.
   12415         * kdom/ecma/GlobalObject.moc: Added.
   12416         * kdom/ecma/Helper.cc: Added.
   12417         * kdom/ecma/ScriptInterpreter.cc: Added.
   12418         * kdom/ecma/ScriptInterpreter.h: Added.
   12419         * kdom/events/DocumentEvent.cc: Added.
   12420         * kdom/events/DocumentEvent.h: Added.
   12421         * kdom/events/Event.cc: Added.
   12422         * kdom/events/Event.h: Added.
   12423         * kdom/events/EventException.cc: Added.
   12424         * kdom/events/EventException.h: Added.
   12425         * kdom/events/EventListener.cc: Added.
   12426         * kdom/events/EventListener.h: Added.
   12427         * kdom/events/EventTarget.cc: Added.
   12428         * kdom/events/EventTarget.h: Added.
   12429         * kdom/events/KeyboardEvent.cc: Added.
   12430         * kdom/events/KeyboardEvent.h: Added.
   12431         * kdom/events/MouseEvent.cc: Added.
   12432         * kdom/events/MouseEvent.h: Added.
   12433         * kdom/events/MutationEvent.cc: Added.
   12434         * kdom/events/MutationEvent.h: Added.
   12435         * kdom/events/UIEvent.cc: Added.
   12436         * kdom/events/UIEvent.h: Added.
   12437         * kdom/events/impl/DocumentEventImpl.cc: Added.
   12438         * kdom/events/impl/DocumentEventImpl.h: Added.
   12439         * kdom/events/impl/EventExceptionImpl.cc: Added.
   12440         * kdom/events/impl/EventExceptionImpl.h: Added.
   12441         * kdom/events/impl/EventImpl.cc: Added.
   12442         * kdom/events/impl/EventImpl.h: Added.
   12443         * kdom/events/impl/EventListenerImpl.cc: Added.
   12444         * kdom/events/impl/EventListenerImpl.h: Added.
   12445         * kdom/events/impl/EventTargetImpl.cc: Added.
   12446         * kdom/events/impl/EventTargetImpl.h: Added.
   12447         * kdom/events/impl/KeyboardEventImpl.cc: Added.
   12448         * kdom/events/impl/KeyboardEventImpl.h: Added.
   12449         * kdom/events/impl/MouseEventImpl.cc: Added.
   12450         * kdom/events/impl/MouseEventImpl.h: Added.
   12451         * kdom/events/impl/MutationEventImpl.cc: Added.
   12452         * kdom/events/impl/MutationEventImpl.h: Added.
   12453         * kdom/events/impl/RegisteredEventListener.cc: Added.
   12454         * kdom/events/impl/RegisteredEventListener.h: Added.
   12455         * kdom/events/impl/UIEventImpl.cc: Added.
   12456         * kdom/events/impl/UIEventImpl.h: Added.
   12457         * kdom/events/kdomevents.h: Added.
   12458         * kdom/impl/AttrImpl.cc: Added.
   12459         * kdom/impl/AttrImpl.h: Added.
   12460         * kdom/impl/CDATASectionImpl.cc: Added.
   12461         * kdom/impl/CDATASectionImpl.h: Added.
   12462         * kdom/impl/CDFInterface.cc: Added.
   12463         * kdom/impl/CDFInterface.h: Added.
   12464         * kdom/impl/CharacterDataImpl.cc: Added.
   12465         * kdom/impl/CharacterDataImpl.h: Added.
   12466         * kdom/impl/CommentImpl.cc: Added.
   12467         * kdom/impl/CommentImpl.h: Added.
   12468         * kdom/impl/DOMConfigurationImpl.cc: Added.
   12469         * kdom/impl/DOMConfigurationImpl.h: Added.
   12470         * kdom/impl/DOMErrorHandlerImpl.cc: Added.
   12471         * kdom/impl/DOMErrorHandlerImpl.h: Added.
   12472         * kdom/impl/DOMErrorImpl.cc: Added.
   12473         * kdom/impl/DOMErrorImpl.h: Added.
   12474         * kdom/impl/DOMExceptionImpl.cc: Added.
   12475         * kdom/impl/DOMExceptionImpl.h: Added.
   12476         * kdom/impl/DOMImplementationImpl.cc: Added.
   12477         * kdom/impl/DOMImplementationImpl.h: Added.
   12478         * kdom/impl/DOMList.h: Added.
   12479         * kdom/impl/DOMLocatorImpl.cc: Added.
   12480         * kdom/impl/DOMLocatorImpl.h: Added.
   12481         * kdom/impl/DOMStringImpl.cc: Added.
   12482         * kdom/impl/DOMStringImpl.h: Added.
   12483         * kdom/impl/DOMStringListImpl.cc: Added.
   12484         * kdom/impl/DOMStringListImpl.h: Added.
   12485         * kdom/impl/DOMUserDataImpl.cc: Added.
   12486         * kdom/impl/DOMUserDataImpl.h: Added.
   12487         * kdom/impl/DocumentFragmentImpl.cc: Added.
   12488         * kdom/impl/DocumentFragmentImpl.h: Added.
   12489         * kdom/impl/DocumentImpl.cc: Added.
   12490         * kdom/impl/DocumentImpl.h: Added.
   12491         * kdom/impl/DocumentTypeImpl.cc: Added.
   12492         * kdom/impl/DocumentTypeImpl.h: Added.
   12493         * kdom/impl/ElementImpl.cc: Added.
   12494         * kdom/impl/ElementImpl.h: Added.
   12495         * kdom/impl/EntityImpl.cc: Added.
   12496         * kdom/impl/EntityImpl.h: Added.
   12497         * kdom/impl/EntityReferenceImpl.cc: Added.
   12498         * kdom/impl/EntityReferenceImpl.h: Added.
   12499         * kdom/impl/NamedAttrMapImpl.cc: Added.
   12500         * kdom/impl/NamedAttrMapImpl.h: Added.
   12501         * kdom/impl/NamedNodeMapImpl.cc: Added.
   12502         * kdom/impl/NamedNodeMapImpl.h: Added.
   12503         * kdom/impl/NodeImpl.cc: Added.
   12504         * kdom/impl/NodeImpl.h: Added.
   12505         * kdom/impl/NodeKeeper.cc: Added.
   12506         * kdom/impl/NodeKeeper.h: Added.
   12507         * kdom/impl/NodeListImpl.cc: Added.
   12508         * kdom/impl/NodeListImpl.h: Added.
   12509         * kdom/impl/NotationImpl.cc: Added.
   12510         * kdom/impl/NotationImpl.h: Added.
   12511         * kdom/impl/ProcessingInstructionImpl.cc: Added.
   12512         * kdom/impl/ProcessingInstructionImpl.h: Added.
   12513         * kdom/impl/TagNodeListImpl.cc: Added.
   12514         * kdom/impl/TagNodeListImpl.h: Added.
   12515         * kdom/impl/TextImpl.cc: Added.
   12516         * kdom/impl/TextImpl.h: Added.
   12517         * kdom/impl/TypeInfoImpl.cc: Added.
   12518         * kdom/impl/TypeInfoImpl.h: Added.
   12519         * kdom/impl/XMLElementImpl.cc: Added.
   12520         * kdom/impl/XMLElementImpl.h: Added.
   12521         * kdom/impl/domattrs.c: Added.
   12522         * kdom/impl/domattrs.h: Added.
   12523         * kdom/impl/domattrs.in: Added.
   12524         * kdom/kdom.h: Added.
   12525         * kdom/ls/DOMImplementationLS.cc: Added.
   12526         * kdom/ls/DOMImplementationLS.h: Added.
   12527         * kdom/ls/LSException.cc: Added.
   12528         * kdom/ls/LSException.h: Added.
   12529         * kdom/ls/LSInput.cc: Added.
   12530         * kdom/ls/LSInput.h: Added.
   12531         * kdom/ls/LSOutput.cc: Added.
   12532         * kdom/ls/LSOutput.h: Added.
   12533         * kdom/ls/LSParser.cc: Added.
   12534         * kdom/ls/LSParser.h: Added.
   12535         * kdom/ls/LSParserFilter.cc: Added.
   12536         * kdom/ls/LSParserFilter.h: Added.
   12537         * kdom/ls/LSResourceResolver.cc: Added.
   12538         * kdom/ls/LSResourceResolver.h: Added.
   12539         * kdom/ls/LSSerializer.cc: Added.
   12540         * kdom/ls/LSSerializer.h: Added.
   12541         * kdom/ls/LSSerializerFilter.cc: Added.
   12542         * kdom/ls/LSSerializerFilter.h: Added.
   12543         * kdom/ls/impl/LSExceptionImpl.cc: Added.
   12544         * kdom/ls/impl/LSExceptionImpl.h: Added.
   12545         * kdom/ls/impl/LSInputImpl.cc: Added.
   12546         * kdom/ls/impl/LSInputImpl.h: Added.
   12547         * kdom/ls/impl/LSOutputImpl.cc: Added.
   12548         * kdom/ls/impl/LSOutputImpl.h: Added.
   12549         * kdom/ls/impl/LSParserFilterImpl.cc: Added.
   12550         * kdom/ls/impl/LSParserFilterImpl.h: Added.
   12551         * kdom/ls/impl/LSParserImpl.cc: Added.
   12552         * kdom/ls/impl/LSParserImpl.h: Added.
   12553         * kdom/ls/impl/LSResourceResolverImpl.cc: Added.
   12554         * kdom/ls/impl/LSResourceResolverImpl.h: Added.
   12555         * kdom/ls/impl/LSSerializerFilterImpl.cc: Added.
   12556         * kdom/ls/impl/LSSerializerFilterImpl.h: Added.
   12557         * kdom/ls/impl/LSSerializerImpl.cc: Added.
   12558         * kdom/ls/impl/LSSerializerImpl.h: Added.
   12559         * kdom/ls/kdomls.h: Added.
   12560         * kdom/parser/KDOMDataSlave.moc: Added.
   12561         * kdom/parser/KDOMDocumentBuilder.cc: Added.
   12562         * kdom/parser/KDOMDocumentBuilder.h: Added.
   12563         * kdom/parser/KDOMParser.cc: Added.
   12564         * kdom/parser/KDOMParser.h: Added.
   12565         * kdom/parser/KDOMParser.moc: Added.
   12566         * kdom/range/DocumentRange.cc: Added.
   12567         * kdom/range/DocumentRange.h: Added.
   12568         * kdom/range/Range.cc: Added.
   12569         * kdom/range/Range.h: Added.
   12570         * kdom/range/RangeException.cc: Added.
   12571         * kdom/range/RangeException.h: Added.
   12572         * kdom/range/impl/DocumentRangeImpl.cc: Added.
   12573         * kdom/range/impl/DocumentRangeImpl.h: Added.
   12574         * kdom/range/impl/RangeExceptionImpl.cc: Added.
   12575         * kdom/range/impl/RangeExceptionImpl.h: Added.
   12576         * kdom/range/impl/RangeImpl.cc: Added.
   12577         * kdom/range/impl/RangeImpl.h: Added.
   12578         * kdom/range/kdomrange.h: Added.
   12579         * kdom/scripts/OVERVIEW: Added.
   12580         * kdom/scripts/constants.pl: Added.
   12581         * kdom/scripts/css.idl: Added.
   12582         * kdom/scripts/cssmakeprops: Added.
   12583         * kdom/scripts/cssmakevalues: Added.
   12584         * kdom/scripts/dom2-core.idl: Added.
   12585         * kdom/scripts/dom2-events.idl: Added.
   12586         * kdom/scripts/dom2-range.idl: Added.
   12587         * kdom/scripts/dom2-traversal.idl: Added.
   12588         * kdom/scripts/dom2-views.idl: Added.
   12589         * kdom/scripts/dommakeattrs: Added.
   12590         * kdom/scripts/generate.pl: Added.
   12591         * kdom/scripts/kalyptusKDOMEcma.pm: Added.
   12592         * kdom/scripts/stylesheets.idl: Added.
   12593         * kdom/traversal/DocumentTraversal.cc: Added.
   12594         * kdom/traversal/DocumentTraversal.h: Added.
   12595         * kdom/traversal/NodeFilter.cc: Added.
   12596         * kdom/traversal/NodeFilter.h: Added.
   12597         * kdom/traversal/NodeIterator.cc: Added.
   12598         * kdom/traversal/NodeIterator.h: Added.
   12599         * kdom/traversal/TreeWalker.cc: Added.
   12600         * kdom/traversal/TreeWalker.h: Added.
   12601         * kdom/traversal/impl/DocumentTraversalImpl.cc: Added.
   12602         * kdom/traversal/impl/DocumentTraversalImpl.h: Added.
   12603         * kdom/traversal/impl/NodeFilterImpl.cc: Added.
   12604         * kdom/traversal/impl/NodeFilterImpl.h: Added.
   12605         * kdom/traversal/impl/NodeIteratorImpl.cc: Added.
   12606         * kdom/traversal/impl/NodeIteratorImpl.h: Added.
   12607         * kdom/traversal/impl/TraversalImpl.cc: Added.
   12608         * kdom/traversal/impl/TraversalImpl.h: Added.
   12609         * kdom/traversal/impl/TreeWalkerImpl.cc: Added.
   12610         * kdom/traversal/impl/TreeWalkerImpl.h: Added.
   12611         * kdom/traversal/kdomtraversal.h: Added.
   12612         * kdom/views/AbstractView.cc: Added.
   12613         * kdom/views/AbstractView.h: Added.
   12614         * kdom/views/DocumentView.cc: Added.
   12615         * kdom/views/DocumentView.h: Added.
   12616         * kdom/views/impl/AbstractViewImpl.cc: Added.
   12617         * kdom/views/impl/AbstractViewImpl.h: Added.
   12618         * kdom/views/impl/DocumentViewImpl.cc: Added.
   12619         * kdom/views/impl/DocumentViewImpl.h: Added.
   12620         * kdom/xpath/XPathEvaluator.cc: Added.
   12621         * kdom/xpath/XPathEvaluator.h: Added.
   12622         * kdom/xpath/XPathException.cc: Added.
   12623         * kdom/xpath/XPathException.h: Added.
   12624         * kdom/xpath/XPathExpression.cc: Added.
   12625         * kdom/xpath/XPathExpression.h: Added.
   12626         * kdom/xpath/XPathNSResolver.cc: Added.
   12627         * kdom/xpath/XPathNSResolver.h: Added.
   12628         * kdom/xpath/XPathNamespace.cc: Added.
   12629         * kdom/xpath/XPathNamespace.h: Added.
   12630         * kdom/xpath/XPathResult.cc: Added.
   12631         * kdom/xpath/XPathResult.h: Added.
   12632         * kdom/xpath/impl/AxisImpl.cc: Added.
   12633         * kdom/xpath/impl/AxisImpl.h: Added.
   12634         * kdom/xpath/impl/ContextImpl.cc: Added.
   12635         * kdom/xpath/impl/ContextImpl.h: Added.
   12636         * kdom/xpath/impl/ExprNodeImpl.cc: Added.
   12637         * kdom/xpath/impl/ExprNodeImpl.h: Added.
   12638         * kdom/xpath/impl/FILES: Added.
   12639         * kdom/xpath/impl/LiteralImpl.cc: Added.
   12640         * kdom/xpath/impl/LiteralImpl.h: Added.
   12641         * kdom/xpath/impl/OperatorImpl.cc: Added.
   12642         * kdom/xpath/impl/OperatorImpl.h: Added.
   12643         * kdom/xpath/impl/ScopeImpl.cc: Added.
   12644         * kdom/xpath/impl/ScopeImpl.h: Added.
   12645         * kdom/xpath/impl/StepImpl.cc: Added.
   12646         * kdom/xpath/impl/StepImpl.h: Added.
   12647         * kdom/xpath/impl/VariableRefImpl.cc: Added.
   12648         * kdom/xpath/impl/VariableRefImpl.h: Added.
   12649         * kdom/xpath/impl/XPathCustomExceptionImpl.cc: Added.
   12650         * kdom/xpath/impl/XPathCustomExceptionImpl.h: Added.
   12651         * kdom/xpath/impl/XPathEvaluatorImpl.cc: Added.
   12652         * kdom/xpath/impl/XPathEvaluatorImpl.h: Added.
   12653         * kdom/xpath/impl/XPathExceptionImpl.cc: Added.
   12654         * kdom/xpath/impl/XPathExceptionImpl.h: Added.
   12655         * kdom/xpath/impl/XPathExpressionFilterImpl.cc: Added.
   12656         * kdom/xpath/impl/XPathExpressionFilterImpl.h: Added.
   12657         * kdom/xpath/impl/XPathExpressionImpl.cc: Added.
   12658         * kdom/xpath/impl/XPathExpressionImpl.h: Added.
   12659         * kdom/xpath/impl/XPathFactory1Impl.cc: Added.
   12660         * kdom/xpath/impl/XPathFactory1Impl.h: Added.
   12661         * kdom/xpath/impl/XPathFactoryBaseImpl.cc: Added.
   12662         * kdom/xpath/impl/XPathFactoryBaseImpl.h: Added.
   12663         * kdom/xpath/impl/XPathHelper.cc: Added.
   12664         * kdom/xpath/impl/XPathHelper.h: Added.
   12665         * kdom/xpath/impl/XPathNSResolverImpl.cc: Added.
   12666         * kdom/xpath/impl/XPathNSResolverImpl.h: Added.
   12667         * kdom/xpath/impl/XPathNamespaceImpl.cc: Added.
   12668         * kdom/xpath/impl/XPathNamespaceImpl.h: Added.
   12669         * kdom/xpath/impl/XPathResultImpl.cc: Added.
   12670         * kdom/xpath/impl/XPathResultImpl.h: Added.
   12671         * kdom/xpath/impl/data/BooleanImpl.cc: Added.
   12672         * kdom/xpath/impl/data/BooleanImpl.h: Added.
   12673         * kdom/xpath/impl/data/NodeSetImpl.cc: Added.
   12674         * kdom/xpath/impl/data/NodeSetImpl.h: Added.
   12675         * kdom/xpath/impl/data/NumberImpl.cc: Added.
   12676         * kdom/xpath/impl/data/NumberImpl.h: Added.
   12677         * kdom/xpath/impl/data/StringImpl.cc: Added.
   12678         * kdom/xpath/impl/data/StringImpl.h: Added.
   12679         * kdom/xpath/impl/data/ValueImpl.cc: Added.
   12680         * kdom/xpath/impl/data/ValueImpl.h: Added.
   12681         * kdom/xpath/impl/functions1/FunctionCallImpl.cc: Added.
   12682         * kdom/xpath/impl/functions1/FunctionCallImpl.h: Added.
   12683         * kdom/xpath/impl/functions1/README: Added.
   12684         * kdom/xpath/impl/functions1/boolean_fnxp1.cc: Added.
   12685         * kdom/xpath/impl/functions1/boolean_fnxp1.h: Added.
   12686         * kdom/xpath/impl/functions1/ceiling_fnxp1.cc: Added.
   12687         * kdom/xpath/impl/functions1/ceiling_fnxp1.h: Added.
   12688         * kdom/xpath/impl/functions1/concat_fnxp1.cc: Added.
   12689         * kdom/xpath/impl/functions1/concat_fnxp1.h: Added.
   12690         * kdom/xpath/impl/functions1/contains_fnxp1.cc: Added.
   12691         * kdom/xpath/impl/functions1/contains_fnxp1.h: Added.
   12692         * kdom/xpath/impl/functions1/false_fnxp1.cc: Added.
   12693         * kdom/xpath/impl/functions1/false_fnxp1.h: Added.
   12694         * kdom/xpath/impl/functions1/floor_fnxp1.cc: Added.
   12695         * kdom/xpath/impl/functions1/floor_fnxp1.h: Added.
   12696         * kdom/xpath/impl/functions1/normalize-space_fnxp1.cc: Added.
   12697         * kdom/xpath/impl/functions1/normalize-space_fnxp1.h: Added.
   12698         * kdom/xpath/impl/functions1/not_fnxp1.cc: Added.
   12699         * kdom/xpath/impl/functions1/not_fnxp1.h: Added.
   12700         * kdom/xpath/impl/functions1/number_fnxp1.cc: Added.
   12701         * kdom/xpath/impl/functions1/number_fnxp1.h: Added.
   12702         * kdom/xpath/impl/functions1/round_fnxp1.cc: Added.
   12703         * kdom/xpath/impl/functions1/round_fnxp1.h: Added.
   12704         * kdom/xpath/impl/functions1/starts-with_fnxp1.cc: Added.
   12705         * kdom/xpath/impl/functions1/starts-with_fnxp1.h: Added.
   12706         * kdom/xpath/impl/functions1/string-length_fnxp1.cc: Added.
   12707         * kdom/xpath/impl/functions1/string-length_fnxp1.h: Added.
   12708         * kdom/xpath/impl/functions1/string_fnxp1.cc: Added.
   12709         * kdom/xpath/impl/functions1/string_fnxp1.h: Added.
   12710         * kdom/xpath/impl/functions1/substring-after_fnxp1.cc: Added.
   12711         * kdom/xpath/impl/functions1/substring-after_fnxp1.h: Added.
   12712         * kdom/xpath/impl/functions1/substring-before_fnxp1.cc: Added.
   12713         * kdom/xpath/impl/functions1/substring-before_fnxp1.h: Added.
   12714         * kdom/xpath/impl/functions1/substring_fnxp1.cc: Added.
   12715         * kdom/xpath/impl/functions1/substring_fnxp1.h: Added.
   12716         * kdom/xpath/impl/functions1/true_fnxp1.cc: Added.
   12717         * kdom/xpath/impl/functions1/true_fnxp1.h: Added.
   12718         * kdom/xpath/impl/parser/Lexer.cc: Added.
   12719         * kdom/xpath/impl/parser/Lexer.h: Added.
   12720         * kdom/xpath/impl/parser/Lexer.l: Added.
   12721         * kdom/xpath/impl/parser/ParserState.cc: Added.
   12722         * kdom/xpath/impl/parser/ParserState.h: Added.
   12723         * kdom/xpath/impl/parser/xpath.ypp: Added.
   12724         * kdom/xpath/impl/utils/QNameImpl.cc: Added.
   12725         * kdom/xpath/impl/utils/QNameImpl.h: Added.
   12726         * kdom/xpath/kdomxpath.h: Added.
   12727         * kdom/xpointer/XPointerEvaluator.cc: Added.
   12728         * kdom/xpointer/XPointerEvaluator.h: Added.
   12729         * kdom/xpointer/XPointerException.cc: Added.
   12730         * kdom/xpointer/XPointerException.h: Added.
   12731         * kdom/xpointer/XPointerExpression.cc: Added.
   12732         * kdom/xpointer/XPointerExpression.h: Added.
   12733         * kdom/xpointer/XPointerHelper.cc: Added.
   12734         * kdom/xpointer/XPointerHelper.h: Added.
   12735         * kdom/xpointer/XPointerResult.cc: Added.
   12736         * kdom/xpointer/XPointerResult.h: Added.
   12737         * kdom/xpointer/impl/ElementSchemeImpl.cc: Added.
   12738         * kdom/xpointer/impl/ElementSchemeImpl.h: Added.
   12739         * kdom/xpointer/impl/NBCImpl.cc: Added.
   12740         * kdom/xpointer/impl/NBCImpl.h: Added.
   12741         * kdom/xpointer/impl/PointerPartImpl.cc: Added.
   12742         * kdom/xpointer/impl/PointerPartImpl.h: Added.
   12743         * kdom/xpointer/impl/ShortHandImpl.cc: Added.
   12744         * kdom/xpointer/impl/ShortHandImpl.h: Added.
   12745         * kdom/xpointer/impl/XMLNSSchemeImpl.cc: Added.
   12746         * kdom/xpointer/impl/XMLNSSchemeImpl.h: Added.
   12747         * kdom/xpointer/impl/XPath1SchemeImpl.cc: Added.
   12748         * kdom/xpointer/impl/XPath1SchemeImpl.h: Added.
   12749         * kdom/xpointer/impl/XPointerEvaluatorImpl.cc: Added.
   12750         * kdom/xpointer/impl/XPointerEvaluatorImpl.h: Added.
   12751         * kdom/xpointer/impl/XPointerExceptionImpl.cc: Added.
   12752         * kdom/xpointer/impl/XPointerExceptionImpl.h: Added.
   12753         * kdom/xpointer/impl/XPointerExpressionImpl.cc: Added.
   12754         * kdom/xpointer/impl/XPointerExpressionImpl.h: Added.
   12755         * kdom/xpointer/impl/XPointerResultImpl.cc: Added.
   12756         * kdom/xpointer/impl/XPointerResultImpl.h: Added.
   12757         * kdom/xpointer/impl/XPointerSchemeImpl.cc: Added.
   12758         * kdom/xpointer/impl/XPointerSchemeImpl.h: Added.
   12759         * kdom/xpointer/kdomxpointer.h: Added.
   12760         * ksvg2/KSVGFactory.cc: Added.
   12761         * ksvg2/KSVGFactory.h: Added.
   12762         * ksvg2/KSVGSettings.cc: Added.
   12763         * ksvg2/KSVGSettings.h: Added.
   12764         * ksvg2/KSVGSlotStubs.h: Added.
   12765         * ksvg2/KWQKSVGPart.h: Added.
   12766         * ksvg2/KWQKSVGPart.mm: Added.
   12767         * ksvg2/KWQKSVGView.h: Added.
   12768         * ksvg2/KWQKSVGView.mm: Added.
   12769         * ksvg2/css/impl/KSVGCSSParser.cc: Added.
   12770         * ksvg2/css/impl/KSVGCSSParser.h: Added.
   12771         * ksvg2/css/impl/SVGCSSStyleDeclarationImpl.cc: Added.
   12772         * ksvg2/css/impl/SVGCSSStyleDeclarationImpl.h: Added.
   12773         * ksvg2/css/impl/SVGCSSStyleSelector.cc: Added.
   12774         * ksvg2/css/impl/SVGCSSStyleSelector.h: Added.
   12775         * ksvg2/css/impl/SVGCSSStyleSheetImpl.cc: Added.
   12776         * ksvg2/css/impl/SVGCSSStyleSheetImpl.h: Added.
   12777         * ksvg2/css/impl/SVGRenderStyle.cc: Added.
   12778         * ksvg2/css/impl/SVGRenderStyle.h: Added.
   12779         * ksvg2/css/impl/SVGRenderStyleDefs.cc: Added.
   12780         * ksvg2/css/impl/SVGRenderStyleDefs.h: Added.
   12781         * ksvg2/css/impl/cssproperties.in: Added.
   12782         * ksvg2/css/impl/cssvalues.in: Added.
   12783         * ksvg2/css/impl/svg.css: Added.
   12784         * ksvg2/data/CSSConstants.h: Added.
   12785         * ksvg2/data/EcmaConstants.h: Added.
   12786         * ksvg2/data/EventsConstants.h: Added.
   12787         * ksvg2/data/SVGConstants.h: Added.
   12788         * ksvg2/data/generateddata.cc: Added.
   12789         * ksvg2/dom/SVGAElement.cc: Added.
   12790         * ksvg2/dom/SVGAElement.h: Added.
   12791         * ksvg2/dom/SVGAngle.cc: Added.
   12792         * ksvg2/dom/SVGAngle.h: Added.
   12793         * ksvg2/dom/SVGAnimateColorElement.cc: Added.
   12794         * ksvg2/dom/SVGAnimateColorElement.h: Added.
   12795         * ksvg2/dom/SVGAnimateElement.cc: Added.
   12796         * ksvg2/dom/SVGAnimateElement.h: Added.
   12797         * ksvg2/dom/SVGAnimateTransformElement.cc: Added.
   12798         * ksvg2/dom/SVGAnimateTransformElement.h: Added.
   12799         * ksvg2/dom/SVGAnimatedAngle.cc: Added.
   12800         * ksvg2/dom/SVGAnimatedAngle.h: Added.
   12801         * ksvg2/dom/SVGAnimatedBoolean.cc: Added.
   12802         * ksvg2/dom/SVGAnimatedBoolean.h: Added.
   12803         * ksvg2/dom/SVGAnimatedEnumeration.cc: Added.
   12804         * ksvg2/dom/SVGAnimatedEnumeration.h: Added.
   12805         * ksvg2/dom/SVGAnimatedInteger.cc: Added.
   12806         * ksvg2/dom/SVGAnimatedInteger.h: Added.
   12807         * ksvg2/dom/SVGAnimatedLength.cc: Added.
   12808         * ksvg2/dom/SVGAnimatedLength.h: Added.
   12809         * ksvg2/dom/SVGAnimatedLengthList.cc: Added.
   12810         * ksvg2/dom/SVGAnimatedLengthList.h: Added.
   12811         * ksvg2/dom/SVGAnimatedNumber.cc: Added.
   12812         * ksvg2/dom/SVGAnimatedNumber.h: Added.
   12813         * ksvg2/dom/SVGAnimatedNumberList.cc: Added.
   12814         * ksvg2/dom/SVGAnimatedNumberList.h: Added.
   12815         * ksvg2/dom/SVGAnimatedPathData.cc: Added.
   12816         * ksvg2/dom/SVGAnimatedPathData.h: Added.
   12817         * ksvg2/dom/SVGAnimatedPoints.cc: Added.
   12818         * ksvg2/dom/SVGAnimatedPoints.h: Added.
   12819         * ksvg2/dom/SVGAnimatedPreserveAspectRatio.cc: Added.
   12820         * ksvg2/dom/SVGAnimatedPreserveAspectRatio.h: Added.
   12821         * ksvg2/dom/SVGAnimatedRect.cc: Added.
   12822         * ksvg2/dom/SVGAnimatedRect.h: Added.
   12823         * ksvg2/dom/SVGAnimatedString.cc: Added.
   12824         * ksvg2/dom/SVGAnimatedString.h: Added.
   12825         * ksvg2/dom/SVGAnimatedTransformList.cc: Added.
   12826         * ksvg2/dom/SVGAnimatedTransformList.h: Added.
   12827         * ksvg2/dom/SVGAnimationElement.cc: Added.
   12828         * ksvg2/dom/SVGAnimationElement.h: Added.
   12829         * ksvg2/dom/SVGCircleElement.cc: Added.
   12830         * ksvg2/dom/SVGCircleElement.h: Added.
   12831         * ksvg2/dom/SVGClipPathElement.cc: Added.
   12832         * ksvg2/dom/SVGClipPathElement.h: Added.
   12833         * ksvg2/dom/SVGColor.cc: Added.
   12834         * ksvg2/dom/SVGColor.h: Added.
   12835         * ksvg2/dom/SVGComponentTransferFunctionElement.cc: Added.
   12836         * ksvg2/dom/SVGComponentTransferFunctionElement.h: Added.
   12837         * ksvg2/dom/SVGDOMImplementation.cc: Added.
   12838         * ksvg2/dom/SVGDOMImplementation.h: Added.
   12839         * ksvg2/dom/SVGDefsElement.cc: Added.
   12840         * ksvg2/dom/SVGDefsElement.h: Added.
   12841         * ksvg2/dom/SVGDescElement.cc: Added.
   12842         * ksvg2/dom/SVGDescElement.h: Added.
   12843         * ksvg2/dom/SVGDocument.cc: Added.
   12844         * ksvg2/dom/SVGDocument.h: Added.
   12845         * ksvg2/dom/SVGElement.cc: Added.
   12846         * ksvg2/dom/SVGElement.h: Added.
   12847         * ksvg2/dom/SVGElementInstance.cc: Added.
   12848         * ksvg2/dom/SVGElementInstance.h: Added.
   12849         * ksvg2/dom/SVGElementInstanceList.cc: Added.
   12850         * ksvg2/dom/SVGElementInstanceList.h: Added.
   12851         * ksvg2/dom/SVGEllipseElement.cc: Added.
   12852         * ksvg2/dom/SVGEllipseElement.h: Added.
   12853         * ksvg2/dom/SVGException.cc: Added.
   12854         * ksvg2/dom/SVGException.h: Added.
   12855         * ksvg2/dom/SVGExternalResourcesRequired.cc: Added.
   12856         * ksvg2/dom/SVGExternalResourcesRequired.h: Added.
   12857         * ksvg2/dom/SVGFEBlendElement.cc: Added.
   12858         * ksvg2/dom/SVGFEBlendElement.h: Added.
   12859         * ksvg2/dom/SVGFEColorMatrixElement.cc: Added.
   12860         * ksvg2/dom/SVGFEColorMatrixElement.h: Added.
   12861         * ksvg2/dom/SVGFEComponentTransferElement.cc: Added.
   12862         * ksvg2/dom/SVGFEComponentTransferElement.h: Added.
   12863         * ksvg2/dom/SVGFECompositeElement.cc: Added.
   12864         * ksvg2/dom/SVGFECompositeElement.h: Added.
   12865         * ksvg2/dom/SVGFEFloodElement.cc: Added.
   12866         * ksvg2/dom/SVGFEFloodElement.h: Added.
   12867         * ksvg2/dom/SVGFEFuncAElement.cc: Added.
   12868         * ksvg2/dom/SVGFEFuncAElement.h: Added.
   12869         * ksvg2/dom/SVGFEFuncBElement.cc: Added.
   12870         * ksvg2/dom/SVGFEFuncBElement.h: Added.
   12871         * ksvg2/dom/SVGFEFuncGElement.cc: Added.
   12872         * ksvg2/dom/SVGFEFuncGElement.h: Added.
   12873         * ksvg2/dom/SVGFEFuncRElement.cc: Added.
   12874         * ksvg2/dom/SVGFEFuncRElement.h: Added.
   12875         * ksvg2/dom/SVGFEGaussianBlurElement.cc: Added.
   12876         * ksvg2/dom/SVGFEGaussianBlurElement.h: Added.
   12877         * ksvg2/dom/SVGFEImageElement.cc: Added.
   12878         * ksvg2/dom/SVGFEImageElement.h: Added.
   12879         * ksvg2/dom/SVGFEMergeElement.cc: Added.
   12880         * ksvg2/dom/SVGFEMergeElement.h: Added.
   12881         * ksvg2/dom/SVGFEMergeNodeElement.cc: Added.
   12882         * ksvg2/dom/SVGFEMergeNodeElement.h: Added.
   12883         * ksvg2/dom/SVGFEOffsetElement.cc: Added.
   12884         * ksvg2/dom/SVGFEOffsetElement.h: Added.
   12885         * ksvg2/dom/SVGFETileElement.cc: Added.
   12886         * ksvg2/dom/SVGFETileElement.h: Added.
   12887         * ksvg2/dom/SVGFETurbulenceElement.cc: Added.
   12888         * ksvg2/dom/SVGFETurbulenceElement.h: Added.
   12889         * ksvg2/dom/SVGFilterElement.cc: Added.
   12890         * ksvg2/dom/SVGFilterElement.h: Added.
   12891         * ksvg2/dom/SVGFilterPrimitiveStandardAttributes.cc: Added.
   12892         * ksvg2/dom/SVGFilterPrimitiveStandardAttributes.h: Added.
   12893         * ksvg2/dom/SVGFitToViewBox.cc: Added.
   12894         * ksvg2/dom/SVGFitToViewBox.h: Added.
   12895         * ksvg2/dom/SVGGElement.cc: Added.
   12896         * ksvg2/dom/SVGGElement.h: Added.
   12897         * ksvg2/dom/SVGGradientElement.cc: Added.
   12898         * ksvg2/dom/SVGGradientElement.h: Added.
   12899         * ksvg2/dom/SVGImageElement.cc: Added.
   12900         * ksvg2/dom/SVGImageElement.h: Added.
   12901         * ksvg2/dom/SVGLangSpace.cc: Added.
   12902         * ksvg2/dom/SVGLangSpace.h: Added.
   12903         * ksvg2/dom/SVGLength.cc: Added.
   12904         * ksvg2/dom/SVGLength.h: Added.
   12905         * ksvg2/dom/SVGLengthList.cc: Added.
   12906         * ksvg2/dom/SVGLengthList.h: Added.
   12907         * ksvg2/dom/SVGLineElement.cc: Added.
   12908         * ksvg2/dom/SVGLineElement.h: Added.
   12909         * ksvg2/dom/SVGLinearGradientElement.cc: Added.
   12910         * ksvg2/dom/SVGLinearGradientElement.h: Added.
   12911         * ksvg2/dom/SVGLocatable.cc: Added.
   12912         * ksvg2/dom/SVGLocatable.h: Added.
   12913         * ksvg2/dom/SVGMarkerElement.cc: Added.
   12914         * ksvg2/dom/SVGMarkerElement.h: Added.
   12915         * ksvg2/dom/SVGMatrix.cc: Added.
   12916         * ksvg2/dom/SVGMatrix.h: Added.
   12917         * ksvg2/dom/SVGNumber.cc: Added.
   12918         * ksvg2/dom/SVGNumber.h: Added.
   12919         * ksvg2/dom/SVGNumberList.cc: Added.
   12920         * ksvg2/dom/SVGNumberList.h: Added.
   12921         * ksvg2/dom/SVGPaint.cc: Added.
   12922         * ksvg2/dom/SVGPaint.h: Added.
   12923         * ksvg2/dom/SVGPathElement.cc: Added.
   12924         * ksvg2/dom/SVGPathElement.h: Added.
   12925         * ksvg2/dom/SVGPathSeg.cc: Added.
   12926         * ksvg2/dom/SVGPathSeg.h: Added.
   12927         * ksvg2/dom/SVGPathSegArc.cc: Added.
   12928         * ksvg2/dom/SVGPathSegArc.h: Added.
   12929         * ksvg2/dom/SVGPathSegClosePath.cc: Added.
   12930         * ksvg2/dom/SVGPathSegClosePath.h: Added.
   12931         * ksvg2/dom/SVGPathSegCurvetoCubic.cc: Added.
   12932         * ksvg2/dom/SVGPathSegCurvetoCubic.h: Added.
   12933         * ksvg2/dom/SVGPathSegCurvetoCubicSmooth.cc: Added.
   12934         * ksvg2/dom/SVGPathSegCurvetoCubicSmooth.h: Added.
   12935         * ksvg2/dom/SVGPathSegCurvetoQuadratic.cc: Added.
   12936         * ksvg2/dom/SVGPathSegCurvetoQuadratic.h: Added.
   12937         * ksvg2/dom/SVGPathSegCurvetoQuadraticSmooth.cc: Added.
   12938         * ksvg2/dom/SVGPathSegCurvetoQuadraticSmooth.h: Added.
   12939         * ksvg2/dom/SVGPathSegLineto.cc: Added.
   12940         * ksvg2/dom/SVGPathSegLineto.h: Added.
   12941         * ksvg2/dom/SVGPathSegLinetoHorizontal.cc: Added.
   12942         * ksvg2/dom/SVGPathSegLinetoHorizontal.h: Added.
   12943         * ksvg2/dom/SVGPathSegLinetoVertical.cc: Added.
   12944         * ksvg2/dom/SVGPathSegLinetoVertical.h: Added.
   12945         * ksvg2/dom/SVGPathSegList.cc: Added.
   12946         * ksvg2/dom/SVGPathSegList.h: Added.
   12947         * ksvg2/dom/SVGPathSegMoveto.cc: Added.
   12948         * ksvg2/dom/SVGPathSegMoveto.h: Added.
   12949         * ksvg2/dom/SVGPatternElement.cc: Added.
   12950         * ksvg2/dom/SVGPatternElement.h: Added.
   12951         * ksvg2/dom/SVGPoint.cc: Added.
   12952         * ksvg2/dom/SVGPoint.h: Added.
   12953         * ksvg2/dom/SVGPointList.cc: Added.
   12954         * ksvg2/dom/SVGPointList.h: Added.
   12955         * ksvg2/dom/SVGPolygonElement.cc: Added.
   12956         * ksvg2/dom/SVGPolygonElement.h: Added.
   12957         * ksvg2/dom/SVGPolylineElement.cc: Added.
   12958         * ksvg2/dom/SVGPolylineElement.h: Added.
   12959         * ksvg2/dom/SVGPreserveAspectRatio.cc: Added.
   12960         * ksvg2/dom/SVGPreserveAspectRatio.h: Added.
   12961         * ksvg2/dom/SVGRadialGradientElement.cc: Added.
   12962         * ksvg2/dom/SVGRadialGradientElement.h: Added.
   12963         * ksvg2/dom/SVGRect.cc: Added.
   12964         * ksvg2/dom/SVGRect.h: Added.
   12965         * ksvg2/dom/SVGRectElement.cc: Added.
   12966         * ksvg2/dom/SVGRectElement.h: Added.
   12967         * ksvg2/dom/SVGSVGElement.cc: Added.
   12968         * ksvg2/dom/SVGSVGElement.h: Added.
   12969         * ksvg2/dom/SVGScriptElement.cc: Added.
   12970         * ksvg2/dom/SVGScriptElement.h: Added.
   12971         * ksvg2/dom/SVGSetElement.cc: Added.
   12972         * ksvg2/dom/SVGSetElement.h: Added.
   12973         * ksvg2/dom/SVGStopElement.cc: Added.
   12974         * ksvg2/dom/SVGStopElement.h: Added.
   12975         * ksvg2/dom/SVGStringList.cc: Added.
   12976         * ksvg2/dom/SVGStringList.h: Added.
   12977         * ksvg2/dom/SVGStylable.cc: Added.
   12978         * ksvg2/dom/SVGStylable.h: Added.
   12979         * ksvg2/dom/SVGStyleElement.cc: Added.
   12980         * ksvg2/dom/SVGStyleElement.h: Added.
   12981         * ksvg2/dom/SVGSwitchElement.cc: Added.
   12982         * ksvg2/dom/SVGSwitchElement.h: Added.
   12983         * ksvg2/dom/SVGSymbolElement.cc: Added.
   12984         * ksvg2/dom/SVGSymbolElement.h: Added.
   12985         * ksvg2/dom/SVGTSpanElement.cc: Added.
   12986         * ksvg2/dom/SVGTSpanElement.h: Added.
   12987         * ksvg2/dom/SVGTests.cc: Added.
   12988         * ksvg2/dom/SVGTests.h: Added.
   12989         * ksvg2/dom/SVGTextContentElement.cc: Added.
   12990         * ksvg2/dom/SVGTextContentElement.h: Added.
   12991         * ksvg2/dom/SVGTextElement.cc: Added.
   12992         * ksvg2/dom/SVGTextElement.h: Added.
   12993         * ksvg2/dom/SVGTextPositioningElement.cc: Added.
   12994         * ksvg2/dom/SVGTextPositioningElement.h: Added.
   12995         * ksvg2/dom/SVGTitleElement.cc: Added.
   12996         * ksvg2/dom/SVGTitleElement.h: Added.
   12997         * ksvg2/dom/SVGTransform.cc: Added.
   12998         * ksvg2/dom/SVGTransform.h: Added.
   12999         * ksvg2/dom/SVGTransformList.cc: Added.
   13000         * ksvg2/dom/SVGTransformList.h: Added.
   13001         * ksvg2/dom/SVGTransformable.cc: Added.
   13002         * ksvg2/dom/SVGTransformable.h: Added.
   13003         * ksvg2/dom/SVGURIReference.cc: Added.
   13004         * ksvg2/dom/SVGURIReference.h: Added.
   13005         * ksvg2/dom/SVGUseElement.cc: Added.
   13006         * ksvg2/dom/SVGUseElement.h: Added.
   13007         * ksvg2/dom/SVGViewElement.cc: Added.
   13008         * ksvg2/dom/SVGViewElement.h: Added.
   13009         * ksvg2/dom/SVGZoomAndPan.cc: Added.
   13010         * ksvg2/dom/SVGZoomAndPan.h: Added.
   13011         * ksvg2/ecma/Constructors.cc: Added.
   13012         * ksvg2/ecma/Constructors.h: Added.
   13013         * ksvg2/ecma/Ecma.cc: Added.
   13014         * ksvg2/ecma/Ecma.h: Added.
   13015         * ksvg2/ecma/EcmaInterface.h: Added.
   13016         * ksvg2/ecma/GlobalObject.cc: Added.
   13017         * ksvg2/ecma/GlobalObject.h: Added.
   13018         * ksvg2/ecma/SVGLookup.h: Added.
   13019         * ksvg2/events/SVGEvent.cc: Added.
   13020         * ksvg2/events/SVGEvent.h: Added.
   13021         * ksvg2/events/SVGZoomEvent.cc: Added.
   13022         * ksvg2/events/SVGZoomEvent.h: Added.
   13023         * ksvg2/events/impl/SVGEventImpl.cc: Added.
   13024         * ksvg2/events/impl/SVGEventImpl.h: Added.
   13025         * ksvg2/events/impl/SVGZoomEventImpl.cc: Added.
   13026         * ksvg2/events/impl/SVGZoomEventImpl.h: Added.
   13027         * ksvg2/events/ksvgevents.h: Added.
   13028         * ksvg2/impl/CDFInterface.cc: Added.
   13029         * ksvg2/impl/CDFInterface.h: Added.
   13030         * ksvg2/impl/SVGAElementImpl.cc: Added.
   13031         * ksvg2/impl/SVGAElementImpl.h: Added.
   13032         * ksvg2/impl/SVGAngleImpl.cc: Added.
   13033         * ksvg2/impl/SVGAngleImpl.h: Added.
   13034         * ksvg2/impl/SVGAnimateColorElementImpl.cc: Added.
   13035         * ksvg2/impl/SVGAnimateColorElementImpl.h: Added.
   13036         * ksvg2/impl/SVGAnimateElementImpl.cc: Added.
   13037         * ksvg2/impl/SVGAnimateElementImpl.h: Added.
   13038         * ksvg2/impl/SVGAnimateTransformElementImpl.cc: Added.
   13039         * ksvg2/impl/SVGAnimateTransformElementImpl.h: Added.
   13040         * ksvg2/impl/SVGAnimatedAngleImpl.cc: Added.
   13041         * ksvg2/impl/SVGAnimatedAngleImpl.h: Added.
   13042         * ksvg2/impl/SVGAnimatedBooleanImpl.cc: Added.
   13043         * ksvg2/impl/SVGAnimatedBooleanImpl.h: Added.
   13044         * ksvg2/impl/SVGAnimatedEnumerationImpl.cc: Added.
   13045         * ksvg2/impl/SVGAnimatedEnumerationImpl.h: Added.
   13046         * ksvg2/impl/SVGAnimatedIntegerImpl.cc: Added.
   13047         * ksvg2/impl/SVGAnimatedIntegerImpl.h: Added.
   13048         * ksvg2/impl/SVGAnimatedLengthImpl.cc: Added.
   13049         * ksvg2/impl/SVGAnimatedLengthImpl.h: Added.
   13050         * ksvg2/impl/SVGAnimatedLengthListImpl.cc: Added.
   13051         * ksvg2/impl/SVGAnimatedLengthListImpl.h: Added.
   13052         * ksvg2/impl/SVGAnimatedNumberImpl.cc: Added.
   13053         * ksvg2/impl/SVGAnimatedNumberImpl.h: Added.
   13054         * ksvg2/impl/SVGAnimatedNumberListImpl.cc: Added.
   13055         * ksvg2/impl/SVGAnimatedNumberListImpl.h: Added.
   13056         * ksvg2/impl/SVGAnimatedPathDataImpl.cc: Added.
   13057         * ksvg2/impl/SVGAnimatedPathDataImpl.h: Added.
   13058         * ksvg2/impl/SVGAnimatedPointsImpl.cc: Added.
   13059         * ksvg2/impl/SVGAnimatedPointsImpl.h: Added.
   13060         * ksvg2/impl/SVGAnimatedPreserveAspectRatioImpl.cc: Added.
   13061         * ksvg2/impl/SVGAnimatedPreserveAspectRatioImpl.h: Added.
   13062         * ksvg2/impl/SVGAnimatedRectImpl.cc: Added.
   13063         * ksvg2/impl/SVGAnimatedRectImpl.h: Added.
   13064         * ksvg2/impl/SVGAnimatedStringImpl.cc: Added.
   13065         * ksvg2/impl/SVGAnimatedStringImpl.h: Added.
   13066         * ksvg2/impl/SVGAnimatedTemplate.h: Added.
   13067         * ksvg2/impl/SVGAnimatedTransformListImpl.cc: Added.
   13068         * ksvg2/impl/SVGAnimatedTransformListImpl.h: Added.
   13069         * ksvg2/impl/SVGAnimationElementImpl.cc: Added.
   13070         * ksvg2/impl/SVGAnimationElementImpl.h: Added.
   13071         * ksvg2/impl/SVGCircleElementImpl.cc: Added.
   13072         * ksvg2/impl/SVGCircleElementImpl.h: Added.
   13073         * ksvg2/impl/SVGClipPathElementImpl.cc: Added.
   13074         * ksvg2/impl/SVGClipPathElementImpl.h: Added.
   13075         * ksvg2/impl/SVGColorImpl.cc: Added.
   13076         * ksvg2/impl/SVGColorImpl.h: Added.
   13077         * ksvg2/impl/SVGComponentTransferFunctionElementImpl.cc: Added.
   13078         * ksvg2/impl/SVGComponentTransferFunctionElementImpl.h: Added.
   13079         * ksvg2/impl/SVGDOMImplementationImpl.cc: Added.
   13080         * ksvg2/impl/SVGDOMImplementationImpl.h: Added.
   13081         * ksvg2/impl/SVGDefsElementImpl.cc: Added.
   13082         * ksvg2/impl/SVGDefsElementImpl.h: Added.
   13083         * ksvg2/impl/SVGDescElementImpl.cc: Added.
   13084         * ksvg2/impl/SVGDescElementImpl.h: Added.
   13085         * ksvg2/impl/SVGDocumentImpl.cc: Added.
   13086         * ksvg2/impl/SVGDocumentImpl.h: Added.
   13087         * ksvg2/impl/SVGElementImpl.cc: Added.
   13088         * ksvg2/impl/SVGElementImpl.h: Added.
   13089         * ksvg2/impl/SVGElementInstanceImpl.cc: Added.
   13090         * ksvg2/impl/SVGElementInstanceImpl.h: Added.
   13091         * ksvg2/impl/SVGElementInstanceListImpl.cc: Added.
   13092         * ksvg2/impl/SVGElementInstanceListImpl.h: Added.
   13093         * ksvg2/impl/SVGEllipseElementImpl.cc: Added.
   13094         * ksvg2/impl/SVGEllipseElementImpl.h: Added.
   13095         * ksvg2/impl/SVGExceptionImpl.cc: Added.
   13096         * ksvg2/impl/SVGExceptionImpl.h: Added.
   13097         * ksvg2/impl/SVGExternalResourcesRequiredImpl.cc: Added.
   13098         * ksvg2/impl/SVGExternalResourcesRequiredImpl.h: Added.
   13099         * ksvg2/impl/SVGFEBlendElementImpl.cc: Added.
   13100         * ksvg2/impl/SVGFEBlendElementImpl.h: Added.
   13101         * ksvg2/impl/SVGFEColorMatrixElementImpl.cc: Added.
   13102         * ksvg2/impl/SVGFEColorMatrixElementImpl.h: Added.
   13103         * ksvg2/impl/SVGFEComponentTransferElementImpl.cc: Added.
   13104         * ksvg2/impl/SVGFEComponentTransferElementImpl.h: Added.
   13105         * ksvg2/impl/SVGFECompositeElementImpl.cc: Added.
   13106         * ksvg2/impl/SVGFECompositeElementImpl.h: Added.
   13107         * ksvg2/impl/SVGFEFloodElementImpl.cc: Added.
   13108         * ksvg2/impl/SVGFEFloodElementImpl.h: Added.
   13109         * ksvg2/impl/SVGFEFuncAElementImpl.cc: Added.
   13110         * ksvg2/impl/SVGFEFuncAElementImpl.h: Added.
   13111         * ksvg2/impl/SVGFEFuncBElementImpl.cc: Added.
   13112         * ksvg2/impl/SVGFEFuncBElementImpl.h: Added.
   13113         * ksvg2/impl/SVGFEFuncGElementImpl.cc: Added.
   13114         * ksvg2/impl/SVGFEFuncGElementImpl.h: Added.
   13115         * ksvg2/impl/SVGFEFuncRElementImpl.cc: Added.
   13116         * ksvg2/impl/SVGFEFuncRElementImpl.h: Added.
   13117         * ksvg2/impl/SVGFEGaussianBlurElementImpl.cc: Added.
   13118         * ksvg2/impl/SVGFEGaussianBlurElementImpl.h: Added.
   13119         * ksvg2/impl/SVGFEImageElementImpl.cc: Added.
   13120         * ksvg2/impl/SVGFEImageElementImpl.h: Added.
   13121         * ksvg2/impl/SVGFEMergeElementImpl.cc: Added.
   13122         * ksvg2/impl/SVGFEMergeElementImpl.h: Added.
   13123         * ksvg2/impl/SVGFEMergeNodeElementImpl.cc: Added.
   13124         * ksvg2/impl/SVGFEMergeNodeElementImpl.h: Added.
   13125         * ksvg2/impl/SVGFEOffsetElementImpl.cc: Added.
   13126         * ksvg2/impl/SVGFEOffsetElementImpl.h: Added.
   13127         * ksvg2/impl/SVGFETileElementImpl.cc: Added.
   13128         * ksvg2/impl/SVGFETileElementImpl.h: Added.
   13129         * ksvg2/impl/SVGFETurbulenceElementImpl.cc: Added.
   13130         * ksvg2/impl/SVGFETurbulenceElementImpl.h: Added.
   13131         * ksvg2/impl/SVGFilterElementImpl.cc: Added.
   13132         * ksvg2/impl/SVGFilterElementImpl.h: Added.
   13133         * ksvg2/impl/SVGFilterPrimitiveStandardAttributesImpl.cc: Added.
   13134         * ksvg2/impl/SVGFilterPrimitiveStandardAttributesImpl.h: Added.
   13135         * ksvg2/impl/SVGFitToViewBoxImpl.cc: Added.
   13136         * ksvg2/impl/SVGFitToViewBoxImpl.h: Added.
   13137         * ksvg2/impl/SVGGElementImpl.cc: Added.
   13138         * ksvg2/impl/SVGGElementImpl.h: Added.
   13139         * ksvg2/impl/SVGGradientElementImpl.cc: Added.
   13140         * ksvg2/impl/SVGGradientElementImpl.h: Added.
   13141         * ksvg2/impl/SVGHelper.cc: Added.
   13142         * ksvg2/impl/SVGHelper.h: Added.
   13143         * ksvg2/impl/SVGImageElementImpl.cc: Added.
   13144         * ksvg2/impl/SVGImageElementImpl.h: Added.
   13145         * ksvg2/impl/SVGLangSpaceImpl.cc: Added.
   13146         * ksvg2/impl/SVGLangSpaceImpl.h: Added.
   13147         * ksvg2/impl/SVGLengthImpl.cc: Added.
   13148         * ksvg2/impl/SVGLengthImpl.h: Added.
   13149         * ksvg2/impl/SVGLengthListImpl.cc: Added.
   13150         * ksvg2/impl/SVGLengthListImpl.h: Added.
   13151         * ksvg2/impl/SVGLineElementImpl.cc: Added.
   13152         * ksvg2/impl/SVGLineElementImpl.h: Added.
   13153         * ksvg2/impl/SVGLinearGradientElementImpl.cc: Added.
   13154         * ksvg2/impl/SVGLinearGradientElementImpl.h: Added.
   13155         * ksvg2/impl/SVGList.h: Added.
   13156         * ksvg2/impl/SVGLocatableImpl.cc: Added.
   13157         * ksvg2/impl/SVGLocatableImpl.h: Added.
   13158         * ksvg2/impl/SVGMarkerElementImpl.cc: Added.
   13159         * ksvg2/impl/SVGMarkerElementImpl.h: Added.
   13160         * ksvg2/impl/SVGMatrixImpl.cc: Added.
   13161         * ksvg2/impl/SVGMatrixImpl.h: Added.
   13162         * ksvg2/impl/SVGNumberImpl.cc: Added.
   13163         * ksvg2/impl/SVGNumberImpl.h: Added.
   13164         * ksvg2/impl/SVGNumberListImpl.cc: Added.
   13165         * ksvg2/impl/SVGNumberListImpl.h: Added.
   13166         * ksvg2/impl/SVGPaintImpl.cc: Added.
   13167         * ksvg2/impl/SVGPaintImpl.h: Added.
   13168         * ksvg2/impl/SVGPathElementImpl.cc: Added.
   13169         * ksvg2/impl/SVGPathElementImpl.h: Added.
   13170         * ksvg2/impl/SVGPathSegArcImpl.cc: Added.
   13171         * ksvg2/impl/SVGPathSegArcImpl.h: Added.
   13172         * ksvg2/impl/SVGPathSegClosePathImpl.cc: Added.
   13173         * ksvg2/impl/SVGPathSegClosePathImpl.h: Added.
   13174         * ksvg2/impl/SVGPathSegCurvetoCubicImpl.cc: Added.
   13175         * ksvg2/impl/SVGPathSegCurvetoCubicImpl.h: Added.
   13176         * ksvg2/impl/SVGPathSegCurvetoCubicSmoothImpl.cc: Added.
   13177         * ksvg2/impl/SVGPathSegCurvetoCubicSmoothImpl.h: Added.
   13178         * ksvg2/impl/SVGPathSegCurvetoQuadraticImpl.cc: Added.
   13179         * ksvg2/impl/SVGPathSegCurvetoQuadraticImpl.h: Added.
   13180         * ksvg2/impl/SVGPathSegCurvetoQuadraticSmoothImpl.cc: Added.
   13181         * ksvg2/impl/SVGPathSegCurvetoQuadraticSmoothImpl.h: Added.
   13182         * ksvg2/impl/SVGPathSegImpl.cc: Added.
   13183         * ksvg2/impl/SVGPathSegImpl.h: Added.
   13184         * ksvg2/impl/SVGPathSegLinetoHorizontalImpl.cc: Added.
   13185         * ksvg2/impl/SVGPathSegLinetoHorizontalImpl.h: Added.
   13186         * ksvg2/impl/SVGPathSegLinetoImpl.cc: Added.
   13187         * ksvg2/impl/SVGPathSegLinetoImpl.h: Added.
   13188         * ksvg2/impl/SVGPathSegLinetoVerticalImpl.cc: Added.
   13189         * ksvg2/impl/SVGPathSegLinetoVerticalImpl.h: Added.
   13190         * ksvg2/impl/SVGPathSegListImpl.cc: Added.
   13191         * ksvg2/impl/SVGPathSegListImpl.h: Added.
   13192         * ksvg2/impl/SVGPathSegMovetoImpl.cc: Added.
   13193         * ksvg2/impl/SVGPathSegMovetoImpl.h: Added.
   13194         * ksvg2/impl/SVGPatternElementImpl.cc: Added.
   13195         * ksvg2/impl/SVGPatternElementImpl.h: Added.
   13196         * ksvg2/impl/SVGPointImpl.cc: Added.
   13197         * ksvg2/impl/SVGPointImpl.h: Added.
   13198         * ksvg2/impl/SVGPointListImpl.cc: Added.
   13199         * ksvg2/impl/SVGPointListImpl.h: Added.
   13200         * ksvg2/impl/SVGPolyElementImpl.cc: Added.
   13201         * ksvg2/impl/SVGPolyElementImpl.h: Added.
   13202         * ksvg2/impl/SVGPolygonElementImpl.cc: Added.
   13203         * ksvg2/impl/SVGPolygonElementImpl.h: Added.
   13204         * ksvg2/impl/SVGPolylineElementImpl.cc: Added.
   13205         * ksvg2/impl/SVGPolylineElementImpl.h: Added.
   13206         * ksvg2/impl/SVGPreserveAspectRatioImpl.cc: Added.
   13207         * ksvg2/impl/SVGPreserveAspectRatioImpl.h: Added.
   13208         * ksvg2/impl/SVGRadialGradientElementImpl.cc: Added.
   13209         * ksvg2/impl/SVGRadialGradientElementImpl.h: Added.
   13210         * ksvg2/impl/SVGRectElementImpl.cc: Added.
   13211         * ksvg2/impl/SVGRectElementImpl.h: Added.
   13212         * ksvg2/impl/SVGRectImpl.cc: Added.
   13213         * ksvg2/impl/SVGRectImpl.h: Added.
   13214         * ksvg2/impl/SVGSVGElementImpl.cc: Added.
   13215         * ksvg2/impl/SVGSVGElementImpl.h: Added.
   13216         * ksvg2/impl/SVGScriptElementImpl.cc: Added.
   13217         * ksvg2/impl/SVGScriptElementImpl.h: Added.
   13218         * ksvg2/impl/SVGSetElementImpl.cc: Added.
   13219         * ksvg2/impl/SVGSetElementImpl.h: Added.
   13220         * ksvg2/impl/SVGStopElementImpl.cc: Added.
   13221         * ksvg2/impl/SVGStopElementImpl.h: Added.
   13222         * ksvg2/impl/SVGStringListImpl.cc: Added.
   13223         * ksvg2/impl/SVGStringListImpl.h: Added.
   13224         * ksvg2/impl/SVGStylableImpl.cc: Added.
   13225         * ksvg2/impl/SVGStylableImpl.h: Added.
   13226         * ksvg2/impl/SVGStyleElementImpl.cc: Added.
   13227         * ksvg2/impl/SVGStyleElementImpl.h: Added.
   13228         * ksvg2/impl/SVGStyledElementImpl.cc: Added.
   13229         * ksvg2/impl/SVGStyledElementImpl.h: Added.
   13230         * ksvg2/impl/SVGSwitchElementImpl.cc: Added.
   13231         * ksvg2/impl/SVGSwitchElementImpl.h: Added.
   13232         * ksvg2/impl/SVGSymbolElementImpl.cc: Added.
   13233         * ksvg2/impl/SVGSymbolElementImpl.h: Added.
   13234         * ksvg2/impl/SVGTSpanElementImpl.cc: Added.
   13235         * ksvg2/impl/SVGTSpanElementImpl.h: Added.
   13236         * ksvg2/impl/SVGTestsImpl.cc: Added.
   13237         * ksvg2/impl/SVGTestsImpl.h: Added.
   13238         * ksvg2/impl/SVGTextContentElementImpl.cc: Added.
   13239         * ksvg2/impl/SVGTextContentElementImpl.h: Added.
   13240         * ksvg2/impl/SVGTextElementImpl.cc: Added.
   13241         * ksvg2/impl/SVGTextElementImpl.h: Added.
   13242         * ksvg2/impl/SVGTextPositioningElementImpl.cc: Added.
   13243         * ksvg2/impl/SVGTextPositioningElementImpl.h: Added.
   13244         * ksvg2/impl/SVGTitleElementImpl.cc: Added.
   13245         * ksvg2/impl/SVGTitleElementImpl.h: Added.
   13246         * ksvg2/impl/SVGTransformImpl.cc: Added.
   13247         * ksvg2/impl/SVGTransformImpl.h: Added.
   13248         * ksvg2/impl/SVGTransformListImpl.cc: Added.
   13249         * ksvg2/impl/SVGTransformListImpl.h: Added.
   13250         * ksvg2/impl/SVGTransformableImpl.cc: Added.
   13251         * ksvg2/impl/SVGTransformableImpl.h: Added.
   13252         * ksvg2/impl/SVGURIReferenceImpl.cc: Added.
   13253         * ksvg2/impl/SVGURIReferenceImpl.h: Added.
   13254         * ksvg2/impl/SVGUseElementImpl.cc: Added.
   13255         * ksvg2/impl/SVGUseElementImpl.h: Added.
   13256         * ksvg2/impl/SVGViewElementImpl.cc: Added.
   13257         * ksvg2/impl/SVGViewElementImpl.h: Added.
   13258         * ksvg2/impl/SVGZoomAndPanImpl.cc: Added.
   13259         * ksvg2/impl/SVGZoomAndPanImpl.h: Added.
   13260         * ksvg2/impl/svgattrs.c: Added.
   13261         * ksvg2/impl/svgattrs.h: Added.
   13262         * ksvg2/impl/svgattrs.in: Added.
   13263         * ksvg2/impl/svgpathparser.cc: Added.
   13264         * ksvg2/impl/svgpathparser.h: Added.
   13265         * ksvg2/impl/svgtags.c: Added.
   13266         * ksvg2/impl/svgtags.h: Added.
   13267         * ksvg2/impl/svgtags.in: Added.
   13268         * ksvg2/ksvg.h: Added.
   13269         * ksvg2/scripts/generate.pl: Added.
   13270         * ksvg2/scripts/kalyptusKDOMEcma.pm: Added.
   13271         * ksvg2/scripts/ksvgstatus.xsl: Added.
   13272         * ksvg2/scripts/regressiontest.sh: Added.
   13273         * ksvg2/scripts/regressiontestsetup.sh: Added.
   13274         * ksvg2/scripts/svg.idl: Added.
   13275         Several things to mention here:
   13276         1.  Function names were stripped out of the ChangeLog for brevity.
   13277         2.  Several files (like the c++ DOM) are only in here temporarily.
   13278         3.  Several files (like kdom/catalog) were left out of CVS as they
   13279         do not currently work in our kdom port.  Those may or may not be
   13280         added in the future.
   13281         4.  Notes re: the WebCore+SVG target
   13282           - APPLE_COMPILE_HACK is a temporary addition for compiling
   13283           - None of the SVG or KDOM files are compiled in "WebCore" by default.
   13284           - Compiling WebCore+SVG requires compiling JavaScriptCore+SVG
   13285             to enable RTTI support in JavaScriptCore.
   13286 
   13287 2005-07-08  Eric Seidel  <eseidel (a] apple.com>
   13288 
   13289         Reviewed by mjs.
   13290 
   13291         * kwq/KWQRegExp.h: Added cap() support.
   13292         * kwq/KWQRegExp.mm: Added cap() support.
   13293         (QRegExp::match): Changes necessary for cap()
   13294         (QRegExp::cap): based off of JSC's pcre support.
   13295         http://bugs.webkit.org/show_bug.cgi?id=3847
   13296 
   13297 2005-07-08  Geoffrey Garen  <ggaren (a] apple.com>
   13298 
   13299         Rolled in layout test for fix to 
   13300         http://bugs.webkit.org/show_bug.cgi?id=3818
   13301         Fallback font doesn't have requested weight in ATSUI-rendered text
   13302 
   13303         Reviewed by mjs.
   13304 
   13305         Test cases added:
   13306         * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.txt: Added.
   13307         * layout-tests/fast/text/international/bidi-fallback-font-weight.html: Added.
   13308 
   13309 2005-07-08  Beth Dakin  <bdakin (a] apple.com>
   13310 
   13311         Reviewed by John.
   13312 
   13313 	This is a fix for half of <rdar://problem/4172312>
   13314 	Because marquee is a WinIE element, we are honoring their treatment of the height attribute by making sure it is overriden when its value is given to be smaller than the font height.
   13315 
   13316         Test cases added: fast/css/MarqueeLayoutTest.html
   13317 
   13318         * khtml/html/html_blockimpl.cpp:
   13319         (HTMLMarqueeElementImpl::mapToEntry): set result to eMarquee instead of eUniversal for height attribute
   13320         (HTMLMarqueeElementImpl::parseMappedAttribute): changed to minheight instead of just height
   13321         * khtml/xml/dom_elementimpl.h: added eMarquee hash key
   13322 	(QScrollView::suppressScrollBars):
   13323         * layout-tests/fast/css/MarqueeLayoutTest-expected.txt: Added.
   13324         * layout-tests/fast/css/MarqueeLayoutTest.html: Added.
   13325        
   13326 2005-07-08  Vicki Murley  <vicki (a] apple.com>
   13327 
   13328 	Fix from Carsten Guenther, reviewed by Maciej
   13329 
   13330 	- update test cases for JavaScriptCore fix 
   13331         http://bugs.webkit.org/show_bug.cgi?id=3644 
   13332 
   13333         * layout-tests/fast/dom/outerText-no-element-expected.txt:
   13334         * layout-tests/fast/dynamic/outerHTML-no-element-expected.txt:
   13335         * layout-tests/fast/js/array-every-expected.txt:
   13336         * layout-tests/fast/js/array-foreach-expected.txt:
   13337         * layout-tests/fast/js/array-some-expected.txt:
   13338         * layout-tests/fast/js/toString-stack-overflow-expected.txt:
   13339 
   13340 2005-07-08  Vicki Murley <vicki (a] apple.com>
   13341 
   13342 	- fixed by Trey Matteson <trey (a] usa.net>, reviewed by Maciej.
   13343 
   13344 	Test cases added: (NONE)
   13345 
   13346 	<rdar://problem/4109893> REGRESSION: back/forward broken at wsj.com, worked in v185
   13347 	Also written as http://bugs.webkit.org/show_bug.cgi?id=3901
   13348  
   13349 	Broken by security fix for 4005575: Arbitrary file disclosure vulnerability due to ability to load local html from remote content
   13350  
   13351 	The root of this bug is that URLs for subframes of a page are sometimes added to the back/forward list.  This happens a lot at
   13352 	wsj.com, and I believe it would happen for many or all sites that use JS to cons up a URL for an iframe and then load it.
   13353  
   13354 	The security fix changed the code path to go through openURLRequest, but only openURL had the logic to guess if
   13355 	the current navigation was done in response to a user gesture.  openURLRequest always assumed it was a user gesture,
   13356 	and thus all uses of this code path would place an item in the b/f list.
   13357 
   13358 	* kwq/KWQKHTMLPart.h:
   13359 	* kwq/KWQKHTMLPart.mm:
   13360 	(KWQKHTMLPart::userGestureHint):  Factored code from openURL.
   13361 	(KWQKHTMLPart::openURL):  Call newly factored code.
   13362 	(KWQKHTMLPart::openURLRequest):  Newly call newly factored code.
   13363 
   13364 2005-07-07  Maciej Stachowiak  <mjs (a] apple.com>
   13365 
   13366         - oops, accidentally committed stat dumping enabled
   13367 
   13368         * khtml/misc/hashtable.h:
   13369 
   13370 2005-07-07  Maciej Stachowiak  <mjs (a] apple.com>
   13371 
   13372         Reviewed by hyatt.
   13373 
   13374         - sped up DOMStringImpl * equality comparisons.
   13375 
   13376         * khtml/misc/hashfunctions.h:
   13377         (khtml::):
   13378         * khtml/misc/hashtable.h:
   13379         * khtml/xml/dom_atomicstring.cpp:
   13380         (DOM::equal):
   13381 
   13382 2005-07-07  Adele Peterson  <adele (a] apple.com>
   13383 
   13384         change by Maciej, reviewed by me.
   13385 
   13386         fix for <rdar://problem/4168001> Cambridge 8C45: Safari crashes in Webcore (DOM::NodeImpl::removeAllEventListeners() + 32)
   13387 
   13388         No test cases added.  There are some edge cases in which removeAllDisconnectedNodeEventListeners can get 
   13389         called twice for the same document, and this can cause some nodes to unnecessarily remain in the 
   13390         m_disconnectedNodesWithEventListeners list.  This fix just clears the m_disconnectedNodesWithEventListeners 
   13391         list after removing all event listeners for the disconnected nodes.
   13392 
   13393         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::removeAllDisconnectedNodeEventListeners):
   13394 
   13395 2005-07-07  Geoffrey Garen  <ggaren (a] apple.com>
   13396 
   13397         Reviewed by sullivan.
   13398 
   13399         Test cases added: (NONE)
   13400 
   13401         * kwq/KWQDef.h: added #include <cmath> to fix build failure
   13402         introduced by last checkin
   13403 
   13404 2005-07-07  Eric Seidel  <eseidel (a] apple.com>
   13405 
   13406         Reviewed by mjs.
   13407 
   13408         * kwq/DOM-CSS.mm:
   13409         (-[DOMRGBColor _color]): changed to nsColor()
   13410         * kwq/KWQAccObject.mm:
   13411         (AXAttributeStringSetStyle): changed to nsColor()
   13412         * kwq/KWQColor.h: Added defs for KDOM.
   13413         * kwq/KWQColor.mm: 
   13414         (qRed): like qAlpha, kcanvas required.
   13415         (qGreen): like qAlpha, kcanvas required.
   13416         (qBlue): like qAlpha, kcanvas required.
   13417         (parseHexColor): copied from khtml/css/cssparser.h
   13418         (QColor::QColor): QColor(QString), will lookup by hex code.
   13419         (nsColor): now plain function, instead of member function. (mjs)
   13420         (CGColorFromNSColor): stolen from QPalette.mm
   13421         (cgColor): added to support CGColor, like nsColor()
   13422         (QColor::getRgbaF): new, for KCanvas, from Qt 4.
   13423         * kwq/KWQKHTMLPart.mm:
   13424         (KWQKHTMLPart::attributedString): changed to nsColor()
   13425         (KWQKHTMLPart::fontAttributesForSelectionStart): nsColor()
   13426         (KWQKHTMLPart::bodyBackgroundColor): changed to nsColor()
   13427         * kwq/KWQLineEdit.mm:
   13428         (QLineEdit::setPalette): changed to nsColor()
   13429         * kwq/KWQPainter.mm:
   13430         (QPainter::_setColorFromBrush): changed to nsColor()
   13431         (QPainter::_setColorFromPen): changed to nsColor()
   13432         (QPainter::drawText): changed to nsColor()
   13433         (QPainter::drawHighlightForText): changed to nsColor()
   13434         (QPainter::drawLineForText): changed to nsColor()
   13435         (QPainter::_fillRect): changed to nsColor()
   13436         (QPainter::setShadow): changed to cgColor()
   13437         (QPainter::drawFocusRing): changed to nsColor()
   13438         * kwq/KWQTextEdit.mm:
   13439         (QTextEdit::setPalette): changed to nsColor()
   13440         * kwq/WebCoreBridge.mm:
   13441         (-[WebCoreBridge selectionColor]): changed to nsColor()
   13442         This patch ended up larger than intended after discussing
   13443         with mjs about adding getCGColor() and getCIColor()
   13444         We decided that having separate nsColor(), cgColor() and 
   13445         ciColor() defined elsewhere, was cleanest.
   13446         The rest of the patch is QColor additions for kdom/ksvg/kcanvas.
   13447         http://bugs.webkit.org/show_bug.cgi?id=3829
   13448 
   13449 2005-07-07  Eric Seidel  <eseidel (a] apple.com>
   13450 
   13451         Reviewed by mjs.
   13452 
   13453         * kwq/KWQPtrDict.h: Additions for KDOM
   13454         (QPtrDictIterator::operator()): essentially post-increment.
   13455         http://bugs.webkit.org/show_bug.cgi?id=3849
   13456 
   13457 2005-07-07  Eric Seidel  <eseidel (a] apple.com>
   13458 
   13459         Reviewed by mjs.
   13460 
   13461         * khtml/css/parser.y: removed #define YYMAXDEPTH 0
   13462         Bison 2.x compatibility
   13463         http://bugs.webkit.org/show_bug.cgi?id=3882
   13464 
   13465 2005-07-07  Eric Seidel  <eseidel (a] apple.com>
   13466 
   13467         Reviewed by mjs.
   13468 
   13469         * khtml/rendering/render_canvasimage.cpp: <cmath.h>
   13470         * khtml/rendering/render_image.cpp: <cmath.h> instead of <math.h>
   13471         * kwq/KWQDef.h: 64bit support for KDOM
   13472         (qRound): inline mapping to lround.
   13473         Newer patch, now gcc 3.3 compatible.
   13474         Thanks to ggaren for the 3.3 fix.
   13475         http://bugs.webkit.org/show_bug.cgi?id=3826
   13476 
   13477 2005-07-06  Eric Seidel  <eseidel (a] apple.com>
   13478 
   13479         Reviewed by mjs.
   13480 
   13481         * ForwardingHeaders/qvaluevector.h: Added.
   13482         * kwq/KWQValueVector.h: Added.
   13483         Added QValueVector stub for KDOM.
   13484         http://bugs.webkit.org/show_bug.cgi?id=3860
   13485 
   13486 2005-07-06  Eric Seidel  <eseidel (a] apple.com>
   13487 
   13488         Reviewed by mjs.
   13489 
   13490         * kwq/KWQPoint.mm:
   13491         (QPoint::operator CGPoint): Added.
   13492         (operator*): Added.
   13493         (operator<<): Added.
   13494         * kwq/KWQPointArray.h: Added.
   13495         (QPoint::setX): Added.
   13496         (QPoint::setY): Added.
   13497         (QPoint::isNull): Added.
   13498         (QPoint::operator -=): Added.
   13499         * kwq/KWQPointArray.mm: Added.
   13500         (QPointArray::QPointArray): Added.
   13501         (QPointArray::copy): Added.
   13502         (QPointArray::boundingRect): Added.
   13503         (QPointArray::point): Added.
   13504         Necessary additions for KDOM/KSVG/KCanvas
   13505         http://bugs.webkit.org/show_bug.cgi?id=3674
   13506 
   13507 2005-07-06  Maciej Stachowiak  <mjs (a] apple.com>
   13508 
   13509         Reviewed by hyatt.
   13510 
   13511         - fixed size() and contains() methods on HashSet (they would not compile before)
   13512 
   13513         * khtml/misc/hashset.h:
   13514         (khtml::::size):
   13515         * khtml/misc/hashtable.h:
   13516         (khtml::::contains):
   13517 
   13518 2005-07-06  Eric Seidel  <eseidel (a] apple.com>
   13519 
   13520         Reviewed by mjs.
   13521 
   13522         * ForwardingHeaders/kjs/ustring.h: Added.
   13523         Used by kdom/Helper.cc
   13524         http://bugs.webkit.org/show_bug.cgi?id=3859
   13525 
   13526 2005-07-06  Geoffrey Garen  <ggaren (a] apple.com>
   13527 
   13528         Reviewed by adele.
   13529 
   13530         Modified layout tests to match rollout of changes for <rdar://problem/3792529> 
   13531         REGRESSION (Mail): Tabs do not work the way they did in Panther
   13532 
   13533         Tests modified:
   13534         * layout-tests/editing/deleting/delete-tab-001-expected.txt:
   13535         * layout-tests/editing/deleting/delete-tab-002-expected.txt:
   13536         * layout-tests/editing/deleting/delete-tab-003-expected.txt:
   13537         * layout-tests/editing/deleting/delete-tab-004-expected.txt:
   13538         * layout-tests/editing/inserting/insert-tab-001-expected.txt:
   13539         * layout-tests/editing/inserting/insert-tab-002-expected.txt:
   13540         * layout-tests/editing/inserting/insert-tab-003-expected.txt:
   13541         * layout-tests/editing/inserting/insert-tab-004-expected.txt:
   13542         * layout-tests/fast/dom/quadraticCurveTo-expected.txt:
   13543         * layout-tests/fast/js/string-replace-2-expected.txt:
   13544         * layout-tests/fast/table/039-expected.txt:
   13545         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   13546         * layout-tests/fast/tokenizer/script_extra_close-expected.txt:
   13547 
   13548 2005-07-06  Maciej Stachowiak  <mjs (a] apple.com>
   13549 
   13550         Even yet still more gcc4 build fixes.
   13551 	
   13552         * khtml/misc/hashset.h:
   13553         (khtml::convertAdapter):
   13554         (khtml::::insert):
   13555 
   13556 2005-07-06  Maciej Stachowiak  <mjs (a] apple.com>
   13557 
   13558         More ggc-4-only build fixage.
   13559 	
   13560         * khtml/misc/hashtraits.h:
   13561 
   13562 2005-07-06  Maciej Stachowiak  <mjs (a] apple.com>
   13563 
   13564         Fix additional gcc-4-only build breakage.
   13565 
   13566         * khtml/misc/pointerhash.h:
   13567         (khtml::PointerHashConstIteratorAdapter::operator*):
   13568 
   13569 2005-07-05  Maciej Stachowiak  <mjs (a] apple.com>
   13570 
   13571         Forgot to commit a file. Fix for build breakage.
   13572 
   13573         * ForwardingHeaders/misc/pointerhash.h: Added.
   13574 
   13575 2005-07-05  Maciej Stachowiak  <mjs (a] apple.com>
   13576 
   13577 	- remove stat dumping (accidentally left enabled in last patch)
   13578 
   13579 	Unreviewed since this was a mistake in the last checkin.
   13580 
   13581         * khtml/misc/hashtable.h:
   13582 
   13583 2005-07-04  Maciej Stachowiak  <mjs (a] apple.com>
   13584 
   13585         Reviewed by hyatt.
   13586 
   13587         Numerous hash code improvements:
   13588 
   13589 	- added HashMap and the required support for it in HashTable
   13590 	- convert to using deleted sentinels and double hashing instead of linear 
   13591 	probing and reinsert on delete
   13592 	- add support for traits so that empty and deleted values can be customized 
   13593 	per type
   13594 	- make insert return a pair of an iterator and a bool even at the API level
   13595 	- converted some code to use HashMap
   13596 	- added standard hash and equal functions for some types, plus case insensitive ones
   13597 	- lots of assorted code cleanup
   13598 	- pass hash functions as classes with two static functions instead of as functions
   13599 
   13600         * khtml/css/cssstyleselector.cpp:
   13601         (khtml::CSSRuleSet::CSSRuleSet): Use HashMap instead of QPtrDict.
   13602         (khtml::CSSRuleSet::~CSSRuleSet): ditto
   13603         (khtml::CSSRuleSet::addToRuleSet): ditto
   13604         (khtml::CSSRuleSet::addRule): ditto
   13605         * khtml/css/cssstyleselector.h:
   13606         (khtml::CSSRuleSet::getIDRules): ditto
   13607         (khtml::CSSRuleSet::getClassRules): ditto
   13608         (khtml::CSSRuleSet::getTagRules): ditto
   13609         * khtml/editing/jsediting.cpp:
   13610         (DOM::DocumentImpl::commandImp): ditto
   13611         * khtml/misc/hashfunctions.h: Added. Standard hash functions.
   13612         (khtml::defaultEqual):
   13613         (khtml::pointerHash<4>):
   13614         (khtml::pointerHash<8>):
   13615         (khtml::defaultHash<void *>):
   13616         (khtml::defaultHash<DOM::DOMStringImpl *>):
   13617         (khtml::caseInsensitiveHash):
   13618         (khtml::caseInsensitiveEqual):
   13619         * WebCore.pbproj/project.pbxproj:
   13620         * khtml/misc/hashmap.h: Added.
   13621         (khtml::HashMap::HashMap):
   13622         (khtml::HashMap::size):
   13623         (khtml::HashMap::capacity):
   13624         (khtml::HashMap::isEmpty):
   13625         (khtml::HashMap::begin):
   13626         (khtml::HashMap::end):
   13627         (khtml::HashMap::find):
   13628         (khtml::HashMap::contains):
   13629         (khtml::HashMap::insert):
   13630         (khtml::HashMap::get):
   13631         (khtml::HashMap::remove):
   13632         (khtml::HashMap::clear):
   13633         (khtml::HashMap::extractKey):
   13634         * khtml/misc/hashset.h:
   13635         (khtml::identityExtract):
   13636         (khtml::::size):
   13637         (khtml::::capacity):
   13638         (khtml::::isEmpty):
   13639         (khtml::::begin):
   13640         (khtml::::end):
   13641         (khtml::::find):
   13642         (khtml::::contains):
   13643         (khtml::::insert):
   13644         (khtml::::remove):
   13645         (khtml::::clear):
   13646         (khtml::::convertAdapter):
   13647         * khtml/misc/hashtable.cpp:
   13648         (khtml::HashTableStats::~HashTableStats):
   13649         * khtml/misc/hashtable.h:
   13650         (khtml::HashTableIterator::HashTableIterator):
   13651         (khtml::HashTableIterator::skipEmptyBuckets):
   13652         (khtml::HashTableConstIterator::HashTableConstIterator):
   13653         (khtml::HashTableConstIterator::skipEmptyBuckets):
   13654         (khtml::HashTable::HashTable):
   13655         (khtml::HashTable::insert):
   13656         (khtml::HashTable::isEmptyBucket):
   13657         (khtml::HashTable::isDeletedBucket):
   13658         (khtml::HashTable::isEmptyOrDeletedBucket):
   13659         (khtml::HashTable::identityConvert):
   13660         (khtml::HashTable::extractKey):
   13661         (khtml::HashTable::lookup):
   13662         (khtml::HashTable::shouldExpand):
   13663         (khtml::HashTable::mustRehashInPlace):
   13664         (khtml::HashTable::clearBucket):
   13665         (khtml::HashTable::deleteBucket):
   13666         (khtml::HashTable::makeLookupResult):
   13667         (khtml::HashTable::makeIterator):
   13668         (khtml::HashTable::makeConstIterator):
   13669         (khtml::::lookup):
   13670         (khtml::::insert):
   13671         (khtml::::reinsert):
   13672         (khtml::::find):
   13673         (khtml::::contains):
   13674         (khtml::::remove):
   13675         (khtml::::allocateTable):
   13676         (khtml::::expand):
   13677         (khtml::::rehash):
   13678         (khtml::::clear):
   13679         (khtml::::HashTable):
   13680         (khtml::::swap):
   13681         (khtml::::operator):
   13682         (khtml::::checkConsistency):
   13683         (khtml::::checkConsistencyExceptSize):
   13684         * khtml/misc/hashtraits.h: Added.
   13685         (khtml::HashTraits::emptyValue):
   13686         (khtml::):
   13687         (khtml::PairHashTraits::emptyValue):
   13688         (khtml::PairHashTraits::deletedValue):
   13689         * ForwardingHeaders/misc/hashmap.h: Added.
   13690         * ForwardingHeaders/misc/hashset.h: Added.
   13691         * WebCore.pbproj/project.pbxproj: Added new files.
   13692         * khtml/misc/pointerhash.h: Added.
   13693         (khtml::PointerHashIteratorAdapter::PointerHashIteratorAdapter):
   13694         (khtml::PointerHashIteratorAdapter::operator*):
   13695         (khtml::PointerHashIteratorAdapter::operator->):
   13696         (khtml::PointerHashIteratorAdapter::operator++):
   13697         (khtml::PointerHashIteratorAdapter::operator==):
   13698         (khtml::PointerHashIteratorAdapter::operator!=):
   13699         (khtml::PointerHashConstIteratorAdapter::PointerHashConstIteratorAdapter):
   13700         (khtml::PointerHashConstIteratorAdapter::operator*):
   13701         (khtml::PointerHashConstIteratorAdapter::operator->):
   13702         (khtml::PointerHashConstIteratorAdapter::operator++):
   13703         (khtml::PointerHashConstIteratorAdapter::operator==):
   13704         (khtml::PointerHashConstIteratorAdapter::operator!=):
   13705         (khtml::):
   13706 
   13707 2005-07-05  Geoffrey Garen  <ggaren (a] apple.com>
   13708 
   13709         Rolled in patch by opendarwin.org (a] mitzpettel.com
   13710 
   13711         -fixes http://bugs.webkit.org/show_bug.cgi?id=3733
   13712         Incorrect bidi layout of ETs, ANs, and ENs in some contexts
   13713         
   13714         Reviewed by hyatt.
   13715 
   13716         * khtml/rendering/bidi.cpp:
   13717         (khtml::appendRun):
   13718         (khtml::RenderBlock::bidiReorderLine):
   13719         (khtml::RenderBlock::layoutInlineChildren):
   13720 
   13721         Modified test results to account for run splitting.
   13722         This is a known bug that we need to fix separately:
   13723         http://bugs.webkit.org/show_bug.cgi?id=3838
   13724         
   13725         * layout-tests/css1/basic/containment-expected.txt:
   13726         * layout-tests/css1/box_properties/float_on_text_elements-expected.txt:
   13727         * layout-tests/css1/font_properties/font-expected.txt:
   13728         * layout-tests/css1/formatting_model/inline_elements-expected.txt:
   13729         * layout-tests/css1/pseudo/anchor-expected.txt:
   13730         * layout-tests/editing/deleting/delete-tab-001-expected.txt:
   13731         * layout-tests/editing/deleting/delete-tab-002-expected.txt:
   13732         * layout-tests/editing/deleting/delete-tab-003-expected.txt:
   13733         * layout-tests/editing/deleting/delete-tab-004-expected.txt:
   13734         * layout-tests/editing/inserting/insert-tab-001-expected.txt:
   13735         * layout-tests/editing/inserting/insert-tab-002-expected.txt:
   13736         * layout-tests/editing/inserting/insert-tab-003-expected.txt:
   13737         * layout-tests/editing/inserting/insert-tab-004-expected.txt:
   13738         * layout-tests/editing/style/relative-font-size-change-001-expected.txt:
   13739         * layout-tests/editing/style/relative-font-size-change-004-expected.txt:
   13740         * layout-tests/fast/block/basic/018-expected.txt:
   13741         * layout-tests/fast/dom/quadraticCurveTo-expected.txt:
   13742         * layout-tests/fast/invalid/nestedh3s-expected.txt:
   13743         * layout-tests/fast/js/string-replace-2-expected.txt:
   13744         * layout-tests/fast/lists/003-expected.txt:
   13745         * layout-tests/fast/selectors/166-expected.txt:
   13746         * layout-tests/fast/table/039-expected.txt:
   13747         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   13748         * layout-tests/fast/text/basic/004-expected.txt:
   13749         * layout-tests/fast/tokenizer/script_extra_close-expected.txt:
   13750 
   13751 2005-07-05  Adele Peterson  <adele (a] apple.com>
   13752 
   13753        Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
   13754        since it caused a 2% performance regression.
   13755 
   13756         * khtml/editing/apply_style_command.cpp:
   13757         (khtml::createStyleSpanElement):
   13758         (khtml::ApplyStyleCommand::removeCSSStyle):
   13759         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   13760         * khtml/editing/delete_selection_command.cpp:
   13761         (khtml::DeleteSelectionCommand::saveTypingStyleState):
   13762         * khtml/editing/edit_command.cpp:
   13763         (khtml::EditCommand::styleAtPosition):
   13764         * khtml/editing/html_interchange.h:
   13765         * khtml/editing/htmlediting.cpp:
   13766         (khtml::isSpecialElement):
   13767         * khtml/editing/htmlediting.h:
   13768         * khtml/editing/insert_text_command.cpp:
   13769         (khtml::InsertTextCommand::prepareForTextInsertion):
   13770         (khtml::InsertTextCommand::input):
   13771         * khtml/editing/insert_text_command.h:
   13772         * khtml/editing/markup.cpp:
   13773         (khtml::createFragmentFromText):
   13774         * khtml/editing/replace_selection_command.cpp:
   13775         (khtml::ReplacementFragment::removeStyleNodes):
   13776         * khtml/html/htmltokenizer.cpp:
   13777         (khtml::HTMLTokenizer::begin):
   13778         (khtml::HTMLTokenizer::processListing):
   13779         (khtml::HTMLTokenizer::parseEntity):
   13780         (khtml::HTMLTokenizer::parseTag):
   13781         (khtml::HTMLTokenizer::addPending):
   13782         (khtml::HTMLTokenizer::write):
   13783         * khtml/html/htmltokenizer.h:
   13784         (khtml::HTMLTokenizer::):
   13785         * khtml/rendering/bidi.cpp:
   13786         (khtml::addRun):
   13787         (khtml::RenderBlock::computeHorizontalPositionsForLine):
   13788         (khtml::RenderBlock::skipWhitespace):
   13789         (khtml::RenderBlock::findNextLineBreak):
   13790         (khtml::RenderBlock::checkLinesForTextOverflow):
   13791         * khtml/rendering/break_lines.cpp:
   13792         (khtml::isBreakable):
   13793         * khtml/rendering/font.cpp:
   13794         (Font::drawHighlightForText):
   13795         (Font::drawText):
   13796         (Font::floatWidth):
   13797         (Font::floatCharacterWidths):
   13798         (Font::checkSelectionPoint):
   13799         (Font::width):
   13800         * khtml/rendering/font.h:
   13801         * khtml/rendering/render_block.cpp:
   13802         (khtml::stripTrailingSpace):
   13803         (khtml::RenderBlock::calcInlineMinMaxWidth):
   13804         * khtml/rendering/render_block.h:
   13805         * khtml/rendering/render_br.h:
   13806         (khtml::RenderBR::width):
   13807         * khtml/rendering/render_flexbox.cpp:
   13808         (khtml::RenderFlexibleBox::layoutVerticalBox):
   13809         * khtml/rendering/render_image.cpp:
   13810         (RenderImage::setPixmap):
   13811         (RenderImage::paint):
   13812         * khtml/rendering/render_line.cpp:
   13813         (khtml::EllipsisBox::paint):
   13814         * khtml/rendering/render_line.h:
   13815         (khtml::InlineBox::width):
   13816         (khtml::InlineBox::xPos):
   13817         (khtml::InlineBox::yPos):
   13818         (khtml::InlineBox::height):
   13819         (khtml::InlineBox::baseline):
   13820         * khtml/rendering/render_list.cpp:
   13821         (RenderListMarker::paint):
   13822         (RenderListMarker::calcMinMaxWidth):
   13823         * khtml/rendering/render_object.cpp:
   13824         (RenderObject::recalcMinMaxWidths):
   13825         * khtml/rendering/render_object.h:
   13826         * khtml/rendering/render_replaced.cpp:
   13827         * khtml/rendering/render_text.cpp:
   13828         (InlineTextBox::selectionRect):
   13829         (InlineTextBox::paint):
   13830         (InlineTextBox::paintSelection):
   13831         (InlineTextBox::paintMarkedTextBackground):
   13832         (InlineTextBox::offsetForPosition):
   13833         (InlineTextBox::positionForOffset):
   13834         (RenderText::cacheWidths):
   13835         (RenderText::widthFromCache):
   13836         (RenderText::trimmedMinMaxWidth):
   13837         (RenderText::calcMinMaxWidth):
   13838         (RenderText::containsOnlyWhitespace):
   13839         (RenderText::width):
   13840         * khtml/rendering/render_text.h:
   13841         * kwq/KWQFontMetrics.h:
   13842         * kwq/KWQFontMetrics.mm:
   13843         (QFontMetrics::width):
   13844         (QFontMetrics::charWidth):
   13845         (QFontMetrics::floatWidth):
   13846         (QFontMetrics::floatCharacterWidths):
   13847         (QFontMetrics::checkSelectionPoint):
   13848         (QFontMetrics::boundingRect):
   13849         (QFontMetrics::size):
   13850         * kwq/KWQPainter.h:
   13851         * kwq/KWQPainter.mm:
   13852         (QPainter::drawText):
   13853         (QPainter::drawHighlightForText):
   13854         * kwq/WebCoreTextRenderer.h:
   13855         * kwq/WebCoreTextRendererFactory.mm:
   13856         (WebCoreInitializeEmptyTextStyle):
   13857         * layout-tests/editing/deleting/delete-tab-001-expected.txt:
   13858         * layout-tests/editing/deleting/delete-tab-001.html:
   13859         * layout-tests/editing/deleting/delete-tab-002-expected.txt:
   13860         * layout-tests/editing/deleting/delete-tab-002.html:
   13861         * layout-tests/editing/deleting/delete-tab-003-expected.txt:
   13862         * layout-tests/editing/deleting/delete-tab-003.html:
   13863         * layout-tests/editing/deleting/delete-tab-004-expected.txt:
   13864         * layout-tests/editing/deleting/delete-tab-004.html:
   13865         * layout-tests/editing/inserting/insert-tab-001-expected.txt:
   13866         * layout-tests/editing/inserting/insert-tab-002-expected.txt:
   13867         * layout-tests/editing/inserting/insert-tab-003-expected.txt:
   13868         * layout-tests/editing/inserting/insert-tab-004-expected.txt:
   13869         * layout-tests/fast/dom/quadraticCurveTo-expected.txt:
   13870         * layout-tests/fast/js/string-replace-2-expected.txt:
   13871         * layout-tests/fast/table/039-expected.txt:
   13872         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   13873         * layout-tests/fast/tokenizer/script_extra_close-expected.txt:
   13874 
   13875 2005-07-05  Beth Dakin  <bdakin (a] apple.com>
   13876 
   13877 	Adding colspan test for HTMLTableElement and bdo test for HTMLElement.
   13878 
   13879         Reviewed by Adele.
   13880 
   13881         Test cases added: (NONE)
   13882 
   13883         * ChangeLog:
   13884         * layout-tests/fast/dom/HTMLElement/bdo-expected.txt: Added.
   13885         * layout-tests/fast/dom/HTMLElement/bdo.html: Added.
   13886         * layout-tests/fast/dom/HTMLTableElement/colSpan-expected.txt: Added.
   13887         * layout-tests/fast/dom/HTMLTableElement/colSpan.html: Added.
   13888 
   13889 2005-07-05  Geoffrey Garen  <ggaren (a] apple.com>
   13890 
   13891         -rolled out patch for 
   13892         http://bugs.webkit.org/show_bug.cgi?id=3826
   13893         because it fails to build w/gcc3.3 (previous fix didn't completely work)
   13894 
   13895         * kwq/KWQDef.h:
   13896 
   13897 2005-07-05  Geoffrey Garen  <ggaren (a] apple.com>
   13898 
   13899         -fixed failed build introduced by fix to
   13900         http://bugs.webkit.org/show_bug.cgi?id=3826
   13901 
   13902         Reviewed by sullivan.
   13903 
   13904         * kwq/KWQDef.h: changed 64 bit typedef to match def in sys/types.h
   13905 
   13906 2005-07-05  Eric Seidel  <eseidel (a] apple.com>
   13907 
   13908         Reviewed by mjs.
   13909 
   13910         * kwq/KWQPalette.h:
   13911         (QColorGroup::): Enum values added for KDOM.
   13912         (QPalette::): Enum values added for KDOM.
   13913         * kwq/KWQPalette.mm: Added.
   13914         (QPalette::setColor): Added (only supports "active").
   13915         Many of these enum values (particularly ColorGroup)
   13916         may be removed as KDOM gets better integrated with our tree.
   13917         http://bugs.webkit.org/show_bug.cgi?id=3851
   13918 
   13919 2005-07-05  Eric Seidel  <eseidel (a] apple.com>
   13920 
   13921         Reviewed by mjs.
   13922 
   13923         * ForwardingHeaders/kinstance.h: Added.
   13924         * ForwardingHeaders/kio/netaccess.h: Added.
   13925         * ForwardingHeaders/kjs/scope_chain.h: Added.
   13926         * ForwardingHeaders/qdir.h: Added.
   13927         * ForwardingHeaders/qglobal.h: Added.
   13928         For KDOM.
   13929         http://bugs.webkit.org/show_bug.cgi?id=3822
   13930   
   13931 2005-07-05  Eric Seidel  <eseidel (a] apple.com>
   13932 
   13933         Reviewed by mjs.
   13934 
   13935         * kwq/KWQDef.h: 64bit types added
   13936         (qRound): For kdom
   13937         http://bugs.webkit.org/show_bug.cgi?id=3826
   13938 
   13939 2005-07-05  Eric Seidel  <eseidel (a] apple.com>
   13940 
   13941         Reviewed by mjs.
   13942 
   13943         * kwq/KWQDateTime.h: Necessary KDOM additions.
   13944         (QTime::currentTime): Added.
   13945         * kwq/KWQDateTime.mm:
   13946         (QTime::addMSecs): Added.
   13947         http://bugs.webkit.org/show_bug.cgi?id=3828
   13948 
   13949 2005-07-05  Eric Seidel  <eseidel (a] apple.com>
   13950 
   13951         Reviewed by mjs.
   13952 
   13953         * ForwardingHeaders/qwmatrix.h: Added.
   13954         * WebCore.pbproj/project.pbxproj: Added KWQMatrix.*
   13955         * khtml/rendering/render_image.cpp: Now includes qwmatrix.h
   13956         * kwq/KWQPixmap.h: Removed QWMatrix stub.
   13957         * kwq/KWQWMatrix.h: Added.
   13958         (QWMatrix::m11): simple accessors.
   13959         (QWMatrix::m12):
   13960         (QWMatrix::m21):
   13961         (QWMatrix::m22):
   13962         (QWMatrix::dx):
   13963         (QWMatrix::dy):
   13964         * kwq/KWQWMatrix.mm: Added.
   13965         (QWMatrix::QWMatrix): All are standard Qt functions.
   13966         (QWMatrix::setMatrix):
   13967         (QWMatrix::map):
   13968         (QWMatrix::isIdentity):
   13969         (QWMatrix::reset):
   13970         (QWMatrix::scale):
   13971         (QWMatrix::rotate):
   13972         (QWMatrix::translate):
   13973         (QWMatrix::shear):
   13974         (QWMatrix::det):
   13975         (QWMatrix::isInvertible):
   13976         (QWMatrix::invert):
   13977         (QWMatrix::operator CGAffineTransform):
   13978         (QWMatrix::operator== ):
   13979         (QWMatrix::operator*= ):
   13980         Simple white-room QWMatrix implementation entirely 
   13981         based on CGAffineTransform.
   13982         http://bugs.webkit.org/show_bug.cgi?id=3821
   13983 
   13984 2005-07-05  Eric Seidel  <eseidel (a] apple.com>
   13985 
   13986         Reviewed by mjs.
   13987 
   13988         * kwq/KWQPtrList.h: additions necessary for kdom.
   13989         (QPtrList::findRef): added.
   13990         (QPtrList::begin): added.
   13991         (QPtrList::end): added.
   13992         (QPtrListIterator::operator*): added.
   13993         http://bugs.webkit.org/show_bug.cgi?id=3850
   13994 
   13995 2005-07-04  Maciej Stachowiak  <mjs (a] apple.com
   13996 
   13997         Expected results for layout tests from last patch.
   13998 	
   13999         * layout-tests/fast/js/eval-var-decl-expected.txt: Added.
   14000         * layout-tests/fast/js/has-own-property-expected.txt: Added.
   14001 
   14002 2005-07-03  Maciej Stachowiak  <mjs (a] apple.com>
   14003 
   14004 	Original patch from Mark Rowe <opendarwin.org (a] bdash.net.nz>, reviewed by me.
   14005 	Fixes to patch by me, reviewed by John Sullivan.
   14006 
   14007 	- fixed http://bugs.webkit.org/show_bug.cgi?id=3293
   14008 
   14009         Test cases added:
   14010         * layout-tests/fast/js/has-own-property.html: Added - tests this change.
   14011         * layout-tests/fast/js/eval-var-decl.html: Added - test depends on this change.
   14012 
   14013         * khtml/ecma/kjs_css.cpp:
   14014         (KJS::DOMCSSStyleDeclaration::hasOwnProperty):
   14015         * khtml/ecma/kjs_css.h:
   14016         * khtml/ecma/kjs_dom.cpp:
   14017         (KJS::DOMNodeList::hasOwnProperty):
   14018         (KJS::DOMElement::tryGet):
   14019         (KJS::DOMNamedNodeMap::hasOwnProperty):
   14020         * khtml/ecma/kjs_dom.h:
   14021         * khtml/ecma/kjs_html.cpp:
   14022         (KJS::HTMLDocument::hasOwnProperty):
   14023         (KJS::HTMLDocument::tryGet):
   14024         (KJS::KJS::HTMLElement::hasOwnProperty):
   14025         (KJS::KJS::HTMLCollection::hasOwnProperty):
   14026         * khtml/ecma/kjs_html.h:
   14027         * khtml/ecma/kjs_window.cpp:
   14028         (KJS::Window::hasOwnProperty):
   14029         (KJS::Konqueror::hasOwnProperty):
   14030         * khtml/ecma/kjs_window.h:
   14031 
   14032 2005-07-03  Eric Seidel  <eseidel (a] apple.com>
   14033 
   14034         Reviewed by mjs.
   14035 
   14036         * kwq/KWQTimer.h:
   14037         * kwq/KWQTimer.mm:
   14038         (QTimer::QTimer): added parent pointer (and warning)
   14039         http://bugs.webkit.org/show_bug.cgi?id=3825
   14040  
   14041 2005-07-03  Eric Seidel  <eseidel (a] apple.com>
   14042 
   14043         Reviewed by mjs.
   14044 
   14045         * khtml/xml/dom_docimpl.cpp: 
   14046         (DocumentImpl::setDocumentChanged): fixed to use new API
   14047         * kwq/KWQKStaticDeleter.h: 
   14048         (KStaticDeleter::setObject): fixed to take 3rd argument
   14049         http://bugs.webkit.org/show_bug.cgi?id=3823
   14050 
   14051 2005-07-03  Eric Seidel  <eseidel (a] apple.com>
   14052 
   14053         Reviewed by mjs.
   14054 
   14055         * kwq/KWQValueList.h:
   14056         (QValueList::find): KDOM support
   14057         (QValueList::constBegin): KDE compatibility
   14058         (QValueList::constEnd): KDE compatibility
   14059         * kwq/KWQValueListImpl.h:
   14060         * kwq/KWQValueListImpl.mm:
   14061         (KWQValueListImpl::findEqualNode): KDOM support
   14062         http://bugs.webkit.org/show_bug.cgi?id=3832
   14063 
   14064 2005-07-03  Eric Seidel  <eseidel (a] apple.com>
   14065 
   14066         Reviewed by mjs.
   14067 
   14068         * kwq/KWQFontMetrics.h:
   14069         * kwq/KWQFontMetrics.mm:
   14070         (QFontMetrics::boundingRect): added boundingRect(QChar)
   14071         http://bugs.webkit.org/show_bug.cgi?id=3827
   14072   
   14073 2005-07-03  Eric Seidel  <eseidel (a] apple.com>
   14074 
   14075         Reviewed by mjs.
   14076 
   14077         * kwq/KWQListImpl.h:
   14078         * kwq/KWQListImpl.mm:
   14079         (KWQListImpl::findRef): Added to support 
   14080         KDOM::NodeImpl::compareDocumentPosition(NodeImpl *other)
   14081   
   14082 2005-07-03  Eric Seidel  <eseidel (a] apple.com>
   14083 
   14084         Reviewed by mjs.
   14085 
   14086         * ForwardingHeaders/qintdict.h: maps to KWQIntDict.h
   14087         * kwq/KWQIntDict.h: copy of KWQPtrDict.h replacing T * with int.
   14088 
   14089 2005-07-03  Eric Seidel  <eseidel (a] apple.com>
   14090 
   14091         * kwq/KWQPair.h: added newline, per mjs's request.
   14092 
   14093 2005-07-03  Eric Seidel  <eseidel (a] apple.com>
   14094 
   14095         Reviewed by mjs.
   14096 
   14097         * ForwardingHeaders/qpair.h: Added.
   14098         * kwq/KWQPair.h: Added.
   14099 	Qt compatible QPair, built on std::pair
   14100 	http://bugs.webkit.org/show_bug.cgi?id=3824
   14101 
   14102 2005-07-01  Beth Dakin  <bdakin (a] apple.com>
   14103 
   14104         Adding createCaption test for HTMLTableElement.
   14105 
   14106         Reviewed by Adele (sort of).
   14107 
   14108         Test cases added:
   14109 
   14110         * layout-tests/fast/dom/HTMLTableElement/createCaption-expected.txt: Added.
   14111         * layout-tests/fast/dom/HTMLTableElement/createCaption.html: Added.
   14112 
   14113 2005-07-01  Geoffrey Garen  <ggaren (a] apple.com>
   14114 
   14115         Moving dom tests around to conform to new directory structure
   14116         specified in today's meeting.
   14117 
   14118         Reviewed by justing.
   14119 
   14120         Test cases added: 
   14121 
   14122         * layout-tests/fast/dom/HTMLDocument/title-get-expected.txt: Added.
   14123         * layout-tests/fast/dom/HTMLDocument/title-get.html: Added.
   14124         * layout-tests/fast/dom/HTMLDocument/title-set-expected.txt: Added.
   14125         * layout-tests/fast/dom/HTMLDocument/title-set.html: Added.
   14126         * layout-tests/fast/dom/HTMLDocument/title/get-expected.txt: Removed.
   14127         * layout-tests/fast/dom/HTMLDocument/title/get.html: Removed.
   14128         * layout-tests/fast/dom/HTMLDocument/title/set-expected.txt: Removed.
   14129         * layout-tests/fast/dom/HTMLDocument/title/set.html: Removed.
   14130         * layout-tests/fast/dom/HTMLDocument/url-getset-expected.txt: Added.
   14131         * layout-tests/fast/dom/HTMLDocument/url-getset.html: Added.
   14132         * layout-tests/fast/dom/HTMLDocument/url/getset-expected.txt: Removed.
   14133         * layout-tests/fast/dom/HTMLDocument/url/getset.html: Removed.
   14134         * layout-tests/fast/dom/HTMLDocument/write-call-expected.txt: Added.
   14135         * layout-tests/fast/dom/HTMLDocument/write-call.html: Added.
   14136         * layout-tests/fast/dom/HTMLDocument/write-multiple-calls-expected.txt: Added.
   14137         * layout-tests/fast/dom/HTMLDocument/write-multiple-calls.html: Added.
   14138         * layout-tests/fast/dom/HTMLDocument/write/call-expected.txt: Removed.
   14139         * layout-tests/fast/dom/HTMLDocument/write/call.html: Removed.
   14140         * layout-tests/fast/dom/HTMLDocument/write/multiple-calls-expected.txt: Removed.
   14141         * layout-tests/fast/dom/HTMLDocument/write/multiple-calls.html: Removed.
   14142         * layout-tests/fast/dom/HTMLDocument/writeln-call-expected.txt: Added.
   14143         * layout-tests/fast/dom/HTMLDocument/writeln-call.html: Added.
   14144         * layout-tests/fast/dom/HTMLDocument/writeln-multiple-calls-expected.txt: Added.
   14145         * layout-tests/fast/dom/HTMLDocument/writeln-multiple-calls.html: Added.
   14146         * layout-tests/fast/dom/HTMLDocument/writeln/call-expected.txt: Removed.
   14147         * layout-tests/fast/dom/HTMLDocument/writeln/call.html: Removed.
   14148         * layout-tests/fast/dom/HTMLDocument/writeln/multiple-calls-expected.txt: Removed.
   14149         * layout-tests/fast/dom/HTMLDocument/writeln/multiple-calls.html: Removed.
   14150 
   14151 2005-07-01  Geoffrey Garen  <ggaren (a] apple.com>
   14152 
   14153         -landed patch by Eric Seidel <eric (a] webkit.org>
   14154         
   14155         -for http://bugs.webkit.org/show_bug.cgi?id=3657
   14156         GroundWork:  Moving some functions from khtml->jsc following kjs TOT
   14157         
   14158         - no layout test necessary yet - only groundwork
   14159 
   14160         Reviewed by darin.
   14161 
   14162         * ForwardingHeaders/qintdict.h:
   14163         * khtml/ecma/kjs_binding.h:
   14164 
   14165 2005-07-01  Geoffrey Garen  <ggaren (a] apple.com>
   14166 
   14167         -landed patch by Carsten Guenther <cguenther (a] gmail.com>
   14168         http://bugs.webkit.org/show_bug.cgi?id=3477
   14169 
   14170         -corrects errors in date layout test
   14171 
   14172         Reviewed by darin.
   14173 
   14174         Test cases modified:
   14175         * layout-tests/fast/js/date-parse-test.html:
   14176 
   14177 2005-07-01  Eric Seidel  <eseidel (a] apple.com>
   14178 
   14179         Reviewed by darin.
   14180 
   14181         * kwq/KWQSize.h:
   14182         * kwq/KWQSize.mm:
   14183         (QSize::operator CGSize): adding CGSize conversion support
   14184 	http://bugs.webkit.org/show_bug.cgi?id=3669
   14185 
   14186 2005-06-30  Bruce DiBello  <bdibello (a] apple.com>
   14187 
   14188         Reviewed by Geoff Garen.
   14189 
   14190         Test cases added: getting and setting div.align
   14191 
   14192         * layout-tests/fast/dom/HTMLDivElement/align/getset-expected.txt: Added.
   14193         * layout-tests/fast/dom/HTMLDivElement/align/getset.html: Added.
   14194 
   14195 2005-06-29  Anders Carlsson  <andersca (a] mac.com>
   14196 
   14197         Reviewed and landed by Darin Adler.
   14198 
   14199         - Fix <http://bugs.webkit.org/show_bug.cgi?id=3274>
   14200         document() not supported
   14201 
   14202         Test cases added:
   14203         * layout-tests/fast/xsl/document-function-expected.txt: Added.
   14204         * layout-tests/fast/xsl/document-function.xml: Added.
   14205         * layout-tests/fast/xsl/document-function.xsl: Added.
   14206         * layout-tests/fast/xsl/resources/document-function-source.xml: Added.
   14207         
   14208         * khtml/xsl/xslt_processorimpl.cpp:
   14209         (DOM::parseErrorFunc):
   14210         Stub to prevent errors from getting written to the console.
   14211         
   14212         (DOM::stylesheetLoadFunc):
   14213         Fetch and parse documents.
   14214         
   14215         (DOM::XSLTProcessorImpl::transformDocument):
   14216         Use the processor as the global variable instead of the 
   14217         style sheet.
   14218         
   14219         * khtml/xsl/xslt_processorimpl.h:
   14220         (DOM::XSLTProcessorImpl::stylesheet):
   14221         (DOM::XSLTProcessorImpl::sourceDocument):
   14222         Add accessors for source document and stylesheet.
   14223 
   14224 2005-06-29  Maciej Stachowiak  <mjs (a] apple.com>
   14225 
   14226         Unreviewed - fixing build breakage with gcc 4.
   14227 
   14228         * khtml/misc/hashtable.h: Don't use a typedef when declaring a class friend.
   14229 
   14230 2005-06-29  David Harrison  <harrison (a] apple.com>
   14231 
   14232         Temporarily enable tab coalescing ahead of white-space:pre-wrap
   14233         change because of problems with keeping the tabs separate.  Will
   14234         revert when problems are fixed or remove if I do pre-wrap
   14235         first.
   14236 
   14237         * khtml/editing/insert_text_command.cpp:
   14238         (khtml::InsertTextCommand::prepareForTextInsertion):
   14239         (khtml::InsertTextCommand::insertTab):
   14240         * khtml/editing/markup.cpp:
   14241         (khtml::createParagraphContentsFromString):
   14242 
   14243 2005-06-29  David Harrison  <harrison (a] apple.com>
   14244 
   14245         Reviewed by Dave Hyatt (rendering) and Maciej (editing).
   14246 
   14247         Test cases added:  Coming soon.  Will include with next round of changes for this bug.
   14248 
   14249         This is the first checkin for...
   14250         
   14251         <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
   14252         
   14253         Basic strategy is to put tabs into spans with white-space:pre style, and
   14254         render them with tabs stops every 8th space, where the space width and
   14255         the left margin are those of the enclosing block.
   14256         
   14257         What's left is to switch to implement white-space:pre-wrap so
   14258         that we can coalesce consecutive tabs while maintaining proper
   14259         line breaking.  That will keep the markup smaller.
   14260 
   14261         * khtml/editing/apply_style_command.cpp:
   14262         (khtml::createStyleSpanElement):
   14263         (khtml::ApplyStyleCommand::removeCSSStyle):
   14264         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   14265         * khtml/editing/delete_selection_command.cpp:
   14266         (khtml::DeleteSelectionCommand::saveTypingStyleState):
   14267         * khtml/editing/edit_command.cpp:
   14268         (khtml::EditCommand::styleAtPosition):
   14269         * khtml/editing/html_interchange.h:
   14270         * khtml/editing/htmlediting.cpp:
   14271         (khtml::isSpecialElement):
   14272         (khtml::isTabSpanNode):
   14273         (khtml::isTabSpanTextNode):
   14274         (khtml::positionBeforeTabSpan):
   14275         (khtml::createTabSpanElement):
   14276         * khtml/editing/htmlediting.h:
   14277         * khtml/editing/insert_text_command.cpp:
   14278         (khtml::InsertTextCommand::prepareForTextInsertion):
   14279         (khtml::InsertTextCommand::input):
   14280         (khtml::InsertTextCommand::insertTab):
   14281         * khtml/editing/insert_text_command.h:
   14282         * khtml/editing/markup.cpp:
   14283         (khtml::createParagraphContentsFromString):
   14284         (khtml::createFragmentFromText):
   14285         * khtml/editing/replace_selection_command.cpp:
   14286         (khtml::ReplacementFragment::removeStyleNodes):
   14287         * khtml/html/htmltokenizer.cpp:
   14288         (khtml::HTMLTokenizer::begin):
   14289         (khtml::HTMLTokenizer::processListing):
   14290         (khtml::HTMLTokenizer::parseEntity):
   14291         (khtml::HTMLTokenizer::parseTag):
   14292         (khtml::HTMLTokenizer::addPending):
   14293         (khtml::HTMLTokenizer::write):
   14294         * khtml/html/htmltokenizer.h:
   14295         (khtml::HTMLTokenizer::):
   14296         * khtml/rendering/bidi.cpp:
   14297         (khtml::addRun):
   14298         (khtml::RenderBlock::tabWidth):
   14299         (khtml::RenderBlock::computeHorizontalPositionsForLine):
   14300         (khtml::RenderBlock::skipWhitespace):
   14301         (khtml::RenderBlock::findNextLineBreak):
   14302         (khtml::RenderBlock::checkLinesForTextOverflow):
   14303         * khtml/rendering/break_lines.cpp:
   14304         (khtml::isBreakable):
   14305         * khtml/rendering/font.cpp:
   14306         (Font::drawHighlightForText):
   14307         (Font::drawText):
   14308         (Font::floatWidth):
   14309         (Font::floatCharacterWidths):
   14310         (Font::checkSelectionPoint):
   14311         (Font::width):
   14312         * khtml/rendering/font.h:
   14313         * khtml/rendering/render_block.cpp:
   14314         (khtml::stripTrailingSpace):
   14315         (khtml::RenderBlock::calcInlineMinMaxWidth):
   14316         * khtml/rendering/render_block.h:
   14317         * khtml/rendering/render_br.h:
   14318         (khtml::RenderBR::width):
   14319         * khtml/rendering/render_flexbox.cpp:
   14320         (khtml::RenderFlexibleBox::layoutVerticalBox):
   14321         * khtml/rendering/render_image.cpp:
   14322         (RenderImage::setPixmap):
   14323         (RenderImage::paint):
   14324         * khtml/rendering/render_line.cpp:
   14325         (khtml::EllipsisBox::paint):
   14326         * khtml/rendering/render_line.h:
   14327         (khtml::InlineBox::width):
   14328         (khtml::InlineBox::xPos):
   14329         (khtml::InlineBox::yPos):
   14330         (khtml::InlineBox::height):
   14331         (khtml::InlineBox::baseline):
   14332         * khtml/rendering/render_list.cpp:
   14333         (RenderListMarker::paint):
   14334         (RenderListMarker::calcMinMaxWidth):
   14335         * khtml/rendering/render_object.cpp:
   14336         (RenderObject::tabWidth):
   14337         (RenderObject::recalcMinMaxWidths):
   14338         * khtml/rendering/render_object.h:
   14339         * khtml/rendering/render_replaced.cpp:
   14340         * khtml/rendering/render_text.cpp:
   14341         (InlineTextBox::selectionRect):
   14342         (InlineTextBox::paint):
   14343         (InlineTextBox::paintSelection):
   14344         (InlineTextBox::paintMarkedTextBackground):
   14345         (InlineTextBox::textPos):
   14346         (InlineTextBox::offsetForPosition):
   14347         (InlineTextBox::positionForOffset):
   14348         (RenderText::cacheWidths):
   14349         (RenderText::widthFromCache):
   14350         (RenderText::trimmedMinMaxWidth):
   14351         (RenderText::calcMinMaxWidth):
   14352         (RenderText::containsOnlyWhitespace):
   14353         (RenderText::width):
   14354         * khtml/rendering/render_text.h:
   14355         * kwq/KWQFontMetrics.h:
   14356         * kwq/KWQFontMetrics.mm:
   14357         (QFontMetrics::width):
   14358         (QFontMetrics::charWidth):
   14359         (QFontMetrics::floatWidth):
   14360         (QFontMetrics::floatCharacterWidths):
   14361         (QFontMetrics::checkSelectionPoint):
   14362         (QFontMetrics::boundingRect):
   14363         (QFontMetrics::size):
   14364         * kwq/KWQPainter.h:
   14365         * kwq/KWQPainter.mm:
   14366         (QPainter::drawText):
   14367         (QPainter::drawHighlightForText):
   14368         * kwq/WebCoreTextRenderer.h:
   14369         * kwq/WebCoreTextRendererFactory.mm:
   14370         (WebCoreInitializeEmptyTextStyle):
   14371         * layout-tests/editing/deleting/delete-tab-001-expected.txt:
   14372         * layout-tests/editing/deleting/delete-tab-001.html:
   14373         * layout-tests/editing/deleting/delete-tab-002-expected.txt:
   14374         * layout-tests/editing/deleting/delete-tab-002.html:
   14375         * layout-tests/editing/deleting/delete-tab-003-expected.txt:
   14376         * layout-tests/editing/deleting/delete-tab-003.html:
   14377         * layout-tests/editing/deleting/delete-tab-004-expected.txt:
   14378         * layout-tests/editing/deleting/delete-tab-004.html:
   14379         * layout-tests/editing/inserting/insert-tab-001-expected.txt:
   14380         * layout-tests/editing/inserting/insert-tab-002-expected.txt:
   14381         * layout-tests/editing/inserting/insert-tab-003-expected.txt:
   14382         * layout-tests/editing/inserting/insert-tab-004-expected.txt:
   14383         * layout-tests/fast/dom/quadraticCurveTo-expected.txt:
   14384         * layout-tests/fast/js/string-replace-2-expected.txt:
   14385         * layout-tests/fast/table/039-expected.txt:
   14386         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   14387         * layout-tests/fast/tokenizer/script_extra_close-expected.txt:
   14388 
   14389 2005-06-29  Geoffrey Garen  <ggaren (a] apple.com>
   14390 
   14391         Contributed by Francisco Tolmasky <tolmasky (a] gmail.com>
   14392 
   14393         -test cases for fix to http://bugs.webkit.org/show_bug.cgi?id=3667
   14394         Core JavaScript 1.5 Reference:Objects:Array:forEach
   14395 
   14396         See JavaScriptCore Changelog for details on the patch.
   14397 
   14398         Reviewed by darin.
   14399 
   14400         Test cases added:
   14401         * layout-tests/fast/js/array-every-expected.txt: Added.
   14402         * layout-tests/fast/js/array-every.html: Added.
   14403         * layout-tests/fast/js/array-foreach-expected.txt: Added.
   14404         * layout-tests/fast/js/array-foreach.html: Added.
   14405         * layout-tests/fast/js/array-some-expected.txt: Added.
   14406         * layout-tests/fast/js/array-some.html: Added.
   14407 
   14408 2005-06-29  Bruce DiBello  <bdibello (a] apple.com>
   14409 
   14410         Reviewed by Geoff Garen
   14411 
   14412         Test cases added: added expected results for previous check in
   14413 
   14414         * layout-tests/fast/dom/HTMLDocument/url/getset-expected.txt: Added.
   14415 
   14416 2005-06-29  Geoffrey Garen  <ggaren (a] apple.com>
   14417 
   14418         DOM compatibility tests for HTMLDocument::writeln
   14419 
   14420         Reviewed by justing.
   14421 
   14422         Test cases added: 
   14423 
   14424         * layout-tests/fast/dom/HTMLDocument/writeln/call-expected.txt: Added.
   14425         * layout-tests/fast/dom/HTMLDocument/writeln/call.html: Added.
   14426         * layout-tests/fast/dom/HTMLDocument/writeln/multiple-calls-expected.txt: Added.
   14427         * layout-tests/fast/dom/HTMLDocument/writeln/multiple-calls.html: Added.
   14428 
   14429 2005-06-29  Bruce DiBello  <bdibello (a] apple.com>
   14430 
   14431         Reviewed by Geoff Garen.
   14432 
   14433         Test cases added: added DOM test for document.URL
   14434 
   14435         * layout-tests/fast/dom/HTMLDocument/url/getset.html: Added.
   14436 
   14437 2005-06-29  Geoffrey Garen  <ggaren (a] apple.com>
   14438 
   14439         DOM compatibility tests for HTMLDocument::write
   14440 
   14441         Reviewed by justing.
   14442 
   14443         Test cases added: 
   14444         * layout-tests/fast/dom/HTMLDocument/write/call-expected.txt: Added.
   14445         * layout-tests/fast/dom/HTMLDocument/write/call.html: Added.
   14446         * layout-tests/fast/dom/HTMLDocument/write/multiple-calls-expected.txt: Added.
   14447         * layout-tests/fast/dom/HTMLDocument/write/multiple-calls.html: Added.
   14448 
   14449 2005-06-29  Geoffrey Garen  <ggaren (a] apple.com>
   14450 
   14451         DOM compatibility tests for HTMLDocument::title
   14452 
   14453         Reviewed by justing.
   14454 
   14455         Test cases added: 
   14456         * layout-tests/fast/dom/HTMLDocument/title/get-expected.txt: Added.
   14457         * layout-tests/fast/dom/HTMLDocument/title/get.html: Added.
   14458         * layout-tests/fast/dom/HTMLDocument/title/set-expected.txt: Added.
   14459         * layout-tests/fast/dom/HTMLDocument/title/set.html: Added.
   14460 
   14461 2005-06-28  Maciej Stachowiak  <mjs (a] apple.com>
   14462 
   14463         Reviewed by Darin.
   14464 
   14465         Added iterator support to new hashtable class, the HashSet API is
   14466         now essentially complete.
   14467 
   14468         Added support for consistency check mode.
   14469 
   14470         * khtml/misc/hashset.h:
   14471         (khtml::HashSet::capacity): Added
   14472         (khtml::HashSet::begin): Added (both const and non-const)
   14473         (khtml::HashSet::end): Added (both const and non-const)
   14474         (khtml::HashSet::insert): Made both versions return an iterator
   14475         (khtml::HashSet::find): Added (both const and on-const, returning appropriate iterator)
   14476         (khtml::HashSet::contains): Added
   14477         (khtml::HashSet::remove): Added version that takes an iterator argument
   14478         (khtml::HashSet::clear): Added
   14479         * khtml/misc/hashtable.h:
   14480         (khtml::HashTableIterator): New class with all the obvious iterator stuff.
   14481         (khtml::HashTableConstIterator::HashTableConstIterator): New class with all the obvious
   14482         const iterator stuff.
   14483         (khtml::HashTable::begin): Added (both const and non-consts)
   14484         (khtml::HashTable::end): Added (both const and non-consts)
   14485         (khtml::HashTable::capacity): Added
   14486         (khtml::HashTable::insert): Implement non-template method in terms
   14487         of template method.
   14488         (khtml::HashTable::contains): Added (implemented in terms of find)
   14489         (khtml::HashTable::remove): Implemented key remove in terms of find and 
   14490         iterator remove.
   14491         (khtml::HashTable::hash): Made static
   14492         (khtml::HashTable::equal): Made static
   14493         (khtml::HashTable::identityConvert): Added - no-op convert method so template insert
   14494         method can be implemented in terms of non-template
   14495         (khtml::HashTable::insert): Changed to return iterator
   14496         (khtml::HashTable::reinsert): Recoded to be more like the other functions
   14497         (khtml::HashTable::find): Added
   14498         (khtml::HashTable::remove): Added iterator version
   14499         (khtml::HashTable::clear): Added
   14500         * khtml/xml/dom_atomicstring.cpp:
   14501         (DOM::AtomicString::add): Updated to deal with the fact that insert returns an iterator
   14502         (khtml::HashTable::shouldExpand): New helper.
   14503         (khtml::HashTable::shouldShrink): ditto
   14504         (khtml::HashTable::makeIterator): ditto
   14505         (khtml::HashTable::makeConstIterator): ditto
   14506         (khtml::HashTable::checkConsistency): consistency check method
   14507         (khtml::HashTable::checkConsistencyExceptSize): consistency check method
   14508 
   14509 2005-06-29  Geoffrey Garen  <ggaren (a] apple.com>
   14510 
   14511         -added test case for fix to http://bugs.webkit.org/show_bug.cgi?id=3743
   14512         Incorrect error message given for certain calls
   14513 
   14514         See JavaScriptCore Changelog for details about the patch.
   14515 
   14516         Reviewed by me.
   14517 
   14518         Test cases added: 
   14519         * layout-tests/fast/js/toString-stack-overflow-expected.txt: Added.
   14520         * layout-tests/fast/js/toString-stack-overflow.html: Added.
   14521 
   14522 2005-06-29  Justin Garcia  <justin.garcia (a] apple.com>
   14523 
   14524         - Fixes <http://bugs.webkit.org/show_bug.cgi?id=3714>
   14525         HTMLLabelElement's form property isn't implemented
   14526 
   14527         Patch by Anders Carlsson <andersca (a] mac.com>
   14528 
   14529         Reviewed by Darin
   14530 
   14531         Test cases added:
   14532         * layout-tests/fast/dom/HTMLLabelElement/properties/form-expected.txt: Added.
   14533         * layout-tests/fast/dom/HTMLLabelElement/properties/form.html: Added.
   14534         
   14535         * khtml/html/html_formimpl.cpp:
   14536         (DOM::HTMLLabelElementImpl::form):
   14537         Traverse upwards looking for a form element.
   14538 
   14539 2005-06-29  Geoffrey Garen  <ggaren (a] apple.com>
   14540 
   14541         Patch by Joost de Valk <webkit (a] joostdevalk.nl>
   14542 
   14543         - http://bugs.webkit.org/show_bug.cgi?id=3732
   14544         Testcase for accesskeys that will run with run-webkit-tests.
   14545 
   14546         Reviewed by Darin.
   14547 
   14548         Test cases added: 
   14549         * layout-tests/fast/forms/access-key-expected.txt: Added.
   14550         * layout-tests/fast/forms/access-key.html: Added.
   14551 
   14552 2005-06-29  Justin Garcia  <justin.garcia (a] apple.com>
   14553 
   14554         Patch by Anders Carlsson  <andersca (a] mac.com>
   14555 
   14556         - Fixes <http://bugs.webkit.org/show_bug.cgi?id=3715>
   14557         An HTMLObjectElement's form property was always null.
   14558 
   14559         Reviewed by Darin
   14560 
   14561         Test cases added:
   14562         * layout-tests/fast/dom/htmlobject-form-expected.txt: Added.
   14563         * layout-tests/fast/dom/htmlobject-form.html: Added.
   14564 
   14565         * khtml/html/html_objectimpl.cpp:
   14566         (DOM::HTMLObjectElementImpl::form):
   14567         Implement this function by traversing the parent nodes looking
   14568         for a form element.
   14569 
   14570 2005-06-29  Geoffrey Garen  <ggaren (a] apple.com>
   14571 
   14572         Patch by Antoine Quint <ml (a] graougraou.com>
   14573 
   14574         -fixes http://bugs.webkit.org/show_bug.cgi?id=3648
   14575         quadraticCurveTo() method in <canvas> APIs JS bindings does not exist
   14576 
   14577         Reviewed by Darin.
   14578 
   14579         Test cases added: 
   14580         * layout-tests/fast/dom/quadraticCurveTo-expected.txt: Added.
   14581         * layout-tests/fast/dom/quadraticCurveTo.xml: Added.
   14582 
   14583         * khtml/ecma/kjs_html.cpp:
   14584 
   14585 2005-06-29  Geoffrey Garen  <ggaren (a] apple.com>
   14586 
   14587 	Patch by Hanspeter Schaub <Hanspeterschaub (a] mac.com>
   14588 
   14589 	-fixes http://bugs.webkit.org/show_bug.cgi?id=3317
   14590 	REGRESSION: CSS2: outline is applied to both <li> element 
   14591 	and its enclosing text with context dependent selector
   14592 
   14593         Reviewed by Hyatt.
   14594 
   14595         Test cases added: 
   14596         * layout-tests/fast/css/list-outline-expected.txt: Added.
   14597         * layout-tests/fast/css/list-outline.html: Added.
   14598 
   14599         * khtml/rendering/render_line.cpp:
   14600         (khtml::InlineFlowBox::paint):
   14601 
   14602 2005-06-28  Vicki Murley  <vicki (a] apple.com>
   14603 
   14604         Reviewed by Maciej.
   14605  
   14606 	- fix our part of <rdar://problem/4122332> extra HTTP GET when iframe requests file 
   14607 	already fetched by parent that should have been cached. Setting location via javascript
   14608 	should not signal a full reload of the destination page and all its subresources.
   14609 
   14610         * khtml/khtml_part.cpp:
   14611         (KHTMLPart::changeLocation): remove code that sets the reload flag
   14612 
   14613 2005-06-28  Justin Garcia  <justin.garcia (a] apple.com>
   14614 
   14615         Patch by Kevin Ballard <kevin (a] sb.org>
   14616 
   14617         Reviewed by Darin
   14618         
   14619         - Fixes <http://bugs.webkit.org/show_bug.cgi?id=3654> 
   14620         Updating the value of a textarea wasn't saving the cursor position 
   14621         in a line ending-agnostic fashion.
   14622 
   14623         Test cases added:
   14624         * layout-tests/fast/forms/cursor-position-expected.txt: Added.
   14625         * layout-tests/fast/forms/cursor-position.html: Added.
   14626 
   14627         * kwq/KWQTextArea.mm:
   14628         (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]):
   14629         (RangeOfParagraph):
   14630         (-[KWQTextArea setCursorPositionToIndex:inParagraph:]):
   14631 
   14632 2005-06-28  Justin Garcia  <justin.garcia (a] apple.com>
   14633 
   14634         Patch by Alexey Proskuryakov <ap (a] nypop.com>
   14635         
   14636         - <http://bugs.webkit.org/show_bug.cgi?id=3727>
   14637         When a DECODE_DEBUG preprocessor symbol is defined in khtml/misc/decoder.cpp, 
   14638         compilation fails because a non-existent variable "force" is used.
   14639 
   14640         Reviewed by Darin
   14641 
   14642         Test cases added: None required
   14643 
   14644         * khtml/misc/decoder.cpp:
   14645         (Decoder::setEncoding):
   14646 
   14647 2005-06-28  David Harrison  <harrison (a] apple.com>
   14648 
   14649         Reviewed by Chris Blumenberg.
   14650 
   14651         Test cases added: (NONE)
   14652         
   14653         (continued) <rdar://problem/4140688> assertion failure double-clicking text to select
   14654         Fixed my checkin from yesterday.
   14655 
   14656         * khtml/rendering/render_text.cpp:
   14657         (InlineTextBox::paintMarkedTextBackground):
   14658         (InlineTextBox::positionForOffset):
   14659         Changed tabs to spaces.
   14660         
   14661         (RenderText::positionForCoordinates):
   14662         Make sure affinity is downstream when in mid-line.
   14663         Changed tabs to spaces.
   14664 
   14665         (RenderText::caretRect):
   14666         (RenderText::cacheWidths):
   14667         (RenderText::trimmedMinMaxWidth):
   14668         (RenderText::minXPos):
   14669         (RenderText::width):
   14670         (RenderText::caretMaxOffset):
   14671         Changed tabs to spaces.
   14672 
   14673         * layout-tests/editing/style/create-block-for-style-004-expected.txt:
   14674         Expected ending selection affinity is downstream.
   14675 
   14676 2005-06-27  Maciej Stachowiak  <mjs (a] apple.com>
   14677 
   14678 	Remove accidentally committed code that breaks the build. Oops!
   14679 
   14680         * khtml/xml/dom_atomicstring.cpp:
   14681         (DOM::AtomicString::expand):
   14682         (DOM::AtomicString::shrink):
   14683 
   14684 2005-06-26  Maciej Stachowiak  <mjs (a] apple.com>
   14685 
   14686         Reviewed by Darin.
   14687 
   14688 	- replaced all our hash functions with the state of the art in hashing
   14689 	- ~1% speedup on cvs-base
   14690 	
   14691         No test cases added, perf effects only.
   14692 
   14693         * khtml/xml/dom_atomicstring.cpp:
   14694         (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger):
   14695 	Improved stats gathering to track collisions in more detail and count reinserts
   14696 	on remove.
   14697         (DOM::addToCollisionCount): ditto
   14698         (DOM::AtomicString::add): ditto
   14699         (DOM::AtomicString::insert): ditto
   14700         (DOM::AtomicString::remove): ditto
   14701         * khtml/xml/dom_stringimpl.cpp:
   14702         (DOM::DOMStringImpl::computeHash): Replace with SuperFastHash algorithm.
   14703         * kwq/KWQCharsets.mm:
   14704         (encodingNameHash): Clean up mistaken shift in the wrong direction.
   14705         * kwq/KWQString.h: Removed unused hashing code.
   14706         * kwq/KWQString.mm: ditto
   14707         * kwq/KWQTextCodec.mm:
   14708         (QTextCodec::hash): Use a variant of the SuperFastHash algorithm.
   14709 
   14710 2005-06-27  David Harrison  <harrison (a] apple.com>
   14711 
   14712         Reviewed by Ken.
   14713 
   14714         Test cases added: None because this relies on mouse clicking.
   14715 
   14716         <rdar://problem/4140688> assertion failure double-clicking text to select
   14717 
   14718         * khtml/rendering/render_text.cpp:
   14719         (RenderText::positionForCoordinates):
   14720         Use setAffinityUsingLinePosition.
   14721 
   14722 2005-06-25  Darin Adler  <darin (a] apple.com>
   14723 
   14724         - updated a layout test so that it doesn't depend on a remote resource via http
   14725 
   14726         * layout-tests/fast/backgrounds/001.html: Change image URL to be relative.
   14727         * layout-tests/fast/backgrounds/resources/bg_position_larger.gif: Added.
   14728 
   14729 2005-06-24  Darin Adler  <darin (a] apple.com>
   14730 
   14731         Changes by Mitz Pettel.
   14732         Reviewed by me.
   14733 
   14734         Test cases added:
   14735         * layout-tests/fast/text/international/bidi-explicit-embedding-expected.txt: Added.
   14736         * layout-tests/fast/text/international/bidi-explicit-embedding.html: Added.
   14737 
   14738         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3599>
   14739           Incorrect layout of explicit embedding levels
   14740 
   14741         * khtml/rendering/bidi.cpp:
   14742         (khtml::embed): Set up the new run correctly following an embed/pop.
   14743         (khtml::RenderBlock::bidiReorderLine): Close the "dangling" run when we see an explicit
   14744         embedding character (or PDF).
   14745 
   14746 2005-06-24  Darin Adler  <darin (a] apple.com>
   14747 
   14748         Changes by Mitz Pettel.
   14749         Reviewed by me.
   14750 
   14751         Test cases added:
   14752         * layout-tests/fast/text/international/bidi-CS-after-AN-expected.txt: Added.
   14753         * layout-tests/fast/text/international/bidi-CS-after-AN.html: Added.
   14754 
   14755         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3693>
   14756           Bug_72578 in KHTML: bidi algorithm misbehaves with CS after AN
   14757 
   14758         * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Rolled in the
   14759         patch from the KDE tree.
   14760 
   14761 2005-06-24  Justin Garcia  <justin.garcia (a] apple.com>
   14762 
   14763         - <http://bugs.webkit.org/show_bug.cgi?id=3673> 
   14764             Adds QBuffer::setBuffer(QByteArray) support to KWQBuffer, and adds a QBuffer(QByteArray) constructor.
   14765 
   14766         Reviewed by Darin
   14767 
   14768         Test cases added: Non required
   14769 
   14770         * kwq/KWQBuffer.h:
   14771         (QBuffer::QBuffer):
   14772         * kwq/KWQBuffer.mm:
   14773         (QBuffer::setBuffer):
   14774 
   14775 2005-06-24  Justin Garcia  <justin.garcia (a] apple.com>
   14776 
   14777         - <http://bugs.webkit.org/show_bug.cgi?id=3672> KWQRect -- CGRect and other small additions
   14778         - <http://bugs.webkit.org/show_bug.cgi?id=3670> Add remove and byteOrderMark support to KWQString for kdom
   14779 
   14780         Reviewed by Darin
   14781 
   14782         Test cases added: None required
   14783 
   14784         * kwq/KWQRect.h:
   14785         (QRect::contains):
   14786         * kwq/KWQRect.mm:
   14787         (QRect::QRect):
   14788         (QRect::topRight):
   14789         (QRect::bottomLeft):
   14790         (QRect::normalize):
   14791         (QRect::operator CGRect):
   14792         * kwq/KWQString.h:
   14793         (QChar::):
   14794         (QString::remove):
   14795 
   14796 2005-06-24  Darin Adler  <darin (a] apple.com>
   14797 
   14798         Reviewed by Justin Garcia.
   14799 
   14800         - fixed <rdar://problem/4151619> Safari changes "\" characters to "/" in the query part of links that start with "?"
   14801 
   14802         Test cases added:
   14803         * layout-tests/fast/dom/anchor-backslash-expected.txt: Added.
   14804         * layout-tests/fast/dom/anchor-backslash.html: Added.
   14805 
   14806         * kwq/KWQKURL.mm: (substituteBackslashes): Fix error where we'd ignore
   14807         "?" and "#" characters if they were the first character in the string.
   14808 
   14809 2005-06-23  Darin Adler  <darin (a] apple.com>
   14810 
   14811         * khtml/html/html_formimpl.cpp: (DOM::HTMLTextAreaElementImpl::setValue):
   14812         Took out an unneeded type cast (meant to do that before committing).
   14813 
   14814 2005-06-23  Kevin Ballard  <kevin (a] sb.org>
   14815 
   14816         Reviewed and landed by Darin Adler.
   14817 
   14818         Test cases added:
   14819         * layout-tests/fast/forms/selection-functions-expected.txt: Added.
   14820         * layout-tests/fast/forms/selection-functions.html: Added.
   14821         * layout-tests/fast/forms/textarea-crlf-expected.txt: Added.
   14822         * layout-tests/fast/forms/textarea-crlf.html: Added.
   14823 
   14824         - Fixes bug <http://bugs.webkit.org/show_bug.cgi?id=3401>.
   14825           Also fixes issue where setting text of a textarea in code and then
   14826           retrieving it would leave the \r\n sequences in the text, despite
   14827           the textarea translating to \n in all other cases.
   14828 
   14829         * khtml/ecma/kjs_html.h:
   14830         * khtml/ecma/kjs_html.cpp:
   14831         (KJS::getInputSelectionStart):
   14832         (KJS::getInputSelectionEnd):
   14833         (KJS::KJS::HTMLElement::getValueProperty):
   14834         (KJS::KJS::HTMLElement::hasProperty):
   14835         (KJS::KJS::HTMLElementFunction::tryCall):
   14836         (KJS::HTMLElement::putValue):
   14837         * khtml/html/html_formimpl.cpp:
   14838         (DOM::HTMLInputElementImpl::canHaveSelection):
   14839         (DOM::HTMLInputElementImpl::selectionStart):
   14840         (DOM::HTMLInputElementImpl::selectionEnd):
   14841         (DOM::HTMLInputElementImpl::setSelectionStart):
   14842         (DOM::HTMLInputElementImpl::setSelectionEnd):
   14843         (DOM::HTMLInputElementImpl::setSelectionRange):
   14844         (DOM::HTMLInputElementImpl::setValue):
   14845         (DOM::HTMLTextAreaElementImpl::selectionStart):
   14846         (DOM::HTMLTextAreaElementImpl::selectionEnd):
   14847         (DOM::HTMLTextAreaElementImpl::setSelectionStart):
   14848         (DOM::HTMLTextAreaElementImpl::setSelectionEnd):
   14849         (DOM::HTMLTextAreaElementImpl::setSelectionRange):
   14850         (DOM::HTMLTextAreaElementImpl::setValue):
   14851         * khtml/html/html_formimpl.h:
   14852         * khtml/rendering/render_form.cpp:
   14853         (RenderLineEdit::selectionStart):
   14854         (RenderLineEdit::selectionEnd):
   14855         (RenderLineEdit::setSelectionStart):
   14856         (RenderLineEdit::setSelectionEnd):
   14857         (RenderLineEdit::setSelectionRange):
   14858         (RenderTextArea::selectionStart):
   14859         (RenderTextArea::selectionEnd):
   14860         (RenderTextArea::setSelectionStart):
   14861         (RenderTextArea::setSelectionEnd):
   14862         (RenderTextArea::select):
   14863         (RenderTextArea::setSelectionRange):
   14864         * khtml/rendering/render_form.h:
   14865         * kwq/KWQLineEdit.h:
   14866         * kwq/KWQLineEdit.mm:
   14867         (QLineEdit::setCursorPosition):
   14868         (QLineEdit::cursorPosition):
   14869         (QLineEdit::selectAll):
   14870         (QLineEdit::selectionStart):
   14871         (QLineEdit::selectedText):
   14872         (QLineEdit::setSelection):
   14873         * kwq/KWQTextArea.h:
   14874         * kwq/KWQTextArea.mm:
   14875         (-[KWQTextArea setSelectedRange:]):
   14876         (-[KWQTextArea selectedRange]):
   14877         (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]):
   14878         (RangeOfParagraph):
   14879         * kwq/KWQTextEdit.h:
   14880         * kwq/KWQTextEdit.mm:
   14881         (QTextEdit::getCursorPosition):
   14882         (QTextEdit::selectionStart):
   14883         (QTextEdit::selectionEnd):
   14884         (QTextEdit::setSelectionStart):
   14885         (QTextEdit::setSelectionEnd):
   14886         (QTextEdit::selectAll):
   14887         (QTextEdit::setSelectionRange):
   14888         * kwq/KWQTextField.h:
   14889         * kwq/KWQTextField.mm:
   14890         (-[KWQTextFieldController selectedRange]):
   14891         (-[KWQTextFieldController setSelectedRange:]):
   14892 
   14893 2005-06-23  Justin Garcia  <justin.garcia (a] apple.com>
   14894 
   14895         Patch by Eric Seidel <eric (a] webkit.org>
   14896 
   14897         Adds QTextIStream, QTextOStream to KWQ
   14898 
   14899         Reviewed by Darin
   14900 
   14901         Test cases added: None required
   14902 
   14903         * kwq/KWQTextStream.h:
   14904         (QTextIStream::QTextIStream):
   14905         (QTextOStream::QTextOStream):
   14906 
   14907 2005-06-23  Justin Garcia  <justin.garcia (a] apple.com>
   14908 
   14909         Patch by Eric Seidel <eric (a] webkit.org>
   14910 
   14911         This patch contains several small additions to KWQ
   14912 
   14913         Reviewed by Darin
   14914 
   14915         Test cases added: None required
   14916 
   14917         * kwq/KWQApplication.h:
   14918         (QApplication::palette):
   14919         * kwq/KWQDateTime.h:
   14920         (QDateTime::time):
   14921         * kwq/KWQDict.h:
   14922         (QDict::operator[]):
   14923         (QDictIterator::operator*):
   14924         * kwq/KWQKDebug.h:
   14925         (kdbgstream::operator<<):
   14926         * kwq/KWQMemArray.h:
   14927         (QMemArray::duplicate):
   14928 
   14929 2005-06-23  David Harrison  <harrison (a] apple.com>
   14930 
   14931         Test cases added: None needed for this debug-only utility code.
   14932 
   14933         - Make showTree() const.
   14934         - Add showTree() for InlineBox.
   14935         - Add showTree() for RenderObject.
   14936 
   14937         * khtml/editing/selection.cpp:
   14938         (khtml::Selection::showTree):
   14939         * khtml/editing/selection.h:
   14940         * khtml/editing/visible_position.cpp:
   14941         (khtml::VisiblePosition::showTree):
   14942         * khtml/editing/visible_position.h:
   14943         Make showTree() const.
   14944         
   14945         * khtml/rendering/render_line.cpp:
   14946         (khtml::InlineBox::showTree):
   14947         * khtml/rendering/render_line.h:
   14948         Add showTree() for InlineBox.
   14949         
   14950         * khtml/rendering/render_object.cpp:
   14951         (RenderObject::showTree):
   14952         * khtml/rendering/render_object.h:
   14953         Add showTree() for RenderObject.
   14954         
   14955         * khtml/xml/dom_nodeimpl.cpp:
   14956         (appendAttributeDesc):
   14957         (NodeImpl::showNode):
   14958         (NodeImpl::showTree):
   14959         (NodeImpl::showTreeAndMark):
   14960         * khtml/xml/dom_nodeimpl.h:
   14961         Make showTree() const.
   14962 
   14963 2005-06-23  Vicki Murley  <vicki (a] apple.com>
   14964 
   14965 	- added template to be used when writing manual tests
   14966 
   14967         * manual-tests/template.html: Added.
   14968 
   14969 2005-06-22  Darin Adler  <darin (a] apple.com>
   14970 
   14971         - added forwarding headers as needed for Eric Seidel's KDOM work
   14972           see <http://bugs.webkit.org/show_bug.cgi?id=3655>
   14973 
   14974         * ForwardingHeaders/kjs/value.h: Added.
   14975         * ForwardingHeaders/qintdict.h: Added an include.
   14976         * ForwardingHeaders/qptrcollection.h: Added.
   14977         * ForwardingHeaders/qsize.h: Added.
   14978         * kwq/KWQIntDict.h: Added. Empty file.
   14979 
   14980 2005-06-22  Darin Adler  <darin (a] apple.com>
   14981 
   14982         Reviewed by Vicki.
   14983 
   14984         Test cases added:
   14985         * layout-tests/fast/css/apple-prefix-expected.txt: Added.
   14986         * layout-tests/fast/css/apple-prefix.html: Added.
   14987 
   14988         - fixed <rdar://problem/4141650> REGRESSION: Safari RSS slider broken with TOT WebCore
   14989 
   14990         * khtml/css/parser.y:
   14991         (getPropertyID): Fix lifetime problem on the QString. Also construct the QString
   14992         using length, since the passed-in char * is not necessarily null-terminated. Also do
   14993         the mapping only if it's a "-apple-" prefix -- the old code would do it for, e.g.,
   14994         "-applex-" too. The old code would not successfully map the "apple" in "appleLineClamp"
   14995         to "khtml", and Dave changed things so that the internal name of all CSS attributes
   14996         is "khtml" back in his 2005-05-03 check-in, breaking the use of appleLineClamp in RSS.
   14997         (getValueID): Ditto.
   14998 
   14999 2005-06-22  Anders Carlsson  <andersca (a] mac.com>
   15000 
   15001         Reviewed and landed by Darin Adler.
   15002 
   15003         Test cases added: 
   15004         * layout-tests/fast/dom/title-text-property-expected.txt: Added
   15005         * layout-tests/fast/dom/title-text-property.html: Added
   15006         * layout-tests/fast/dom/title-text-property-expected-2.txt: Added
   15007         * layout-tests/fast/dom/title-text-property-2.html: Added
   15008 
   15009         - fixed <rdar://problem/3831364> getting or setting text for a <title> element doesn't work
   15010         - fixed <rdar://problem/4091225> REGRESSION (1.2.4-1.3): many titles with non-ASCII characters do not display properly (XHTML strict only)
   15011         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3586>
   15012           Setting and getting title's text attribute does not work
   15013 
   15014         * khtml/dom/html_head.cpp:
   15015         (HTMLTitleElement::text):
   15016         (HTMLTitleElement::setText):
   15017         Call HTMLTitleElementImpl::text() and ::setText().
   15018 
   15019         * khtml/html/html_headimpl.cpp:
   15020         (HTMLTitleElementImpl::HTMLTitleElementImpl):
   15021         (HTMLTitleElementImpl::insertedIntoDocument):
   15022         (HTMLTitleElementImpl::removedFromDocument):
   15023         (HTMLTitleElementImpl::childrenChanged):
   15024         Pass the current title node to DocumentImpl::setTitle
   15025         and ::removeTitle.
   15026 
   15027         (HTMLTitleElementImpl::text):
   15028         Return the title.
   15029 
   15030         (HTMLTitleElementImpl::setText):
   15031         Set the new title.
   15032 
   15033         * khtml/xml/dom_docimpl.cpp:
   15034         (DocumentImpl::DocumentImpl):
   15035         (DocumentImpl::~DocumentImpl):
   15036         (DocumentImpl::updateTitle):
   15037         (DocumentImpl::setTitle):
   15038         (DocumentImpl::removeTitle):
   15039         * khtml/xml/dom_docimpl.h:
   15040         Only update the title if it's done by setting document.title
   15041         or by changing the child nodes of the title element.
   15042 
   15043 2005-06-22  Darin Adler  <darin (a] apple.com>
   15044 
   15045         Changes by Mitz Pettel.
   15046         Reviewed by me.
   15047 
   15048         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3633>
   15049           Layout order of bidi level runs is incorrect
   15050 
   15051         Test cases added:
   15052         * layout-tests/fast/text/international/bidi-L2-run-reordering-expected.txt: Added.
   15053         * layout-tests/fast/text/international/bidi-L2-run-reordering.html: Added.
   15054 
   15055         * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Fixed mistake
   15056         where we'd advance too far after reversing a run.
   15057 
   15058 2005-06-22  Darin Adler  <darin (a] apple.com>
   15059 
   15060         - added test case for JavaScriptCore fix
   15061 
   15062         * layout-tests/fast/js/string-replace-2-expected.txt: Added.
   15063         * layout-tests/fast/js/string-replace-2.html: Added.
   15064 
   15065 2005-06-22  Darin Adler  <darin (a] apple.com>
   15066 
   15067         Reviewed by John Sullivan.
   15068 
   15069         Test cases added:
   15070         * layout-tests/fast/dom/css-set-property-exception-expected.txt: Added.
   15071         * layout-tests/fast/dom/css-set-property-exception.html: Added.
   15072 
   15073         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3616>
   15074           RSS search field, Dashboard widgets failing due to CSS exception
   15075 
   15076         * khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::tryPut):
   15077         Ignore exceptions when setting properties.
   15078 
   15079         * layout-tests/fast/js/exception-linenums.html: Changed test case that
   15080         involved setting style to one that involved setting another property that
   15081         raises an exception when you try to set it (setting prefix on a text node).
   15082 
   15083 2005-06-22  Darin Adler  <darin (a] apple.com>
   15084 
   15085         Change proposed by Eric Seidel.
   15086 
   15087         * WebCore.pbproj/project.pbxproj: Fix build rule to match the one in JavaScriptCore.
   15088         The one here accidentally had hard-coded paths in it and also had the $() vs. ${}
   15089         issue that broke building on Xcode 2.1 for no good reason (it didn't need $() or ${}).
   15090 
   15091 2005-06-21  Maciej Stachowiak  <mjs (a] apple.com>
   15092 
   15093         Patch from KevinBallard <kevin (a] sb.org>, reviewed by me.
   15094 
   15095         - fix build for Xcode 2.1, use ${} for INPUT_FILE_BASE to fix build with Xcode 2.1
   15096 
   15097         * WebCore.pbproj/project.pbxproj:
   15098 
   15099 2005-06-21  Justin Garcia  <justin.garcia (a] apple.com>
   15100 
   15101         - Fixes <rdar://problem/4114192>.
   15102         - Fixes a crash in TOT Mail/Blot if you Edit -> Add Hyperlink on a Selection 
   15103            that ends at the end of the document
   15104         - Fixes a problem in TOT Mail/Blot where Edit -> Add Hyperlink creates 
   15105            a link one character beyond what is expected.
   15106         
   15107         In replacement, during insertion, some special case code was being called inappropriately.
   15108         
   15109         Reviewed by Harrison
   15110 
   15111         Test cases added: None, requires manual interaction
   15112 
   15113         * khtml/editing/replace_selection_command.cpp:
   15114         (khtml::ReplaceSelectionCommand::doApply): In "step 2" of a replacement, we should 
   15115         only next() the insertion point if the special pre-insertion-merge actually occured.
   15116         mergeStart used to be the correct check for the occurence of a pre-insertion-merge, but
   15117         a bug fix made this not the case.  A non-null m_lastNodeInserted correctly signals 
   15118         that some pre-insertion merging occured.
   15119 
   15120 2005-06-21  Darin Adler  <darin (a] apple.com>
   15121 
   15122         * WebCore.pbproj/project.pbxproj: Switched to a build rule rather than a build phase for the
   15123         .y files -- this gets rid of the problem where modifying the .y file would not cause sufficient
   15124         compilation.
   15125 
   15126         * khtml/css/parser_wrapper.cpp: Removed.
   15127 
   15128 2005-06-21  Adele Peterson  <adele (a] apple.com>
   15129 
   15130         Test cases for:
   15131         <http://bugs.webkit.org/show_bug.cgi?id=3450>
   15132         <rdar://problem/3881901> String.replace() method not working when regex pattern contains {n, m}
   15133 
   15134         * layout-tests/fast/js/string_replace-expected.txt: Added.
   15135         * layout-tests/fast/js/string_replace.html: Added.
   15136 
   15137 2005-06-21  Geoffrey Garen  <ggaren (a] apple.com>
   15138 
   15139         Patch contributed by Niels Leenheer <niels.leenheer (a] gmail.com>
   15140 
   15141         - fixed http://bugs.webkit.org/show_bug.cgi?id=3370
   15142         (Safari can't handle strange frame dimensions)
   15143 
   15144         Reviewed by Darin.
   15145 
   15146         * khtml/dom/dom_string.cpp:
   15147         (DOM::DOMString::toCoordsArray):
   15148         * khtml/dom/dom_string.h:
   15149         * khtml/html/html_imageimpl.cpp:
   15150         (HTMLAreaElementImpl::parseMappedAttribute):
   15151         * khtml/xml/dom_atomicstring.h:
   15152         (DOM::AtomicString::toCoordsArray):
   15153         * khtml/xml/dom_stringimpl.cpp:
   15154         (DOM::parseLength):
   15155         (DOM::DOMStringImpl::toCoordsArray):
   15156         (DOM::DOMStringImpl::toLengthArray):
   15157         * khtml/xml/dom_stringimpl.h:
   15158 
   15159         Test cases added: 
   15160         * layout-tests/fast/frames/invalid-expected.txt: Added.
   15161         * layout-tests/fast/frames/invalid.html: Added.
   15162         * layout-tests/fast/frames/valid-expected.txt: Added.
   15163         * layout-tests/fast/frames/valid.html: Added.
   15164 
   15165 2005-06-21  Geoffrey Garen  <ggaren (a] apple.com>
   15166 
   15167         - fixed <rdar://problem/4155049> javascript function named as "opener" doesn't get called because of window.opener property
   15168 
   15169         Test cases only, fix is in JavaScriptCore
   15170 
   15171         Reviewed by cblu.
   15172 
   15173         Test cases added: 
   15174 
   15175         * layout-tests/fast/js/global-opener-function-expected.txt: Added.
   15176         * layout-tests/fast/js/global-opener-function.html: Added.
   15177 
   15178 2005-06-21  David Harrison  <harrison (a] apple.com>
   15179 
   15180         Reviewed by Justin.
   15181         
   15182         - show class and style attributes for element nodes
   15183         - nil check the node being showTree'd
   15184         - add Position::showTree()
   15185 
   15186         Test cases added: None needed for this debug-only utility code.
   15187 
   15188         * khtml/editing/selection.cpp:
   15189         (khtml::Selection::showTree):
   15190         - nil check the node
   15191         * khtml/editing/visible_position.cpp:
   15192         (khtml::VisiblePosition::previousVisiblePosition):
   15193         - comments
   15194         (khtml::VisiblePosition::showTree):
   15195         - nil check the node
   15196         * khtml/xml/dom_nodeimpl.cpp:
   15197         (appendAttributeDesc):
   15198         (NodeImpl::showNode):
   15199         - show class and style attributes for element nodes
   15200         * khtml/xml/dom_position.cpp:
   15201         (DOM::Position::showTree):
   15202         * khtml/xml/dom_position.h:
   15203         - add Position::showTree()
   15204 
   15205 2005-06-20  Maciej Stachowiak  <mjs (a] apple.com>
   15206 
   15207         Reviewed by Darin(first pass) and Hyatt.
   15208 
   15209         - fixed http://bugs.webkit.org/show_bug.cgi?id=3576
   15210         (roll in support for "const" keyword from KDE tree)
   15211         - make processVarDecls handle deletability of variables declared
   15212         in an eval block the same as evaluate would
   15213         - make eval() call processVarDecls - needed to match mozilla and
   15214         to make the second change testable
   15215 
   15216         Test cases only, fix is in JavaScriptCore
   15217         
   15218         Test cases added:
   15219         * layout-tests/fast/js/const-expected.txt: Added.
   15220         * layout-tests/fast/js/const.html: Added.
   15221         * layout-tests/fast/js/eval-var-decl-expected.txt: Added.
   15222         * layout-tests/fast/js/eval-var-decl.html: Added.
   15223 
   15224 2005-06-20  Maciej Stachowiak  <mjs (a] apple.com>
   15225 
   15226         Patch from Mark Rowe <opendarwin.org (a] bdash.net.nz>, reviewed by me.
   15227 
   15228         - fixed http://bugs.webkit.org/attachment.cgi?id=2483
   15229         
   15230         Test cases added: 
   15231         * layout-tests/fast/js/hasOwnProperty-expected.txt: Added.
   15232         * layout-tests/fast/js/hasOwnProperty.html: Added.
   15233         - also fixed two mozilla JS tests
   15234 	
   15235         * khtml/ecma/kjs_binding.h:
   15236         * khtml/ecma/kjs_css.cpp:
   15237         (KJS::DOMCSSStyleDeclaration::hasOwnProperty):
   15238         * khtml/ecma/kjs_css.h:
   15239         * khtml/ecma/kjs_dom.cpp:
   15240         (KJS::DOMNodeList::hasOwnProperty):
   15241         (KJS::DOMNamedNodeMap::hasOwnProperty):
   15242         * khtml/ecma/kjs_dom.h:
   15243         * khtml/ecma/kjs_html.cpp:
   15244         (KJS::HTMLDocument::hasOwnProperty):
   15245         (KJS::KJS::HTMLElement::hasOwnProperty):
   15246         (KJS::KJS::HTMLCollection::hasOwnProperty):
   15247         * khtml/ecma/kjs_html.h:
   15248         * khtml/ecma/kjs_window.cpp:
   15249         (KJS::Window::hasOwnProperty):
   15250         (KJS::Konqueror::hasOwnProperty):
   15251         * khtml/ecma/kjs_window.h:
   15252 
   15253 2005-06-20  Geoffrey Garen  <ggaren (a] apple.com>
   15254 
   15255         Changes by Darin. Layout tests by me. Reviewed by me.
   15256 
   15257 	Fixed <rdar://problem/4152454> crash in KJS::ExprStatementNode::execute(KJS::ExecState*) in World Clock widget with TOT.
   15258 
   15259         Test cases added: 
   15260         * layout-tests/fast/dom/gc-4-expected.txt: Added.
   15261         * layout-tests/fast/dom/gc-4.html: Added.
   15262 
   15263         * khtml/ecma/kjs_html.cpp: 
   15264         (KJS::Context2D::mark): mark now (1) checks for NULL pointers and (2) 
   15265 	calls mark on its parent class (DOMObject::mark).
   15266 
   15267 2005-06-19  Darin Adler  <darin (a] apple.com>
   15268 
   15269         Changes by both Anders Carlsson and me.
   15270         Reviewed by Maciej and me.
   15271 
   15272         Test cases added:
   15273         * layout-tests/fast/forms/element-order-expected.txt: Added.
   15274         * layout-tests/fast/forms/element-order.html: Added.
   15275 
   15276         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3503>
   15277           form.elements[] not order-preserving when elements added via DOM
   15278 
   15279         * khtml/html/html_formimpl.h: Added formElementIndex.
   15280         * khtml/html/html_formimpl.cpp:
   15281         (DOM::insertIntoVector): Added.
   15282         (DOM::HTMLFormElementImpl::formElementIndex): Added. Computes an appropriate
   15283         index for a form element, given the document position relative to the other elements.
   15284         (DOM::HTMLFormElementImpl::registerFormElement): Use formElementIndex to determine
   15285         where to insert the element in the formElements array.
   15286 
   15287 2005-06-19  Darin Adler  <darin (a] apple.com>
   15288 
   15289         Changes by Anders Carlsson and me.
   15290         Reviewed by Maciej and me.
   15291 
   15292         Test cases added: None. Could not figure out how to automate a test without
   15293         making enhancements to DumpRenderTree.
   15294 
   15295         - fixed <rdar://problem/4141141> Onselect event is ignored with TEXTAREA and INPUT
   15296           also <http://bugs.webkit.org/show_bug.cgi?id=3256>
   15297 
   15298         * khtml/html/html_formimpl.cpp: (DOM::HTMLTextAreaElementImpl::select):
   15299         Remove unneeded explicit call to onSelect() here -- now handled by the renderer.
   15300 
   15301         * khtml/rendering/render_form.h: Added declarations as needed below.
   15302         * khtml/rendering/render_form.cpp:
   15303         (RenderFormElement::slotSelectionChanged): Add base class implementation that does nothing.
   15304         (RenderLineEdit::RenderLineEdit): Connect the selection changed signal to our slot.
   15305         (RenderLineEdit::slotSelectionChanged): Call onSelect when selection changes to something
   15306         that's a selection (not a caret).
   15307         (RenderTextArea::RenderTextArea): Connect as above.
   15308         (RenderTextArea::slotSelectionChanged): Call as above.
   15309 
   15310         * kwq/KWQLineEdit.h: Added declarations as needed below.
   15311         * kwq/KWQLineEdit.mm:
   15312         (QLineEdit::QLineEdit): Added selectionChanged signal.
   15313         (QLineEdit::hasSelectedText): Added.
   15314 
   15315         * kwq/KWQSlot.mm:
   15316         (KWQSlot::KWQSlot): Make selectionChanged work on any form element.
   15317         (KWQSlot::call): ditto.
   15318 
   15319         * kwq/KWQTextArea.h: Added hasSelection method.
   15320         * kwq/KWQTextArea.mm:
   15321         (-[KWQTextArea textViewDidChangeSelection:]): Added. Sends selectionChanged signal, except if
   15322         we're in the middle of gaining or losing first responder.
   15323         (-[KWQTextArea hasSelection]): Added.
   15324         (-[KWQTextAreaTextView becomeFirstResponder]): Added. Sets flag to tell us we're in a responder
   15325         change (using a count to avoid trouble if we reenter).
   15326         (-[KWQTextAreaTextView resignFirstResponder]): Ditto.
   15327         (-[KWQTextAreaTextView inResponderChange]): Added.
   15328 
   15329         * kwq/KWQTextEdit.h: Added declarations as needed below.
   15330         * kwq/KWQTextEdit.mm:
   15331         (QTextEdit::QTextEdit): Added selectionChanged signal.
   15332         (QTextEdit::hasSelectedText): Added.
   15333 
   15334         * kwq/KWQTextField.h: Added declarations as needed below.
   15335         * kwq/KWQTextField.mm:
   15336         (-[KWQTextFieldController initWithTextField:QLineEdit:]): Fixed up to do the right
   15337         thing with the result of the init function we call.
   15338         (-[KWQTextFieldController controlTextDidEndEditing:]): Removed call to setHasFocus:NO
   15339         since it's a little too late by the time the control is called; now handled by the
   15340         text view delegate methods below.
   15341         (-[KWQTextFieldController hasSelection]): Added.
   15342         (-[KWQTextFieldController setHasFocus:]): Sets the new hasFocusAndSelectionSet after
   15343         new focus and selection are both set up.
   15344         (-[KWQTextFieldController textViewDidChangeSelection:]): Added. Sends the selection
   15345         changed signal.
   15346         (-[KWQTextField initWithQLineEdit:]): Fixed up to do the right thing with the result
   15347         of the init function we call.
   15348         (-[KWQTextField textViewDidChangeSelection:]): Added. Calls super and then calls the
   15349         controller.
   15350         (-[KWQTextField textDidEndEditing:]): Added. Calls setHasFocus:NO and then calls super.
   15351         (-[KWQSecureTextField initWithQLineEdit:]): Same as above, but for secure text fields.
   15352         (-[KWQSecureTextField textViewDidChangeSelection:]): Ditto.
   15353         (-[KWQSecureTextField textDidEndEditing:]): Ditto.
   15354         (-[KWQSearchField initWithQLineEdit:]): Same as above, but for search fields.
   15355         (-[KWQSearchField textViewDidChangeSelection:]): Ditto.
   15356         (-[KWQSearchField textDidEndEditing:]): Ditto.
   15357         (-[KWQTextFieldFormatter init]): Fixed up to do the right thing with the result of
   15358         the init function we call.
   15359 
   15360 2005-06-18  Darin Adler  <darin (a] apple.com>
   15361 
   15362         Changes by Anders Carlsson.
   15363         Reviewed by me.
   15364 
   15365         Test cases added:
   15366         * layout-tests/fast/dom/css-dom-read-expected.txt: Added.
   15367         * layout-tests/fast/dom/css-dom-read.html: Added.
   15368 
   15369         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3534>
   15370           CSSMutableStyleDeclarationImpl::item is unimplemented
   15371 
   15372         * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::item):
   15373         Get the style from the m_values list.
   15374 
   15375 2005-06-18  Darin Adler  <darin (a] apple.com>
   15376 
   15377         - undid a last minute change I made that broke a patch I landed
   15378           (layout tests caught the mistake, all should work again now)
   15379 
   15380         * khtml/html/html_formimpl.cpp:
   15381         (DOM::HTMLLabelElementImpl::formElement): Don't include this when iterating.
   15382         (DOM::HTMLLegendElementImpl::formElement): Ditto.
   15383 
   15384 2005-06-18  Darin Adler  <darin (a] apple.com>
   15385 
   15386         - removing the applet tests, since they are causing other tests to fail
   15387 
   15388         * layout-tests/fast/replaced/applet-hspace-expected.txt: Removed.
   15389         * layout-tests/fast/replaced/applet-hspace.html: Removed.
   15390         * layout-tests/fast/replaced/applet-vspace-expected.txt: Removed.
   15391         * layout-tests/fast/replaced/applet-vspace.html: Removed.
   15392         * layout-tests/fast/replaced/resources/applet.class: Removed.
   15393         * layout-tests/fast/replaced/resources/applet.java: Removed.
   15394 
   15395 2005-06-18  Darin Adler  <darin (a] apple.com>
   15396 
   15397         Changes by Anders Carlsson.
   15398         Reviewed by me.
   15399 
   15400         Test cases added:
   15401         * layout-tests/fast/dom/resources/script3.js: Added.
   15402         * layout-tests/fast/dom/resources/script4.js: Added.
   15403         * layout-tests/fast/dom/resources/script5.js: Added.
   15404         * layout-tests/fast/dom/script-add-expected.txt: Added.
   15405         * layout-tests/fast/dom/script-add.html: Added.
   15406 
   15407         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3526>
   15408           improve support for dynamically added <script> elements
   15409 
   15410         * khtml/html/html_headimpl.h: Added override of childrenChanged, new evaluateScript
   15411         function, and m_evaluated boolean.
   15412         * khtml/html/html_headimpl.cpp:
   15413         (HTMLScriptElementImpl::HTMLScriptElementImpl): Init m_evaluated to false.
   15414         (HTMLScriptElementImpl::childrenChanged): Added code to evaluate the script the first
   15415         time a child is added (except for nodes created by parsing).
   15416         (HTMLScriptElementImpl::insertedIntoDocument): Refactored to use the new text and
   15417         evaluateScript functions. Also changed to not try to evaluate the script if the element
   15418         is entirely empty. This allows you to declare an empty <script> element and fill the
   15419         content in later using DHTML.
   15420         (HTMLScriptElementImpl::notifyFinished): Refactored to use the new evaluateScript function.
   15421         (HTMLScriptElementImpl::evaluateScript): Added. Checks and sets a new m_evaluated boolean
   15422         to implement the "evaluate each script only once" rule.
   15423         (HTMLScriptElementImpl::text): Replaced bogus implementation with one that works.
   15424         (HTMLScriptElementImpl::setText): Ditto.
   15425 
   15426         * khtml/dom/html_head.cpp:
   15427         (HTMLScriptElement::text): Replaced bogus implementation with one that calls through to
   15428         the implementation class. This change doesn't really matter since we don't compile this file.
   15429         (HTMLScriptElement::setText): Ditto.
   15430 
   15431 2005-06-18  Darin Adler  <darin (a] apple.com>
   15432 
   15433         * khtml/html/html_formimpl.cpp: (DOM::HTMLLabelElementImpl::formElement):
   15434         Oops, checked in a version that didn't even compile! Fixed now.
   15435 
   15436 2005-06-18  Darin Adler  <darin (a] apple.com>
   15437 
   15438         Changes by Anders Carlsson.
   15439         Reviewed by me.
   15440 
   15441         Test cases added:
   15442         * layout-tests/fast/forms/focus-expected.txt: Added.
   15443         * layout-tests/fast/forms/focus.html: Added.
   15444         * layout-tests/fast/forms/legend-access-key-expected.txt: Added.
   15445         * layout-tests/fast/forms/legend-access-key.html: Added.
   15446 
   15447         - fixed <rdar://problem/3481846> HTML4: accesskey not supported by HTML legend elements
   15448           also <http://bugs.webkit.org/show_bug.cgi?id=3407>
   15449         - added focus methods for <label> and <legend> elements
   15450         - fixed crash when using JavaScript-created events that prevented tests from running
   15451 
   15452         * khtml/ecma/kjs_html.h: Added focus methods.
   15453         * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLElementFunction::tryCall): Added bindings for
   15454         focus for <label> and <legend>. (Sorry about the merging, Dave.)
   15455 
   15456         * khtml/html/html_formimpl.h: Added new functions.
   15457         * khtml/html/html_formimpl.cpp:
   15458         (DOM::HTMLLabelElementImpl::focus): Added.
   15459         (DOM::HTMLLegendElementImpl::formElement): Added.
   15460         (DOM::HTMLLegendElementImpl::focus): Added.
   15461         (DOM::HTMLLegendElementImpl::accessKeyAction): Added.
   15462 
   15463         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::defaultEventHandler): If there's no QKeyEvent,
   15464         then get the key name from keyIdentifier() instead of the QKeyEvent's unmodifiedText().
   15465         The old code would just do a nil-deref.
   15466 
   15467 2005-06-18  Darin Adler  <darin (a] apple.com>
   15468 
   15469         Change by Niels Leenheer (also done by Dave Hyatt on stage at WWDC).
   15470         Reviewed by me.
   15471 
   15472         Test cases added:
   15473         * layout-tests/fast/replaced/object-align-hspace-vspace-expected.txt: Added.
   15474         * layout-tests/fast/replaced/object-align-hspace-vspace.html: Added.
   15475         * layout-tests/fast/replaced/resources/webkit-background.png: Added.
   15476 
   15477         * khtml/html/html_objectimpl.cpp:
   15478         (DOM::HTMLObjectElementImpl::mapToEntry): Add cases for ATTR_ALIGN, ATTR_VSPACE and ATTR_HSPACE.
   15479         (DOM::HTMLObjectElementImpl::parseMappedAttribute): Ditto.
   15480 
   15481 2005-06-18  Darin Adler  <darin (a] apple.com>
   15482 
   15483         Change by Niels Leenheer (also done by Dave Hyatt on stage at WWDC).
   15484         Reviewed by me.
   15485 
   15486         Test cases added:
   15487         * layout-tests/fast/replaced/applet-hspace-expected.txt: Added.
   15488         * layout-tests/fast/replaced/applet-hspace.html: Added.
   15489         * layout-tests/fast/replaced/applet-vspace-expected.txt: Added.
   15490         * layout-tests/fast/replaced/applet-vspace.html: Added.
   15491         * layout-tests/fast/replaced/resources/applet.class: Added.
   15492         * layout-tests/fast/replaced/resources/applet.java: Added.
   15493 
   15494         - fixed <http://bugs.webkit.org/show_bug.cgi?id=3246>
   15495           HSPACE and VSPACE attributes are ignored in APPLET element
   15496 
   15497         * khtml/html/html_objectimpl.cpp:
   15498         (DOM::HTMLAppletElementImpl::mapToEntry): Add cases for ATTR_VSPACE and ATTR_HSPACE.
   15499         (DOM::HTMLAppletElementImpl::parseMappedAttribute): Ditto.
   15500 
   15501 2005-06-18  Darin Adler  <darin (a] apple.com>
   15502 
   15503         - removed some unused code from one of the KWQ headers
   15504 
   15505         * kwq/KWQKHTMLPartBrowserExtension.h:
   15506 
   15507         - added a layout test for a bug that's already fixed
   15508 
   15509         * layout-tests/fast/forms/element-by-name-expected.txt: Added.
   15510         * layout-tests/fast/forms/element-by-name.html: Added.
   15511 
   15512 2005-06-17  Vicki Murley  <vicki (a] apple.com>
   15513 
   15514         Reviewed by Maciej. 
   15515 
   15516         Test cases added: None, since this test requires manual interaction.
   15517 
   15518 	- fixed <rdar://problem/4086793> Selects wrapped by Span or Label elements 
   15519 	do not resize when options are added via javascript
   15520         
   15521 	* khtml/rendering/render_form.cpp:
   15522         (RenderSelect::layout): Remove call setting setNeedsLayout to true. setNeedsLayout
   15523 	is already true at this point, and this additional call has the negative effect of 
   15524 	marking m_normalChildNeedsLayout on the element's parent, which keeps layout from 
   15525 	propagating all the way up to the root later on.
   15526 
   15527 2005-06-17  Justin Garcia  <justin.garcia (a] apple.com>
   15528 
   15529 	Fix for rdar://3756860, (also listed as) http://bugs.webkit.org/show_bug.cgi?id=3295
   15530 	The cellIndex property for HTMLTableCellElement was always zero because the method to support it was just a stub.
   15531         KHTML fix was to simply call nodeIndex(), but this is incorrect because a table row can have as children <script>s
   15532         and <form>s (and perhaps others).
   15533 	
   15534         Reviewed by hyatt and john
   15535 
   15536         Test cases added:
   15537 	* layout-tests/fast/table/cellindex.html: Added.  Illustrates the fix.
   15538 
   15539         * khtml/html/html_tableimpl.cpp:
   15540         (DOM::HTMLTableCellElementImpl::cellIndex): Iterate through siblings only counting <th> and <td> elements
   15541         * khtml/html/html_tableimpl.h:
   15542 
   15543 2005-06-17  Adele Peterson  <adele (a] apple.com>
   15544 
   15545         Reviewed by Maciej.
   15546 
   15547         - fixed http://bugs.webkit.org/show_bug.cgi?id=3419
   15548         <rdar://problem/4111752> REGRESSION (125-312/412): Safari doesn't display edmunds.com pages first time through
   15549 
   15550         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): set 'script' flag when 
   15551           parsing <script src="foo" /> case.  In this case, parseTag calls the scriptHandler function which expects 
   15552           that flag to be set, and sets it back to false at the appropriate time.
   15553 
   15554         Test cases added: These still don't test the cached script cases, but they're good regression 
   15555         tests for the tokenizer.  We'll have to come up with a good way to test the cached cases later.
   15556 
   15557         * layout-tests/fast/tokenizer/external-script-document-write_2-expected.txt: Added.
   15558         * layout-tests/fast/tokenizer/external-script-document-write_2.html: Added.
   15559         * layout-tests/fast/tokenizer/resources/empty_script.js: Added.
   15560         * layout-tests/fast/tokenizer/script_extra_close-expected.txt: Added.
   15561         * layout-tests/fast/tokenizer/script_extra_close.html: Added.
   15562         * layout-tests/fast/tokenizer/script_quirk-expected.txt: Added.
   15563         * layout-tests/fast/tokenizer/script_quirk.html: Added.
   15564 
   15565 2005-06-17  Justin Garcia  <justin.garcia (a] apple.com>
   15566 
   15567 	Fixed fprintf problem in gcc4.0
   15568 	
   15569         Reviewed by Darin
   15570 
   15571         Test cases added: See previous ChangeLog entry
   15572 
   15573         * khtml/xml/dom_nodeimpl.cpp:
   15574         (NodeImpl::showTreeAndMark): Fixed fprintf warning in gcc4
   15575 
   15576 2005-06-17  Geoffrey Garen  <ggaren (a] apple.com>
   15577 
   15578 	Patch contributed by Anders Carlsson<andersca (a] mac.com>.
   15579 
   15580 	Fixes: http://bugs.webkit.org/show_bug.cgi?id=3408	
   15581 
   15582         Reviewed by Darin.
   15583 
   15584         Test cases added: None. Test requires manual interaction.
   15585 	Manual test available at: http://bugs.webkit.org/attachment.cgi?id=2207
   15586 
   15587         * khtml/html/html_formimpl.cpp: Eliminated HTMLButtonElementImpl::click. HTMLButtonElementImpl now inherits HTMLElementImpl::click. 
   15588         * khtml/html/html_formimpl.h: Ditto.
   15589 
   15590 2005-06-17  Darin Adler  <darin (a] apple.com>
   15591 
   15592         Reviewed by John.
   15593 
   15594         - fixed http://bugs.webkit.org/show_bug.cgi?id=3556
   15595           black diamond question mark shown for invalid UTF-8 sequences
   15596 
   15597         Test cases added:
   15598         * layout-tests/fast/encoding/invalid-UTF-8-expected.txt: Added.
   15599         * layout-tests/fast/encoding/invalid-UTF-8.html: Added.
   15600 
   15601         * kwq/KWQTextCodec.mm:
   15602         (unwanted): Added. Returns true for BOM, replacement, and null characters.
   15603         (KWQTextDecoder::appendOmittingUnwanted): Renamed from appendOmittingNullsAndBOMs and
   15604         changed to use the new "unwanted" function, which causes it to omit replacement characters.
   15605         (KWQTextDecoder::convertUsingTEC): Call append function by its new name.
   15606 
   15607 2005-06-16  Justin Garcia  <justin.garcia (a] apple.com>
   15608 
   15609 	Added a few debugging methods to highlight Selections, VisiblePositions and Nodes in the DOM tree.
   15610 	
   15611         Reviewed by Dave Harrison
   15612 
   15613         Test cases added: None, changes are only to aid debugging
   15614 
   15615         * khtml/editing/selection.cpp:
   15616         (khtml::Selection::showTree):
   15617         * khtml/editing/selection.h:
   15618         * khtml/editing/visible_position.cpp:
   15619         (khtml::VisiblePosition::showTree):
   15620         * khtml/editing/visible_position.h:
   15621         * khtml/xml/dom_nodeimpl.cpp:
   15622         (NodeImpl::showNode):
   15623         (NodeImpl::showTree):
   15624         (NodeImpl::showTreeAndMark): 
   15625         * khtml/xml/dom_nodeimpl.h:
   15626 
   15627 2005-06-14  David Hyatt  <hyatt (a] apple.com>
   15628 
   15629         Add an initial implementation of QualifiedName and HTMLNames.  These classes are not used by anyone yet.
   15630 	Progress being recorded in bugzilla bug 3405.
   15631 	
   15632         Reviewed by mjs
   15633 
   15634         Test cases added: (None, does not affect build yet)
   15635 
   15636         * WebCore.pbproj/project.pbxproj:
   15637         * khtml/xml/dom_qname.h,.cpp
   15638         * khtml/html/htmlnames.h,.cpp
   15639 
   15640 2005-06-14  David Hyatt  <hyatt (a] apple.com>
   15641 
   15642 	The behavior of <pre> is broken so that the newline
   15643 	is not always properly being eaten after the open of the tag.  In addition we were eating the first newline
   15644 	after all other tags.  This patch stops eating newlines after other tags and refines the behavior for pre
   15645 	to catch all cases.
   15646 	
   15647         Reviewed by sullivan
   15648 
   15649         Test cases added: fast/text/whitespace/030.html
   15650 
   15651         * khtml/html/htmltokenizer.cpp:
   15652         (khtml::HTMLTokenizer::parseTag):
   15653         (khtml::HTMLTokenizer::write):
   15654 
   15655 2005-06-13  Vicki Murley  <vicki (a] apple.com>
   15656 
   15657         Reviewed by Darin.
   15658 
   15659 	No test cases added since the steps to reproduce require use of showModalDialog.
   15660 
   15661 	- fix for <rdar://problem/4145910> parameters not working in showModalDialog 
   15662 	test page (dialogWidth, dialogHeight, etc.)
   15663 
   15664         * khtml/ecma/kjs_window.cpp:
   15665         (KJS::parseFeatures): add a check for colon character in the feature string
   15666 
   15667 2005-06-13  Maciej Stachowiak  <mjs (a] apple.com>
   15668 
   15669         Reviewed by Chris Blumenberg and Adele.
   15670 
   15671 	- better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
   15672 	http://bugs.webkit.org/show_bug.cgi?id=3445
   15673 
   15674 	With this change and the matching WebKit change we'll still stop loading the moment you click
   15675 	a download link, but the unload event and detaching of event handlers will not happen early any more.
   15676 	
   15677         * khtml/khtml_part.cpp:
   15678         (KHTMLPart::stopLoading): Factored out from closeURL, make firing of unload
   15679 	and detaching of event handlers optional.
   15680         (KHTMLPart::closeURL): call stopLoading(true)
   15681         * khtml/khtml_part.h:
   15682         * kwq/WebCoreBridge.h:
   15683         * kwq/WebCoreBridge.mm:
   15684         (-[WebCoreBridge stopLoading]): Call stopLoading(false).
   15685 
   15686 2005-06-13  Maciej Stachowiak  <mjs (a] apple.com>
   15687 
   15688 	Patch from Andrew Wellington <proton (a] wiretapped.net>
   15689         Reviewed by me.
   15690 
   15691 	- fixed http://bugs.webkit.org/show_bug.cgi?id=3302
   15692 	(Safari crashes when going to acid2 test page once it's in cache)
   15693 	
   15694         No test cases addded since the repro steps require use of tabbed browsing.
   15695 
   15696         * khtml/khtml_part.cpp:
   15697         (KHTMLPart::handleFallbackContent): check for nil
   15698 
   15699 2005-06-12  Darin Adler  <darin (a] apple.com>
   15700 
   15701         - added expected test results for new tests
   15702 
   15703         * layout-tests/fast/selectors/159-expected.txt: Added.
   15704         * layout-tests/fast/selectors/177a-expected.txt: Added.
   15705         * layout-tests/fast/selectors/177b-expected.txt: Added.
   15706 
   15707 2005-06-11  Maciej Stachowiak  <mjs (a] apple.com>
   15708 
   15709         Patch from Nicholas Shanks <contact (a] nickshanks.com>, reviewed by me.
   15710 
   15711 	- Distinguish between pseudo-elements and pseudo-classes in CSS parsing.
   15712 	http://bugs.webkit.org/show_bug.cgi?id=3375
   15713 
   15714 	Merge of svn log -v -r 399829 svn://anonsvn.kde.org/home/kde
   15715 	
   15716         Test cases added: Added the following from CSS selector test suite,
   15717 	unfortunately 159 and 117a do not show any difference with and without the
   15718 	patch since layout tests do not dump selection style (yet).
   15719 	
   15720         * layout-tests/fast/selectors/159.html: Added.
   15721         * layout-tests/fast/selectors/177a.html: Added.
   15722         * layout-tests/fast/selectors/177b.html: Added.
   15723 
   15724         * khtml/css/css_base.cpp:
   15725         (CSSSelector::specificity):
   15726         (CSSSelector::extractPseudoType):
   15727         (CSSSelector::selectorText):
   15728         * khtml/css/css_base.h:
   15729         (DOM::CSSSelector::):
   15730         (DOM::CSSSelector::pseudoType):
   15731         * khtml/css/cssstyleselector.cpp:
   15732         (khtml::CSSStyleSelector::checkSelector):
   15733         (khtml::CSSStyleSelector::checkOneSelector):
   15734         * khtml/css/parser.y:
   15735 
   15736 2005-06-11  Maciej Stachowiak  <mjs (a] apple.com>
   15737 
   15738         Patch from Timothy Hatcher  <timothy (a] colloquy.info>, reviewed by me.
   15739 
   15740         Test cases added:
   15741         * layout-tests/fast/dom/children-nodes-expected.txt: Added.
   15742         * layout-tests/fast/dom/children-nodes.html: Added.
   15743 
   15744         * khtml/html/html_miscimpl.cpp:
   15745         (DOM::HTMLCollectionImpl::traverseNextItem): For "children"
   15746 	collection, use nextSibling() instead of traverseNextNext() to avoid
   15747 	doing deep traversal.
   15748 
   15749 2005-06-11  Maciej Stachowiak  <mjs (a] apple.com>
   15750 
   15751         Added missing expected results from the background image patch.
   15752 
   15753         * layout-tests/fast/backgrounds/001-expected.txt: Added.
   15754 
   15755 2005-06-10  David Hyatt  <hyatt (a] apple.com>
   15756 
   15757 	Fix for bugzilla bug 3335, add support for the CSS3 indirect adjacent sibling selector.  Patch merge
   15758 	from KHTML tree by Nick Shanks.
   15759 	
   15760         Reviewed by hyatt
   15761 
   15762         Test cases added: fast/selectors/046.html
   15763 
   15764         * khtml/css/css_base.cpp:
   15765         (CSSSelector::selectorText):
   15766         * khtml/css/css_base.h:
   15767         (DOM::CSSSelector::):
   15768         * khtml/css/cssstyleselector.cpp:
   15769         (khtml::CSSStyleSelector::checkSelector):
   15770         * khtml/css/parser.y:
   15771         * layout-tests/fast/selectors/046-expected.txt: Added.
   15772         * layout-tests/fast/selectors/046.html: Added.
   15773 
   15774 2005-06-10  David Hyatt  <hyatt (a] apple.com>
   15775 
   15776 	Fix for 3237, background image repeats when it shouldn't.  The Radar bug is 4005553.  Patch from
   15777 	Nate Cook.
   15778 	
   15779         Reviewed by darin and hyatt
   15780 
   15781         Test cases added: fast/backgrounds/001.html
   15782 
   15783         * khtml/rendering/render_box.cpp:
   15784         (RenderBox::paintBackgroundExtended):
   15785         * layout-tests/fast/backgrounds/001.html: Added.
   15786 
   15787 2005-06-10  David Hyatt  <hyatt (a] apple.com>
   15788 
   15789 	Merge Allan Jensen's fix for 3236.
   15790 	
   15791         Reviewed by hyatt
   15792 
   15793         Test cases added: None, test case already added for the bug.
   15794 
   15795         * khtml/css/cssstyleselector.cpp:
   15796         (khtml::CSSStyleSelector::applyProperty):
   15797         * khtml/rendering/render_style.cpp:
   15798         (RenderStyle::setContent):
   15799 
   15800 2005-06-10  Darin Adler  <darin (a] apple.com>
   15801 
   15802         Change by Mark Rowe <opendarwin.org (a] bdash.net.nz>.
   15803         Refined and reviewed by me.
   15804 
   15805         - test for exception file/line number fix
   15806           http://bugs.webkit.org/show_bug.cgi?id=3327
   15807 
   15808         * layout-tests/fast/js/exception-linenums-expected.txt: Added.
   15809         * layout-tests/fast/js/exception-linenums.html: Added.
   15810 
   15811 2005-06-09  David Hyatt  <hyatt (a] apple.com>
   15812 
   15813 	Fix from Carston Guenther for bugzilla bug 3236.
   15814 
   15815 	attr(x) should work even if x is not present on the element.
   15816 
   15817 	This is Radar bug #3584466
   15818 	
   15819         Reviewed by hyatt
   15820 
   15821         Test cases added: fast/css-generated-content/013.html
   15822 
   15823         * khtml/css/cssstyleselector.cpp:
   15824         (khtml::CSSStyleSelector::applyProperty):
   15825         * layout-tests/fast/css-generated-content/013-expected.txt: Added.
   15826         * layout-tests/fast/css-generated-content/013.html: Added.
   15827 
   15828 2005-06-09  Darin Adler  <darin (a] apple.com>
   15829 
   15830         Tested by Mark Rowe.
   15831 
   15832         * layout-tests/fast/js/date-parse-test.html: Updated this test to use a time zone offset
   15833         for one of the test cases that's time zone dependent; was working in CA, US, failing in NZ.
   15834 
   15835 2005-06-08  Anders Carlsson  <andersca (a] mac.com>
   15836 
   15837 	Reviewed and committed by Maciej.
   15838 
   15839 	- fixed http://bugs.webkit.org/show_bug.cgi?id=3337
   15840 	(Support the Mozilla DOMParser and XMLSerializer objects)
   15841 
   15842 	<rdar://problem/3533735> implement Mozilla "DOMParser" extension for use with XMLHTTPRequest
   15843 
   15844         Test cases added:
   15845         * layout-tests/fast/dom/dom-parse-serialize-display-expected.txt: Added.
   15846         * layout-tests/fast/dom/dom-parse-serialize-display.html: Added.
   15847         * layout-tests/fast/dom/dom-parse-serialize-expected.txt: Added.
   15848         * layout-tests/fast/dom/dom-parse-serialize.html: Added.
   15849 
   15850 	* khtml/ecma/domparser.h:
   15851 	* khtml/ecma/domparser.cpp:
   15852 	Add files implementing the DOMParser object.
   15853 
   15854 	* khtml/ecma/kjs_window.h:
   15855 	* khtml/ecma/kjs_window.cpp:
   15856 	Expose DOMParser object.
   15857 	
   15858 2005-06-07  David Hyatt  <hyatt (a] apple.com>
   15859 
   15860 	Patch from Brian Campbell.  Make sure the min and max values of slider properly update.
   15861 	Fixes bugilla bug 3323, internal Radar # is 4098892.
   15862 	
   15863         Reviewed by hyatt
   15864 
   15865         Test cases added: (Not testable with a layout test)
   15866 
   15867         * kwq/KWQSlider.mm:
   15868         (QSlider::setMinValue):
   15869         (QSlider::setMaxValue):
   15870 
   15871 2005-06-07  Adele Peterson  <adele (a] apple.com>
   15872 
   15873         Change by Darin, reviewed by Maciej and me.
   15874 
   15875         - fixed <rdar://problem/4139800> REGRESSION: Safari crashes at bebe.com
   15876 
   15877         There were cases where the DOMNode mark function would end up not even
   15878         marking the node that it was called on. The old code tried to skip any
   15879         subtrees that were already marked, but that code was wrong.
   15880 
   15881         * khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::mark): Changed three things:
   15882           1) Instead of a boolean, keep a set of trees that we are marking, that
   15883              prevents problems if we mark things that have references between
   15884              separate trees of DOM nodes.
   15885           2) Don't do the "outermost node with a wrapper" check, just start marking
   15886              at the root of the entire tree, because there's no way to have an
   15887              unreachable node pointing to a reachable node.
   15888           3) Handle the unusual case where the document's wrapper dictionary is
   15889              gone by marking just this node explicitly.
   15890         This passes the layout tests, still fixes the Dashboard memory leak from
   15891         bug 4125222, and makes bebe.com work again.
   15892 
   15893 2005-06-07  Darin Adler  <darin (a] apple.com>
   15894 
   15895         Change by Toby Peterson <toby (a] opendarwin.org>.
   15896         Reviewed by me.
   15897 
   15898         * WebCore.pbproj/project.pbxproj: Allow bison 2.0, which generates the file
   15899         with a different name.
   15900 
   15901 2005-06-07  Darin Adler  <darin (a] apple.com>
   15902 
   15903         Change by Mark Rowe <opendarwin.org (a] bdash.net.nz>.
   15904         Reviewed by me.
   15905 
   15906         - fixed the WebCore half of build failure with spaces in the path
   15907           http://bugs.webkit.org/show_bug.cgi?id=3291
   15908 
   15909         * WebCore.pbproj/project.pbxproj: Add quotes to make LIBRARY_SEARCH_PATHS work even when
   15910         the path has a space in it.
   15911 
   15912 2005-06-07  David Hyatt  <hyatt (a] apple.com>
   15913 
   15914 	Patch from Mark Rowe to fix a minor memory leak in WebCoreSettings.
   15915 	
   15916         Reviewed by hyatt
   15917 
   15918         * kwq/WebCoreSettings.mm:
   15919         (-[WebCoreSettings dealloc]):
   15920 
   15921 2005-06-04  Darin Adler  <darin (a] apple.com>
   15922 
   15923         Reviewed by Maciej.
   15924 
   15925         - import icu headers into project
   15926 
   15927         * WebCore.pbproj/project.pbxproj: Added icu directory to header search path.
   15928 
   15929         * icu/README: Added.
   15930         * icu/unicode/parseerr.h: Added.
   15931         * icu/unicode/platform.h: Added.
   15932         * icu/unicode/putil.h: Added.
   15933         * icu/unicode/ubrk.h: Added.
   15934         * icu/unicode/uchar.h: Added.
   15935         * icu/unicode/uconfig.h: Added.
   15936         * icu/unicode/uenum.h: Added.
   15937         * icu/unicode/uidna.h: Added.
   15938         * icu/unicode/uiter.h: Added.
   15939         * icu/unicode/uloc.h: Added.
   15940         * icu/unicode/umachine.h: Added.
   15941         * icu/unicode/urename.h: Added.
   15942         * icu/unicode/ustring.h: Added.
   15943         * icu/unicode/utf.h: Added.
   15944         * icu/unicode/utf16.h: Added.
   15945         * icu/unicode/utf8.h: Added.
   15946         * icu/unicode/utf_old.h: Added.
   15947         * icu/unicode/utypes.h: Added.
   15948         * icu/unicode/uversion.h: Added.
   15949 
   15950 2005-06-01  Darin Adler  <darin (a] apple.com>
   15951 
   15952         Reviewed by John Sullivan.
   15953         No layout tests added because showModalDialog won't work in DumpRenderTree at the moment.
   15954 
   15955         - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
   15956 
   15957         * khtml/ecma/kjs_window.cpp:
   15958         (KJS::allowPopUp): Added. Used by showModalDialog now and should be used by window.open later.
   15959         (KJS::parseFeatures): Ditto.
   15960         (KJS::boolFeature): Ditto.
   15961         (KJS::intFeature): Ditto.
   15962         (KJS::createNewWindow): Ditto.
   15963         (KJS::canShowModalDialog): Added.
   15964         (KJS::canShowModalDialogNow): Added.
   15965         (KJS::showModalDialog): Added.
   15966         (KJS::Window::get): Return the showModalDialog function object if the extension can run modal.
   15967         (KJS::Window::clear): Add code to store the return value for the case where the window is a modal dialog.
   15968         (KJS::WindowFunc::tryCall): Add the call to the showModalDialog function.
   15969 
   15970         * khtml/ecma/kjs_window.h: Add setReturnValueSlot function so showModalDialog can get the return
   15971         value from the dialog it creates. Also add a data member to keep track of the pointer and a constant
   15972         for the ShowModalDialog method.
   15973 
   15974         * khtml/khtml_part.h: Added new changeLocation member function. Made setOpener, openedByJS, and
   15975         setOpenedByJS public.
   15976 
   15977         * khtml/khtml_part.cpp:
   15978         (KHTMLPart::changeLocation): Broke out the part of slotRedirect that actually does the location change
   15979         into a separate function so it can be called when needed. The case using it now is to load the content
   15980         of a new window in KJS::createNewWindow.
   15981         (KHTMLPart::slotRedirect): Call changeLocation to do most of the work.
   15982         (KHTMLPart::urlSelected): Fixed a broken case where the "lack of referrer" in a new window would cause
   15983         the referrer passed in by JavaScript to be ignored when opening a new window -- match logic elsewhere
   15984         that leaves the referrer in the args alone if one is not set in the window.
   15985 
   15986         * khtml/khtmlpart_p.h: Initialize m_bCleared to true to avoid an unnecessary clear before loading the
   15987         first URL in a new window. This change is needed to avoid blowing away the "dialogArguments" value in
   15988         a modal dialog window, but it also avoid unnecessary work for each new window.
   15989 
   15990         * kwq/KWQApplication.h: Add availableGeometry function for QDesktopWidget. Used by the showModalDialog
   15991         function inside kjs_window.cpp (and should be used elsewhere eventually too). Matches a Qt function that
   15992         we just didn't have implemented before.
   15993         * kwq/KWQApplication.mm: (QDesktopWidget::availableGeometry): Added.
   15994 
   15995         * kwq/KWQKHTMLPartBrowserExtension.h: Added new canRunModal, canRunModalNow, and runModal functions.
   15996         * kwq/KWQKHTMLPartBrowserExtension.mm:
   15997         (KHTMLPartBrowserExtension::createNewWindow): Call createModalDialogWithURL on the bridge if the
   15998         new window is a dialog. Also fixed the early return case for when the bridge returns nil.
   15999         (KHTMLPartBrowserExtension::canRunModal): Added. Calls bridge.
   16000         (KHTMLPartBrowserExtension::canRunModalNow): Ditto.
   16001         (KHTMLPartBrowserExtension::runModal): Ditto.
   16002 
   16003         * kwq/KWQKPartsBrowserExtension.h:
   16004         (KParts::URLArgs::URLArgs): Initialize m_lockHistory to false.
   16005         (KParts::WindowArgs::WindowArgs): Add a dialog boolean.
   16006 
   16007         * kwq/WebCoreBridge.h: Declared canRunModal, canRunModalNow, createModalDialogWithURL, and runModal methods.
   16008 
   16009 2005-06-01  Adele Peterson  <adele (a] apple.com>
   16010 
   16011         fix for <rdar://problem/4135705> REGRESSION (412-TOT) crash in TV Tracker widget - KJS::XMLHttpRequest::removeFromRequestsByDocument()
   16012 
   16013         Reviewed by Darin.
   16014 
   16015         Synchronous loads don't get added to our requestsByDocument dictionary, so we should try to remove the request in this case. 
   16016 
   16017         * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::removeFromRequestsByDocument): added checks to make sure request exists before trying to remove it.
   16018 
   16019 2005-05-30  Darin Adler  <darin (a] apple.com>
   16020 
   16021         Reviewed by John (fix for Radar bug) and Vicki (all the rest).
   16022 
   16023         - fixed <rdar://problem/4105097> REGRESSION (138-139): Hitting Enter on a checkbox toggles check mark instead of submitting form
   16024         - fixed other problems discovered while trying to make a layout test to test this work:
   16025             - added newer DOM 3 event type constants
   16026             - fixed prototype setup bug preventing event initialization functions from being called
   16027             - fixed bug where any function taking an event parameter would crash with a nil-deref
   16028             - fixed incorrect ref/deref bug in MutationEventImpl that would cause a crash crash
   16029 
   16030         Test cases added:
   16031         * layout-tests/fast/forms/check-box-enter-key-expected.txt: Added.
   16032         * layout-tests/fast/forms/check-box-enter-key.html: Added.
   16033         * layout-tests/fast/events/event-creation-expected.txt: Added.
   16034         * layout-tests/fast/events/event-creation.html: Added.
   16035 
   16036         * khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::defaultEventHandler): Separate the checks for
   16037         the space bar and the Enter key and make Enter submit the form on a check box or radio button.
   16038 
   16039         * khtml/ecma/kjs_events.cpp:
   16040         (KJS::toEvent): Fixed bug where this was checking for DOMNode rather than DOMEvent, so always returning 0.
   16041         Without this, both test cases above will crash.
   16042         (KJS::DOMUIEvent::DOMUIEvent): Set prototype; without this, the event-creation test case will fail.
   16043         (KJS::DOMMouseEvent::DOMMouseEvent): Set prototype; without this, the event-creation test case will fail.
   16044         (KJS::DOMKeyboardEvent::DOMKeyboardEvent): Set prototype; without this, both test cases above will fail.
   16045         (KJS::DOMMutationEvent::DOMMutationEvent): Set prototype; without this, both test cases above will fail.
   16046 
   16047         * khtml/xml/dom2_eventsimpl.cpp:
   16048         (MutationEventImpl::MutationEventImpl): Fix typo where the wrong object was ref'd.
   16049         (MutationEventImpl::initMutationEvent): Ditto. This was causing the layout tests to crash with the new tests above.
   16050 
   16051         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::createEvent): Added new event types to match the current DOM
   16052         Level 3 specification. The test above tests both the new event types and the old ones.
   16053 
   16054 2005-05-30  Darin Adler  <darin (a] apple.com>
   16055 
   16056         Reviewed by John.
   16057         No test case added because our layout test system doesn't allow us to do inline input.
   16058 
   16059         - fixed <rdar://problem/4094066> REGRESSION (1.2.5-1.3): unconfirmed inline input is ignored in <textarea>, lost when form is submitted
   16060 
   16061         * kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]): Call setWantsNotificationForMarkedText:YES.
   16062 
   16063 2005-05-30  Maciej Stachowiak  <mjs (a] apple.com>
   16064 
   16065         Reviewed by Darin.
   16066 
   16067 	- fixed <rdar://problem/4125222> Dashboard heap size grows over time (leak caused by JavaScript DOM node wrappers?)
   16068 
   16069 	- changed per-document DOMObject caching to work with DOMNodes, since that is all it was used for anyway.
   16070 	
   16071         Test cases added: (these tests actually ensure that DOM wrappers
   16072 	are sufficiently protected from GC to match other browsers, they
   16073 	do not verify that the leak is fixed since there's no way to test
   16074 	that with layout tests).
   16075 
   16076         * layout-tests/fast/dom/gc-1-expected.txt: Added.
   16077         * layout-tests/fast/dom/gc-1.html: Added.
   16078         * layout-tests/fast/dom/gc-2-expected.txt: Added.
   16079         * layout-tests/fast/dom/gc-2.html: Added.
   16080         * layout-tests/fast/dom/gc-3-expected.txt: Added.
   16081         * layout-tests/fast/dom/gc-3.html: Added.
   16082 
   16083         * khtml/ecma/kjs_binding.cpp:
   16084         (KJS::ScriptInterpreter::forgetDOMObjectForDocument): New function - allows nodes
   16085 	that get removed from the document to go away from the cache if not referenced.
   16086         (KJS::ScriptInterpreter::mark): Don't mark nodes that aren't in the document,
   16087 	they can stay in the cache but only if they have another source of life.
   16088         (KJS::ScriptInterpreter::domNodesPerDocument): Renamed and changed parameter types.
   16089         (KJS::ScriptInterpreter::getDOMNodeForDocument): Renamed and changed parameter types.
   16090         (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Renamed and changed parameter types.
   16091         (KJS::ScriptInterpreter::putDOMNodeForDocument): Renamed and changed parameter types.
   16092         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Renamed and changed parameter types.
   16093         (KJS::ScriptInterpreter::updateDOMNodeDocument): Renamed and changed parameter types.
   16094         * khtml/ecma/kjs_binding.h:
   16095         * khtml/ecma/kjs_dom.cpp: 
   16096         (KJS::DOMNode::~DOMNode): call forgetDOMObjectForDocument.
   16097         (KJS::DOMNode::mark): If the node is not in the document, make sure to mark
   16098 	all wrappers in its detached piece of the tree.
   16099         (KJS::getDOMNode): Updated for renames
   16100         * khtml/ecma/kjs_dom.h:
   16101         * khtml/xml/dom_docimpl.cpp:
   16102         (DocumentImpl::~DocumentImpl): Updated for renames.
   16103         * khtml/xml/dom_nodeimpl.cpp:
   16104         (NodeImpl::checkAddChild): Updated for renames.
   16105 
   16106 2005-05-30  Darin Adler  <darin (a] apple.com>
   16107 
   16108         Reviewed by John.
   16109         Could not figure out how to make an <object> fallback, so for now, no layout test.
   16110 
   16111         - fixed <rdar://problem/4134124> REGRESSION (tip of tree): crash in QWidget::getView handling onunload event (yahoo.com)
   16112 
   16113         * khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::getObjectInstance):
   16114         Check type of RenderObject to be sure it is a RenderWidget before calling widget() on it.
   16115 
   16116 2005-05-27  Adele Peterson  <adele (a] apple.com>
   16117 
   16118         Change by Darin, reviewed by me.
   16119 
   16120         fix for <rdar://problem/4067761> 8A425: reload stock widget over and over and crash in XMLHttpRequest::changeState
   16121 
   16122         * khtml/khtml_part.cpp: (KHTMLPart::closeURL): now cancels XMLHttpRequests
   16123         * khtml/ecma/xmlhttprequest.h: Added cancelRequests, addToRequestsByDocument, and RemoveFromRequestsByDocument methods. Added requestsByDocument dictionary.
   16124         * khtml/ecma/xmlhttprequest.cpp:
   16125         (KJS::XMLHttpRequest::send): calls addToRequestsByDocument
   16126         (KJS::XMLHttpRequest::abort): calls removeFromRequestsByDocument
   16127         (KJS::XMLHttpRequest::slotFinished): calls removeFromRequestsByDocument
   16128         (KJS::XMLHttpRequest::requestsByDocument):  creates dictionary to manage requests.
   16129         (KJS::XMLHttpRequest::addToRequestsByDocument): adds this request to dict.
   16130         (KJS::XMLHttpRequest::removeFromRequestsByDocument): removes this request from dict.
   16131         (KJS::XMLHttpRequest::cancelRequests): goes and cancels requests in the doc
   16132 
   16133 2005-05-27  Adele Peterson  <adele (a] apple.com>
   16134 
   16135         Reviewed by me, done by Darin.
   16136 
   16137         - Darin fixed a regression I found from Darin's recent DOM change that broke GMail
   16138 
   16139         * khtml/ecma/kjs_window.cpp:
   16140         (KJS::Window::get): Added nil check for document.
   16141         (KJS::Window::hasProperty): Ditto.
   16142 
   16143         Test cases added: None (Darin should write one).
   16144 
   16145 2005-05-27  Adele Peterson  <adele (a] apple.com>
   16146 
   16147         Reviewed by Darin.
   16148 
   16149         fix for <rdar://problem/4121747> Cannot log into Cingular.com account page (load event delivered while still processing incoming data)
   16150        
   16151         * khtml/misc/loader.cpp:
   16152         (DocLoader::DocLoader): Initialized m_loadInProgress to false.
   16153         (DocLoader::setLoadInProgress): Added.
   16154         (Loader::slotFinished): sets the m_loadInProgress flag to reflect the fact that we're not really done loading this request until we emit the signal with the request status.
   16155         (Loader::numRequests): If there's a load in progress, we increment the number of requests so it doesn't seem like the load is done.
   16156         * khtml/misc/loader.h: (khtml::DocLoader::loadInProgress): Added.
   16157 
   16158         Test cases added: 
   16159         * layout-tests/fast/loader/loadInProgress.html: Added
   16160         * layout-tests/fast/loader/loadInProgress-expected.html: Added
   16161 
   16162 2005-05-27  Darin Adler  <darin (a] apple.com>
   16163 
   16164         Reviewed by Vicki.
   16165 
   16166         - fixed <rdar://problem/4125212> form submission delayed until you are on the next page on XML/XSL page (security hole)
   16167 
   16168         * khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
   16169         Call setParsing(false) explicitly here. It's really annoying that setParsing(true) is done
   16170         inside DOM::DocumentImpl and setParsing(false) is done by KHTMLPart, so that should be fixed
   16171         some day, but for now this is the way to do it.
   16172 
   16173         Test cases added:
   16174         * layout-tests/fast/events/xsl-onload-expected.txt: Added.
   16175         * layout-tests/fast/events/xsl-onload.xhtml: Added.
   16176         * layout-tests/fast/events/xsl-onload.xsl: Added.
   16177 
   16178 2005-05-27  John Sullivan  <sullivan (a] apple.com>
   16179 
   16180         Reviewed by Darin
   16181 
   16182         * WebCore-tests.exp:
   16183         took out symbol __ZNK5QChar7isPunctEv; it was obsolete and causing build trouble
   16184 
   16185 2005-05-27  Darin Adler  <darin (a] apple.com>
   16186 
   16187         Reviewed by Adele.
   16188 
   16189         - remove HAVE_ICU_LIBRARY ifdefs
   16190 
   16191         * khtml/rendering/render_text.cpp: Just use ICU all the time; no ifdef.
   16192         * kwq/KWQKURL.mm: Ditto.
   16193 
   16194 2005-05-26  Darin Adler  <darin (a] apple.com>
   16195 
   16196         Reviewed by me, patch by Mitz Pettel.
   16197 
   16198         - fixed <rdar://problem/4106907> bidi algorithm bug fixed for KHTML should be fixed in WebCore too
   16199 
   16200         * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Integrated the patch that Mitz did
   16201         for the KDE bug, details at <http://www.mitzpettel.com/software/WebCorePatch2.html>.
   16202 
   16203         Test cases added:
   16204         * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Added.
   16205         * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start.html: Added.
   16206 
   16207 2005-05-26  Darin Adler  <darin (a] apple.com>
   16208 
   16209         Reviewed by Richard and Dave Harrison.
   16210         No new test cases needed for this change.
   16211 
   16212         - eliminate WebCoreUnicode and use ICU directly instead
   16213         - fixed compiling with gcc 4.0 (was broken for Development only)
   16214 
   16215         * WebCore.exp: Removed the WebCoreXXXFunction exports.
   16216         * WebCore-tests.exp: Removed some QChar functions that are now inlines.
   16217         Removed some typeinfo exports that are no longer appropriate since we use -fno-rtti.
   16218 
   16219         * kwq/KWQString.h:
   16220         (QChar::isDigit): Changed to call u_isdigit when non-ASCII. We should probably phase
   16221         this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
   16222         (QChar::isLetter): Changed to call u_isalpha when non-ASCII.
   16223         (QChar::isNumber): Changed to call u_isdigit when non-ASCII. This probably should be removed, since
   16224         we always want to call isDigit instead.
   16225         (QChar::isLetterOrNumber): Changed to call u_isalnum when non-ASCII.
   16226         (QChar::isPunct): Changed to call u_ispunct when non-ASCII.
   16227         (QChar::digitValue): Changed to call u_charDigitValue when not '0'-'9'. We should probably phase
   16228         this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
   16229         (QChar::lower): Changed to call u_tolower when non-ASCII.
   16230         (QChar::upper): Changed to call u_toupper when non-ASCII.
   16231         (QChar::direction): Made inline. Calls u_charDirection.
   16232         (QChar::mirrored): Made inline. Calls u_isMirrored.
   16233         (QChar::mirroredChar): Made inline. Calls u_charMirror.
   16234 
   16235         * kwq/KWQChar.mm: Removed.
   16236         * kwq/WebCoreUnicode.cpp: Removed.
   16237         * kwq/WebCoreUnicode.h: Removed.
   16238 
   16239         * WebCore.pbproj/project.pbxproj: Removed files.
   16240 
   16241 2005-05-26  David Harrison  <harrison (a] apple.com>
   16242 
   16243         Reviewed by John.
   16244 
   16245         <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
   16246         
   16247         * kwq/WebCoreBridge.mm:
   16248         (-[WebCoreBridge rangeOfCharactersAroundCaret]):
   16249         Nil-check result of VisiblePosition previous() and next().
   16250 
   16251         * khtml/editing/visible_position.cpp:
   16252         (khtml::VisiblePosition::previous):
   16253         (khtml::VisiblePosition::previousVisiblePosition):
   16254         Make sure previous() does not return the original position.  Also, simplified.
   16255         Commented odd, but required, behavior in previousVisiblePosition().
   16256 
   16257         * khtml/editing/visible_units.cpp:
   16258         (khtml::startOfEditableContent):
   16259         (khtml::endOfEditableContent):
   16260         Removed redundant check for isEditableContent().
   16261         
   16262         * khtml/editing/jsediting.cpp:
   16263         * khtml/khtml_part.cpp:
   16264         (KHTMLPart::transpose):
   16265         * khtml/khtml_part.h:
   16266         * kwq/KWQKHTMLPart.h:
   16267         * kwq/KWQKHTMLPart.mm:
   16268         (KWQKHTMLPart::issueTransposeCommand):
   16269         * layout-tests/editing/editing.js:
   16270         * kwq/WebCoreBridge.h:
   16271         Add support for transpose command in JavaScript and therefore layout tests.
   16272         
   16273         * layout-tests/editing/deleting/transpose-empty-expected.txt: Added.
   16274         * layout-tests/editing/deleting/transpose-empty.html: Added.
   16275         New test for this bug.
   16276         
   16277 2005-05-24  Richard Williamson   <rjw (a] apple.com>
   16278 
   16279 	Fixed <rdar://problem/4127061> <canvas> backing store should be zero filled
   16280 
   16281 	Use calloc instead of malloc to ensure zero filled backing store.
   16282 
   16283         Reviewed by Darin.
   16284 
   16285         * khtml/rendering/render_canvasimage.cpp:
   16286         (RenderCanvasImage::createDrawingContext):
   16287 
   16288 2005-05-24  John Sullivan  <sullivan (a] apple.com>
   16289 
   16290         Reviewed by Dave Hyatt.
   16291         
   16292         - fixed these bugs:
   16293         <rdar://problem/4118510> Textareas with a vertical scroll bar should have their resize corner under the scroll bar
   16294         <rdar://problem/4118523> Resize image in textareas is drawn repeatedly when scrolling vertically with scrollbar
   16295 
   16296         Test cases added: none; doesn't affect page layout
   16297 
   16298         * kwq/KWQTextArea.h:
   16299         added inInitWithFrame ivar
   16300         * kwq/KWQTextArea.mm:
   16301         (+[KWQTextArea _resizeCornerImage]):
   16302         moved here from KWQTextAreaTextView; now it's a class method so we only look up the image once.
   16303         (-[KWQTextArea initWithFrame:]):
   16304         set and clear inInitWithFrame ivar, used by -tile
   16305         (-[KWQTextArea _isResizableByUser]):
   16306         renamed with an underscore for consistency
   16307         (-[KWQTextArea _textViewShouldHandleResizing]):
   16308         new method, returns YES if the textarea is user-resizable and the enclosed textview is responsible for drawing
   16309         and tracking the resize corner.
   16310         (-[KWQTextArea tile]):
   16311         shrink the vertical scroller if appropriate to account for the resize corner
   16312         (-[KWQTextArea _resizeCornerRect]):
   16313         new method, returns the bottom-right corner rect, where the resize image goes
   16314         (-[KWQTextArea _trackResizeFromMouseDown:]):
   16315         moved here from KWQTextAreaTextView. The only changes were to move the [NSCursor set] call inside here (was in
   16316         the caller), and to use self where it was using [self _enclosingTextArea], and to move a comment in here that
   16317         was in the caller
   16318         (-[KWQTextArea mouseDown:]):
   16319         track resizing if appropriate
   16320         (-[KWQTextArea drawRect:]):
   16321         draw the resize corner if appropriate
   16322         (-[KWQTextAreaTextView _resizeCornerRect]):
   16323         get the resize image from KWQTextArea
   16324         (-[KWQTextAreaTextView resetCursorRects]):
   16325         check _textViewShouldHandleResizing
   16326         (-[KWQTextAreaTextView drawRect:]):
   16327         ditto
   16328         (-[KWQTextAreaTextView mouseDown:]):
   16329         ditto; also, make the textarea handle the resize tracking now
   16330 
   16331 2005-05-24  Darin Adler  <darin (a] apple.com>
   16332 
   16333         - another gcc 4.0 fix
   16334 
   16335         No new test cases needed.
   16336 
   16337         * khtml/dom/dom2_events.cpp: Moved constants out of the KHTML_NO_CPLUSPLUS_DOM #if.
   16338 
   16339 2005-05-24  Darin Adler  <darin (a] apple.com>
   16340 
   16341         Reviewed by Vicki.
   16342 
   16343         - fixed <rdar://problem/4128727> many DOM classes not exported (can't add categories or do other things that require class name linking)
   16344 
   16345         No new test cases needed.
   16346 
   16347         * WebCore.exp: Added exports for many classes in the public DOM headers that were omitted before.
   16348         Also removed one symbol that was listed twice.
   16349 
   16350 2005-05-24  Maciej Stachowiak  <mjs (a] apple.com>
   16351 
   16352         Reviewed by John.
   16353 
   16354 	- fixed <rdar://problem/3598589> onunload handler doesn't fire when a window is closed
   16355 
   16356         Test cases added: 
   16357         * layout-tests/fast/events/onunload-expected.txt: Added.
   16358         * layout-tests/fast/events/onunload.html: Added.
   16359 
   16360         * khtml/xml/dom_docimpl.cpp:
   16361         (DocumentImpl::detach): Don't remove all event handlers from the document here...
   16362         * khtml/khtml_part.cpp:
   16363         (KHTMLPart::closeURL): ...instead do it here, after firing the unload event, but only
   16364 	if the document is not in the back/forward cache...
   16365         * kwq/KWQPageState.mm:
   16366         (-[KWQPageState finalize]): ...and take care of the back/forward cache case here.
   16367 
   16368 2005-05-24  John Sullivan  <sullivan (a] apple.com>
   16369 
   16370         Reviewed by Kevin.
   16371         
   16372         - WebCore part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
   16373 
   16374         * kwq/KWQKHTMLSettings.h:
   16375         (KHTMLSettings::textAreasAreResizable):
   16376         new getter
   16377         (KHTMLSettings::setTextAreasAreResizable):
   16378         new setter
   16379         
   16380         * kwq/KWQTextArea.h:
   16381         * kwq/KWQTextArea.mm:
   16382         eliminated ALLOW_RESIZING_TEXT_AREAS #define in favor of using runtime setting
   16383         (-[KWQTextArea isResizableByUser]):
   16384         get value from settings, and cache it in KWQTextArea instance
   16385         (-[KWQTextAreaTextView _enclosingTextArea]):
   16386         new convenience method, extracted from _trackResizeFromMouseDown:
   16387         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
   16388         now uses extracted method
   16389         
   16390         (-[KWQTextAreaTextView drawRect:]):
   16391         now checks isResizableByUser
   16392         (-[KWQTextAreaTextView mouseDown:]):
   16393         ditto
   16394         
   16395         * kwq/WebCoreSettings.h:
   16396         * kwq/WebCoreSettings.mm:
   16397         (-[WebCoreSettings setTextAreasAreResizable:]):
   16398         new setter
   16399         (-[WebCoreSettings textAreasAreResizable]):
   16400         new getter
   16401 
   16402 2005-05-23  Maciej Stachowiak  <mjs (a] apple.com>
   16403 
   16404         Reviewed by John.
   16405 
   16406 	- split remaining editing command classes out of htmlediting.cpp
   16407 	- rename InsertParagraphSeparatorInQuotedContentCommand to BreakBlockquoteCommand
   16408 
   16409 	No layout tests needed - this is a pure refactoring change.
   16410 	
   16411         * WebCore.pbproj/project.pbxproj:
   16412         * khtml/editing/apply_style_command.cpp:
   16413         * khtml/editing/break_blockquote_command.cpp: Added.
   16414         * khtml/editing/break_blockquote_command.h: Added.
   16415         * khtml/editing/composite_edit_command.cpp:
   16416         * khtml/editing/delete_selection_command.cpp:
   16417         * khtml/editing/edit_command.cpp:
   16418         * khtml/editing/htmlediting.cpp:
   16419         * khtml/editing/htmlediting.h:
   16420         * khtml/editing/insert_line_break_command.cpp: Added.
   16421         * khtml/editing/insert_line_break_command.h: Added.
   16422         * khtml/editing/insert_paragraph_separator_command.cpp: Added.
   16423         * khtml/editing/insert_paragraph_separator_command.h: Added.
   16424         * khtml/editing/insert_text_command.cpp: Added.
   16425         * khtml/editing/insert_text_command.h: Added.
   16426         * khtml/editing/join_text_nodes_command.cpp: Added.
   16427         * khtml/editing/join_text_nodes_command.h: Added.
   16428         * khtml/editing/merge_identical_elements_command.cpp: Added.
   16429         * khtml/editing/merge_identical_elements_command.h: Added.
   16430         * khtml/editing/move_selection_command.cpp: Added.
   16431         * khtml/editing/move_selection_command.h: Added.
   16432         * khtml/editing/rebalance_whitespace_command.cpp: Added.
   16433         * khtml/editing/rebalance_whitespace_command.h: Added.
   16434         * khtml/editing/remove_css_property_command.cpp: Added.
   16435         * khtml/editing/remove_css_property_command.h: Added.
   16436         * khtml/editing/remove_node_attribute_command.cpp: Added.
   16437         * khtml/editing/remove_node_attribute_command.h: Added.
   16438         * khtml/editing/remove_node_command.cpp: Added.
   16439         * khtml/editing/remove_node_command.h: Added.
   16440         * khtml/editing/remove_node_preserving_children_command.cpp: Added.
   16441         * khtml/editing/remove_node_preserving_children_command.h: Added.
   16442         * khtml/editing/replace_selection_command.cpp: Added.
   16443         * khtml/editing/replace_selection_command.h: Added.
   16444         * khtml/editing/set_node_attribute_command.cpp: Added.
   16445         * khtml/editing/set_node_attribute_command.h: Added.
   16446         * khtml/editing/split_element_command.cpp: Added.
   16447         * khtml/editing/split_element_command.h: Added.
   16448         * khtml/editing/split_text_node_command.cpp: Added.
   16449         * khtml/editing/split_text_node_command.h: Added.
   16450         * khtml/editing/split_text_node_containing_element_command.h: Added.
   16451         * khtml/editing/typing_command.cpp: Added.
   16452         * khtml/editing/typing_command.h: Added.
   16453         * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Added.
   16454         * khtml/editing/wrap_contents_in_dummy_span_command.h: Added.
   16455 
   16456 2005-05-23  Darin Adler  <darin (a] apple.com>
   16457 
   16458         * WebCore.exp: Sorted file for more readable diffs.
   16459 
   16460 2005-05-23  Adele Peterson  <adele (a] apple.com>
   16461 
   16462         Reviewed by Darin.
   16463 
   16464         fix for <rdar://problem/4122661> Regression: 10.3.8-10.3.9: Next lesson doesn't work on Dale Carnegie Action Systems page
   16465 
   16466         * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::tryCall): added checks for NaN, in case it is passed into window.open for screenx, screeny, left, top, height, or width.
   16467 
   16468 2005-05-23  David Harrison  <harrison (a] apple.com>
   16469 
   16470         Reviewed by Darin.
   16471 
   16472         Prevent crash when going from no selection to selection with mispelling checks enabled.
   16473 		
   16474         * kwq/KWQKHTMLPart.mm:
   16475         (KWQKHTMLPart::markMisspellings):
   16476         Repair check for null searchRange.  Was inadvertently broken in recent checkin.
   16477 
   16478 2005-05-23  John Sullivan  <sullivan (a] apple.com>
   16479 
   16480         Reviewed by Dave Hyatt.
   16481         
   16482         - fixed <rdar://problem/4123592> Can't resize textareas that have a width specified by a style
   16483 
   16484         * kwq/KWQTextArea.mm:
   16485         (-[KWQTextArea getNumColumns:andNumRows:forSize:]):
   16486         removed this method, which I had added earlier to set cols and rows correctly
   16487         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
   16488         set width and height instead of cols and rows; handle the intrinsic margin that sometimes appears
   16489         on form elements
   16490 
   16491 2005-05-22  Adele Peterson  <adele (a] apple.com>
   16492 
   16493         Reviewed by Maciej.
   16494 
   16495         fix for <rdar://problem/4127101> REGRESSION(412-TOT) crash when creating Option element
   16496 
   16497         * khtml/ecma/kjs_html.cpp: (KJS::OptionConstructorImp::construct):
   16498         Changed ElementImpl pointer to a SharedPtr because it was getting destroyed before we were done with it.  
   16499 
   16500 2005-05-20  John Sullivan  <sullivan (a] apple.com>
   16501 
   16502         Reviewed by Chris.
   16503         
   16504         - fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading 
   16505         page with resizable textarea
   16506 
   16507         * kwq/KWQTextArea.mm:
   16508         (-[KWQTextAreaTextView resetCursorRects]):
   16509         This was some side effect of tracking rect code used for resizable textareas. I discovered
   16510         that I didn't need the tracking rect code at all (at least to achieve the level of only-somewhat-working
   16511         cursor behavior that I already had). Removing it caused the bug to vanish.
   16512 
   16513 2005-05-19  Darin Adler  <darin (a] apple.com>
   16514 
   16515         Reviewed by Maciej.
   16516         
   16517         - turned off exceptions and RTTI; seems to cut WebCore code size by about 35%
   16518 
   16519         * WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.
   16520 
   16521 2005-05-19  Darin Adler  <darin (a] apple.com>
   16522 
   16523         Reviewed by Chris Petersen.
   16524 
   16525         - fixed a mistake I introduced in my previous check-in that caused a Deployment build failure
   16526 
   16527         * kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both
   16528         the build failure and a potential bug!
   16529 
   16530 2005-05-17  Darin Adler  <darin (a] apple.com>
   16531 
   16532         Reviewed by Maciej.
   16533         No new layout tests required.
   16534 
   16535         - remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)
   16536 
   16537         * WebCore.pbproj/project.pbxproj: Set a new KHTML_NO_CPLUSPLUS_DOM define.
   16538         Removed all C++ DOM wrapper files that we don't need to compile any more.
   16539 
   16540         * khtml/dom/css_stylesheet.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
   16541         headers when including this file.
   16542 
   16543         * khtml/dom/dom2_events.h: Fixed up KHTML_NO_CPLUSPLUS_DOM checks so that everything but EventListener
   16544         is turned off when that's on. Also moved the public so that the constants from KeyboardEvent are public.
   16545         * khtml/dom/dom2_events.cpp: Put everything except for EventListener inside KHTML_NO_CPLUSPLUS_DOM.
   16546 
   16547         * khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined,
   16548         no classes.
   16549 
   16550         * khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.
   16551 
   16552         * khtml/dom/dom_node.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
   16553         headers when including this file.
   16554 
   16555         * khtml/ecma/kjs_binding.cpp:
   16556         (KJS::DOMObject::get): Removed exception-handling code. Now we can eliminate tryGet altogether.
   16557         (KJS::DOMObject::put): Ditto.
   16558         (KJS::DOMFunction::get): Ditto.
   16559         (KJS::DOMFunction::call): Ditto.
   16560 
   16561         * khtml/editing/visible_text.h: Added an include of <qstring.h>.
   16562 
   16563         * khtml/misc/loader.h: Added isKHTMLLoader.
   16564         * khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.
   16565 
   16566         * khtml/rendering/render_form.h:
   16567         * khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work
   16568         for this function.
   16569 
   16570         * khtml/xml/dom2_rangeimpl.h: Added a forward declaration of class DOMString, needed now that the C++
   16571         DOM wrappers aren't defining it.
   16572 
   16573         * khtml/xml/dom_docimpl.cpp:
   16574         (DocumentImpl::defaultEventHandler): Changed to call handleEventImpl so we don't have to make the
   16575         C++ DOM wrapper for the event.
   16576         * khtml/xml/dom_nodeimpl.cpp:
   16577         (NodeImpl::handleLocalEvents): Ditto.
   16578         (ContainerNodeImpl::insertBefore): Used SharedPtr<NodeImpl> rather than Node to protect the child node.
   16579         (ContainerNodeImpl::replaceChild): Ditto.
   16580         (ContainerNodeImpl::appendChild): Ditto.
   16581         (ContainerNodeImpl::addChild): Ditto.
   16582 
   16583         * kwq/DOM.mm:
   16584         (ObjCNodeFilterCondition::acceptNode): Update to add a KHTML_NO_CPLUSPLUS_DOM check since FilterCondition
   16585         has a different API depending on the state.
   16586         (-[DOMDocument createNodeIterator::::]): Rewrote to use NodeFilterImpl instead of NodeFilter.
   16587         (-[DOMDocument createTreeWalker::::]): Ditto.
   16588 
   16589         * kwq/KWQAccObject.mm:
   16590         (-[KWQAccObject role]): Use identifier instead of casting to Node and using elementId.
   16591         (-[KWQAccObject title]): Ditto.
   16592         (-[KWQAccObject accessibilityIsIgnored]): Ditto.
   16593         (-[KWQAccObject rendererForView:]): Ditto.
   16594 
   16595         * kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.
   16596 
   16597         * kwq/KWQKHTMLPart.mm:
   16598         (KWQKHTMLPart::currentForm): Use focusNode instead of activeNode.
   16599         (KWQKHTMLPart::nextKeyViewInFrame): Use isWidget instead of dynamic_cast.
   16600         (KWQKHTMLPart::currentEventIsMouseDownInWidget): Use KHTMLView's nodeUnderMouse instead of our public one
   16601         that uses a DOM C++ wrapper.
   16602         (KWQKHTMLPart::partForWidget): Use isKHTMLView instead of dynamic_cast.
   16603         (KWQKHTMLPart::passSubframeEventToSubframe): Use isWidget instead of dynamic_cast.
   16604 
   16605         * kwq/KWQObject.h: Made isXXX functions all public since we use them in a few more places now.
   16606         Also added isKHTMLLoader.
   16607         * kwq/KWQObject.mm: (QObject::isKHTMLLoader): Added. Returns false by default.
   16608 
   16609         * kwq/KWQSlot.mm: Removed all uses of dynamic_cast.
   16610 
   16611         * kwq/WebCoreBridge.mm:
   16612         (-[WebCoreBridge stringForRange:]): Used plainText instead of text.
   16613         (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.
   16614 
   16615 2005-05-16  Darin Adler  <darin (a] apple.com>
   16616 
   16617         - attempt to get things building under "Saffron" development tools
   16618 
   16619         * WebCore.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
   16620 
   16621 2005-05-16  Adele Peterson  <adele (a] apple.com>
   16622 
   16623         Changes by Darin. Reviewed by myself.
   16624 
   16625         Changed the Render Tree debug code to write out an indication that the affinity is upstream
   16626         when writing out caret position. Updated the one layout test with output affected by the change.
   16627         Also updated one test to use the new dumpAsText method in dumpRenderTree.
   16628 
   16629         * kwq/KWQRenderTreeDebug.cpp: (writeSelection): writes out affinity if it's upstream in the caret case
   16630         * layout-tests/editing/style/create-block-for-style-004-expected.txt: new results that contain the affinity
   16631         * layout-tests/fast/js/char-at.html: now calls layoutController.dumpAsText()
   16632         * layout-tests/fast/js/char-at-expected.txt: plain text result (replaces old render tree result)
   16633 
   16634 2005-05-16  Darin Adler  <darin (a] apple.com>
   16635 
   16636         Reviewed by Adele.
   16637 
   16638         - fixed issues preventing us from compiling with newer versions of gcc 4.0
   16639 
   16640         * khtml/dom/dom2_events.cpp: Add definitions of some static data member constants, as required
   16641         by the C++ standard and the gcc 4.0 compiler.
   16642 
   16643         * khtml/editing/selection.h: Specified KHTMLPart friend class as ::KHTMLPart, since if it's
   16644         not explicitly qualified, it means DOM::KHTMLPart.
   16645 
   16646         * khtml/dom/dom_string.cpp:
   16647         (DOM::strcasecmp): Removed redundant and illegal DOM:: prefix.
   16648         (DOM::operator==): Ditto.
   16649         * khtml/ecma/kjs_binding.cpp:
   16650         (KJS::getStringOrNull): Removed redundant and illegal KJS:: prefix.
   16651         (KJS::ValueToVariant): Ditto.
   16652         * khtml/ecma/kjs_css.cpp:
   16653         (KJS::getCSSRuleConstructor): Ditto.
   16654         (KJS::getCSSValueConstructor): Ditto.
   16655         (KJS::getCSSPrimitiveValueConstructor): Ditto.
   16656         * khtml/ecma/kjs_events.cpp:
   16657         (KJS::getEventConstructor): Ditto.
   16658         (KJS::getEventExceptionConstructor): Ditto.
   16659         (KJS::getMutationEventConstructor): Ditto.
   16660         * khtml/ecma/kjs_traversal.cpp:
   16661         (KJS::getNodeFilterConstructor): Ditto.
   16662 
   16663         * khtml/misc/loader_client.h: Added an empty virtual destructor to CachedObjectClient
   16664         to quiet the compiler. This doesn't really do any good, but also does no harm.
   16665         * khtml/misc/loader.cpp: (CachedObjectClient::~CachedObjectClient): Added.
   16666 
   16667         * khtml/rendering/render_block.cpp: (khtml::RenderBlock::fillBlockSelectionGaps):
   16668         Initialize a couple of variables that should have been initialized to 0.
   16669         Not just about making the compiler happy -- warning found a real bug!
   16670 
   16671         * kwq/KWQTextArea.mm: (RangeOfParagraph): Change else structure to work around compiler
   16672         warning bug.
   16673 
   16674 2005-05-13  John Sullivan  <sullivan (a] apple.com>
   16675 
   16676         * kwq/KWQTextArea.mm:
   16677         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
   16678         added Radar numbers to FIXMEs about resizable textareas
   16679         (-[KWQTextAreaTextView resetCursorRects]):
   16680         ditto
   16681         (-[KWQTextAreaTextView mouseDown:]):
   16682         ditto
   16683 
   16684 2005-05-12  Darin Adler  <darin (a] apple.com>
   16685 
   16686         Reviewed by Chris Blumenberg.
   16687 
   16688         - more "getting off the C++ DOM wrappers" changes
   16689           This pass involves replacing uses of DOM::Range with use of DOM::RangeImpl
   16690           plus some more use of DOM::DocumentImpl instead of DOM::Document.
   16691 
   16692         * khtml/dom/dom2_range.cpp:
   16693         * khtml/dom/dom2_range.h:
   16694         * khtml/ecma/kjs_window.cpp:
   16695         (KJS::Window::get):
   16696         (KJS::WindowFunc::tryCall):
   16697         (KJS::Window::updateLayout):
   16698         (KJS::ScheduledAction::execute):
   16699         (KJS::Selection::toString):
   16700         * khtml/ecma/xmlhttprequest.cpp:
   16701         (KJS::XMLHttpRequestProtoFunc::tryCall):
   16702         * khtml/editing/htmlediting.cpp:
   16703         (khtml::InsertLineBreakCommand::doApply):
   16704         * khtml/editing/selection.cpp:
   16705         (khtml::Selection::Selection):
   16706         (khtml::Selection::moveTo):
   16707         (khtml::Selection::toRange):
   16708         * khtml/editing/selection.h:
   16709         * khtml/editing/visible_position.cpp:
   16710         (khtml::makeRange):
   16711         (khtml::startVisiblePosition):
   16712         (khtml::endVisiblePosition):
   16713         (khtml::setStart):
   16714         (khtml::setEnd):
   16715         * khtml/editing/visible_position.h:
   16716         * khtml/editing/visible_range.h:
   16717         * khtml/editing/visible_text.cpp:
   16718         (khtml::TextIterator::TextIterator):
   16719         (khtml::TextIterator::range):
   16720         (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
   16721         (khtml::SimplifiedBackwardsTextIterator::range):
   16722         (khtml::CharacterIterator::CharacterIterator):
   16723         (khtml::CharacterIterator::range):
   16724         (khtml::WordAwareIterator::WordAwareIterator):
   16725         (khtml::WordAwareIterator::advance):
   16726         (khtml::TextIterator::rangeLength):
   16727         (khtml::TextIterator::rangeFromLocationAndLength):
   16728         (khtml::plainText):
   16729         (khtml::findPlainText):
   16730         * khtml/editing/visible_text.h:
   16731         (khtml::WordAwareIterator::range):
   16732         * khtml/editing/visible_units.cpp:
   16733         (khtml::previousBoundary):
   16734         (khtml::nextBoundary):
   16735         * khtml/html/html_elementimpl.cpp:
   16736         (HTMLElementImpl::innerText):
   16737         * khtml/html/htmltokenizer.cpp:
   16738         (khtml::HTMLTokenizer::scriptExecution):
   16739         * khtml/khtml_part.cpp:
   16740         (KHTMLPart::text):
   16741         (KHTMLPart::selectedText):
   16742         (KHTMLPart::shouldBeginEditing):
   16743         (KHTMLPart::shouldEndEditing):
   16744         (KHTMLPart::selectionComputedStyle):
   16745         * khtml/khtml_part.h:
   16746         * khtml/khtmlview.h:
   16747         * khtml/rendering/render_text.cpp:
   16748         (InlineTextBox::paint):
   16749         * khtml/xml/dom2_rangeimpl.cpp:
   16750         (DOM::operator==):
   16751         (DOM::rangeOfContents):
   16752         * khtml/xml/dom2_rangeimpl.h:
   16753         (DOM::operator!=):
   16754         * khtml/xml/dom_docimpl.cpp:
   16755         (DocumentImpl::relinquishesEditingFocus):
   16756         (DocumentImpl::acceptsEditingFocus):
   16757         (DocumentImpl::addMarker):
   16758         (DocumentImpl::removeMarker):
   16759         * khtml/xml/dom_docimpl.h:
   16760         * khtml/xml/dom_position.cpp:
   16761         (DOM::startPosition):
   16762         * khtml/xml/dom_position.h:
   16763         * kwq/DOMHTML.mm:
   16764         (-[DOMHTMLLinkElement href]):
   16765         (-[DOMHTMLBaseElement href]):
   16766         (-[DOMHTMLInputElement src]):
   16767         (-[DOMHTMLAnchorElement href]):
   16768         (-[DOMHTMLImageElement src]):
   16769         (-[DOMHTMLAreaElement href]):
   16770         * kwq/KWQAccObject.mm:
   16771         (-[KWQAccObject textUnderElement]):
   16772         (-[KWQAccObject value]):
   16773         (-[KWQAccObject doAXStringForTextMarkerRange:]):
   16774         (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
   16775         * kwq/KWQKHTMLPart.h:
   16776         (KWQKHTMLPart::markedTextRange):
   16777         * kwq/KWQKHTMLPart.mm:
   16778         (KWQKHTMLPart::findString):
   16779         (KWQKHTMLPart::advanceToNextMisspelling):
   16780         (KWQKHTMLPart::fontForSelection):
   16781         (KWQKHTMLPart::markMisspellings):
   16782         (KWQKHTMLPart::respondToChangedSelection):
   16783         (KWQKHTMLPart::shouldBeginEditing):
   16784         (KWQKHTMLPart::shouldEndEditing):
   16785         (convertAttributesToUnderlines):
   16786         (KWQKHTMLPart::setMarkedTextRange):
   16787         * kwq/WebCoreBridge.mm:
   16788         (-[WebCoreBridge elementAtPoint:]):
   16789         (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
   16790         (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
   16791         (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]):
   16792         (-[WebCoreBridge selectedDOMRange]):
   16793         (-[WebCoreBridge convertToNSRange:DOM::]):
   16794         (-[WebCoreBridge convertToDOMRange:]):
   16795         (-[WebCoreBridge convertToObjCDOMRange:]):
   16796         (-[WebCoreBridge selectNSRange:]):
   16797         (-[WebCoreBridge selectedNSRange]):
   16798         (-[WebCoreBridge markDOMRange]):
   16799         (-[WebCoreBridge markedTextDOMRange]):
   16800         (-[WebCoreBridge markedTextNSRange]):
   16801         (-[WebCoreBridge replaceMarkedTextWithText:]):
   16802         (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
   16803         (-[WebCoreBridge dragCaretDOMRange]):
   16804         (-[WebCoreBridge editableDOMRangeForPoint:]):
   16805         (-[WebCoreBridge rangeOfCharactersAroundCaret]):
   16806 
   16807 2005-05-13  Maciej Stachowiak  <mjs (a] apple.com>
   16808 
   16809         Reviewed by Dave.
   16810 
   16811 	- more splitting up of htmlediting.cpp
   16812 
   16813         * WebCore.pbproj/project.pbxproj:
   16814         * khtml/editing/composite_edit_command.cpp:
   16815         * khtml/editing/delete_from_text_node_command.cpp: Added.
   16816         * khtml/editing/delete_from_text_node_command.h: Added.
   16817         * khtml/editing/delete_selection_command.cpp: Added.
   16818         * khtml/editing/delete_selection_command.h: Added.
   16819         * khtml/editing/htmlediting.cpp:
   16820         * khtml/editing/htmlediting.h:
   16821         * khtml/editing/insert_into_text_node_command.cpp: Added.
   16822         * khtml/editing/insert_into_text_node_command.h: Added.
   16823         * khtml/editing/insert_node_before_command.cpp: Added.
   16824         * khtml/editing/insert_node_before_command.h: Added.
   16825 
   16826 2005-05-12  Adele Peterson  <adele (a] apple.com>
   16827 
   16828         Reviewed by Maciej.
   16829 
   16830         fix for  <rdar://problem/4117656> deleting an input element in its onBlur handler crashes Safari
   16831 
   16832         * khtml/rendering/render_form.cpp: (RenderLineEdit::handleFocusOut): added nil check for element
   16833 
   16834 2005-05-12  John Sullivan  <sullivan (a] apple.com>
   16835 
   16836         Reviewed by Kevin.
   16837         
   16838         - rolled in changes from experimental-ui-branch to support resizable textareas
   16839         and find-as-you-type. The files/functions modified are listed just below. After
   16840         that are the ChangeLog comments from the branch.
   16841 
   16842         * Resources/textAreaResizeCorner.tiff: Added.
   16843         * WebCore.pbproj/project.pbxproj:
   16844         * kwq/KWQKHTMLPart.h:
   16845         * kwq/KWQKHTMLPart.mm:
   16846         (KWQKHTMLPart::findString):
   16847         * kwq/KWQTextArea.mm:
   16848         (-[KWQTextArea textDidChange:]):
   16849         (-[KWQTextAreaTextView _resizeCornerImage]):
   16850         (-[KWQTextAreaTextView _resizeCornerRect]):
   16851         (-[KWQTextAreaTextView resetCursorRects]):
   16852         (-[KWQTextAreaTextView drawRect:]):
   16853         (-[KWQTextAreaTextView mouseDown:]):
   16854         * kwq/WebCoreBridge.h:
   16855         * kwq/WebCoreBridge.mm:
   16856         (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
   16857 
   16858         2005-05-05  John Sullivan  <sullivan (a] apple.com>
   16859 
   16860                 Reviewed by Chris.
   16861 
   16862                 * kwq/KWQTextArea.mm:
   16863                 (-[KWQTextAreaTextView _resizeCornerRect]):
   16864                 Get corner rect from enclosing clipView, rather than using visibleRect.
   16865                 VisibleRect would return the wrong result when the textarea was clipped
   16866                 by the bottom of the window, leading to redraw schmutz among other things.
   16867 
   16868         2005-05-02  John Sullivan  <sullivan (a] apple.com>
   16869 
   16870                 Reviewed by Chris.
   16871                 
   16872                 Improvements to resizable textarea experiment:
   16873                 - resize image is now drawn in the resize corner
   16874                 - cursor sometimes tracks to arrow when over resize corner (but usually not)
   16875                 - cursor changes to arrow on mouse down in any case
   16876 
   16877                 * Resources/textAreaResizeCorner.tiff: Added.
   16878                 * WebCore.pbproj/project.pbxproj:
   16879                 updated for added image file
   16880                 
   16881                 * kwq/KWQTextArea.mm:
   16882                 (-[KWQTextAreaTextView _resizeCornerImage]):
   16883                 new method, reads resize image once and caches it
   16884                 (-[KWQTextAreaTextView _resizeCornerRect]):
   16885                 new method, computes rect from image
   16886                 (-[KWQTextAreaTextView resetCursorRects]):
   16887                 overridden to attempt to make the cursor change to an arrow when over this
   16888                 corner. Only works sometimes, as explained in comments.
   16889                 (-[KWQTextAreaTextView drawRect:]):
   16890                 overridden to draw resize image
   16891                 (-[KWQTextAreaTextView mouseDown:]):
   16892                 now uses _resizeCornerRect, and sets cursor to arrow when pressed in resize corner
   16893 
   16894         2005-04-18  John Sullivan  <sullivan (a] apple.com>
   16895 
   16896                 WebCore support for notifying a form delegate when a
   16897                 textarea's contents have changed (as opposed to a 
   16898                 textfield, which was already handled).
   16899 
   16900                 Reviewed by Maciej.
   16901 
   16902                 * kwq/WebCoreBridge.h:
   16903                 add textDidChange: method
   16904 
   16905                 * kwq/KWQTextArea.mm:
   16906                 (-[KWQTextArea textDidChange:]):
   16907                 call through to bridge
   16908 
   16909         2005-04-07  John Sullivan  <sullivan (a] apple.com>
   16910 
   16911                 WebCore support for find-as-you-type; needed an additional parameter
   16912                 to findString and searchFor:...
   16913 
   16914                 Reviewed by Dave Hyatt.
   16915 
   16916                 * kwq/KWQKHTMLPart.h:
   16917                 * kwq/KWQKHTMLPart.mm:
   16918                 (KWQKHTMLPart::findString):
   16919                 new findInSelection parameter; if true, start from the beginning of the selection
   16920                 when searching forward, or the end of the selection when searching backward
   16921                 
   16922                 * kwq/WebCoreBridge.h:
   16923                 * kwq/WebCoreBridge.mm:
   16924                 (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
   16925                 new findInSelection parameter; passed through to findString
   16926 
   16927 2005-05-12  Darin Adler  <darin (a] apple.com>
   16928 
   16929         Reviewed by Maciej (except for some parts outside the ECMA directory).
   16930 
   16931         - switch KJS wrappers over to using the DOM impl. classes rather than using
   16932           the DOM wrappers; will allow us to not even compile the DOM wrappers and
   16933           make the code smaller
   16934 
   16935         * khtml/css/css_valueimpl.h: Added CSSStyleDeclarationImpl::isPropertyName,
   16936         removed CSSStyleDeclarationImpl::propertyID.
   16937         * khtml/css/css_valueimpl.cpp:
   16938         (DOM::propertyID): Added. Gets property ID given a DOM string. Replaces the
   16939         previous version that had hacks that we want to leave in the JS wrapper for now.
   16940         (DOM::CSSStyleDeclarationImpl::isPropertyName): Added.
   16941 
   16942         * khtml/css/cssproperties.in: Fixed up comments.
   16943 
   16944         * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
   16945         buffer size in the propertyID function.
   16946 
   16947         * khtml/dom/dom2_events.h: Added handleEventImpl, making it easier to call
   16948         handleEvent in a way that works either with or without the C++ DOM wrappers.
   16949         * khtml/dom/dom2_events.cpp: (EventListener::handleEventImpl): Added.
   16950 
   16951         * khtml/dom/dom2_views.cpp: Added now-needed include.
   16952         * khtml/dom/dom_doc.cpp: Added now-needed include.
   16953         * khtml/dom/dom_element.cpp: Tweaked includes.
   16954 
   16955         * khtml/editing/htmlediting.cpp: Removed now-unneeded include.
   16956         * khtml/html/html_baseimpl.cpp: Ditto.
   16957         * khtml/html/html_formimpl.h: Ditto.
   16958         * khtml/rendering/render_form.h: Ditto.
   16959         * khtml/rendering/render_style.h: Ditto.
   16960         * khtml/xml/dom2_eventsimpl.cpp: Ditto.
   16961         * khtml/xml/dom2_viewsimpl.h: Ditto.
   16962         * khtml/xml/dom_elementimpl.h: Ditto.
   16963         * khtml/xml/dom_stringimpl.h: Ditto.
   16964         * kwq/DOM.mm: Ditto.
   16965         * kwq/DOMHTML.mm: Ditto.
   16966 
   16967         * khtml/khtml_part.cpp: Tweaked incluudes.
   16968         * khtml/khtmlpart_p.h: Ditto.
   16969 
   16970         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
   16971         than C++ DOM.
   16972 
   16973         * khtml/xml/dom_docimpl.cpp:
   16974         (DOMImplementationImpl::createDocumentType): Disabled the calls to the not-implemented
   16975         name checks in the C++ DOM wrappers. If we add name changes, we'll want them inside the
   16976         impl, not in the wrappers.
   16977         (DOMImplementationImpl::createDocument): Ditto.
   16978         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkSetPrefix): Ditto.
   16979 
   16980         * khtml/ecma/kjs_binding.cpp:
   16981         (KJS::ScriptInterpreter::wasRunByUserGesture):
   16982         (KJS::KJS::ValueToVariant):
   16983         (KJS::setDOMException):
   16984         * khtml/ecma/kjs_binding.h:
   16985         (KJS::ScriptInterpreter::setCurrentEvent):
   16986         (KJS::ScriptInterpreter::getCurrentEvent):
   16987         (KJS::cacheDOMObject):
   16988         (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
   16989         (KJS::DOMExceptionTranslator::~DOMExceptionTranslator):
   16990         (KJS::DOMExceptionTranslator::operator int &):
   16991         (KJS::cacheGlobalObject):
   16992         * khtml/ecma/kjs_css.cpp:
   16993         (KJS::cssPropertyName):
   16994         (KJS::isCSSPropertyName):
   16995         (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
   16996         (KJS::DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration):
   16997         (KJS::DOMCSSStyleDeclaration::hasProperty):
   16998         (KJS::DOMCSSStyleDeclaration::tryGet):
   16999         (KJS::DOMCSSStyleDeclaration::tryPut):
   17000         (KJS::DOMCSSStyleDeclarationProtoFunc::tryCall):
   17001         (KJS::getDOMCSSStyleDeclaration):
   17002         (KJS::DOMStyleSheet::~DOMStyleSheet):
   17003         (KJS::DOMStyleSheet::getValueProperty):
   17004         (KJS::DOMStyleSheet::tryPut):
   17005         (KJS::getDOMStyleSheet):
   17006         (KJS::DOMStyleSheetList::~DOMStyleSheetList):
   17007         (KJS::DOMStyleSheetList::tryGet):
   17008         (KJS::getDOMStyleSheetList):
   17009         (KJS::DOMStyleSheetListFunc::tryCall):
   17010         (KJS::DOMMediaList::DOMMediaList):
   17011         (KJS::DOMMediaList::~DOMMediaList):
   17012         (KJS::DOMMediaList::tryGet):
   17013         (KJS::DOMMediaList::tryPut):
   17014         (KJS::getDOMMediaList):
   17015         (KJS::KJS::DOMMediaListProtoFunc::tryCall):
   17016         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
   17017         (KJS::DOMCSSStyleSheet::tryGet):
   17018         (KJS::DOMCSSStyleSheetProtoFunc::tryCall):
   17019         (KJS::DOMCSSRuleList::~DOMCSSRuleList):
   17020         (KJS::DOMCSSRuleList::tryGet):
   17021         (KJS::DOMCSSRuleListFunc::tryCall):
   17022         (KJS::getDOMCSSRuleList):
   17023         (KJS::DOMCSSRule::~DOMCSSRule):
   17024         (KJS::DOMCSSRule::classInfo):
   17025         (KJS::DOMCSSRule::tryGet):
   17026         (KJS::DOMCSSRule::getValueProperty):
   17027         (KJS::DOMCSSRule::putValue):
   17028         (KJS::DOMCSSRuleFunc::tryCall):
   17029         (KJS::getDOMCSSRule):
   17030         (KJS::DOMCSSValue::~DOMCSSValue):
   17031         (KJS::DOMCSSValue::tryGet):
   17032         (KJS::DOMCSSValue::tryPut):
   17033         (KJS::getDOMCSSValue):
   17034         (KJS::DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
   17035         (KJS::DOMCSSPrimitiveValue::tryGet):
   17036         (KJS::DOMCSSPrimitiveValueProtoFunc::tryCall):
   17037         (KJS::DOMCSSValueList::DOMCSSValueList):
   17038         (KJS::DOMCSSValueList::tryGet):
   17039         (KJS::DOMCSSValueListFunc::tryCall):
   17040         (KJS::DOMRGBColor::getValueProperty):
   17041         (KJS::getDOMRGBColor):
   17042         (KJS::DOMRect::~DOMRect):
   17043         (KJS::DOMRect::getValueProperty):
   17044         (KJS::getDOMRect):
   17045         (KJS::DOMCounter::~DOMCounter):
   17046         (KJS::DOMCounter::getValueProperty):
   17047         (KJS::getDOMCounter):
   17048         * khtml/ecma/kjs_css.h:
   17049         (KJS::DOMCSSStyleDeclaration::impl):
   17050         (KJS::DOMStyleSheet::DOMStyleSheet):
   17051         (KJS::DOMStyleSheet::impl):
   17052         (KJS::DOMStyleSheetList::DOMStyleSheetList):
   17053         (KJS::DOMStyleSheetList::impl):
   17054         (KJS::DOMMediaList::impl):
   17055         (KJS::DOMCSSStyleSheet::):
   17056         (KJS::DOMCSSRuleList::DOMCSSRuleList):
   17057         (KJS::DOMCSSRuleList::impl):
   17058         (KJS::DOMCSSRule::DOMCSSRule):
   17059         (KJS::DOMCSSRule::impl):
   17060         (KJS::DOMCSSValue::DOMCSSValue):
   17061         (KJS::DOMCSSValue::impl):
   17062         (KJS::DOMCSSValueList::):
   17063         (KJS::DOMRGBColor::DOMRGBColor):
   17064         (KJS::DOMRect::DOMRect):
   17065         (KJS::DOMCounter::DOMCounter):
   17066         * khtml/ecma/kjs_dom.cpp:
   17067         (KJS::DOMNodeListFunc::):
   17068         (KJS::DOMNode::DOMNode):
   17069         (KJS::DOMNode::toBoolean):
   17070         (KJS::DOMNode::getValueProperty):
   17071         (KJS::DOMNode::putValue):
   17072         (KJS::DOMNode::toPrimitive):
   17073         (KJS::DOMNode::toString):
   17074         (KJS::DOMNode::setListener):
   17075         (KJS::DOMNode::getListener):
   17076         (KJS::DOMNodeProtoFunc::tryCall):
   17077         (KJS::toNode):
   17078         (KJS::DOMNodeList::~DOMNodeList):
   17079         (KJS::DOMNodeList::toPrimitive):
   17080         (KJS::DOMNodeList::tryGet):
   17081         (KJS::DOMNodeList::tryCall):
   17082         (KJS::DOMNodeListFunc::tryCall):
   17083         (KJS::DOMAttr::DOMAttr):
   17084         (KJS::DOMAttr::getValueProperty):
   17085         (KJS::DOMAttr::putValue):
   17086         (KJS::toAttr):
   17087         (KJS::DOMDocument::DOMDocument):
   17088         (KJS::DOMDocument::~DOMDocument):
   17089         (KJS::DOMDocument::getValueProperty):
   17090         (KJS::DOMDocument::putValue):
   17091         (KJS::DOMDocumentProtoFunc::tryCall):
   17092         (KJS::DOMElement::DOMElement):
   17093         (KJS::DOMElement::tryGet):
   17094         (KJS::DOMElementProtoFunc::tryCall):
   17095         (KJS::toElement):
   17096         (KJS::DOMDOMImplementation::DOMDOMImplementation):
   17097         (KJS::DOMDOMImplementation::~DOMDOMImplementation):
   17098         (KJS::DOMDOMImplementationProtoFunc::tryCall):
   17099         (KJS::DOMDocumentType::DOMDocumentType):
   17100         (KJS::DOMDocumentType::getValueProperty):
   17101         (KJS::toDocumentType):
   17102         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
   17103         (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
   17104         (KJS::DOMNamedNodeMap::tryGet):
   17105         (KJS::DOMNamedNodeMapProtoFunc::tryCall):
   17106         (KJS::DOMProcessingInstruction::DOMProcessingInstruction):
   17107         (KJS::DOMProcessingInstruction::getValueProperty):
   17108         (KJS::DOMProcessingInstruction::tryPut):
   17109         (KJS::DOMNotation::DOMNotation):
   17110         (KJS::DOMNotation::getValueProperty):
   17111         (KJS::DOMEntity::DOMEntity):
   17112         (KJS::DOMEntity::getValueProperty):
   17113         (KJS::getDOMDocumentNode):
   17114         (KJS::checkNodeSecurity):
   17115         (KJS::getDOMNode):
   17116         (KJS::getDOMNamedNodeMap):
   17117         (KJS::getRuntimeObject):
   17118         (KJS::getDOMNodeList):
   17119         (KJS::getDOMDOMImplementation):
   17120         (KJS::getNodeConstructor):
   17121         (KJS::getDOMExceptionConstructor):
   17122         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
   17123         (KJS::DOMNamedNodesCollection::tryGet):
   17124         (KJS::DOMCharacterData::DOMCharacterData):
   17125         (KJS::DOMCharacterData::getValueProperty):
   17126         (KJS::DOMCharacterData::tryPut):
   17127         (KJS::DOMCharacterDataProtoFunc::tryCall):
   17128         (KJS::DOMText::DOMText):
   17129         (KJS::DOMTextProtoFunc::tryCall):
   17130         * khtml/ecma/kjs_dom.h:
   17131         (KJS::DOMNode::impl):
   17132         (KJS::DOMNodeList::DOMNodeList):
   17133         (KJS::DOMNodeList::impl):
   17134         (KJS::DOMDOMImplementation::impl):
   17135         (KJS::DOMNamedNodeMap::impl):
   17136         * khtml/ecma/kjs_events.cpp:
   17137         (KJS::JSAbstractEventListener::handleEvent):
   17138         (KJS::JSLazyEventListener::handleEvent):
   17139         (KJS::getNodeEventListener):
   17140         (KJS::DOMEvent::DOMEvent):
   17141         (KJS::DOMEvent::~DOMEvent):
   17142         (KJS::DOMEvent::getValueProperty):
   17143         (KJS::DOMEvent::putValue):
   17144         (KJS::DOMEventProtoFunc::tryCall):
   17145         (KJS::getDOMEvent):
   17146         (KJS::toEvent):
   17147         (KJS::DOMUIEvent::DOMUIEvent):
   17148         (KJS::DOMUIEvent::getValueProperty):
   17149         (KJS::DOMUIEventProtoFunc::tryCall):
   17150         (KJS::DOMMouseEvent::DOMMouseEvent):
   17151         (KJS::DOMMouseEvent::getValueProperty):
   17152         (KJS::DOMMouseEventProtoFunc::tryCall):
   17153         (KJS::DOMKeyboardEvent::DOMKeyboardEvent):
   17154         (KJS::DOMKeyboardEvent::getValueProperty):
   17155         (KJS::DOMKeyboardEventProtoFunc::tryCall):
   17156         (KJS::DOMMutationEvent::DOMMutationEvent):
   17157         (KJS::DOMMutationEvent::getValueProperty):
   17158         (KJS::DOMMutationEventProtoFunc::tryCall):
   17159         (KJS::DOMWheelEvent::DOMWheelEvent):
   17160         (KJS::DOMWheelEvent::getValueProperty):
   17161         (KJS::ClipboardProtoFunc::tryCall):
   17162         * khtml/ecma/kjs_events.h:
   17163         (KJS::DOMEvent::impl):
   17164         (KJS::DOMUIEvent::):
   17165         (KJS::DOMMouseEvent::):
   17166         (KJS::DOMKeyboardEvent::):
   17167         (KJS::DOMMutationEvent::):
   17168         * khtml/ecma/kjs_html.cpp:
   17169         (KJS::KJS::HTMLDocFunction::tryCall):
   17170         (KJS::HTMLDocument::HTMLDocument):
   17171         (KJS::HTMLDocument::hasProperty):
   17172         (KJS::HTMLDocument::tryGet):
   17173         (KJS::KJS::HTMLDocument::putValue):
   17174         (KJS::KJS::HTMLElement::classInfo):
   17175         (KJS::HTMLElement::HTMLElement):
   17176         (KJS::KJS::HTMLElement::tryGet):
   17177         (KJS::KJS::HTMLElement::implementsCall):
   17178         (KJS::KJS::HTMLElement::call):
   17179         (KJS::KJS::HTMLElement::getValueProperty):
   17180         (KJS::KJS::HTMLElement::hasProperty):
   17181         (KJS::KJS::HTMLElement::toString):
   17182         (KJS::getForm):
   17183         (KJS::KJS::HTMLElement::pushEventHandlerScope):
   17184         (KJS::KJS::HTMLElementFunction::tryCall):
   17185         (KJS::KJS::HTMLElement::tryPut):
   17186         (KJS::HTMLElement::putValue):
   17187         (KJS::toHTMLElement):
   17188         (KJS::toHTMLTableCaptionElement):
   17189         (KJS::toHTMLTableSectionElement):
   17190         (KJS::HTMLCollection::HTMLCollection):
   17191         (KJS::HTMLCollection::~HTMLCollection):
   17192         (KJS::KJS::HTMLCollection::tryGet):
   17193         (KJS::KJS::HTMLCollection::tryCall):
   17194         (KJS::KJS::HTMLCollection::getNamedItems):
   17195         (KJS::KJS::HTMLCollectionProtoFunc::tryCall):
   17196         (KJS::HTMLSelectCollection::HTMLSelectCollection):
   17197         (KJS::KJS::HTMLSelectCollection::tryGet):
   17198         (KJS::KJS::HTMLSelectCollection::tryPut):
   17199         (KJS::OptionConstructorImp::OptionConstructorImp):
   17200         (KJS::OptionConstructorImp::construct):
   17201         (KJS::ImageConstructorImp::ImageConstructorImp):
   17202         (KJS::ImageConstructorImp::construct):
   17203         (KJS::Image::notifyFinished):
   17204         (KJS::Image::Image):
   17205         (KJS::KJS::Context2DFunction::tryCall):
   17206         (KJS::):
   17207         (KJS::colorRefFromValue):
   17208         (KJS::colorFromValue):
   17209         (KJS::Context2D::putValue):
   17210         (KJS::Context2D::Context2D):
   17211         (KJS::Context2D::mark):
   17212         (KJS::GradientFunction::tryCall):
   17213         (KJS::ImagePattern::tryGet):
   17214         (KJS::getHTMLCollection):
   17215         (KJS::getSelectHTMLCollection):
   17216         * khtml/ecma/kjs_html.h:
   17217         (KJS::HTMLDocument::):
   17218         (KJS::HTMLElement::):
   17219         (KJS::HTMLCollection::impl):
   17220         * khtml/ecma/kjs_navigator.cpp:
   17221         * khtml/ecma/kjs_proxy.cpp:
   17222         (KJSProxyImpl::evaluate):
   17223         (KJSProxyImpl::finishedWithEvent):
   17224         * khtml/ecma/kjs_proxy.h:
   17225         * khtml/ecma/kjs_range.cpp:
   17226         (KJS::DOMRange::DOMRange):
   17227         (KJS::DOMRange::~DOMRange):
   17228         (KJS::DOMRange::tryGet):
   17229         (KJS::DOMRange::getValueProperty):
   17230         (KJS::DOMRangeProtoFunc::tryCall):
   17231         (KJS::getDOMRange):
   17232         (KJS::RangeConstructor::tryGet):
   17233         (KJS::getRangeConstructor):
   17234         (KJS::toRange):
   17235         * khtml/ecma/kjs_range.h:
   17236         (KJS::DOMRange::impl):
   17237         * khtml/ecma/kjs_traversal.cpp:
   17238         (KJS::DOMNodeIterator::DOMNodeIterator):
   17239         (KJS::DOMNodeIterator::~DOMNodeIterator):
   17240         (KJS::DOMNodeIterator::getValueProperty):
   17241         (KJS::DOMNodeIteratorProtoFunc::tryCall):
   17242         (KJS::getDOMNodeIterator):
   17243         (KJS::DOMNodeFilter::DOMNodeFilter):
   17244         (KJS::DOMNodeFilter::~DOMNodeFilter):
   17245         (KJS::DOMNodeFilterProtoFunc::tryCall):
   17246         (KJS::getDOMNodeFilter):
   17247         (KJS::toNodeFilter):
   17248         (KJS::DOMTreeWalker::DOMTreeWalker):
   17249         (KJS::DOMTreeWalker::~DOMTreeWalker):
   17250         (KJS::DOMTreeWalker::getValueProperty):
   17251         (KJS::DOMTreeWalker::tryPut):
   17252         (KJS::DOMTreeWalkerProtoFunc::tryCall):
   17253         (KJS::getDOMTreeWalker):
   17254         (KJS::JSNodeFilterCondition::acceptNode):
   17255         * khtml/ecma/kjs_traversal.h:
   17256         (KJS::DOMNodeIterator::impl):
   17257         (KJS::DOMNodeFilter::impl):
   17258         (KJS::DOMTreeWalker::impl):
   17259         * khtml/ecma/kjs_views.cpp:
   17260         (KJS::DOMAbstractView::~DOMAbstractView):
   17261         (KJS::DOMAbstractView::tryGet):
   17262         (KJS::DOMAbstractViewFunc::tryCall):
   17263         (KJS::getDOMAbstractView):
   17264         (KJS::toAbstractView):
   17265         * khtml/ecma/kjs_views.h:
   17266         (KJS::DOMAbstractView::DOMAbstractView):
   17267         (KJS::DOMAbstractView::impl):
   17268         * khtml/ecma/kjs_window.cpp:
   17269         (KJS::Window::get):
   17270         (KJS::Window::hasProperty):
   17271         (KJS::Window::put):
   17272         (KJS::Window::setListener):
   17273         (KJS::Window::getListener):
   17274         (KJS::Window::setCurrentEvent):
   17275         (KJS::WindowFunc::tryCall):
   17276         (KJS::Location::put):
   17277         (KJS::LocationFunc::tryCall):
   17278         (KJS::Selection::get):
   17279         (KJS::SelectionFunc::tryCall):
   17280         * khtml/ecma/kjs_window.h:
   17281         * khtml/ecma/xmlhttprequest.cpp:
   17282         (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
   17283         (KJS::XMLHttpRequestConstructorImp::~XMLHttpRequestConstructorImp):
   17284         (KJS::XMLHttpRequestConstructorImp::construct):
   17285         (KJS::XMLHttpRequest::getValueProperty):
   17286         (KJS::XMLHttpRequest::XMLHttpRequest):
   17287         (KJS::XMLHttpRequest::changeState):
   17288         (KJS::XMLHttpRequest::open):
   17289         (KJS::XMLHttpRequestProtoFunc::tryCall):
   17290         * khtml/ecma/xmlhttprequest.h:
   17291         * khtml/ecma/xmlserializer.cpp:
   17292         (KJS::XMLSerializerProtoFunc::tryCall):
   17293         * khtml/ecma/xmlserializer.h:
   17294         * kwq/DOMInternal.mm:
   17295         (-[WebScriptObject _initializeScriptDOMNodeImp]):
   17296         * kwq/DOMUtility.mm:
   17297         (KJS::ScriptInterpreter::createObjcInstanceForValue):
   17298 
   17299 2005-05-11  David Hyatt  <hyatt (a] apple.com>
   17300 
   17301 	Improve the display of apple.com.  innerWidth and innerHeight refer to the size of the visible view and
   17302 	so they do not need to do a layout in order to yield correct values from JS.  Removing this stops an
   17303 	early layout and paint before the apple.com images are typically loaded.
   17304 
   17305 	This is an improvement of the fix for wired.com's FOUC.  For that bug I eliminated the need to ignore pending
   17306 	stylesheets, but now I'm going further and just eliminating the layout all together.  This means that the old
   17307 	updateLayout function can be reverted to how it was before the wired.com fix.
   17308 	
   17309         Reviewed by john
   17310 
   17311         * khtml/ecma/kjs_window.cpp:
   17312         (Window::get):
   17313         (Window::updateLayout):
   17314         * khtml/ecma/kjs_window.h:
   17315 
   17316 2005-05-11  Maciej Stachowiak  <mjs (a] apple.com>
   17317 
   17318         Reviewed by Kevin.
   17319 
   17320 	- split some more individual classes out of htmlediting.cpp
   17321 	(CompositeEditcommand, AppendnodeCommand, ApplyStyleCommand)
   17322 
   17323 	Also moves StyleChange directly into ApplyStyleCommand
   17324 	implementation file, it doesn't need to be in a header at all.
   17325 	
   17326         * WebCore.pbproj/project.pbxproj:
   17327         * khtml/editing/append_node_command.cpp: Added.
   17328         * khtml/editing/append_node_command.h: Added.
   17329         * khtml/editing/apply_style_command.cpp: Added.
   17330         * khtml/editing/apply_style_command.h: Added.
   17331         * khtml/editing/composite_edit_command.cpp: Added.
   17332         * khtml/editing/composite_edit_command.h: Added.
   17333         * khtml/editing/edit_command.cpp: Minor clean-ups.
   17334         * khtml/editing/edit_command.h:
   17335         * khtml/editing/htmlediting.cpp:
   17336         * khtml/editing/htmlediting.h:
   17337 
   17338 2005-05-11  Adele Peterson  <adele (a] apple.com>
   17339 
   17340         Reviewed by Darin.
   17341 
   17342         fix for <rdar://problem/4061979> crash in DOM::ElementImpl::setAttribute at www.nitto-kohki.co.jp
   17343 
   17344         * khtml/html/html_imageimpl.cpp: (HTMLImageLoader::updateFromElement): added a nil check for the document
   17345         * khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::inDocument): added check for document in case the document has been destroyed before the node has been removed.  A lot of code already assumes that if inDocument returns true, a document exists.
   17346  
   17347         * layout-tests/fast/events/onload-re-entry.html: removed alert.
   17348         * layout-tests/fast/events/onload-re-entry-expected.txt: updated.
   17349         * layout-tests/fast/dom/attr_dead_doc-expected.txt: Added.
   17350         * layout-tests/fast/dom/attr_dead_doc.html: Added.
   17351         * layout-tests/fast/dom/resources/apple.gif: Added.
   17352         * layout-tests/fast/dom/resources/mozilla.gif: Added.
   17353         * layout-tests/fast/dom/resources/top.html: Added.
   17354 
   17355 2005-05-10  Maciej Stachowiak  <mjs (a] apple.com>
   17356 
   17357         Reviewed by Kevin.
   17358 
   17359 	- start on splitting htmlediting.cpp into smaller files - pull
   17360 	EditCommand and EditCommandPtr out.
   17361 
   17362         * WebCore.pbproj/project.pbxproj:
   17363         * khtml/editing/edit_command.cpp: Added.
   17364         * khtml/editing/edit_command.h: Added.
   17365         * khtml/editing/htmlediting.cpp: Took EditCommand and EditCommandPtr out.
   17366         * khtml/editing/htmlediting.h: Ditto.
   17367 
   17368 2005-05-10  David Hyatt  <hyatt (a] apple.com>
   17369 
   17370 	Refactor the DOM so that the concept of class/style/id is no longer unique to HTML elements.  This paves the way
   17371 	for SVG and MathML elements to also support these capabilities.  In addition the concept of presentational
   17372 	attributes has also been factored out.
   17373 	
   17374         Reviewed by mjs
   17375 
   17376         * khtml/css/css_ruleimpl.cpp:
   17377         (CSSStyleRuleImpl::setDeclaration):
   17378         * khtml/css/cssstyleselector.cpp:
   17379         (khtml::parseUASheet):
   17380         (khtml::CSSStyleSelector::loadDefaultStyle):
   17381         (khtml::CSSStyleSelector::initElementAndPseudoState):
   17382         (khtml::CSSStyleSelector::canShareStyleWithElement):
   17383         (khtml::CSSStyleSelector::locateSharedStyle):
   17384         (khtml::CSSStyleSelector::styleForElement):
   17385         (khtml::CSSStyleSelector::checkOneSelector):
   17386         * khtml/css/cssstyleselector.h:
   17387         * khtml/html/html_baseimpl.cpp:
   17388         (HTMLBodyElementImpl::parseMappedAttribute):
   17389         (HTMLFrameElementImpl::parseMappedAttribute):
   17390         (HTMLFrameSetElementImpl::parseMappedAttribute):
   17391         (HTMLIFrameElementImpl::parseMappedAttribute):
   17392         * khtml/html/html_baseimpl.h:
   17393         * khtml/html/html_blockimpl.cpp:
   17394         (HTMLDivElementImpl::parseMappedAttribute):
   17395         (HTMLHRElementImpl::parseMappedAttribute):
   17396         (HTMLParagraphElementImpl::parseMappedAttribute):
   17397         (HTMLMarqueeElementImpl::parseMappedAttribute):
   17398         * khtml/html/html_blockimpl.h:
   17399         * khtml/html/html_canvasimpl.cpp:
   17400         (HTMLCanvasElementImpl::parseMappedAttribute):
   17401         * khtml/html/html_canvasimpl.h:
   17402         * khtml/html/html_elementimpl.cpp:
   17403         (HTMLElementImpl::HTMLElementImpl):
   17404         (HTMLElementImpl::~HTMLElementImpl):
   17405         (HTMLElementImpl::mapToEntry):
   17406         (HTMLElementImpl::parseMappedAttribute):
   17407         (HTMLElementImpl::addHTMLAlignment):
   17408         (HTMLElementImpl::setContentEditable):
   17409         (HTMLElementImpl::toString):
   17410         * khtml/html/html_elementimpl.h:
   17411         * khtml/html/html_formimpl.cpp:
   17412         (DOM::HTMLFormElementImpl::parseMappedAttribute):
   17413         (DOM::HTMLGenericFormElementImpl::parseMappedAttribute):
   17414         (DOM::HTMLButtonElementImpl::parseMappedAttribute):
   17415         (DOM::HTMLInputElementImpl::setType):
   17416         (DOM::HTMLInputElementImpl::parseMappedAttribute):
   17417         (DOM::HTMLLabelElementImpl::parseMappedAttribute):
   17418         (DOM::HTMLSelectElementImpl::parseMappedAttribute):
   17419         (DOM::HTMLKeygenElementImpl::parseMappedAttribute):
   17420         (DOM::HTMLOptGroupElementImpl::parseMappedAttribute):
   17421         (DOM::HTMLOptionElementImpl::parseMappedAttribute):
   17422         (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
   17423         (DOM::HTMLIsIndexElementImpl::parseMappedAttribute):
   17424         * khtml/html/html_formimpl.h:
   17425         * khtml/html/html_headimpl.cpp:
   17426         (HTMLBaseElementImpl::parseMappedAttribute):
   17427         (HTMLLinkElementImpl::parseMappedAttribute):
   17428         (HTMLMetaElementImpl::parseMappedAttribute):
   17429         (HTMLStyleElementImpl::parseMappedAttribute):
   17430         * khtml/html/html_headimpl.h:
   17431         * khtml/html/html_imageimpl.cpp:
   17432         (HTMLImageElementImpl::parseMappedAttribute):
   17433         (HTMLMapElementImpl::parseMappedAttribute):
   17434         (HTMLAreaElementImpl::parseMappedAttribute):
   17435         * khtml/html/html_imageimpl.h:
   17436         * khtml/html/html_inlineimpl.cpp:
   17437         (DOM::HTMLAnchorElementImpl::parseMappedAttribute):
   17438         (DOM::HTMLBRElementImpl::parseMappedAttribute):
   17439         (DOM::HTMLFontElementImpl::parseMappedAttribute):
   17440         * khtml/html/html_inlineimpl.h:
   17441         * khtml/html/html_listimpl.cpp:
   17442         (DOM::HTMLUListElementImpl::parseMappedAttribute):
   17443         (DOM::HTMLOListElementImpl::parseMappedAttribute):
   17444         (DOM::HTMLLIElementImpl::parseMappedAttribute):
   17445         * khtml/html/html_listimpl.h:
   17446         * khtml/html/html_objectimpl.cpp:
   17447         (DOM::HTMLAppletElementImpl::parseMappedAttribute):
   17448         (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
   17449         (DOM::HTMLObjectElementImpl::parseMappedAttribute):
   17450         (DOM::HTMLParamElementImpl::parseMappedAttribute):
   17451         * khtml/html/html_objectimpl.h:
   17452         * khtml/html/html_tableimpl.cpp:
   17453         (DOM::HTMLTableElementImpl::parseMappedAttribute):
   17454         (DOM::HTMLTableElementImpl::additionalAttributeStyleDecl):
   17455         (DOM::HTMLTableElementImpl::getSharedCellDecl):
   17456         (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
   17457         (DOM::HTMLTableCellElementImpl::parseMappedAttribute):
   17458         (DOM::HTMLTableColElementImpl::parseMappedAttribute):
   17459         (DOM::HTMLTableCaptionElementImpl::parseMappedAttribute):
   17460         * khtml/html/html_tableimpl.h:
   17461         * khtml/html/htmltokenizer.h:
   17462         (khtml::Token::addAttribute):
   17463         * khtml/misc/htmlattrs.in:
   17464         * khtml/misc/htmltags.in:
   17465         * khtml/xml/dom_docimpl.cpp:
   17466         (DocumentImpl::createAttribute):
   17467         (DocumentImpl::createElementNS):
   17468         (DocumentImpl::createHTMLElement):
   17469         * khtml/xml/dom_elementimpl.cpp:
   17470         (XMLElementImpl::cloneNode):
   17471         (NamedAttrMapImpl::isMappedAttributeMap):
   17472         (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
   17473         (StyledElementImpl::getMappedAttributeDecl):
   17474         (StyledElementImpl::setMappedAttributeDecl):
   17475         (StyledElementImpl::removeMappedAttributeDecl):
   17476         (StyledElementImpl::invalidateStyleAttribute):
   17477         (StyledElementImpl::updateStyleAttributeIfNeeded):
   17478         (MappedAttributeImpl::~MappedAttributeImpl):
   17479         (MappedAttributeImpl::clone):
   17480         (m_mappedAttributeCount):
   17481         (NamedMappedAttrMapImpl::clearAttributes):
   17482         (NamedMappedAttrMapImpl::isMappedAttributeMap):
   17483         (NamedMappedAttrMapImpl::declCount):
   17484         (NamedMappedAttrMapImpl::mapsEquivalent):
   17485         (NamedMappedAttrMapImpl::parseClassAttribute):
   17486         (StyledElementImpl::StyledElementImpl):
   17487         (StyledElementImpl::~StyledElementImpl):
   17488         (StyledElementImpl::createAttribute):
   17489         (StyledElementImpl::createInlineStyleDecl):
   17490         (StyledElementImpl::destroyInlineStyleDecl):
   17491         (StyledElementImpl::attributeChanged):
   17492         (StyledElementImpl::mapToEntry):
   17493         (StyledElementImpl::parseMappedAttribute):
   17494         (StyledElementImpl::createAttributeMap):
   17495         (StyledElementImpl::getInlineStyleDecl):
   17496         (StyledElementImpl::style):
   17497         (StyledElementImpl::additionalAttributeStyleDecl):
   17498         (StyledElementImpl::getClassList):
   17499         (isHexDigit):
   17500         (toHex):
   17501         (StyledElementImpl::addCSSProperty):
   17502         (StyledElementImpl::addCSSStringProperty):
   17503         (StyledElementImpl::addCSSImageProperty):
   17504         (StyledElementImpl::addCSSLength):
   17505         (StyledElementImpl::addCSSColor):
   17506         (StyledElementImpl::createMappedDecl):
   17507         * khtml/xml/dom_elementimpl.h:
   17508         (DOM::):
   17509         (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl):
   17510         (DOM::CSSMappedAttributeDeclarationImpl::setMappedState):
   17511         (DOM::MappedAttributeImpl::MappedAttributeImpl):
   17512         (DOM::MappedAttributeImpl::decl):
   17513         (DOM::MappedAttributeImpl::setDecl):
   17514         (DOM::NamedMappedAttrMapImpl::getClassList):
   17515         (DOM::NamedMappedAttrMapImpl::hasMappedAttributes):
   17516         (DOM::NamedMappedAttrMapImpl::declRemoved):
   17517         (DOM::NamedMappedAttrMapImpl::declAdded):
   17518         (DOM::NamedMappedAttrMapImpl::attributeItem):
   17519         (DOM::StyledElementImpl::isStyledElement):
   17520         (DOM::StyledElementImpl::hasMappedAttributes):
   17521         (DOM::StyledElementImpl::mappedAttributes):
   17522         (DOM::StyledElementImpl::isMappedAttribute):
   17523         (DOM::StyledElementImpl::inlineStyleDecl):
   17524         * khtml/xml/dom_nodeimpl.h:
   17525         (DOM::NodeImpl::isStyledElement):
   17526 
   17527 2005-05-10  Darin Adler  <darin (a] apple.com>
   17528 
   17529         Reviewed by Dave Hyatt.
   17530         No new layout tests needed.
   17531 
   17532         - remove all remaining uses of QMIN/QMAX and KMIN/KMAX.
   17533 
   17534         * kwq/KWQDef.h: Remove the macros.
   17535 
   17536         Remove all use of the macros (and fix a few compile errors by changing the types of
   17537         some integer and floating point constants).
   17538 
   17539         * khtml/css/cssparser.cpp:
   17540         (CSSParser::parseColorFromValue):
   17541         * khtml/css/cssstyleselector.cpp:
   17542         (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
   17543         * khtml/html/html_elementimpl.cpp:
   17544         (HTMLElementImpl::addHTMLColor):
   17545         * khtml/html/html_formimpl.cpp:
   17546         (DOM::HTMLSelectElementImpl::parseHTMLAttribute):
   17547         * khtml/html/htmltokenizer.cpp:
   17548         (khtml::HTMLTokenizer::parseComment):
   17549         * khtml/rendering/render_block.cpp:
   17550         (khtml::RenderBlock::nearestFloatBottom):
   17551         (khtml::RenderBlock::calcMinMaxWidth):
   17552         * khtml/rendering/render_flow.cpp:
   17553         (RenderFlow::paintOutlineForLine):
   17554         * khtml/rendering/render_form.cpp:
   17555         (RenderLineEdit::calcMinMaxWidth):
   17556         (RenderFieldset::layoutLegend):
   17557         (RenderFileButton::calcMinMaxWidth):
   17558         (RenderSelect::layout):
   17559         (RenderTextArea::calcMinMaxWidth):
   17560         * khtml/rendering/render_object.cpp:
   17561         (RenderObject::drawBorder):
   17562         * khtml/rendering/render_replaced.cpp:
   17563         (RenderWidget::resizeWidget):
   17564         * khtml/rendering/render_table.cpp:
   17565         (RenderTableSection::layoutRows):
   17566         * khtml/rendering/table_layout.cpp:
   17567         (AutoTableLayout::recalcColumn):
   17568         (AutoTableLayout::calcEffectiveWidth):
   17569 
   17570 2005-05-10  Darin Adler  <darin (a] apple.com>
   17571 
   17572         Reviewed by Chris Blumenberg.
   17573 
   17574         - next pass of moving code from C++ DOM wrappers into the DOM impl. classes
   17575           (this step adds still more member functions missing from the DOM impl. and
   17576            changes some of the C++ and Objective-C DOM to call the new ones; also
   17577            changes various places that use the C++ DOM to use the DOM impl. instead)
   17578 
   17579         * khtml/css/css_computedstyle.cpp:
   17580         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   17581         * khtml/css/css_computedstyle.h:
   17582         * khtml/css/css_stylesheetimpl.cpp:
   17583         (CSSStyleSheetImpl::cssRules):
   17584         * khtml/css/css_stylesheetimpl.h:
   17585         * khtml/css/css_valueimpl.cpp:
   17586         (DOM::CSSStyleDeclarationImpl::getPropertyCSSValue):
   17587         (DOM::CSSStyleDeclarationImpl::getPropertyValue):
   17588         (DOM::CSSStyleDeclarationImpl::getPropertyPriority):
   17589         (DOM::CSSStyleDeclarationImpl::setProperty):
   17590         (DOM::CSSStyleDeclarationImpl::removeProperty):
   17591         (DOM::CSSMutableStyleDeclarationImpl::getPropertyValue):
   17592         (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
   17593         (DOM::operator==):
   17594         (DOM::CSSStyleDeclarationImpl::propertyID):
   17595         * khtml/css/css_valueimpl.h:
   17596         (DOM::CSSValueImpl::setCssText):
   17597         (DOM::CSSPrimitiveValueImpl::getDashboardRegionValue):
   17598         * khtml/dom/css_rule.cpp:
   17599         * khtml/dom/css_rule.h:
   17600         * khtml/dom/css_stylesheet.h:
   17601         (DOM::CSSException::):
   17602         * khtml/dom/css_value.cpp:
   17603         (DOM::CSSStyleDeclaration::getPropertyValue):
   17604         (DOM::CSSStyleDeclaration::getPropertyCSSValue):
   17605         (DOM::CSSStyleDeclaration::removeProperty):
   17606         (DOM::CSSStyleDeclaration::getPropertyPriority):
   17607         (DOM::CSSStyleDeclaration::setProperty):
   17608         * khtml/dom/css_value.h:
   17609         * khtml/dom/dom2_events.cpp:
   17610         (EventListener::handleEvent):
   17611         * khtml/dom/dom2_events.h:
   17612         * khtml/dom/dom2_traversal.h:
   17613         * khtml/dom/dom_doc.cpp:
   17614         (DOM::DOMImplementation::createHTMLDocument):
   17615         (DOM::DOMImplementation::createCSSStyleSheet):
   17616         (DOM::Document::doctype):
   17617         (DOM::Document::createAttribute):
   17618         (DOM::Document::createAttributeNS):
   17619         (DOM::Document::queryCommandValue):
   17620         (DOM::Document::handle):
   17621         * khtml/dom/dom_doc.h:
   17622         * khtml/dom/dom_element.cpp:
   17623         (Attr::name):
   17624         (Attr::value):
   17625         (Element::getAttribute):
   17626         (Element::setAttribute):
   17627         (Element::removeAttribute):
   17628         (Element::getAttributeNode):
   17629         (Element::setAttributeNode):
   17630         (Element::removeAttributeNode):
   17631         (Element::getElementsByTagName):
   17632         (Element::getElementsByTagNameNS):
   17633         (Element::getAttributeNS):
   17634         (Element::setAttributeNS):
   17635         (Element::removeAttributeNS):
   17636         (Element::getAttributeNodeNS):
   17637         (Element::setAttributeNodeNS):
   17638         (Element::hasAttribute):
   17639         (Element::hasAttributeNS):
   17640         (Element::style):
   17641         * khtml/dom/dom_exception.h:
   17642         * khtml/dom/dom_misc.cpp:
   17643         (DOM::DomShared::deleteMe):
   17644         * khtml/dom/dom_misc.h:
   17645         (DOM::DomShared::deleteMe):
   17646         * khtml/dom/dom_node.cpp:
   17647         (NamedNodeMap::getNamedItemNS):
   17648         (NamedNodeMap::setNamedItemNS):
   17649         (NamedNodeMap::removeNamedItemNS):
   17650         (Node::ownerDocument):
   17651         (Node::hasAttributes):
   17652         (Node::isSupported):
   17653         (Node::addEventListener):
   17654         (Node::removeEventListener):
   17655         * khtml/dom/dom_node.h:
   17656         * khtml/dom/html_document.cpp:
   17657         (HTMLDocument::setTitle):
   17658         (HTMLDocument::completeURL):
   17659         (HTMLDocument::getElementsByName):
   17660         * khtml/dom/html_element.cpp:
   17661         (HTMLElement::setInnerHTML):
   17662         (HTMLElement::setInnerText):
   17663         (HTMLElement::setOuterHTML):
   17664         (HTMLElement::setOuterText):
   17665         * khtml/dom/html_form.cpp:
   17666         (HTMLLabelElement::form):
   17667         (HTMLSelectElement::setValue):
   17668         (HTMLSelectElement::options):
   17669         (HTMLOptionElement::setValue):
   17670         * khtml/dom/html_inline.cpp:
   17671         (HTMLAnchorElement::accessKey):
   17672         (HTMLAnchorElement::setAccessKey):
   17673         (HTMLAnchorElement::charset):
   17674         (HTMLAnchorElement::setCharset):
   17675         (HTMLAnchorElement::coords):
   17676         (HTMLAnchorElement::setCoords):
   17677         (HTMLAnchorElement::href):
   17678         (HTMLAnchorElement::setHref):
   17679         (HTMLAnchorElement::hreflang):
   17680         (HTMLAnchorElement::setHreflang):
   17681         (HTMLAnchorElement::name):
   17682         (HTMLAnchorElement::setName):
   17683         (HTMLAnchorElement::rel):
   17684         (HTMLAnchorElement::setRel):
   17685         (HTMLAnchorElement::rev):
   17686         (HTMLAnchorElement::setRev):
   17687         (HTMLAnchorElement::shape):
   17688         (HTMLAnchorElement::setShape):
   17689         (HTMLAnchorElement::tabIndex):
   17690         (HTMLAnchorElement::setTabIndex):
   17691         (HTMLAnchorElement::target):
   17692         (HTMLAnchorElement::setTarget):
   17693         (HTMLAnchorElement::type):
   17694         (HTMLAnchorElement::setType):
   17695         (HTMLAnchorElement::blur):
   17696         (HTMLAnchorElement::focus):
   17697         (HTMLBRElement::clear):
   17698         (HTMLBRElement::setClear):
   17699         (HTMLFontElement::color):
   17700         (HTMLFontElement::setColor):
   17701         (HTMLFontElement::face):
   17702         (HTMLFontElement::setFace):
   17703         (HTMLFontElement::size):
   17704         (HTMLFontElement::setSize):
   17705         (HTMLModElement::cite):
   17706         (HTMLModElement::setCite):
   17707         (HTMLModElement::dateTime):
   17708         (HTMLModElement::setDateTime):
   17709         (HTMLQuoteElement::cite):
   17710         (HTMLQuoteElement::setCite):
   17711         * khtml/dom/html_misc.cpp:
   17712         (HTMLCollection::HTMLCollection):
   17713         (HTMLCollection::base):
   17714         (HTMLCollection::namedItems):
   17715         * khtml/dom/html_misc.h:
   17716         * khtml/editing/htmlediting.cpp:
   17717         * khtml/editing/selection.cpp:
   17718         * khtml/html/html_documentimpl.cpp:
   17719         (DOM::HTMLDocumentImpl::determineParseMode):
   17720         (DOM::HTMLDocumentImpl::doctype):
   17721         * khtml/html/html_documentimpl.h:
   17722         * khtml/html/html_elementimpl.cpp:
   17723         (HTMLElementImpl::setInnerHTML):
   17724         (HTMLElementImpl::setOuterHTML):
   17725         (HTMLElementImpl::setInnerText):
   17726         (HTMLElementImpl::setOuterText):
   17727         (HTMLElementImpl::style):
   17728         (HTMLElementImpl::idDOM):
   17729         (HTMLElementImpl::setId):
   17730         (HTMLElementImpl::title):
   17731         (HTMLElementImpl::setTitle):
   17732         (HTMLElementImpl::lang):
   17733         (HTMLElementImpl::setLang):
   17734         (HTMLElementImpl::dir):
   17735         (HTMLElementImpl::setDir):
   17736         (HTMLElementImpl::className):
   17737         (HTMLElementImpl::setClassName):
   17738         (HTMLElementImpl::children):
   17739         (HTMLGenericElementImpl::HTMLGenericElementImpl):
   17740         (HTMLGenericElementImpl::id):
   17741         * khtml/html/html_elementimpl.h:
   17742         (DOM::HTMLElementImpl::isGenericFormElement):
   17743         * khtml/html/html_formimpl.cpp:
   17744         (DOM::HTMLFormElementImpl::parseEnctype):
   17745         (DOM::HTMLFormElementImpl::parseHTMLAttribute):
   17746         (DOM::HTMLFormElementImpl::elements):
   17747         (DOM::HTMLFormElementImpl::name):
   17748         (DOM::HTMLFormElementImpl::setName):
   17749         (DOM::HTMLFormElementImpl::acceptCharset):
   17750         (DOM::HTMLFormElementImpl::setAcceptCharset):
   17751         (DOM::HTMLFormElementImpl::action):
   17752         (DOM::HTMLFormElementImpl::setAction):
   17753         (DOM::HTMLFormElementImpl::setEnctype):
   17754         (DOM::HTMLFormElementImpl::method):
   17755         (DOM::HTMLFormElementImpl::setMethod):
   17756         (DOM::HTMLFormElementImpl::target):
   17757         (DOM::HTMLFormElementImpl::setTarget):
   17758         (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
   17759         (DOM::HTMLGenericFormElementImpl::~HTMLGenericFormElementImpl):
   17760         (DOM::HTMLGenericFormElementImpl::parseHTMLAttribute):
   17761         (DOM::HTMLGenericFormElementImpl::name):
   17762         (DOM::HTMLGenericFormElementImpl::setName):
   17763         (DOM::HTMLGenericFormElementImpl::setOverrideName):
   17764         (DOM::HTMLGenericFormElementImpl::setDisabled):
   17765         (DOM::HTMLGenericFormElementImpl::setReadOnly):
   17766         (DOM::HTMLGenericFormElementImpl::tabIndex):
   17767         (DOM::HTMLGenericFormElementImpl::setTabIndex):
   17768         (DOM::HTMLButtonElementImpl::accessKey):
   17769         (DOM::HTMLButtonElementImpl::setAccessKey):
   17770         (DOM::HTMLButtonElementImpl::value):
   17771         (DOM::HTMLButtonElementImpl::setValue):
   17772         (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
   17773         (DOM::HTMLInputElementImpl::parseHTMLAttribute):
   17774         (DOM::HTMLInputElementImpl::defaultValue):
   17775         (DOM::HTMLInputElementImpl::setDefaultValue):
   17776         (DOM::HTMLInputElementImpl::defaultChecked):
   17777         (DOM::HTMLInputElementImpl::setDefaultChecked):
   17778         (DOM::HTMLInputElementImpl::accept):
   17779         (DOM::HTMLInputElementImpl::setAccept):
   17780         (DOM::HTMLInputElementImpl::accessKey):
   17781         (DOM::HTMLInputElementImpl::setAccessKey):
   17782         (DOM::HTMLInputElementImpl::align):
   17783         (DOM::HTMLInputElementImpl::setAlign):
   17784         (DOM::HTMLInputElementImpl::alt):
   17785         (DOM::HTMLInputElementImpl::setAlt):
   17786         (DOM::HTMLInputElementImpl::setMaxLength):
   17787         (DOM::HTMLInputElementImpl::sizeDOM):
   17788         (DOM::HTMLInputElementImpl::setSize):
   17789         (DOM::HTMLInputElementImpl::src):
   17790         (DOM::HTMLInputElementImpl::setSrc):
   17791         (DOM::HTMLInputElementImpl::useMap):
   17792         (DOM::HTMLInputElementImpl::setUseMap):
   17793         (DOM::HTMLLabelElementImpl::form):
   17794         (DOM::HTMLLabelElementImpl::accessKey):
   17795         (DOM::HTMLLabelElementImpl::setAccessKey):
   17796         (DOM::HTMLLabelElementImpl::htmlFor):
   17797         (DOM::HTMLLabelElementImpl::setHtmlFor):
   17798         (DOM::HTMLLegendElementImpl::accessKey):
   17799         (DOM::HTMLLegendElementImpl::setAccessKey):
   17800         (DOM::HTMLLegendElementImpl::align):
   17801         (DOM::HTMLLegendElementImpl::setAlign):
   17802         (DOM::HTMLSelectElementImpl::setValue):
   17803         (DOM::HTMLSelectElementImpl::optionsHTMLCollection):
   17804         (DOM::HTMLSelectElementImpl::setMultiple):
   17805         (DOM::HTMLSelectElementImpl::setSize):
   17806         (DOM::HTMLOptGroupElementImpl::label):
   17807         (DOM::HTMLOptGroupElementImpl::setLabel):
   17808         (DOM::HTMLOptionElementImpl::setText):
   17809         (DOM::HTMLOptionElementImpl::setIndex):
   17810         (DOM::HTMLOptionElementImpl::setValue):
   17811         (DOM::HTMLOptionElementImpl::defaultSelected):
   17812         (DOM::HTMLOptionElementImpl::setDefaultSelected):
   17813         (DOM::HTMLOptionElementImpl::label):
   17814         (DOM::HTMLOptionElementImpl::setLabel):
   17815         (DOM::HTMLTextAreaElementImpl::accessKey):
   17816         (DOM::HTMLTextAreaElementImpl::setAccessKey):
   17817         (DOM::HTMLTextAreaElementImpl::setCols):
   17818         (DOM::HTMLTextAreaElementImpl::setRows):
   17819         (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
   17820         (DOM::HTMLIsIndexElementImpl::parseHTMLAttribute):
   17821         (DOM::HTMLIsIndexElementImpl::prompt):
   17822         (DOM::HTMLIsIndexElementImpl::setPrompt):
   17823         * khtml/html/html_formimpl.h:
   17824         * khtml/html/html_headimpl.cpp:
   17825         (HTMLBaseElementImpl::setHref):
   17826         (HTMLBaseElementImpl::setTarget):
   17827         (HTMLLinkElementImpl::disabled):
   17828         (HTMLLinkElementImpl::setDisabled):
   17829         (HTMLLinkElementImpl::charset):
   17830         (HTMLLinkElementImpl::setCharset):
   17831         (HTMLLinkElementImpl::href):
   17832         (HTMLLinkElementImpl::setHref):
   17833         (HTMLLinkElementImpl::hreflang):
   17834         (HTMLLinkElementImpl::setHreflang):
   17835         (HTMLLinkElementImpl::media):
   17836         (HTMLLinkElementImpl::setMedia):
   17837         (HTMLLinkElementImpl::rel):
   17838         (HTMLLinkElementImpl::setRel):
   17839         (HTMLLinkElementImpl::rev):
   17840         (HTMLLinkElementImpl::setRev):
   17841         (HTMLLinkElementImpl::target):
   17842         (HTMLLinkElementImpl::setTarget):
   17843         (HTMLLinkElementImpl::type):
   17844         (HTMLLinkElementImpl::setType):
   17845         (HTMLMetaElementImpl::content):
   17846         (HTMLMetaElementImpl::setContent):
   17847         (HTMLMetaElementImpl::httpEquiv):
   17848         (HTMLMetaElementImpl::setHttpEquiv):
   17849         (HTMLMetaElementImpl::name):
   17850         (HTMLMetaElementImpl::setName):
   17851         (HTMLMetaElementImpl::scheme):
   17852         (HTMLMetaElementImpl::setScheme):
   17853         (HTMLScriptElementImpl::id):
   17854         (HTMLScriptElementImpl::isURLAttribute):
   17855         (HTMLScriptElementImpl::insertedIntoDocument):
   17856         (HTMLScriptElementImpl::notifyFinished):
   17857         (HTMLScriptElementImpl::text):
   17858         (HTMLScriptElementImpl::setText):
   17859         (HTMLScriptElementImpl::htmlFor):
   17860         (HTMLScriptElementImpl::setHtmlFor):
   17861         (HTMLScriptElementImpl::event):
   17862         (HTMLScriptElementImpl::setEvent):
   17863         (HTMLScriptElementImpl::charset):
   17864         (HTMLScriptElementImpl::setCharset):
   17865         (HTMLScriptElementImpl::defer):
   17866         (HTMLScriptElementImpl::setDefer):
   17867         (HTMLScriptElementImpl::src):
   17868         (HTMLScriptElementImpl::setSrc):
   17869         (HTMLScriptElementImpl::type):
   17870         (HTMLScriptElementImpl::setType):
   17871         (HTMLStyleElementImpl::disabled):
   17872         (HTMLStyleElementImpl::setDisabled):
   17873         (HTMLStyleElementImpl::media):
   17874         (HTMLStyleElementImpl::setMedia):
   17875         (HTMLStyleElementImpl::type):
   17876         (HTMLStyleElementImpl::setType):
   17877         (HTMLTitleElementImpl::insertedIntoDocument):
   17878         (HTMLTitleElementImpl::childrenChanged):
   17879         (HTMLTitleElementImpl::text):
   17880         (HTMLTitleElementImpl::setText):
   17881         * khtml/html/html_headimpl.h:
   17882         * khtml/html/html_miscimpl.cpp:
   17883         (DOM::HTMLBaseFontElementImpl::id):
   17884         (DOM::HTMLBaseFontElementImpl::color):
   17885         (DOM::HTMLBaseFontElementImpl::setColor):
   17886         (DOM::HTMLBaseFontElementImpl::face):
   17887         (DOM::HTMLBaseFontElementImpl::setFace):
   17888         (DOM::HTMLBaseFontElementImpl::size):
   17889         (DOM::HTMLBaseFontElementImpl::setSize):
   17890         (DOM::HTMLCollectionImpl::HTMLCollectionImpl):
   17891         (DOM::HTMLCollectionImpl::~HTMLCollectionImpl):
   17892         (DOM::HTMLCollectionImpl::resetCollectionInfo):
   17893         (DOM::HTMLCollectionImpl::traverseNextItem):
   17894         (DOM::HTMLCollectionImpl::calcLength):
   17895         (DOM::HTMLCollectionImpl::item):
   17896         (DOM::HTMLCollectionImpl::namedItem):
   17897         (DOM::HTMLCollectionImpl::updateNameCache):
   17898         (DOM::HTMLCollectionImpl::namedItems):
   17899         (DOM::HTMLCollectionImpl::nextNamedItem):
   17900         (DOM::HTMLFormCollectionImpl::HTMLFormCollectionImpl):
   17901         (DOM::HTMLFormCollectionImpl::calcLength):
   17902         (DOM::HTMLFormCollectionImpl::item):
   17903         (DOM::HTMLFormCollectionImpl::getNamedFormItem):
   17904         (DOM::HTMLFormCollectionImpl::nextNamedItemInternal):
   17905         (DOM::HTMLFormCollectionImpl::namedItem):
   17906         (DOM::HTMLFormCollectionImpl::updateNameCache):
   17907         * khtml/html/html_miscimpl.h:
   17908         (DOM::HTMLCollectionImpl::base):
   17909         * khtml/html/htmlparser.cpp:
   17910         (KHTMLParser::parseToken):
   17911         (KHTMLParser::insertNode):
   17912         * khtml/html/htmltokenizer.cpp:
   17913         (khtml::HTMLTokenizer::scriptExecution):
   17914         * khtml/khtml_events.cpp:
   17915         (khtml::MouseEvent::MouseEvent):
   17916         (khtml::MouseEvent::offset):
   17917         * khtml/khtml_events.h:
   17918         (khtml::MouseEvent::innerNode):
   17919         (khtml::MousePressEvent::MousePressEvent):
   17920         (khtml::MouseDoubleClickEvent::MouseDoubleClickEvent):
   17921         (khtml::MouseMoveEvent::MouseMoveEvent):
   17922         (khtml::MouseReleaseEvent::MouseReleaseEvent):
   17923         * khtml/khtml_part.cpp:
   17924         (KHTMLPart::closeURL):
   17925         (KHTMLPart::executeScript):
   17926         (KHTMLPart::scheduleScript):
   17927         (KHTMLPart::executeScheduledScript):
   17928         (KHTMLPart::clear):
   17929         (KHTMLPart::selectClosestWordFromMouseEvent):
   17930         (KHTMLPart::handleMousePressEventDoubleClick):
   17931         (KHTMLPart::handleMousePressEventTripleClick):
   17932         (KHTMLPart::handleMousePressEventSingleClick):
   17933         (KHTMLPart::khtmlMousePressEvent):
   17934         (KHTMLPart::handleMouseMoveEventDrag):
   17935         (KHTMLPart::handleMouseMoveEventOver):
   17936         (KHTMLPart::handleMouseMoveEventSelection):
   17937         (KHTMLPart::khtmlMouseReleaseEvent):
   17938         (KHTMLPart::selectionHasStyle):
   17939         (KHTMLPart::selectionStartHasStyle):
   17940         * khtml/khtml_part.h:
   17941         * khtml/khtmlpart_p.h:
   17942         * khtml/khtmlview.cpp:
   17943         (KHTMLViewPrivate::reset):
   17944         (KHTMLView::viewportMousePressEvent):
   17945         (KHTMLView::viewportMouseDoubleClickEvent):
   17946         (KHTMLView::contentsContextMenuEvent):
   17947         (KHTMLView::updateDragAndDrop):
   17948         (KHTMLView::cancelDragAndDrop):
   17949         (KHTMLView::performDragAndDrop):
   17950         (KHTMLView::focusNextPrevNode):
   17951         * kwq/DOM-CSS.mm:
   17952         (-[DOMCSSStyleSheet cssRules]):
   17953         (-[DOMCSSStyleDeclaration getPropertyValue:]):
   17954         (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
   17955         (-[DOMCSSStyleDeclaration removeProperty:]):
   17956         (-[DOMCSSStyleDeclaration getPropertyPriority:]):
   17957         (-[DOMCSSStyleDeclaration setProperty:::]):
   17958         (-[DOMCSSValue setCssText:]):
   17959         * kwq/DOMCSS.h:
   17960         * kwq/DOMHTML.mm:
   17961         (-[DOMHTMLElement setInnerHTML:]):
   17962         (-[DOMHTMLElement setOuterHTML:]):
   17963         (-[DOMHTMLElement setInnerText:]):
   17964         (-[DOMHTMLElement setOuterText:]):
   17965         (-[DOMHTMLSelectElement setLength:]):
   17966         (-[DOMHTMLTableSectionElement insertRow:]):
   17967         * kwq/DOMInternal.h:
   17968         * kwq/DOMInternal.mm:
   17969         (raiseDOMException):
   17970         (-[WebScriptObject _initializeScriptDOMNodeImp]):
   17971         * kwq/DOMUtility.mm:
   17972         (KJS::ScriptInterpreter::createObjcInstanceForValue):
   17973         * kwq/KWQAccObject.mm:
   17974         (-[KWQAccObject accessibilityAttributeValue:]):
   17975         * kwq/KWQKHTMLPart.h:
   17976         * kwq/KWQKHTMLPart.mm:
   17977         (KWQKHTMLPart::KWQKHTMLPart):
   17978         (KWQKHTMLPart::advanceToNextMisspelling):
   17979         (KWQKHTMLPart::scrollOverflow):
   17980         (KWQKHTMLPart::paint):
   17981         (KWQKHTMLPart::openURLFromPageCache):
   17982         (KWQKHTMLPart::khtmlMousePressEvent):
   17983         (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
   17984         (KWQKHTMLPart::dispatchDragSrcEvent):
   17985         (KWQKHTMLPart::eventMayStartDrag):
   17986         (KWQKHTMLPart::khtmlMouseMoveEvent):
   17987         (KWQKHTMLPart::dragSourceEndedAt):
   17988         (KWQKHTMLPart::mouseDown):
   17989         (KWQKHTMLPart::sendContextMenuEvent):
   17990         (listParent):
   17991         (isTextFirstInListItem):
   17992         (KWQKHTMLPart::attributedString):
   17993         (KWQKHTMLPart::snapshotDragImage):
   17994         (KWQKHTMLPart::mousePressNode):
   17995         * kwq/WebCoreBridge.mm:
   17996         (updateRenderingForBindings):
   17997         (-[WebCoreBridge _documentTypeString]):
   17998 
   17999 2005-05-10  Maciej Stachowiak  <mjs (a] apple.com>
   18000 
   18001         Reviewed by John.
   18002 
   18003 	- rename hasAnchor method to isLink
   18004 
   18005         * khtml/css/cssstyleselector.cpp:
   18006         (khtml::checkPseudoState):
   18007         (khtml::CSSStyleSelector::canShareStyleWithElement):
   18008         (khtml::CSSStyleSelector::styleForElement):
   18009         (khtml::CSSStyleSelector::checkOneSelector):
   18010         * khtml/editing/htmlediting.cpp:
   18011         (khtml::isSpecialElement):
   18012         * khtml/html/html_imageimpl.cpp:
   18013         (HTMLImageElementImpl::parseHTMLAttribute):
   18014         * khtml/html/html_inlineimpl.cpp:
   18015         (DOM::HTMLAnchorElementImpl::isFocusable):
   18016         (DOM::HTMLAnchorElementImpl::defaultEventHandler):
   18017         (DOM::HTMLAnchorElementImpl::parseHTMLAttribute):
   18018         * khtml/rendering/render_flexbox.cpp:
   18019         (khtml::RenderFlexibleBox::layoutVerticalBox):
   18020         * khtml/rendering/render_layer.cpp:
   18021         (RenderLayer::hitTest):
   18022         * khtml/rendering/render_object.cpp:
   18023         (RenderObject::information):
   18024         * khtml/xml/dom_nodeimpl.cpp:
   18025         (NodeImpl::NodeImpl):
   18026         * khtml/xml/dom_nodeimpl.h:
   18027         (DOM::NodeImpl::isLink):
   18028         * kwq/KWQAccObject.mm:
   18029         (-[KWQAccObject anchorElement]):
   18030         (-[KWQAccObject addChildrenToArray:]):
   18031         (-[KWQAccObject role]):
   18032         (-[KWQAccObject title]):
   18033         (-[KWQAccObject accessibilityIsIgnored]):
   18034         (-[KWQAccObject accessibilityAttributeNames]):
   18035         (-[KWQAccObject accessibilityAttributeValue:]):
   18036         * kwq/KWQKHTMLPart.mm:
   18037         (KWQKHTMLPart::khtmlMouseMoveEvent):
   18038 
   18039 2005-05-09  Maciej Stachowiak  <mjs (a] apple.com>
   18040 
   18041         Reviewed by John.
   18042 
   18043 	- remove init hint argument from VisiblePosition 
   18044 
   18045         * khtml/editing/visible_position.cpp:
   18046         (khtml::VisiblePosition::VisiblePosition):
   18047         (khtml::VisiblePosition::init):
   18048         * khtml/editing/visible_position.h:
   18049         * khtml/editing/visible_units.cpp:
   18050         (khtml::previousBoundary):
   18051         (khtml::nextBoundary):
   18052         * khtml/xml/dom_docimpl.cpp:
   18053         (DocumentImpl::updateSelection):
   18054         * kwq/KWQKHTMLPart.mm:
   18055         (KWQKHTMLPart::styleForSelectionStart):
   18056         * kwq/WebCoreBridge.mm:
   18057         (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]):
   18058 
   18059 2005-05-10  Darin Adler  <darin (a] apple.com>
   18060 
   18061         Reviewed by David Harrison.
   18062 
   18063         - next pass of moving code from C++ DOM wrappers into the DOM impl. classes
   18064           (this step adds more member functions missing from the DOM impl. and
   18065            changes some of the Objective-C DOM to call the new ones; also changes some
   18066            parameter types in the DOM impl.)
   18067 
   18068         * khtml/dom/dom2_events.cpp:
   18069         (UIEvent::initUIEvent):
   18070         (MouseEvent::initMouseEvent):
   18071         (MutationEvent::initMutationEvent):
   18072         (KeyboardEvent::initKeyboardEvent):
   18073         * khtml/dom/dom_doc.cpp:
   18074         (DOM::DOMImplementation::createDocument):
   18075         (DOM::Document::getElementsByTagName):
   18076         (DOM::Document::getElementsByTagNameNS):
   18077         * khtml/dom/dom_element.cpp:
   18078         (Element::removeAttributeNode):
   18079         (Element::getElementsByTagName):
   18080         (Element::getElementsByTagNameNS):
   18081         (Element::setAttributeNodeNS):
   18082         * khtml/dom/dom_node.cpp:
   18083         (NamedNodeMap::setNamedItemNS):
   18084         (NamedNodeMap::removeNamedItemNS):
   18085         * khtml/ecma/kjs_binding.cpp:
   18086         * khtml/ecma/kjs_events.cpp:
   18087         (ClipboardProtoFunc::tryCall):
   18088         * khtml/editing/jsediting.cpp:
   18089         * khtml/khtml_part.cpp:
   18090         (KHTMLPart::applyEditingStyleToBodyElement):
   18091         (KHTMLPart::removeEditingStyleFromBodyElement):
   18092         * khtml/khtmlview.cpp:
   18093         (KHTMLView::viewportMousePressEvent):
   18094         (KHTMLView::viewportMouseDoubleClickEvent):
   18095         (KHTMLView::viewportMouseMoveEvent):
   18096         (KHTMLView::viewportMouseReleaseEvent):
   18097         (KHTMLView::updateDragAndDrop):
   18098         (KHTMLView::dispatchMouseEvent):
   18099         * khtml/misc/shared.h:
   18100         (khtml::SharedPtr::reset):
   18101         (khtml::::operator):
   18102         (khtml::static_pointer_cast):
   18103         (khtml::const_pointer_cast):
   18104         * khtml/xml/dom2_eventsimpl.cpp:
   18105         (UIEventImpl::initUIEvent):
   18106         (UIEventImpl::keyCode):
   18107         (UIEventImpl::charCode):
   18108         (UIEventImpl::layerX):
   18109         (UIEventImpl::layerY):
   18110         (UIEventImpl::pageX):
   18111         (UIEventImpl::pageY):
   18112         (UIEventImpl::which):
   18113         (MouseRelatedEventImpl::pageX):
   18114         (MouseRelatedEventImpl::pageY):
   18115         (MouseEventImpl::initMouseEvent):
   18116         (MouseEventImpl::which):
   18117         (KeyboardEventImpl::initKeyboardEvent):
   18118         (KeyboardEventImpl::which):
   18119         (MutationEventImpl::MutationEventImpl):
   18120         (MutationEventImpl::initMutationEvent):
   18121         * khtml/xml/dom2_eventsimpl.h:
   18122         (DOM::MutationEventImpl::relatedNode):
   18123         * khtml/xml/dom2_rangeimpl.h:
   18124         * khtml/xml/dom2_traversalimpl.cpp:
   18125         (DOM::NodeFilterImpl::acceptNode):
   18126         * khtml/xml/dom2_traversalimpl.h:
   18127         * khtml/xml/dom_docimpl.cpp:
   18128         (DOMImplementationImpl::createDocument):
   18129         (DOMImplementationImpl::createCSSStyleSheet):
   18130         (DOMImplementationImpl::createHTMLDocument):
   18131         (DocumentImpl::createAttribute):
   18132         (DocumentImpl::createHTMLElement):
   18133         (DocumentImpl::getOverrideStyle):
   18134         (DocumentImpl::defaultEventHandler):
   18135         (DocumentImpl::completeURL):
   18136         (DocumentImpl::topDocument):
   18137         (DocumentImpl::createAttributeNS):
   18138         (DocumentImpl::images):
   18139         (DocumentImpl::applets):
   18140         (DocumentImpl::embeds):
   18141         (DocumentImpl::objects):
   18142         (DocumentImpl::links):
   18143         (DocumentImpl::forms):
   18144         (DocumentImpl::anchors):
   18145         (DocumentImpl::all):
   18146         (DocumentImpl::nameableItems):
   18147         (DocumentImpl::getElementsByName):
   18148         * khtml/xml/dom_docimpl.h:
   18149         (DOM::DocumentImpl::realDocType):
   18150         (DOM::DocumentImpl::createAttribute):
   18151         * khtml/xml/dom_elementimpl.cpp:
   18152         (AttrImpl::nodeName):
   18153         (AttrImpl::nodeValue):
   18154         (AttrImpl::name):
   18155         (AttrImpl::value):
   18156         (ElementImpl::attributes):
   18157         (ElementImpl::isURLAttribute):
   18158         (ElementImpl::setAttributeNode):
   18159         (ElementImpl::removeAttributeNode):
   18160         (ElementImpl::setAttributeNS):
   18161         (ElementImpl::removeAttributeNS):
   18162         (ElementImpl::getAttributeNodeNS):
   18163         (ElementImpl::hasAttributeNS):
   18164         (ElementImpl::style):
   18165         (XMLElementImpl::cloneNode):
   18166         (NamedAttrMapImpl::setNamedItem):
   18167         (NamedAttrMapImpl::removeNamedItem):
   18168         * khtml/xml/dom_elementimpl.h:
   18169         (DOM::ElementImpl::hasAttribute):
   18170         (DOM::ElementImpl::getAttribute):
   18171         (DOM::ElementImpl::setAttribute):
   18172         (DOM::ElementImpl::removeAttribute):
   18173         (DOM::ElementImpl::getAttributeNode):
   18174         (DOM::ElementImpl::setAttributeNodeNS):
   18175         * khtml/xml/dom_nodeimpl.cpp:
   18176         (NodeImpl::handleLocalEvents):
   18177         (NodeImpl::isAncestor):
   18178         (NodeImpl::addEventListener):
   18179         (NodeImpl::removeEventListener):
   18180         (NodeImpl::getElementsByTagNameNS):
   18181         (NodeImpl::isSupported):
   18182         (NodeImpl::ownerDocument):
   18183         (NodeImpl::hasAttributes):
   18184         (NodeImpl::attributes):
   18185         (ContainerNodeImpl::removeChildren):
   18186         (NamedNodeMapImpl::~NamedNodeMapImpl):
   18187         (NamedNodeMapImpl::getNamedItemNS):
   18188         (NamedNodeMapImpl::removeNamedItemNS):
   18189         * khtml/xml/dom_nodeimpl.h:
   18190         (DOM::NodeImpl::getElementsByTagName):
   18191         (DOM::NamedNodeMapImpl::NamedNodeMapImpl):
   18192         (DOM::NamedNodeMapImpl::getNamedItem):
   18193         (DOM::NamedNodeMapImpl::removeNamedItem):
   18194         (DOM::NamedNodeMapImpl::setNamedItemNS):
   18195         (DOM::NamedNodeMapImpl::isReadOnly):
   18196         * khtml/xml/dom_textimpl.h:
   18197         * khtml/xml/dom_xmlimpl.h:
   18198         * kwq/DOM.mm:
   18199         (-[DOMNode isSupported::]):
   18200         (-[DOMNode namespaceURI]):
   18201         (-[DOMNode hasAttributes]):
   18202         (-[DOMNamedNodeMap getNamedItem:]):
   18203         (-[DOMNamedNodeMap setNamedItem:]):
   18204         (-[DOMNamedNodeMap removeNamedItem:]):
   18205         (-[DOMNamedNodeMap getNamedItemNS::]):
   18206         (-[DOMNamedNodeMap setNamedItemNS:]):
   18207         (-[DOMNamedNodeMap removeNamedItemNS::]):
   18208         (-[DOMImplementation createDocument:::]):
   18209         (-[DOMImplementation createCSSStyleSheet::]):
   18210         (-[DOMDocument createAttribute:]):
   18211         (-[DOMDocument getElementsByTagName:]):
   18212         (-[DOMDocument createAttributeNS::]):
   18213         (-[DOMDocument getElementsByTagNameNS::]):
   18214         (-[DOMElement setAttribute::]):
   18215         (-[DOMElement removeAttribute:]):
   18216         (-[DOMElement getAttributeNode:]):
   18217         (-[DOMElement setAttributeNode:]):
   18218         (-[DOMElement removeAttributeNode:]):
   18219         (-[DOMElement getElementsByTagName:]):
   18220         (-[DOMElement getAttributeNS::]):
   18221         (-[DOMElement setAttributeNS:::]):
   18222         (-[DOMElement removeAttributeNS::]):
   18223         (-[DOMElement getAttributeNodeNS::]):
   18224         (-[DOMElement setAttributeNodeNS:]):
   18225         (-[DOMElement getElementsByTagNameNS::]):
   18226         (-[DOMElement hasAttribute:]):
   18227         (-[DOMElement hasAttributeNS::]):
   18228         (-[DOMElement style]):
   18229         (-[DOMDocumentType _documentTypeImpl]):
   18230         (ObjCNodeFilterCondition::acceptNode):
   18231         * kwq/DOMEvents.mm:
   18232         (-[DOMMutationEvent relatedNode]):
   18233         * kwq/KWQClipboard.h:
   18234         * kwq/KWQClipboard.mm:
   18235         (KWQClipboard::KWQClipboard):
   18236         (KWQClipboard::setDragImage):
   18237         (KWQClipboard::dragImageElement):
   18238         (KWQClipboard::setDragImageElement):
   18239         (KWQClipboard::dragNSImage):
   18240         * kwq/KWQKHTMLPart.mm:
   18241         (KWQKHTMLPart::khtmlMouseMoveEvent):
   18242         (KWQKHTMLPart::passSubframeEventToSubframe):
   18243         (KWQKHTMLPart::sendContextMenuEvent):
   18244 
   18245 2005-05-10  Darin Adler  <darin (a] apple.com>
   18246 
   18247         Reviewed by David Harrison.
   18248 
   18249         - first pass of moving code from C++ DOM wrappers into the DOM impl. classes
   18250           (this step mostly adds member functions missing from the DOM impl.; later steps
   18251            will change the C++, JavaScript, and ObjC wrappers to call these functions)
   18252 
   18253         * khtml/css/parser.y:
   18254         * khtml/css/css_ruleimpl.cpp:
   18255         (CSSRuleListImpl::CSSRuleListImpl):
   18256         * khtml/css/css_ruleimpl.h:
   18257         (DOM::CSSRuleListImpl::CSSRuleListImpl):
   18258         * khtml/html/html_baseimpl.cpp:
   18259         (HTMLBodyElementImpl::aLink):
   18260         (HTMLBodyElementImpl::setALink):
   18261         (HTMLBodyElementImpl::background):
   18262         (HTMLBodyElementImpl::setBackground):
   18263         (HTMLBodyElementImpl::bgColor):
   18264         (HTMLBodyElementImpl::setBgColor):
   18265         (HTMLBodyElementImpl::link):
   18266         (HTMLBodyElementImpl::setLink):
   18267         (HTMLBodyElementImpl::text):
   18268         (HTMLBodyElementImpl::setText):
   18269         (HTMLBodyElementImpl::vLink):
   18270         (HTMLBodyElementImpl::setVLink):
   18271         (HTMLFrameElementImpl::HTMLFrameElementImpl):
   18272         (HTMLFrameElementImpl::updateForNewURL):
   18273         (HTMLFrameElementImpl::openURL):
   18274         (HTMLFrameElementImpl::parseHTMLAttribute):
   18275         (HTMLFrameElementImpl::rendererIsNeeded):
   18276         (HTMLFrameElementImpl::attach):
   18277         (HTMLFrameElementImpl::detach):
   18278         (HTMLFrameElementImpl::setLocation):
   18279         (HTMLFrameElementImpl::contentPart):
   18280         (HTMLFrameElementImpl::frameBorder):
   18281         (HTMLFrameElementImpl::setFrameBorder):
   18282         (HTMLFrameElementImpl::longDesc):
   18283         (HTMLFrameElementImpl::setLongDesc):
   18284         (HTMLFrameElementImpl::marginHeight):
   18285         (HTMLFrameElementImpl::setMarginHeight):
   18286         (HTMLFrameElementImpl::marginWidth):
   18287         (HTMLFrameElementImpl::setMarginWidth):
   18288         (HTMLFrameElementImpl::name):
   18289         (HTMLFrameElementImpl::setName):
   18290         (HTMLFrameElementImpl::setNoResize):
   18291         (HTMLFrameElementImpl::scrolling):
   18292         (HTMLFrameElementImpl::setScrolling):
   18293         (HTMLFrameElementImpl::src):
   18294         (HTMLFrameElementImpl::setSrc):
   18295         (HTMLFrameSetElementImpl::parseHTMLAttribute):
   18296         (HTMLFrameSetElementImpl::cols):
   18297         (HTMLFrameSetElementImpl::setCols):
   18298         (HTMLFrameSetElementImpl::rows):
   18299         (HTMLFrameSetElementImpl::setRows):
   18300         (HTMLHeadElementImpl::profile):
   18301         (HTMLHeadElementImpl::setProfile):
   18302         (HTMLHtmlElementImpl::version):
   18303         (HTMLHtmlElementImpl::setVersion):
   18304         (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
   18305         (HTMLIFrameElementImpl::rendererIsNeeded):
   18306         (HTMLIFrameElementImpl::attach):
   18307         (HTMLIFrameElementImpl::isURLAttribute):
   18308         (HTMLIFrameElementImpl::align):
   18309         (HTMLIFrameElementImpl::setAlign):
   18310         (HTMLIFrameElementImpl::height):
   18311         (HTMLIFrameElementImpl::setHeight):
   18312         (HTMLIFrameElementImpl::src):
   18313         (HTMLIFrameElementImpl::width):
   18314         (HTMLIFrameElementImpl::setWidth):
   18315         * khtml/html/html_baseimpl.h:
   18316         (DOM::HTMLFrameElementImpl::noResize):
   18317         (DOM::HTMLFrameElementImpl::scrollingMode):
   18318         (DOM::HTMLFrameElementImpl::getMarginWidth):
   18319         (DOM::HTMLFrameElementImpl::getMarginHeight):
   18320         * khtml/html/html_blockimpl.cpp:
   18321         (HTMLBlockquoteElementImpl::cite):
   18322         (HTMLBlockquoteElementImpl::setCite):
   18323         (HTMLDivElementImpl::align):
   18324         (HTMLDivElementImpl::setAlign):
   18325         (HTMLHRElementImpl::align):
   18326         (HTMLHRElementImpl::setAlign):
   18327         (HTMLHRElementImpl::noShade):
   18328         (HTMLHRElementImpl::setNoShade):
   18329         (HTMLHRElementImpl::size):
   18330         (HTMLHRElementImpl::setSize):
   18331         (HTMLHRElementImpl::width):
   18332         (HTMLHRElementImpl::setWidth):
   18333         (HTMLHeadingElementImpl::align):
   18334         (HTMLHeadingElementImpl::setAlign):
   18335         (HTMLParagraphElementImpl::align):
   18336         (HTMLParagraphElementImpl::setAlign):
   18337         (HTMLPreElementImpl::width):
   18338         (HTMLPreElementImpl::setWidth):
   18339         * khtml/html/html_blockimpl.h:
   18340         * khtml/html/html_imageimpl.cpp:
   18341         (HTMLImageElementImpl::name):
   18342         (HTMLImageElementImpl::setName):
   18343         (HTMLImageElementImpl::align):
   18344         (HTMLImageElementImpl::setAlign):
   18345         (HTMLImageElementImpl::alt):
   18346         (HTMLImageElementImpl::setAlt):
   18347         (HTMLImageElementImpl::border):
   18348         (HTMLImageElementImpl::setBorder):
   18349         (HTMLImageElementImpl::setHeight):
   18350         (HTMLImageElementImpl::hspace):
   18351         (HTMLImageElementImpl::setHspace):
   18352         (HTMLImageElementImpl::isMap):
   18353         (HTMLImageElementImpl::setIsMap):
   18354         (HTMLImageElementImpl::longDesc):
   18355         (HTMLImageElementImpl::setLongDesc):
   18356         (HTMLImageElementImpl::src):
   18357         (HTMLImageElementImpl::setSrc):
   18358         (HTMLImageElementImpl::useMap):
   18359         (HTMLImageElementImpl::setUseMap):
   18360         (HTMLImageElementImpl::vspace):
   18361         (HTMLImageElementImpl::setVspace):
   18362         (HTMLImageElementImpl::setWidth):
   18363         (HTMLImageElementImpl::x):
   18364         (HTMLImageElementImpl::y):
   18365         (HTMLMapElementImpl::parseHTMLAttribute):
   18366         (HTMLMapElementImpl::areas):
   18367         (HTMLMapElementImpl::name):
   18368         (HTMLMapElementImpl::setName):
   18369         (HTMLAreaElementImpl::HTMLAreaElementImpl):
   18370         (HTMLAreaElementImpl::parseHTMLAttribute):
   18371         (HTMLAreaElementImpl::getRegion):
   18372         (HTMLAreaElementImpl::accessKey):
   18373         (HTMLAreaElementImpl::setAccessKey):
   18374         (HTMLAreaElementImpl::alt):
   18375         (HTMLAreaElementImpl::setAlt):
   18376         (HTMLAreaElementImpl::coords):
   18377         (HTMLAreaElementImpl::setCoords):
   18378         (HTMLAreaElementImpl::href):
   18379         (HTMLAreaElementImpl::setHref):
   18380         (HTMLAreaElementImpl::noHref):
   18381         (HTMLAreaElementImpl::setNoHref):
   18382         (HTMLAreaElementImpl::shape):
   18383         (HTMLAreaElementImpl::setShape):
   18384         (HTMLAreaElementImpl::tabIndex):
   18385         (HTMLAreaElementImpl::setTabIndex):
   18386         (HTMLAreaElementImpl::target):
   18387         (HTMLAreaElementImpl::setTarget):
   18388         * khtml/html/html_imageimpl.h:
   18389         (DOM::HTMLImageElementImpl::pixmap):
   18390         (DOM::HTMLAreaElementImpl::isDefault):
   18391         (DOM::HTMLMapElementImpl::getName):
   18392         * khtml/html/html_inlineimpl.cpp:
   18393         (DOM::HTMLAnchorElementImpl::accessKey):
   18394         (DOM::HTMLAnchorElementImpl::setAccessKey):
   18395         (DOM::HTMLAnchorElementImpl::charset):
   18396         (DOM::HTMLAnchorElementImpl::setCharset):
   18397         (DOM::HTMLAnchorElementImpl::coords):
   18398         (DOM::HTMLAnchorElementImpl::setCoords):
   18399         (DOM::HTMLAnchorElementImpl::href):
   18400         (DOM::HTMLAnchorElementImpl::setHref):
   18401         (DOM::HTMLAnchorElementImpl::hreflang):
   18402         (DOM::HTMLAnchorElementImpl::setHreflang):
   18403         (DOM::HTMLAnchorElementImpl::name):
   18404         (DOM::HTMLAnchorElementImpl::setName):
   18405         (DOM::HTMLAnchorElementImpl::rel):
   18406         (DOM::HTMLAnchorElementImpl::setRel):
   18407         (DOM::HTMLAnchorElementImpl::rev):
   18408         (DOM::HTMLAnchorElementImpl::setRev):
   18409         (DOM::HTMLAnchorElementImpl::shape):
   18410         (DOM::HTMLAnchorElementImpl::setShape):
   18411         (DOM::HTMLAnchorElementImpl::tabIndex):
   18412         (DOM::HTMLAnchorElementImpl::setTabIndex):
   18413         (DOM::HTMLAnchorElementImpl::target):
   18414         (DOM::HTMLAnchorElementImpl::setTarget):
   18415         (DOM::HTMLAnchorElementImpl::type):
   18416         (DOM::HTMLAnchorElementImpl::setType):
   18417         (DOM::HTMLAnchorElementImpl::blur):
   18418         (DOM::HTMLAnchorElementImpl::focus):
   18419         (DOM::HTMLBRElementImpl::clear):
   18420         (DOM::HTMLBRElementImpl::setClear):
   18421         (DOM::HTMLFontElementImpl::parseHTMLAttribute):
   18422         (DOM::HTMLFontElementImpl::color):
   18423         (DOM::HTMLFontElementImpl::setColor):
   18424         (DOM::HTMLFontElementImpl::face):
   18425         (DOM::HTMLFontElementImpl::setFace):
   18426         (DOM::HTMLFontElementImpl::size):
   18427         (DOM::HTMLFontElementImpl::setSize):
   18428         (DOM::HTMLModElementImpl::HTMLModElementImpl):
   18429         (DOM::HTMLModElementImpl::cite):
   18430         (DOM::HTMLModElementImpl::setCite):
   18431         (DOM::HTMLModElementImpl::dateTime):
   18432         (DOM::HTMLModElementImpl::setDateTime):
   18433         (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
   18434         (DOM::HTMLQuoteElementImpl::id):
   18435         (DOM::HTMLQuoteElementImpl::cite):
   18436         (DOM::HTMLQuoteElementImpl::setCite):
   18437         * khtml/html/html_inlineimpl.h:
   18438         * khtml/html/html_listimpl.cpp:
   18439         (DOM::HTMLUListElementImpl::compact):
   18440         (DOM::HTMLUListElementImpl::setCompact):
   18441         (DOM::HTMLUListElementImpl::type):
   18442         (DOM::HTMLUListElementImpl::setType):
   18443         (DOM::HTMLDirectoryElementImpl::compact):
   18444         (DOM::HTMLDirectoryElementImpl::setCompact):
   18445         (DOM::HTMLMenuElementImpl::compact):
   18446         (DOM::HTMLMenuElementImpl::setCompact):
   18447         (DOM::HTMLOListElementImpl::compact):
   18448         (DOM::HTMLOListElementImpl::setCompact):
   18449         (DOM::HTMLOListElementImpl::setStart):
   18450         (DOM::HTMLOListElementImpl::type):
   18451         (DOM::HTMLOListElementImpl::setType):
   18452         (DOM::HTMLLIElementImpl::type):
   18453         (DOM::HTMLLIElementImpl::setType):
   18454         (DOM::HTMLLIElementImpl::value):
   18455         (DOM::HTMLLIElementImpl::setValue):
   18456         (DOM::HTMLDListElementImpl::compact):
   18457         (DOM::HTMLDListElementImpl::setCompact):
   18458         * khtml/html/html_listimpl.h:
   18459         (DOM::HTMLUListElementImpl::start):
   18460         (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
   18461         (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
   18462         (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
   18463         (DOM::HTMLOListElementImpl::start):
   18464         * khtml/html/html_objectimpl.cpp:
   18465         (DOM::HTMLAppletElementImpl::align):
   18466         (DOM::HTMLAppletElementImpl::setAlign):
   18467         (DOM::HTMLAppletElementImpl::alt):
   18468         (DOM::HTMLAppletElementImpl::setAlt):
   18469         (DOM::HTMLAppletElementImpl::archive):
   18470         (DOM::HTMLAppletElementImpl::setArchive):
   18471         (DOM::HTMLAppletElementImpl::code):
   18472         (DOM::HTMLAppletElementImpl::setCode):
   18473         (DOM::HTMLAppletElementImpl::codeBase):
   18474         (DOM::HTMLAppletElementImpl::setCodeBase):
   18475         (DOM::HTMLAppletElementImpl::height):
   18476         (DOM::HTMLAppletElementImpl::setHeight):
   18477         (DOM::HTMLAppletElementImpl::hspace):
   18478         (DOM::HTMLAppletElementImpl::setHspace):
   18479         (DOM::HTMLAppletElementImpl::name):
   18480         (DOM::HTMLAppletElementImpl::setName):
   18481         (DOM::HTMLAppletElementImpl::object):
   18482         (DOM::HTMLAppletElementImpl::setObject):
   18483         (DOM::HTMLAppletElementImpl::vspace):
   18484         (DOM::HTMLAppletElementImpl::setVspace):
   18485         (DOM::HTMLAppletElementImpl::width):
   18486         (DOM::HTMLAppletElementImpl::setWidth):
   18487         (DOM::HTMLObjectElementImpl::code):
   18488         (DOM::HTMLObjectElementImpl::setCode):
   18489         (DOM::HTMLObjectElementImpl::align):
   18490         (DOM::HTMLObjectElementImpl::setAlign):
   18491         (DOM::HTMLObjectElementImpl::archive):
   18492         (DOM::HTMLObjectElementImpl::setArchive):
   18493         (DOM::HTMLObjectElementImpl::border):
   18494         (DOM::HTMLObjectElementImpl::setBorder):
   18495         (DOM::HTMLObjectElementImpl::codeBase):
   18496         (DOM::HTMLObjectElementImpl::setCodeBase):
   18497         (DOM::HTMLObjectElementImpl::codeType):
   18498         (DOM::HTMLObjectElementImpl::setCodeType):
   18499         (DOM::HTMLObjectElementImpl::data):
   18500         (DOM::HTMLObjectElementImpl::setData):
   18501         (DOM::HTMLObjectElementImpl::declare):
   18502         (DOM::HTMLObjectElementImpl::setDeclare):
   18503         (DOM::HTMLObjectElementImpl::height):
   18504         (DOM::HTMLObjectElementImpl::setHeight):
   18505         (DOM::HTMLObjectElementImpl::hspace):
   18506         (DOM::HTMLObjectElementImpl::setHspace):
   18507         (DOM::HTMLObjectElementImpl::name):
   18508         (DOM::HTMLObjectElementImpl::setName):
   18509         (DOM::HTMLObjectElementImpl::standby):
   18510         (DOM::HTMLObjectElementImpl::setStandby):
   18511         (DOM::HTMLObjectElementImpl::tabIndex):
   18512         (DOM::HTMLObjectElementImpl::setTabIndex):
   18513         (DOM::HTMLObjectElementImpl::type):
   18514         (DOM::HTMLObjectElementImpl::setType):
   18515         (DOM::HTMLObjectElementImpl::useMap):
   18516         (DOM::HTMLObjectElementImpl::setUseMap):
   18517         (DOM::HTMLObjectElementImpl::vspace):
   18518         (DOM::HTMLObjectElementImpl::setVspace):
   18519         (DOM::HTMLObjectElementImpl::width):
   18520         (DOM::HTMLObjectElementImpl::setWidth):
   18521         (DOM::HTMLParamElementImpl::isURLAttribute):
   18522         (DOM::HTMLParamElementImpl::setName):
   18523         (DOM::HTMLParamElementImpl::type):
   18524         (DOM::HTMLParamElementImpl::setType):
   18525         (DOM::HTMLParamElementImpl::setValue):
   18526         (DOM::HTMLParamElementImpl::valueType):
   18527         (DOM::HTMLParamElementImpl::setValueType):
   18528         * khtml/html/html_objectimpl.h:
   18529         (DOM::HTMLParamElementImpl::name):
   18530         (DOM::HTMLParamElementImpl::value):
   18531         * khtml/html/html_tableimpl.cpp:
   18532         (DOM::HTMLTableElementImpl::rows):
   18533         (DOM::HTMLTableElementImpl::tBodies):
   18534         (DOM::HTMLTableElementImpl::align):
   18535         (DOM::HTMLTableElementImpl::setAlign):
   18536         (DOM::HTMLTableElementImpl::bgColor):
   18537         (DOM::HTMLTableElementImpl::setBgColor):
   18538         (DOM::HTMLTableElementImpl::border):
   18539         (DOM::HTMLTableElementImpl::setBorder):
   18540         (DOM::HTMLTableElementImpl::cellPadding):
   18541         (DOM::HTMLTableElementImpl::setCellPadding):
   18542         (DOM::HTMLTableElementImpl::cellSpacing):
   18543         (DOM::HTMLTableElementImpl::setCellSpacing):
   18544         (DOM::HTMLTableElementImpl::frame):
   18545         (DOM::HTMLTableElementImpl::setFrame):
   18546         (DOM::HTMLTableElementImpl::rules):
   18547         (DOM::HTMLTableElementImpl::setRules):
   18548         (DOM::HTMLTableElementImpl::summary):
   18549         (DOM::HTMLTableElementImpl::setSummary):
   18550         (DOM::HTMLTableElementImpl::width):
   18551         (DOM::HTMLTableElementImpl::setWidth):
   18552         (DOM::HTMLTableSectionElementImpl::align):
   18553         (DOM::HTMLTableSectionElementImpl::setAlign):
   18554         (DOM::HTMLTableSectionElementImpl::ch):
   18555         (DOM::HTMLTableSectionElementImpl::setCh):
   18556         (DOM::HTMLTableSectionElementImpl::chOff):
   18557         (DOM::HTMLTableSectionElementImpl::setChOff):
   18558         (DOM::HTMLTableSectionElementImpl::vAlign):
   18559         (DOM::HTMLTableSectionElementImpl::setVAlign):
   18560         (DOM::HTMLTableSectionElementImpl::rows):
   18561         (DOM::HTMLTableRowElementImpl::cells):
   18562         (DOM::HTMLTableRowElementImpl::setCells):
   18563         (DOM::HTMLTableRowElementImpl::align):
   18564         (DOM::HTMLTableRowElementImpl::setAlign):
   18565         (DOM::HTMLTableRowElementImpl::bgColor):
   18566         (DOM::HTMLTableRowElementImpl::setBgColor):
   18567         (DOM::HTMLTableRowElementImpl::ch):
   18568         (DOM::HTMLTableRowElementImpl::setCh):
   18569         (DOM::HTMLTableRowElementImpl::chOff):
   18570         (DOM::HTMLTableRowElementImpl::setChOff):
   18571         (DOM::HTMLTableRowElementImpl::vAlign):
   18572         (DOM::HTMLTableRowElementImpl::setVAlign):
   18573         (DOM::HTMLTableCellElementImpl::abbr):
   18574         (DOM::HTMLTableCellElementImpl::setAbbr):
   18575         (DOM::HTMLTableCellElementImpl::align):
   18576         (DOM::HTMLTableCellElementImpl::setAlign):
   18577         (DOM::HTMLTableCellElementImpl::axis):
   18578         (DOM::HTMLTableCellElementImpl::setAxis):
   18579         (DOM::HTMLTableCellElementImpl::bgColor):
   18580         (DOM::HTMLTableCellElementImpl::setBgColor):
   18581         (DOM::HTMLTableCellElementImpl::ch):
   18582         (DOM::HTMLTableCellElementImpl::setCh):
   18583         (DOM::HTMLTableCellElementImpl::chOff):
   18584         (DOM::HTMLTableCellElementImpl::setChOff):
   18585         (DOM::HTMLTableCellElementImpl::setColSpan):
   18586         (DOM::HTMLTableCellElementImpl::headers):
   18587         (DOM::HTMLTableCellElementImpl::setHeaders):
   18588         (DOM::HTMLTableCellElementImpl::height):
   18589         (DOM::HTMLTableCellElementImpl::setHeight):
   18590         (DOM::HTMLTableCellElementImpl::noWrap):
   18591         (DOM::HTMLTableCellElementImpl::setNoWrap):
   18592         (DOM::HTMLTableCellElementImpl::setRowSpan):
   18593         (DOM::HTMLTableCellElementImpl::scope):
   18594         (DOM::HTMLTableCellElementImpl::setScope):
   18595         (DOM::HTMLTableCellElementImpl::vAlign):
   18596         (DOM::HTMLTableCellElementImpl::setVAlign):
   18597         (DOM::HTMLTableCellElementImpl::width):
   18598         (DOM::HTMLTableCellElementImpl::setWidth):
   18599         (DOM::HTMLTableColElementImpl::align):
   18600         (DOM::HTMLTableColElementImpl::setAlign):
   18601         (DOM::HTMLTableColElementImpl::ch):
   18602         (DOM::HTMLTableColElementImpl::setCh):
   18603         (DOM::HTMLTableColElementImpl::chOff):
   18604         (DOM::HTMLTableColElementImpl::setChOff):
   18605         (DOM::HTMLTableColElementImpl::setSpan):
   18606         (DOM::HTMLTableColElementImpl::vAlign):
   18607         (DOM::HTMLTableColElementImpl::setVAlign):
   18608         (DOM::HTMLTableColElementImpl::width):
   18609         (DOM::HTMLTableColElementImpl::setWidth):
   18610         (DOM::HTMLTableCaptionElementImpl::parseHTMLAttribute):
   18611         (DOM::HTMLTableCaptionElementImpl::align):
   18612         (DOM::HTMLTableCaptionElementImpl::setAlign):
   18613         * khtml/html/html_tableimpl.h:
   18614         (DOM::HTMLTableColElementImpl::span):
   18615         * khtml/rendering/render_applet.cpp:
   18616         (RenderApplet::createWidgetIfNecessary):
   18617         * khtml/rendering/render_frames.cpp:
   18618         (RenderFrame::slotViewCleared):
   18619         (RenderPartObject::updateWidget):
   18620         (RenderPartObject::slotViewCleared):
   18621         * khtml/xml/dom_docimpl.cpp:
   18622         (DocumentImpl::completeURL):
   18623         * khtml/xml/dom_docimpl.h:
   18624 
   18625 2005-05-09  Maciej Stachowiak  <mjs (a] apple.com>
   18626 
   18627         Reviewed by Kevin.
   18628 
   18629 	- remove more isFirst/isLast functions and use isStart/isEnd verions instead
   18630 
   18631         * khtml/editing/htmlediting.cpp:
   18632         (khtml::DeleteSelectionCommand::initializePositionData):
   18633         (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
   18634         (khtml::InsertTextCommand::input):
   18635         (khtml::ReplaceSelectionCommand::doApply):
   18636         (khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
   18637         * khtml/editing/visible_position.cpp:
   18638         (khtml::VisiblePosition::previous):
   18639         (khtml::setAffinityUsingLinePosition):
   18640         (khtml::isFirstVisiblePositionInNode):
   18641         * khtml/editing/visible_position.h:
   18642         * khtml/editing/visible_units.cpp:
   18643         (khtml::endOfLine):
   18644         (khtml::previousLinePosition):
   18645         * khtml/xml/dom_position.cpp:
   18646         (DOM::Position::previousCharacterPosition):
   18647         (DOM::Position::nextCharacterPosition):
   18648         * kwq/WebCoreBridge.mm:
   18649         (-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]):
   18650 
   18651 2005-05-09  Maciej Stachowiak  <mjs (a] apple.com>
   18652 
   18653         Reviewed by Kevin.
   18654 
   18655 	- remove isFirstVisiblePositionInBlock and isLastVisiblePositionInBlock, in favor of isStartOfBlock and isEndOfBlock
   18656 
   18657 	It turned out that both isEndOfBlock and isLastVisiblePositionInBlock had (different) bugs,
   18658 	and there was code relying on the bugs of each. So in addition I fixed isEndOfBlock and fixed 
   18659 	the parts of the code relying on buggy behavior.
   18660 
   18661 	I also removed the includeEndOfLine parameter to endOfBlock since no one used it and it's not
   18662 	clear if it would ever be useful.
   18663 	
   18664         * khtml/editing/htmlediting.cpp:
   18665         (khtml::InsertLineBreakCommand::doApply): Use new calls.
   18666         (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Don't gratuitously make
   18667 	an UPSTREAM VisiblePosition, as this will cause trouble comparing it to end of block.
   18668         (khtml::InsertParagraphSeparatorCommand::doApply): Use new calls.
   18669         (khtml::ReplaceSelectionCommand::doApply): Use new calls. Also, don't make a position <BR,0> and test
   18670 	if it is the end of a block, that can never be true, although the buggy code in 
   18671 	isLastVisiblePositionInBlock would say it is. Make <BR,1> instead.
   18672         * khtml/editing/markup.cpp:
   18673         (khtml::createMarkup): Instead of checking isEndOfBlock on the start position, check if the start's
   18674 	next is in a different block, to avoid relying on the buggy old isEndOfBlock behavior.
   18675         * khtml/editing/visible_position.cpp:
   18676         (khtml::isFirstVisiblePositionInParagraph): Use isStartOfBlock.
   18677         (khtml::isLastVisiblePositionInParagraph): Use isEndOfBlock.
   18678         * khtml/editing/visible_position.h:
   18679         * khtml/editing/visible_units.cpp:
   18680         (khtml::endOfBlock): Greatly simplify, and no longer consider the start of a descendant
   18681 	block to be the end of the block. That's inconsistent with how startOfBlock works. Also
   18682 	remove include end of line parameter.
   18683         (khtml::isEndOfBlock): Don't pass unneeded parameter.
   18684         * khtml/editing/visible_units.h:
   18685 
   18686 2005-05-09  Adele Peterson  <adele (a] apple.com>
   18687 
   18688         fix for <rdar://problem/4110775> Crash will occur when double-clicking outerHTML link on W3 DOM test
   18689 
   18690         Reviewed by Darin.
   18691 
   18692         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setOuterHTML): added nil check.  
   18693         This was causing a crash when you tried to set the outerHTML on an element that was no longer in the DOM tree.
   18694 
   18695         * layout-tests/fast/dom/outerText-no-element.html: Added. Tests case where you try to set outerText on an element no longer in the DOM tree.
   18696         * layout-tests/fast/dom/outerText-no-element-expected.txt: Added.
   18697         * layout-tests/fast/dynamic/outerHTML-doc.html: Added.  Tests case where someone tries to set outerHTML on the document.
   18698         * layout-tests/fast/dynamic/outerHTML-doc-expected.txt: Added..
   18699         * layout-tests/fast/dynamic/outerHTML-no-element.html: Added. Tests case where you try to set outerHTML on an element no longer in the DOM tree.
   18700         * layout-tests/fast/dynamic/outerHTML-no-element-expected.txt: Added.
   18701         * layout-tests/fast/dynamic/outerHTML-img.html: moved images to resources directory
   18702         * layout-tests/fast/dynamic/resources/apple.gif: Added.
   18703         * layout-tests/fast/dynamic/resources/mozilla.gif: Added.
   18704 
   18705 2005-05-09  Maciej Stachowiak  <mjs (a] apple.com>
   18706 
   18707         Reviewed by Kevin.
   18708 
   18709 	- remove code for DoNotStayInBlock variant of upstream/downstream and make
   18710 	the methods take no parameters
   18711 
   18712         * khtml/editing/htmlediting.cpp:
   18713         (khtml::CompositeEditCommand::deleteInsignificantTextDownstream):
   18714         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
   18715         (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
   18716         (khtml::ApplyStyleCommand::applyInlineStyle):
   18717         (khtml::ApplyStyleCommand::removeInlineStyle):
   18718         (khtml::ApplyStyleCommand::nodeFullySelected):
   18719         (khtml::ApplyStyleCommand::nodeFullyUnselected):
   18720         (khtml::DeleteSelectionCommand::initializePositionData):
   18721         (khtml::DeleteSelectionCommand::fixupWhitespace):
   18722         (khtml::InsertLineBreakCommand::insertNodeAfterPosition):
   18723         (khtml::InsertLineBreakCommand::insertNodeBeforePosition):
   18724         (khtml::InsertLineBreakCommand::doApply):
   18725         (khtml::InsertParagraphSeparatorCommand::doApply):
   18726         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
   18727         (khtml::InsertTextCommand::prepareForTextInsertion):
   18728         (khtml::InsertTextCommand::input):
   18729         (khtml::InsertTextCommand::insertSpace):
   18730         (khtml::ReplaceSelectionCommand::doApply):
   18731         * khtml/editing/selection.cpp:
   18732         (khtml::Selection::toRange):
   18733         (khtml::Selection::validate):
   18734         * khtml/editing/visible_position.cpp:
   18735         (khtml::VisiblePosition::previousVisiblePosition):
   18736         (khtml::VisiblePosition::nextVisiblePosition):
   18737         (khtml::VisiblePosition::downstreamDeepEquivalent):
   18738         (khtml::isFirstVisiblePositionInParagraph):
   18739         (khtml::isFirstVisiblePositionInBlock):
   18740         (khtml::isLastVisiblePositionInParagraph):
   18741         * khtml/xml/dom2_rangeimpl.cpp:
   18742         (DOM::RangeImpl::editingStartPosition):
   18743         * khtml/xml/dom_position.cpp:
   18744         (DOM::isStreamer):
   18745         (DOM::Position::upstream):
   18746         (DOM::Position::downstream):
   18747         (DOM::Position::leadingWhitespacePosition):
   18748         (DOM::Position::trailingWhitespacePosition):
   18749         * khtml/xml/dom_position.h:
   18750         * kwq/WebCoreBridge.mm:
   18751         (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
   18752 
   18753 2005-05-08  Maciej Stachowiak  <mjs (a] apple.com>
   18754 
   18755         Reviewed by Dave Harrison.
   18756 
   18757 	- remove remaining uses of upstream/downstream DoNotStayInBlock
   18758 	
   18759         * khtml/editing/htmlediting.cpp:
   18760         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
   18761         (khtml::ApplyStyleCommand::nodeFullySelected):
   18762         (khtml::ApplyStyleCommand::nodeFullyUnselected):
   18763         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
   18764         (khtml::InsertParagraphSeparatorCommand::doApply):
   18765         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
   18766         (khtml::InsertTextCommand::insertSpace):
   18767         (khtml::ReplaceSelectionCommand::doApply):
   18768 	
   18769         * khtml/editing/visible_position.cpp:
   18770         (khtml::enclosingBlockFlowElement): New helper function.
   18771 	* khtml/editing/visible_position.h:
   18772 
   18773         * khtml/editing/visible_units.cpp:
   18774         (khtml::inSameBlock): Check enclosing block flows instead of comparing
   18775 	visible block starts. Two nested blocks may have the same visible start but
   18776 	different visible ends, so the old check would give false positives.
   18777 
   18778 2005-05-09  David Harrison  <harrison (a] apple.com>
   18779 
   18780         Add layout test for <rdar://problem/4110366>.
   18781 
   18782         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Added.
   18783         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011.html: Added.
   18784 
   18785 2005-05-09  Darin Adler  <darin (a] apple.com>
   18786 
   18787         - checked in a result for the Flash replacement test that Dave added
   18788 
   18789         * layout-tests/fast/dynamic/flash-replacement-test-expected.txt: Added.
   18790         Hope it's right! If not, Dave can update it.
   18791 
   18792 2005-05-09  Darin Adler  <darin (a] apple.com>
   18793 
   18794         * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
   18795         Not needed to make builds work, spews undesirable error messages too.
   18796 
   18797         * WebCore.pbproj/project.pbxproj: Remove unneeded $(DSTROOT) in framework paths.
   18798 
   18799 2005-05-07  Maciej Stachowiak  <mjs (a] apple.com>
   18800 
   18801         Reviewed by Kevin.
   18802 
   18803 	- remove some of the uses of upstream/downstream DoNotStayInBlock
   18804 	
   18805         * khtml/editing/markup.cpp:
   18806 	(khtml::createMarkup): Instead of using upstream to decide if a	line break should be 
   18807 	added at the end, use inSameParagraph.
   18808         * khtml/editing/selection.cpp:
   18809         (khtml::Selection::debugPosition): Remove the code to print upstream and downstream,
   18810 	the selection endpoints themselves are adequate for debugging and are what we use for
   18811 	layout tests.
   18812         * khtml/xml/dom2_rangeimpl.cpp:
   18813         (DOM::RangeImpl::editingStartPosition): Skip a possible paragraph break at the start
   18814 	of the selection in a more explicit way to avoid DoNotStayInBlock.
   18815 
   18816 2005-05-07  David Harrison  <harrison (a] apple.com>
   18817 
   18818         Reviewed by John.
   18819 
   18820         <rdar://problem/4110366> Deleting text at the end of email moves insertion point to the top of the document
   18821         
   18822         * khtml/editing/htmlediting.cpp:
   18823         (khtml::DeleteSelectionCommand::handleGeneralDelete):
   18824         Update m_upstreamStart when deleting m_downstreamEnd.node() if the former is no longer in the document.
   18825         Better to update here than trying to recover later in calculateEndingPosition().
   18826 
   18827 2005-05-07  David Harrison  <harrison (a] apple.com>
   18828         
   18829         Remove workaround for <rdar://problem/4103339>.
   18830         
   18831         * khtml/editing/htmlediting.cpp:
   18832         (khtml::DeleteSelectionCommand::initializePositionData):
   18833 
   18834 2005-05-06  Maciej Stachowiak  <mjs (a] apple.com>
   18835 
   18836         Reviewed by Dave Harrison.
   18837 
   18838 	- make StayInBlock vs DoNotStayInBlock explicit in all calls to
   18839 	upstream/downstream, in preparation for phasing out the
   18840 	DoNotStayInBlock variant.
   18841 
   18842         * khtml/editing/htmlediting.cpp:
   18843         (khtml::ApplyStyleCommand::nodeFullySelected):
   18844         (khtml::ApplyStyleCommand::nodeFullyUnselected):
   18845         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
   18846         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
   18847         (khtml::InsertTextCommand::insertSpace):
   18848         (khtml::ReplaceSelectionCommand::doApply):
   18849         * khtml/editing/markup.cpp:
   18850         (khtml::createMarkup):
   18851         * khtml/editing/selection.cpp:
   18852         (khtml::Selection::debugPosition):
   18853         * khtml/xml/dom_position.h:
   18854 
   18855 2005-05-06  David Harrison  <harrison (a] apple.com>
   18856 
   18857         Reviewed by Maciej, Darin.
   18858 
   18859         <rdar://problem/4103339> VisiblePosition and PositionIterator iterators do not return positions in order
   18860 
   18861         * WebCore.pbproj/project.pbxproj:
   18862         Removed dom_positioniterator.h and dom_positioniterator.cpp.
   18863         
   18864         * khtml/editing/htmlediting.cpp:
   18865         Removed unused include of dom_positioniterator.h and "using" of PositionIterator.
   18866         
   18867         * khtml/editing/selection.cpp:
   18868         Removed unused include of dom_positioniterator.h.
   18869 
   18870         * khtml/editing/visible_position.h:
   18871         * khtml/editing/visible_position.cpp:
   18872         (khtml::VisiblePosition::previousVisiblePosition):
   18873         (khtml::VisiblePosition::nextVisiblePosition):
   18874         (khtml::VisiblePosition::downstreamDeepEquivalent):
   18875         Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of duplicated code.
   18876         
   18877         * khtml/xml/dom_nodeimpl.h:
   18878         * khtml/xml/dom_nodeimpl.cpp:
   18879         (NodeImpl::maxDeepOffset):
   18880         Added to support Position::next(), Position::previous(), Position::atStart(), Position::atEnd()
   18881         
   18882         * khtml/xml/dom_position.h:
   18883         * khtml/xml/dom_position.cpp:
   18884         (DOM::Position::previous):
   18885         (DOM::Position::next):
   18886         (DOM::Position::atStart):
   18887         (DOM::Position::atEnd):
   18888         Moved here, replacing VisiblePosition's duplicate and PositionIterator.  Fixed to
   18889         return positions in order and not skip positions.
   18890         
   18891         (DOM::Position::previousCharacterPosition):
   18892         (DOM::Position::nextCharacterPosition):
   18893         Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of PositionIterator.
   18894 
   18895         (DOM::isStreamer):
   18896         (DOM::Position::upstream):
   18897         (DOM::Position::downstream):
   18898         Use Position::next(), Position::previous(), Position::atStart(), Position::atEnd() instead of PositionIterator.
   18899 
   18900         * khtml/xml/dom_positioniterator.cpp: Removed.
   18901         * khtml/xml/dom_positioniterator.h: Removed.
   18902         Removed in favor of Position::next(), Position::previous(), Position::atStart(), Position::atEnd()
   18903 
   18904 2005-05-05  Maciej Stachowiak  <mjs (a] apple.com>
   18905 
   18906         Reviewed by Darin.
   18907 
   18908 	<rdar://problem/4058167> Unit Converter and Weather widgets crashed in KJS::Collector::markCurrentThreadConservatively
   18909         
   18910 	Avoid possibly allocating new prototype objects as parameters to
   18911 	superclass constructors - there may be an allocated but
   18912 	uninitilized object so this is a bad time to allocate. Instead,
   18913 	set the prototype in the constructor body, since the object is
   18914 	happily allocated by then.
   18915 
   18916 	* khtml/ecma/kjs_binding.h:
   18917         * khtml/ecma/kjs_css.cpp:
   18918         (DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
   18919         (DOMMediaList::DOMMediaList):
   18920         (DOMCSSStyleSheet::DOMCSSStyleSheet):
   18921         (DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
   18922         (DOMCSSValueList::DOMCSSValueList):
   18923         * khtml/ecma/kjs_css.h:
   18924         (KJS::DOMStyleSheet::DOMStyleSheet):
   18925         (KJS::DOMCSSValue::DOMCSSValue):
   18926         * khtml/ecma/kjs_dom.cpp:
   18927         (DOMNode::DOMNode):
   18928         (DOMDocument::DOMDocument):
   18929         (DOMElement::DOMElement):
   18930         (DOMDOMImplementation::DOMDOMImplementation):
   18931         (DOMNamedNodeMap::DOMNamedNodeMap):
   18932         (DOMNamedNodesCollection::DOMNamedNodesCollection):
   18933         (DOMCharacterData::DOMCharacterData):
   18934         (DOMText::DOMText):
   18935         * khtml/ecma/kjs_dom.h:
   18936         (KJS::NodeConstructor::NodeConstructor):
   18937         (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
   18938         * khtml/ecma/kjs_events.cpp:
   18939         (DOMEvent::DOMEvent):
   18940         (Clipboard::Clipboard):
   18941         * khtml/ecma/kjs_html.cpp:
   18942         (HTMLCollection::HTMLCollection):
   18943         * khtml/ecma/kjs_range.cpp:
   18944         (DOMRange::DOMRange):
   18945         * khtml/ecma/kjs_traversal.cpp:
   18946         (DOMNodeIterator::DOMNodeIterator):
   18947         (DOMNodeFilter::DOMNodeFilter):
   18948         (DOMTreeWalker::DOMTreeWalker):
   18949         * khtml/ecma/xmlhttprequest.cpp:
   18950         (KJS::XMLHttpRequest::XMLHttpRequest):
   18951         * khtml/ecma/xmlserializer.cpp:
   18952         (KJS::XMLSerializer::XMLSerializer):
   18953 
   18954 2005-05-06  Darin Adler  <darin (a] apple.com>
   18955 
   18956         Reviewed by Maciej.
   18957 
   18958         - make building multiple trees with make work better
   18959 
   18960         * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
   18961 
   18962 2005-05-05  David Hyatt  <hyatt (a] apple.com>
   18963 
   18964 	Eliminate the FOUCS on wired.com.  innerWidth and innerHeight on window should not do a layout that ignores
   18965 	pending stylesheets, since even if stylesheets are loading the correct window dimensions can be determined with
   18966 	a normal layout.
   18967 
   18968 	The radar # is 4109888.
   18969 	
   18970         Reviewed by rjw
   18971 
   18972         * khtml/ecma/kjs_window.cpp:
   18973         (Window::get):
   18974         (Window::updateLayout):
   18975         * khtml/ecma/kjs_window.h:
   18976 
   18977 2005-05-05  David Hyatt  <hyatt (a] apple.com>
   18978 
   18979 	Fix for 4109667, sIFR flash replacement technique often malfunctions.  This bug occurs when the plugin
   18980 	widget update causes the onload for the document to fire.  Because you can be in the middle of a style
   18981 	recalc when doing an attach (in response to a stylesheet load), the onload fires in the middle of the attach
   18982 	process when the tree is in a bogus state.
   18983 
   18984 	The fix is to add a bit to the document that tells style recalc that the implicitClose() method was invoked
   18985 	during the style recalc process and the code has been patched so that when this situation occurs, the close is
   18986 	deferred until after the style recalc has finished.
   18987 	
   18988         Reviewed by John Sullivan
   18989 
   18990         * khtml/xml/dom_docimpl.cpp:
   18991         (DocumentImpl::DocumentImpl):
   18992         (DocumentImpl::recalcStyle):
   18993         (DocumentImpl::implicitClose):
   18994         * khtml/xml/dom_docimpl.h:
   18995         * layout-tests/fast/dynamic/flash-replacement-test.html: Added.
   18996 
   18997 2005-05-05  Darin Adler  <darin (a] apple.com>
   18998 
   18999         Reviewed by Dave Hyatt.
   19000 
   19001         - fixed <rdar://problem/4109564> REGRESSION (Atlanta): maps.google.com doesn't always center California correctly
   19002 
   19003         * khtml/ecma/kjs_events.cpp: (offsetFromTarget): Fix two places that said X where they should say Y.
   19004 
   19005 2005-05-05  David Harrison  <harrison (a] apple.com>
   19006 
   19007         Restore fixed setEndingSelection.  Fixed method was ifdef'd out
   19008         because change was at end of Tiger development, but method is
   19009         unused.  You just can never be _too_ safe.
   19010         
   19011         * khtml/editing/htmlediting.cpp:
   19012         (khtml::EditCommandPtr::setEndingSelection):
   19013 
   19014 2005-05-02  Maciej Stachowiak  <mjs (a] apple.com>
   19015 
   19016         Reviewed by Vicki.
   19017 
   19018 	- renamed NodeBaseImpl to ContainerNodeImpl
   19019 
   19020         * khtml/ecma/kjs_dom.cpp:
   19021 	(DOMNodeProtoFunc::tryCall): Avoid use of NodeBaseImpl and avoid
   19022 	use of obsolete checkNoOwner call, use isAncestor instead.
   19023         * khtml/html/html_elementimpl.cpp:
   19024         (HTMLElementImpl::setOuterText): Avoid gratuitous use of
   19025 	NodeBaseImpl.
   19026 	* khtml/xml/dom_nodeimpl.cpp:
   19027         (NodeBaseImpl::checkNoOwner): Removed.
   19028 	
   19029 	Ther rest is all just simple renaming.
   19030         
   19031 	* khtml/xml/dom_docimpl.cpp:
   19032         (DocumentImpl::DocumentImpl):
   19033         (DocumentImpl::attach):
   19034         (DocumentImpl::detach):
   19035         (DocumentFragmentImpl::DocumentFragmentImpl):
   19036         * khtml/xml/dom_docimpl.h:
   19037         * khtml/xml/dom_elementimpl.cpp:
   19038         (AttrImpl::AttrImpl):
   19039         (ElementImpl::ElementImpl):
   19040         (ElementImpl::insertedIntoDocument):
   19041         (ElementImpl::removedFromDocument):
   19042         (ElementImpl::attach):
   19043         (ElementImpl::dump):
   19044         * khtml/xml/dom_elementimpl.h:
   19045         * khtml/xml/dom_nodeimpl.cpp:
   19046         (ContainerNodeImpl::ContainerNodeImpl):
   19047         (ContainerNodeImpl::~ContainerNodeImpl):
   19048         (ContainerNodeImpl::firstChild):
   19049         (ContainerNodeImpl::lastChild):
   19050         (ContainerNodeImpl::insertBefore):
   19051         (ContainerNodeImpl::replaceChild):
   19052         (ContainerNodeImpl::removeChild):
   19053         (ContainerNodeImpl::removeChildren):
   19054         (ContainerNodeImpl::appendChild):
   19055         (ContainerNodeImpl::hasChildNodes):
   19056         (ContainerNodeImpl::setFirstChild):
   19057         (ContainerNodeImpl::setLastChild):
   19058         (ContainerNodeImpl::checkSameDocument):
   19059         (ContainerNodeImpl::checkIsChild):
   19060         (ContainerNodeImpl::addChild):
   19061         (ContainerNodeImpl::attach):
   19062         (ContainerNodeImpl::detach):
   19063         (ContainerNodeImpl::insertedIntoDocument):
   19064         (ContainerNodeImpl::removedFromDocument):
   19065         (ContainerNodeImpl::cloneChildNodes):
   19066         (ContainerNodeImpl::getElementsByTagNameNS):
   19067         (ContainerNodeImpl::getUpperLeftCorner):
   19068         (ContainerNodeImpl::getLowerRightCorner):
   19069         (ContainerNodeImpl::getRect):
   19070         (ContainerNodeImpl::setFocus):
   19071         (ContainerNodeImpl::setActive):
   19072         (ContainerNodeImpl::childNodeCount):
   19073         (ContainerNodeImpl::childNode):
   19074         (ContainerNodeImpl::dispatchChildInsertedEvents):
   19075         (ContainerNodeImpl::dispatchChildRemovalEvents):
   19076         * khtml/xml/dom_nodeimpl.h:
   19077         * khtml/xml/dom_xmlimpl.cpp:
   19078         (DOM::EntityImpl::EntityImpl):
   19079         (DOM::EntityReferenceImpl::EntityReferenceImpl):
   19080         (DOM::NotationImpl::NotationImpl):
   19081         (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
   19082         * khtml/xml/dom_xmlimpl.h:
   19083 
   19084 2005-05-04  Vicki Murley  <vicki (a] apple.com>
   19085 
   19086         Reviewed by Darin.
   19087 
   19088 	- fix mismatched parentheses in one of the ifdefs
   19089  
   19090         * khtml/html/html_headimpl.cpp:
   19091         (HTMLTitleElementImpl::childrenChanged):
   19092 
   19093 2005-05-04  Darin Adler  <darin (a] apple.com>
   19094 
   19095         Reviewed by Dave Hyatt.
   19096 
   19097         - fixed build rules to match other projects
   19098 
   19099         * WebCore.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
   19100         When built without a build style (by Apple B&I) we want to get the target from the
   19101         environment. But when built with a build style (by Safari engineers and others), we want
   19102         to use 10.3.
   19103 
   19104         * Makefile.am: Took out extra parameters that make command-line building different from
   19105         Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
   19106         from command line to Xcode or back.
   19107 
   19108 2005-05-04  Vicki Murley  <vicki (a] apple.com>
   19109 
   19110         Reviewed by darin.
   19111 
   19112 	- fixed <rdar://problem/3986228> Not able to load additional script blocks dynamically
   19113 
   19114 	Run scripts when they're inserted into the document. Use createdByParser bit to make sure
   19115 	that scripts aren't run twice, once while parsing and again when inserting.
   19116 
   19117         * khtml/html/html_headimpl.cpp:
   19118         (HTMLScriptElementImpl::HTMLScriptElementImpl):
   19119         (HTMLScriptElementImpl::~HTMLScriptElementImpl):
   19120         (HTMLScriptElementImpl::insertedIntoDocument): 
   19121         (HTMLScriptElementImpl::removedFromDocument): 
   19122         (HTMLScriptElementImpl::notifyFinished): 
   19123         * khtml/html/html_headimpl.h:
   19124         (DOM::HTMLScriptElementImpl::setCreatedByParser):
   19125         * khtml/html/htmlparser.cpp:
   19126         (KHTMLParser::getElement): 
   19127         * khtml/xml/xml_tokenizer.cpp:
   19128         (khtml::XMLTokenizer::startElement): 
   19129 
   19130 2005-05-03  David Hyatt  <hyatt (a] apple.com>
   19131 
   19132 	Normalize all our custom properties in our implementation to be -khtml (remove all the -apple).
   19133 
   19134 	Make sure that -apple, -khtml, and -moz are all able to be used.  -apple and -moz just map to -khtml.
   19135 
   19136 	Add support for automatically converting -khtml-opacity to opacity (for legacy Safari 1.1 compat).
   19137 	
   19138         Reviewed by darin
   19139 
   19140         * khtml/css/css_computedstyle.cpp:
   19141         (DOM::):
   19142         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   19143         * khtml/css/cssparser.cpp:
   19144         (CSSParser::parseValue):
   19145         * khtml/css/cssproperties.in:
   19146         * khtml/css/cssstyleselector.cpp:
   19147         (khtml::CSSStyleSelector::applyDeclarations):
   19148         (khtml::CSSStyleSelector::applyProperty):
   19149         * khtml/css/parser.y:
   19150         * khtml/ecma/kjs_css.cpp:
   19151         (cssPropertyName):
   19152 
   19153 2005-05-03  Darin Adler  <darin (a] apple.com>
   19154 
   19155         - fix the build
   19156 
   19157         * WebCore.pbproj/project.pbxproj: Fix some SYMROOTS that should have been SYMROOT.
   19158 
   19159 2005-05-03  David Hyatt  <hyatt (a] apple.com>
   19160 
   19161 	Fix for 4098281, news.com missing a bunch of content.  Make sure not to apply strict SGML parsing
   19162 	when stripping comments out of scripts.
   19163 
   19164 	New test is comments-in-script.html
   19165 	
   19166         * khtml/html/htmltokenizer.cpp:
   19167         (khtml::HTMLTokenizer::parseComment):
   19168 
   19169 2005-05-03  David Hyatt  <hyatt (a] apple.com>
   19170 
   19171 	Remove unused notification to avoid ERROR messages spewing on the acid2 test.
   19172 	
   19173         Reviewed by darin
   19174 
   19175         * khtml/khtml_part.cpp:
   19176         (KHTMLPart::processObjectRequest):
   19177         * khtml/rendering/render_frames.cpp:
   19178         (RenderPartObject::updateWidget):
   19179         * khtml/rendering/render_frames.h:
   19180 
   19181 2005-05-03  Darin Adler  <darin (a] apple.com>
   19182 
   19183         Reviewed by Dave Hyatt.
   19184         No new layout tests needed.
   19185 
   19186         - eliminated the bogus kMin/kMax macros that we had in addition to inline functions
   19187           of the same name
   19188 
   19189         * kwq/KWQKGlobal.h: Remove the kMin/kMax macros.
   19190 
   19191         * khtml/css/cssstyleselector.cpp:
   19192         (khtml::CSSStyleSelector::applyProperty): Change type of constant so both sides
   19193         of kMin calls match.
   19194         (khtml::CSSStyleSelector::fontSizeForKeyword): Ditto.
   19195         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseEntity): Ditto.
   19196 
   19197         - remove unused parameter to dirtyLinesFromChangedChild for clarity
   19198 
   19199         * khtml/rendering/render_object.h: Don't take the parameter.
   19200         * khtml/rendering/render_object.cpp: (RenderObject::dirtyLinesFromChangedChild): Ditto.
   19201 
   19202         * khtml/rendering/render_flow.h: Don't take the parameter.
   19203         * khtml/rendering/render_flow.cpp:
   19204         (RenderFlow::detach): Don't pass the parameter.
   19205         (RenderFlow::dirtyLinesFromChangedChild): Don't take the parameter.
   19206 
   19207         * khtml/rendering/render_text.cpp: (RenderText::detach): Don't pass the parameter.
   19208 
   19209         - convert DOM::NodeImpl into an abstract base class by making a couple of functions
   19210           pure virtual for clarity
   19211 
   19212         * khtml/xml/dom_nodeimpl.h: Made nodeName and nodeType pure virtual.
   19213         * khtml/xml/dom_nodeimpl.cpp: Remove bodies of nodeName and nodeType.
   19214 
   19215 2005-05-03  David Hyatt  <hyatt (a] apple.com>
   19216 
   19217 	Fix for object element to support fallback content.  WIth this change Safari passes the Acid2 test.
   19218 	
   19219         Reviewed by Maciej
   19220 
   19221         * khtml/css/html4.css:
   19222         * khtml/html/html_objectimpl.cpp:
   19223         (HTMLObjectElementImpl::HTMLObjectElementImpl):
   19224         (HTMLObjectElementImpl::parseHTMLAttribute):
   19225         (HTMLObjectElementImpl::rendererIsNeeded):
   19226         (HTMLObjectElementImpl::createRenderer):
   19227         (HTMLObjectElementImpl::attach):
   19228         (HTMLObjectElementImpl::detach):
   19229         (HTMLObjectElementImpl::recalcStyle):
   19230         (HTMLObjectElementImpl::childrenChanged):
   19231         (HTMLObjectElementImpl::isURLAttribute):
   19232         (HTMLObjectElementImpl::isImageType):
   19233         (HTMLObjectElementImpl::renderFallbackContent):
   19234         * khtml/html/html_objectimpl.h:
   19235         * khtml/khtml_part.cpp:
   19236         (KHTMLPart::requestObject):
   19237         (KHTMLPart::selectFrameElementInParentIfFullySelected):
   19238         (KHTMLPart::handleFallbackContent):
   19239         * khtml/khtml_part.h:
   19240         * khtml/khtmlpart_p.h:
   19241         (khtml::ChildFrame::ChildFrame):
   19242         * khtml/rendering/render_frames.cpp:
   19243         (RenderPartObject::RenderPartObject):
   19244         (RenderPartObject::updateWidget):
   19245         * khtml/rendering/render_frames.h:
   19246         (khtml::RenderPart::hasFallbackContent):
   19247         * khtml/rendering/render_replaced.cpp:
   19248         (RenderReplaced::RenderReplaced):
   19249         * kwq/KWQKHTMLPart.mm:
   19250         (KWQKHTMLPart::createPart):
   19251         * kwq/WebCoreBridge.h:
   19252         * kwq/WebCoreBridge.mm:
   19253         (-[WebCoreBridge mainResourceError]):
   19254 
   19255 2005-05-01  Darin Adler  <darin (a] apple.com>
   19256 
   19257         - move to Xcode native targets and stop checking in generated files
   19258 
   19259         * WebCore.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
   19260         files, so we don't have to check them in any more.
   19261         * Info.plist: Added. Native targets use a separate file for this.
   19262 
   19263         * Makefile.am: Removed rule to generate WebCore-combined.exp since this is now handled by the
   19264         Xcode project. Removed the code to remove the embedded copy of the framework since we don't
   19265         do that any more. Removed timestamp cleaning rules since we don't use those any more.
   19266 
   19267         * WebCore-tests.exp: Removed symbols that aren't really needed. The native target gives an
   19268         error when you mention a nonexistent symbol, so we can't have them any more.
   19269 
   19270         * khtml/css/parser_wrapper.cpp: Added. Shell used to compile parser.cpp since we can't add
   19271         a generated file easily to the list of files to be compiled.
   19272 
   19273         * .cvsignore: Removed various timestamp files.
   19274 
   19275         * WebCore-combined.exp: Removed.
   19276         * force-clean-timestamp: Removed.
   19277         * force-js-clean-timestamp: Removed.
   19278         * khtml/.cvsignore: Removed.
   19279         * khtml/Makefile.am: Removed.
   19280         * khtml/css/.cvsignore: Removed.
   19281         * khtml/css/Makefile.am: Removed.
   19282         * khtml/css/cssproperties.c: Removed.
   19283         * khtml/css/cssproperties.h: Removed.
   19284         * khtml/css/cssvalues.c: Removed.
   19285         * khtml/css/cssvalues.h: Removed.
   19286         * khtml/css/parser.cpp: Removed.
   19287         * khtml/css/parser.h: Removed.
   19288         * khtml/css/tokenizer.cpp: Removed.
   19289         * khtml/ecma/.cvsignore: Removed.
   19290         * khtml/ecma/Makefile.am: Removed.
   19291         * khtml/ecma/kjs_css.lut.h: Removed.
   19292         * khtml/ecma/kjs_dom.lut.h: Removed.
   19293         * khtml/ecma/kjs_events.lut.h: Removed.
   19294         * khtml/ecma/kjs_html.lut.h: Removed.
   19295         * khtml/ecma/kjs_navigator.lut.h: Removed.
   19296         * khtml/ecma/kjs_range.lut.h: Removed.
   19297         * khtml/ecma/kjs_traversal.lut.h: Removed.
   19298         * khtml/ecma/kjs_views.lut.h: Removed.
   19299         * khtml/ecma/kjs_window.lut.h: Removed.
   19300         * khtml/ecma/xmlhttprequest.lut.h: Removed.
   19301         * khtml/ecma/xmlserializer.lut.h: Removed.
   19302         * khtml/html/.cvsignore: Removed.
   19303         * khtml/html/Makefile.am: Removed.
   19304         * khtml/html/doctypes.cpp: Removed.
   19305         * khtml/html/kentities.c: Removed.
   19306         * khtml/misc/.cvsignore: Removed.
   19307         * khtml/misc/Makefile.am: Removed.
   19308         * khtml/misc/htmlattrs.c: Removed.
   19309         * khtml/misc/htmlattrs.h: Removed.
   19310         * khtml/misc/htmltags.c: Removed.
   19311         * khtml/misc/htmltags.h: Removed.
   19312         * kwq/.cvsignore: Removed.
   19313         * kwq/KWQCharsetData.c: Removed.
   19314         * kwq/KWQColorData.c: Removed.
   19315         * kwq/Makefile.am: Removed.
   19316 
   19317 2005-05-02  Darin Adler  <darin (a] apple.com>
   19318 
   19319         Reviewed by Vicki.
   19320         Added two layout tests for regression testing.
   19321 
   19322         - redid frameElement (fix for 4091082 below)
   19323 
   19324         The first version lacked a security check, and was also broken.
   19325 
   19326         * khtml/ecma/kjs_window.cpp:
   19327         (frameElement): Refactored into separate function; added isSafeScript check.
   19328         (Window::get): Call the new frameElement function.
   19329 
   19330         * layout-tests/fast/frames/frameElement-frame.html: Added.
   19331         * layout-tests/fast/frames/frameElement-frame-expected.txt: Added.
   19332         * layout-tests/fast/frames/frameElement-iframe.html: Added.
   19333         * layout-tests/fast/frames/frameElement-iframe-expected.txt: Added.
   19334         * layout-tests/fast/frames/resources/frameElement-contents.html: Added.
   19335 
   19336 2005-05-02  David Harrison  <harrison (a] apple.com>
   19337 
   19338         Reviewed by Vicki.
   19339 
   19340         Fix isStartOfEditableContent and isEndOfEditableContent to return actual, rather than inverted, answers.
   19341         No Radar.  Found this when trying to use isEndOfEditableContent() in some new code.
   19342         
   19343         * khtml/editing/visible_units.cpp:
   19344         (khtml::isStartOfEditableContent):
   19345         (khtml::isEndOfEditableContent):
   19346         Flip expressions.
   19347 
   19348 2005-04-29  Darin Adler  <darin (a] apple.com>
   19349 
   19350         Reviewed by David Harrison.
   19351 
   19352         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Turn newlines into \n for better dumping.
   19353 
   19354 2005-04-29  David Harrison  <harrison (a] apple.com>
   19355 
   19356         Reviewed by Darin.
   19357 
   19358         <rdar://problem/4083333> When deleting link at end of sentence, entire sentence gets deleted
   19359         
   19360         * khtml/editing/htmlediting.cpp:
   19361         (khtml::DeleteSelectionCommand::initializePositionData):
   19362         Work around bug #4103339 (whose real fix is somewhat risky), so this fix can get into a software update.
   19363         
   19364         (khtml::DeleteSelectionCommand::handleGeneralDelete):
   19365         Add isAncestor check when comparing m_downstreamEnd.node() and m_startNode.
   19366 
   19367         * layout-tests/editing/deleting/delete-4083333-fix-expected.txt: Added.
   19368         * layout-tests/editing/deleting/delete-4083333-fix.html: Added.
   19369 
   19370 2005-04-29  Darin Adler  <darin (a] apple.com>
   19371 
   19372         Reviewed by Dave Harrison.
   19373 
   19374         - changed layout tests to dump more minimal information about caret and selection
   19375 
   19376         * kwq/KWQRenderTreeDebug.cpp:
   19377         (nodePosition): Changed name; now does position relative to document.
   19378         (writeSelection): Removed upstream/downstream code and changed format slightly.
   19379 
   19380         * layout-tests/editing/*-expected.txt: Regenerated in new format.
   19381 
   19382 2005-04-29  Darin Adler  <darin (a] apple.com>
   19383 
   19384         Reviewed by Chris Blumenberg.
   19385         Added two layout tests for regression testing.
   19386 
   19387         - fixed <rdar://problem/4097849> REGRESSION (162-163): importNode creates non-HTML elements, thus style attributes (and some others) don't work
   19388 
   19389         * khtml/xml/dom_docimpl.cpp:
   19390         (DocumentImpl::importNode): Reorganized and partly rewrote this. The change that fixes the bug at
   19391         hand is to explicitly use XHTML_NAMESPACE for HTML elements, since the old way of getting the namespace
   19392         will return the null string for HTML elements, and createElementNS will not create an HTML element
   19393         if passed a null string for the namespace.
   19394         (DocumentImpl::processHttpEquiv): Removed some bogus getDocument() calls -- no need to call getDocument()
   19395         in a document object.
   19396         (DocumentImpl::attrName): Ditto.
   19397         (DocumentImpl::tagName): Ditto.
   19398         (DocumentImpl::setFocusNode): Ditto.
   19399 
   19400         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::cloneNode): Moved the actual cloning here
   19401         from ElementImpl::cloneNode, because XMLElementImpl already had its own version, and in here
   19402         we can use createHTMLElement, which will work properly even in an XML document, and is also slightly
   19403         more efficient.
   19404 
   19405         * khtml/xml/dom_nodeimpl.h: Added a namespaceURI method function to go along with localName.
   19406         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::namespaceURI): Added. Returns null string to be consistent
   19407         with localName (only works on certain types of elements as documented).
   19408         * khtml/xml/dom_elementimpl.h: Removed ElementImpl::cloneNode (see above). Added an override of
   19409         namespaceURI for XMLElementImpl.
   19410         * khtml/xml/dom_elementimpl.cpp: (XMLElementImpl::namespaceURI): Added. Returns the namespace
   19411         (consistent with localName).
   19412 
   19413         * layout-tests/fast/dom/importNodeHTML.html: Added. Tests both importNode and cloneNode (for comparison).
   19414         * layout-tests/fast/dom/importNodeHTML-expected.txt: Added.
   19415         * layout-tests/fast/dom/importNodeXML.xhtml: Added. XML version of the same test as above. Tests a different
   19416         code path, so useful to have.
   19417         * layout-tests/fast/dom/importNodeXML-expected.txt: Added.
   19418 
   19419 2005-04-28  Darin Adler  <darin (a] apple.com>
   19420 
   19421         Reviewed by Dave Harrison.
   19422 
   19423         - fixed problems preventing us from compiling with gcc 4.0
   19424 
   19425         * WebCore.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
   19426         way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
   19427         WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
   19428 
   19429         * khtml/css/parser.y: Changed some rules that were using a float to pass around an enum to use an
   19430         int instead to avoid a warning.
   19431         * khtml/css/parser.cpp: Regenerated.
   19432         * khtml/css/parser.h: Regenerated.
   19433 
   19434         * khtml/ecma/kjs_dom.cpp: (DOMTextProtoFunc::tryCall): Rearranged a return statement to avoid an incorrect
   19435         warning.
   19436         * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): Initialized a couple of variables to avoid
   19437         an incorrect warning.
   19438         * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::evaluate): Rearranged how we exit from the function to avoid
   19439         an incorret warning.
   19440         * khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Changed some %d to %ld where the
   19441         parameters where long ints.
   19442         * khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
   19443         * khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
   19444         * kwq/DOMEvents.mm: (-[DOMMouseEvent initMouseEvent:::::::::::::::]): Rearranged code to avoid a cast
   19445         that was causing an incorrect warning.
   19446         * kwq/DOMUtility.mm:
   19447         (createObjCDOMNode): Broke out as a separate function.
   19448         (KJS::ScriptInterpreter::createObjcInstanceForValue): Rearranged code to avoid a namespace collision with
   19449         KJS::DOMNode and the Objective-C DOMNode class.
   19450         * kwq/KWQFileButton.mm: Made fields of KWQFileButtonAdapter public to avoid an error, new to gcc 4.0,
   19451         about accessing protected Objective-C fields.
   19452         * kwq/KWQKHTMLPart.mm:
   19453         (KWQKHTMLPart::matchLabelsAgainstElement): Rearranged a return statement to avoid an incorrect warning.
   19454         (KWQKHTMLPart::imageFromRect): Rearranged how this function does its exception handling to avoid a
   19455         "may be clobbered" warning.
   19456         * kwq/KWQKJavaAppletWidget.mm: Fixed incorrect import that said "KHTMLView.h" instead of "khtmlview.h".
   19457         * kwq/KWQObject.mm: Made fields of KWQObjectTimerTarget public to avoid an error, new to gcc 4.0,
   19458         about accessing protected Objective-C fields.
   19459         * kwq/WebCoreBridge.mm: (partHasSelection): Used [bridge part] instead of getting directly at instance
   19460         variable to avoid an error, new to gcc 4.0, about accessing protected Objective-C fields.
   19461 
   19462         * WebCore-combined.exp: Regenerated.
   19463         * WebCore-tests.exp: Added some additional symbols needed by the tests under gcc 4.0.
   19464 
   19465 2005-04-28  Darin Adler  <darin (a] apple.com>
   19466 
   19467         * WebCore.pbproj/project.pbxproj: Add back the main_thread_malloc files, rolled out by accident.
   19468 
   19469 2005-04-27 Adele Peterson  <adele (a] apple.com>
   19470 
   19471         Rolling out fix for <rdar://problem/4097849> because the following layout tests were failing:
   19472 
   19473         fast/css/namespaces/001
   19474         fast/css/namespaces/002
   19475         fast/css/namespaces/004
   19476         fast/css/namespaces/005
   19477         fast/css/namespaces/006
   19478         fast/overflow/003
   19479         
   19480 
   19481         * khtml/html/html_documentimpl.cpp:
   19482         * khtml/html/html_documentimpl.h:
   19483         * khtml/html/html_elementimpl.cpp:
   19484         (HTMLElementImpl::namespaceURI):
   19485         * khtml/xml/dom_docimpl.cpp:
   19486         (DocumentImpl::importNode):
   19487         (DocumentImpl::createElementNS):
   19488         (DocumentImpl::createHTMLElement):
   19489         (DocumentImpl::attrId):
   19490         (DocumentImpl::tagId):
   19491         * khtml/xml/dom_docimpl.h:
   19492 
   19493 2005-04-27  John Sullivan  <sullivan (a] apple.com>
   19494 
   19495         Reviewed by Darin.
   19496         
   19497         Experimental prototype of user-resizable textareas. All the new code is guarded by
   19498         #if ALLOW_RESIZING_TEXTAREAS, which is false unless you remove a comment and rebuild.
   19499         
   19500         This code allows you to press near the bottom-right corner of any textarea and drag
   19501         to resize the textarea on the page. It works correctly with textareas in left-aligned
   19502         or centered blocks, but is weird in right-aligned blocks. It also does something
   19503         sensible if the width is specified as a % (in that case, you can resize vertically only).
   19504         The user-created-size survives resizing the window and survives the back/forward cache.
   19505         It does not survive reloading the page.
   19506         
   19507         This complete-lack-of-affordance UI is obviously not shippable, but this proof of concept
   19508         code could lead to a real user feature.
   19509 
   19510         * kwq/KWQTextArea.mm:
   19511         (-[KWQTextArea getNumColumns:andNumRows:forSize:]):
   19512         new method that determines cols and rows for a given textarea frame size
   19513         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
   19514         new method that tracks a drag and does a live resize-and-relayout
   19515         (-[KWQTextAreaTextView mouseDown:]):
   19516         if the mouse down is in the bottom-right corner, call _trackResizeFromMouseDown:
   19517 
   19518 2005-04-27  John Sullivan  <sullivan (a] apple.com>
   19519 
   19520         Reviewed by Adele.
   19521 
   19522         - fixed problem with mouse wheel patch where alt and shift keys were switched
   19523 
   19524         * khtml/xml/dom2_eventsimpl.h:
   19525         use the order cntl, alt, shift, meta in KeyboardEventImpl constructors to match
   19526         superclass. This isn't necessary to fix the bug, but is better for clarity.
   19527         
   19528         * khtml/xml/dom2_eventsimpl.cpp:
   19529         (KeyboardEventImpl::KeyboardEventImpl):
   19530         switch parameter order to match superclass. Then pass the parameters to superclass's
   19531         constructor in the right order.
   19532         (KeyboardEventImpl::initKeyboardEvent):
   19533         Pass parameters to superclass's constructor in the right order.
   19534 
   19535 2005-04-26  Adele Peterson  <adele (a] apple.com>
   19536 
   19537         Fixed by Darin, reviewed by me.
   19538 
   19539         Fix for <rdar://problem/4084029> designMode doesn't allow editing when iframe src = "" or = about:blank
   19540         
   19541         This change will add an HTML element for empty documents.  Now that there will be an HTMLDocument in this case, 
   19542         a body will also be created (see rdar://problem/3758785). This was preventing frames with empty documents from 
   19543         being editable.
   19544 
   19545         * khtml/html/htmlparser.cpp: (KHTMLParser::finished):
   19546 
   19547         Updated these tests to expect the HTML and BODY elements
   19548         * layout-tests/fast/flexbox/016-expected.txt:
   19549         * layout-tests/fast/frames/001-expected.txt:
   19550         * layout-tests/fast/frames/002-expected.txt:
   19551         * layout-tests/fast/frames/contentWindow_Frame-expected.txt:
   19552         * layout-tests/fast/frames/contentWindow_iFrame-expected.txt:
   19553         * layout-tests/fast/frames/empty-frame-src-expected.txt:
   19554 
   19555 2005-04-26  Maciej Stachowiak  <mjs (a] apple.com>
   19556 
   19557         New test case for <rdar://problem/4092136> reproducible crash in KJS::kjs_fast_realloc loading maps.google.com
   19558 
   19559         * layout-tests/fast/js/string-from-char-code-expected.txt: Added.
   19560         * layout-tests/fast/js/string-from-char-code.html: Added.
   19561 
   19562 2005-04-26  Darin Adler  <darin (a] apple.com>
   19563 
   19564         Reviewed by John.
   19565 
   19566         - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
   19567 
   19568         Loose ends:
   19569 
   19570             - need to test behavior of Windows IE with horizontal scroll wheeling; we currently send a distinct event
   19571               for that relatively obscure case, which means the event handlers won't fire at all; might be incorrect
   19572             - overflow scrolling is done after all DOM event handling, but ideally should be done in the overflowing
   19573               element's default event handler; not important in practice
   19574             - frame scrolling is done after all DOM event handling, but probably should be done in a default event handler;
   19575               not sure about this, but it's probably not important in practice and definitely not required
   19576 
   19577         - JavaScript
   19578 
   19579         * khtml/ecma/kjs_events.h: Added DOMWheelEvent.
   19580         * khtml/ecma/kjs_events.cpp:
   19581         (KJS::getDOMEvent): Added a case for wheel event. To be forward looking, I use the event's impl pointer
   19582         instead of a C++ DOM wrapper. Eventually it will all work this way.
   19583         (offsetFromTarget): Added. Factored out code to compute offsetX/Y for an event.
   19584         (DOMMouseEvent::getValueProperty): Changed to call offsetFromTarget for offsetX/Y.
   19585         (DOMWheelEvent::DOMWheelEvent): Added.
   19586         (DOMWheelEvent::tryGet): Added.
   19587         (DOMWheelEvent::getValueProperty): Added.
   19588         (DOMWheelEventProtoFunc::tryCall): Added. Nothing at the moment, but might get contents later.
   19589 
   19590         * khtml/ecma/kjs_dom.h: Added OnMouseWheel to the enum with the list of properties.
   19591         * khtml/ecma/kjs_dom.cpp: Added onmousewheel as a property of DOM nodes.
   19592         (DOMNode::getValueProperty): Return the mouse wheel event handler.
   19593         (DOMNode::putValue): Set the mouse wheel event handler.
   19594 
   19595         * khtml/ecma/kjs_window.cpp: Added onmousewheel as a property of the window.
   19596         (Window::get): Return the mouse wheel event handler.
   19597         (Window::put): Set the mouse wheel event handler.
   19598 
   19599         * khtml/ecma/kjs_window.h: Added OnWindowMouseWheel to the enum with the list of properties.
   19600         (Other properties distinguish the window handler by lower-casing the initial letter, way too subtle,
   19601         so I did this one a good way.)
   19602 
   19603         * khtml/dom/dom2_events.h: Made the constructors for Event and UIEvent public. There's no good reason
   19604         for them to be private, and I had to use the UIEvent one in the JavaScript implementation.
   19605 
   19606         - DOM
   19607         
   19608         * khtml/xml/dom2_eventsimpl.h: Added events for mouse wheel and horizontal mouse wheel.
   19609         Added isWheelEvent function to EventImpl.
   19610         (DOM::UIEventWithKeyStateImpl): Added. Base class shared by mouse, wheel, and keyboard events.
   19611         (DOM::MouseRelatedEventImpl): Added. Base class shared by mouse and wheel events.
   19612         (DOM::WheelEventImpl): Added.
   19613 
   19614         * khtml/xml/dom2_eventsimpl.cpp: Added "mousewheel" to list of event names and a placeholder for
   19615         the horizontal mouse wheel.
   19616         (EventImpl::isWheelEvent): Added. Returns false.
   19617         (MouseRelatedEventImpl::MouseRelatedEventImpl): Added. Factored out what's shared between mouse
   19618         events and wheel events to avoid duplicated code.
   19619         (MouseRelatedEventImpl::computeLayerPos): Moved to MouseRelatedWheelEventImpl.
   19620         (MouseEventImpl::MouseEventImpl): Changed since MouseRelatedWheelEventImpl is now the base class
   19621         so we can share more code with wheel events.
   19622         (KeyboardEventImpl::KeyboardEventImpl): Changed since UIEventWithKeyStateImpl is now the base class
   19623         so we can share more code with mouse and wheel events.
   19624         (WheelEventImpl::WheelEventImpl): Added.
   19625         (WheelEventImpl::isWheelEvent): Added. Returns true.
   19626 
   19627         * khtml/misc/htmlattrs.in: Added "onmousewheel" attribute name.
   19628         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Added parsing of the
   19629         "onmousewheel" atribute, consistent with other event handler attributes.
   19630 
   19631         - event handling
   19632 
   19633         * kwq/WebCoreBridge.h: Renamed scrollOverflowWithScrollWheelEvent to sendScrollWheelEvent.
   19634         * kwq/WebCoreBridge.mm: (-[WebCoreBridge sendScrollWheelEvent:]): Renamed.
   19635 
   19636         * kwq/KWQEvent.h: Added Wheel as an event type value.
   19637         (QWheelEvent::QWheelEvent): Added.
   19638         * kwq/KWQEvent.mm:
   19639         (positionForEvent): Updated to know that wheel events have valid positions in them.
   19640         (orientationForEvent): Added.
   19641         (deltaForEvent): Added.
   19642         (QWheelEvent::QWheelEvent): Added.
   19643 
   19644         * kwq/KWQKHTMLPart.h: Renamed scrollOverflowWithScrollWheelEvent to wheelEvent.
   19645         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::wheelEvent): Renamed and added code to construct a QWheelEvent
   19646         and send it along to KHTMLView::viewportWheelEvent, consistent with how mouse events work.
   19647 
   19648         * khtml/khtmlview.cpp: (KHTMLView::viewportWheelEvent): Do a hit test to figure out which node to
   19649         send the event to, and then call dispatchWheelEvent.
   19650 
   19651         * khtml/xml/dom_nodeimpl.h: Added dispatchWheelEvent.
   19652         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchWheelEvent): Added.
   19653 
   19654         - generated files
   19655 
   19656         * khtml/ecma/kjs_dom.lut.h: Regenerated.
   19657         * khtml/ecma/kjs_events.lut.h: Regenerated.
   19658         * khtml/ecma/kjs_window.lut.h: Regenerated.
   19659         * khtml/misc/htmlattrs.c: Regenerated.
   19660         * khtml/misc/htmlattrs.h: Regenerated.
   19661 
   19662 2005-04-26  David Harrison  <harrison (a] apple.com>
   19663 
   19664         Reviewed by Darin, Maciej.
   19665 
   19666         <rdar://problem/4075576> Deleting text in new message borks content
   19667         
   19668         Fixed by removing the methods that attempted to preserve the position.  The idea
   19669         of preserving position is a very recent one, and turned out to not actually address
   19670         the problem it was intended to fix (see below).  Further, is unclear how the position
   19671         could be preserved in a form that could be properly used later on.   Therefore,
   19672         removing the code to work like before is the preferred alternative for this software
   19673         update.  I've written <rdar://problem/4099839> to cover the bug that position
   19674         preservation was supposed to fix (but did not).  Added layout tests for
   19675         both this bug and 4099839.  Also, updated existing tests with correct expected results
   19676         (delete-at-paragraph-boundaries-003 and 004).
   19677 
   19678         * khtml/editing/htmlediting.cpp:
   19679         (khtml::CompositeEditCommand::removeFullySelectedNode):
   19680         (khtml::CompositeEditCommand::removeChildrenInRange):
   19681         (khtml::DeleteSelectionCommand::handleGeneralDelete):
   19682         * khtml/editing/htmlediting.h:
   19683         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
   19684         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
   19685         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Added.
   19686         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-007.html: Added.
   19687         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Added.
   19688         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-008.html: Added.
   19689         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Added.
   19690         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-009.html: Added.
   19691         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Added.
   19692         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-010.html: Added.
   19693 
   19694 2005-04-26  Darin Adler  <darin (a] apple.com>
   19695 
   19696         - fixed development builds
   19697 
   19698         * khtml/misc/main_thread_malloc.h: Use inlines instead of macros for allocation functions.
   19699 
   19700 2005-04-25  David Hyatt  <hyatt (a] apple.com>
   19701 
   19702 	Fix for 4097842, changing 1st line of a url that wraps doesn't update the second line.  Make sure to
   19703 	update line break info for the last dirty line so that when a clean line tries to figure out where it
   19704 	started, it will get an accurate position taking into account the updated string.  By doing this, the code
   19705 	will be able to properly distinguish between the old and new positions and not accidentally assume they are
   19706 	the same.
   19707 	
   19708         Reviewed by darin
   19709 
   19710         * khtml/rendering/render_text.cpp:
   19711         (RenderText::setTextWithOffset):
   19712 
   19713 2005-04-26  Darin Adler  <darin (a] apple.com>
   19714 
   19715         Reviewed by Maciej.
   19716 
   19717         - fixed <rdar://problem/4098826> Bezier curves broken in new Safari canvas object (last two parameters parsed incorrectly)
   19718 
   19719         * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall): Fixed incorrect argument indices.
   19720         Thanks to Brian Campbell who figured out what was wrong.
   19721 
   19722 2005-04-17  Maciej Stachowiak  <mjs (a] apple.com>
   19723 
   19724         Reviewed by Darin.
   19725 
   19726 	- use single-threaded malloc in places where malloc is hot for an
   19727 	8% speed improvement on cvs-base
   19728 
   19729         * ForwardingHeaders/misc/fast_malloc.h: Added.
   19730         * WebCore.pbproj/project.pbxproj:
   19731         * khtml/css/css_base.h:
   19732         * khtml/css/css_ruleimpl.h:
   19733         * khtml/css/css_valueimpl.h:
   19734         * khtml/css/cssstyleselector.h:
   19735         * khtml/misc/arena.cpp:
   19736         (ArenaAllocate):
   19737         (FreeArenaList):
   19738         (ArenaFinish):
   19739         * khtml/misc/main_thread_malloc.cpp: Added.
   19740         * khtml/misc/main_thread_malloc.h: Added.
   19741         * khtml/rendering/render_style.h:
   19742         * khtml/xml/dom2_eventsimpl.h:
   19743         * khtml/xml/dom2_rangeimpl.h:
   19744         * khtml/xml/dom2_traversalimpl.h:
   19745         * khtml/xml/dom2_viewsimpl.h:
   19746         * khtml/xml/dom_docimpl.h:
   19747         * khtml/xml/dom_elementimpl.cpp:
   19748         (NamedAttrMapImpl::NamedAttrMapImpl):
   19749         (NamedAttrMapImpl::clearAttributes):
   19750         (NamedAttrMapImpl::operator=):
   19751         (NamedAttrMapImpl::addAttribute):
   19752         (NamedAttrMapImpl::removeAttribute):
   19753         * khtml/xml/dom_elementimpl.h:
   19754         * khtml/xml/dom_nodeimpl.h:
   19755         * khtml/xml/dom_stringimpl.h:
   19756         * kwq/KWQFontFamily.h:
   19757         * kwq/KWQListImpl.mm:
   19758         * kwq/KWQString.h:
   19759         * kwq/KWQString.mm:
   19760         (ALLOC_CHAR):
   19761         (ALLOC_QCHAR):
   19762         (QString::setBufferFromCFString):
   19763         (allocatePageNode):
   19764 
   19765 2005-04-25  John Sullivan  <sullivan (a] apple.com>
   19766 
   19767         Reviewed by Dave Harrison.
   19768         
   19769         - fixed <rdar://problem/4098731> [DOMHTMLTextAreaElement cols] returns wrong value (usually zero)
   19770 
   19771         * kwq/DOMHTML.mm:
   19772         (-[DOMHTMLTextAreaElement cols]):
   19773         use ATTR_COLS instead of ATTR_ACCESSKEY (D'oh!)
   19774         (-[DOMHTMLTextAreaElement setCols:]):
   19775         fixed whitespace
   19776 
   19777 2005-04-25  Darin Adler  <darin (a] apple.com>
   19778 
   19779         Reviewed by John.
   19780 
   19781         - fixed <rdar://problem/4097849> REGRESSION (162-163): importNode creates non-HTML elements, thus style attributes (and some others) don't work
   19782 
   19783         * khtml/xml/dom_docimpl.h: Add virtual functions HTMLElementNamespace and isHTMLNamespace.
   19784         * khtml/xml/dom_docimpl.cpp:
   19785         (DocumentImpl::importNode): Rearranged this function and fixed the following problems: 1) made sure to ref node while attributes are
   19786         being set on it so it doesn't get destroyed; 2) fixed code to get namespace from the element we are importing to use the IDs from
   19787         the source document, not the destination document; 3) removed unneeded getDocument() call which just returns this; 4) fixed error
   19788         handling for cases where an exception happens while processing the children.
   19789         (DocumentImpl::HTMLElementNamespace): Added. Returns XHTML_NAMESPACE.
   19790         (DocumentImpl::isHTMLNamespace): Added. Returns true for any namespace that matches XHTML_NAMESPACE (case insensitive).
   19791         (DocumentImpl::createElementNS): Changed to call isHTMLNamespace, which will cause it to accept the null namespace in an HTML document.
   19792         This is the change that fixes the bug. Also fixed the code path to do a little less wasteful work in the non-XHTML case.
   19793         (DocumentImpl::createHTMLElement): Pass in HTMLElementNamespace() rather than 0 to tagId.
   19794         (DocumentImpl::attrId): Use isHTMLNamespace instead of allowing the null namespace explicitly.
   19795         (DocumentImpl::tagId): Ditto.
   19796 
   19797         * khtml/html/html_documentimpl.h: Add overrides for HTMLElementNamespace and isHTMLNamespace.
   19798         * khtml/html/html_documentimpl.cpp:
   19799         (HTMLDocumentImpl::HTMLElementNamespace): Added. Returns 0 so we use the null string for HTML elements inside HTML documents (as before).
   19800         (HTMLDocumentImpl::isHTMLNamespace): Added. Allows 0, and then calls base class to check for the actual XHTML namespace. Thus, we allow
   19801         both no namespace at all and the XHTML namespace inside HTML documents.
   19802 
   19803         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::namespaceURI): Changed to call HTMLElementNamespace rather than checking
   19804         isHTMLDocument. Same result as before, but better division of responsibilities.
   19805 
   19806 2005-04-25  Darin Adler  <darin (a] apple.com>
   19807 
   19808         Reviewed by John.
   19809 
   19810         - fixed <rdar://problem/4091956> JavaScript drop handlers don't receive more than one dropped item
   19811 
   19812         * kwq/KWQClipboard.mm:
   19813         (cocoaTypeFromMIMEType): Remove some use of compare -- less efficient than a simpler "==" check.
   19814         Fixed non-GC-safe code to use KWQCFAutorelease instead.
   19815         (MIMETypeFromCocoaType): Use fromCFString instead of fromNSString to avoid a cast.
   19816         (KWQClipboard::getData): Rearrange so that we'll use filenames if both filenames and a URL are present, since
   19817         filenames can accomodate multiple items. Fix bug where we'd return multiple filenames when the type requested
   19818         is "URL". Fixed loop that computed the count over and over again for the loop termination condition. Check
   19819         that the data for NSFilenamesPboardType is an NSArray instead of assuming it is.
   19820         (KWQClipboard::setData): Use isEqualToString: instead of == when comparing types.
   19821 
   19822 2005-04-22  David Hyatt  <hyatt (a] apple.com>
   19823 
   19824 	Fix for 4096878, drop shadow effect not displayed correctly on tbray.org/ongoing/.  Block minmaxwidth was
   19825 	broken when negative margins were used and did not properly decrease the max width.
   19826 	
   19827         Reviewed by Maciej
   19828 
   19829         * khtml/rendering/render_block.cpp:
   19830         (khtml::RenderBlock::calcBlockMinMaxWidth):
   19831         * layout-tests/fast/block/float/034-expected.txt: Added.
   19832         * layout-tests/fast/block/float/034.html: Added.
   19833         * layout-tests/fast/block/float/035-expected.txt: Added.
   19834 	* layout-tests/fast/block/float/035.html: Added.
   19835 	
   19836 2005-04-22  David Hyatt  <hyatt (a] apple.com>
   19837 
   19838         Remove some dead code from css_valueimpl.  It wasn't used at all.
   19839 
   19840         * khtml/css/css_valueimpl.cpp:
   19841         * khtml/css/css_valueimpl.h:
   19842 
   19843 2005-04-22  Darin Adler  <darin (a] apple.com>
   19844 
   19845         * khtml/ecma/kjs_html.h: Removed unnecessary bogus class name qualifiers.
   19846 
   19847 2005-04-22  David Hyatt  <hyatt (a] apple.com>
   19848 
   19849 	Fix for 4096681, fix regression in how the list-style property is parsed.  It no longer parses when it hits
   19850 	a url in the property value list now, because the list pointer did not get advanced.  This fixes alistapart.com.
   19851 	
   19852         Reviewed by john
   19853 
   19854         * khtml/css/cssparser.cpp:
   19855         (CSSParser::parseValue):
   19856         * layout-tests/fast/lists/009-expected.txt: Added.
   19857         * layout-tests/fast/lists/009.html: Added.
   19858         * layout-tests/fast/lists/resources/listmark.gif: Added.
   19859 
   19860 2005-04-22  Darin Adler  <darin (a] apple.com>
   19861 
   19862         Reviewed by John.
   19863 
   19864         - fixed <rdar://problem/4091082> Google Suggest no longer works due to lack of "frameElement"
   19865 
   19866         * khtml/ecma/kjs_window.h: Added FrameElement.
   19867         * khtml/ecma/kjs_window.cpp: (Window::get): Added "frameElement".
   19868         * khtml/ecma/kjs_window.lut.h: Regenerated.
   19869 
   19870 2005-04-22  Darin Adler  <darin (a] apple.com>
   19871 
   19872         Reviewed by John.
   19873 
   19874         - a small editing-related code cleanup
   19875 
   19876         * khtml/rendering/render_text.h: Added positionForOffset and made offsetForPosition const.
   19877         * khtml/rendering/render_text.cpp:
   19878         (InlineTextBox::offsetForPosition): Made const.
   19879         (InlineTextBox::positionForOffset): Added. Moved code here from caretRect.
   19880         (RenderText::caretRect): Call positionForOffset instead of doing the work here.
   19881 
   19882 2005-04-21  David Hyatt  <hyatt (a] apple.com>
   19883 
   19884 	Fix for 4095839, wrong background image used on flechtwerk.de.  Make sure that the global mapped
   19885 	attribute cache hashed background attributes into per-document buckets.
   19886 
   19887         * khtml/html/html_baseimpl.cpp:
   19888         (HTMLBodyElementImpl::mapToEntry):
   19889         * khtml/html/html_elementimpl.h:
   19890         (DOM::):
   19891         * khtml/html/html_tableimpl.cpp:
   19892         (HTMLTableElementImpl::mapToEntry):
   19893         (HTMLTablePartElementImpl::mapToEntry):
   19894         * khtml/xml/dom_docimpl.cpp:
   19895         (DocumentImpl::DocumentImpl):
   19896         * khtml/xml/dom_docimpl.h:
   19897         (DOM::DocumentImpl::docID):
   19898 
   19899 2005-04-21  Vicki Murley  <vicki (a] apple.com>
   19900 
   19901 	- layout test for 4065447, outerHTML on images
   19902 
   19903         * layout-tests/fast/dynamic/outerHTML-img-expected.txt: Added.
   19904         * layout-tests/fast/dynamic/outerHTML-img.html: Added.
   19905 
   19906 2005-04-20  Vicki Murley  <vicki (a] apple.com>
   19907 
   19908         Reviewed by hyatt.
   19909 
   19910 	- fixed <rdar://problem/4065447> support outerHTML on IMG elements
   19911 
   19912         * khtml/html/html_elementimpl.cpp:
   19913         (HTMLElementImpl::setOuterHTML):
   19914 
   19915 2005-04-18  David Hyatt  <hyatt (a] apple.com>
   19916 
   19917 	Fix min-height so that when it resolves to auto it does not use the box's intrinsic height.
   19918 	
   19919         * khtml/rendering/render_box.cpp:
   19920         (RenderBox::calcHeight):
   19921         (RenderBox::calcHeightUsing):
   19922 
   19923 2005-04-18  David Hyatt  <hyatt (a] apple.com>
   19924 
   19925         Back out fix for 4032346, since it is causing garbled image content on many sites.
   19926 
   19927 	The bug tracking the fix is 4069093.
   19928 	
   19929         (khtml::RenderBlock::matchedEndLine):
   19930 
   19931 2005-04-18  David Hyatt  <hyatt (a] apple.com>
   19932 
   19933 	Fix the smile in the Acid2 test.  Floats should not grow to contain other floats unless height is auto.  Otherwise
   19934 	the float should use the specified height.
   19935 
   19936 	Also fix row 14 of the Acid2 test.  Although ambiguous, just modify the table cell baseline alignment code to align
   19937 	to the bottom of the cell's content height if no suitable baseline could be found.
   19938 	
   19939         * khtml/rendering/render_block.cpp:
   19940         (khtml::RenderBlock::layoutBlock):
   19941         * khtml/rendering/render_block.h:
   19942         (khtml::RenderBlock::firstRootBox):
   19943         (khtml::RenderBlock::lastRootBox):
   19944         * khtml/rendering/render_table.cpp:
   19945         (RenderTableSection::calcRowHeight):
   19946         (RenderTableCell::baselinePosition):
   19947         
   19948 2005-04-15  David Hyatt  <hyatt (a] apple.com>
   19949 
   19950 	Make sure empty tables honor CSS-specified heights when they have no rows or sections.  This is done only
   19951 	in strict mode, since it is not compatible with WinIE.
   19952 
   19953         * khtml/rendering/render_table.cpp:
   19954         (RenderTable::layout):
   19955 
   19956 2005-04-15  David Hyatt  <hyatt (a] apple.com>
   19957 
   19958 	Fix for row 13 of the Acid2 test.  Change HTML comment parsing in strict mode to do proper SGML parsing,
   19959 	checking for pairs of -- and only being willing to close the comment if every -- is paired up.
   19960 	
   19961         * khtml/html/htmltokenizer.cpp:
   19962         (khtml::HTMLTokenizer::parseComment):
   19963 
   19964 2005-04-12  Maciej Stachowiak  <mjs (a] apple.com>
   19965 
   19966         Reviewed by Richard.
   19967 
   19968 	- use custom single-threaded malloc for all non-GC JavaScriptCore
   19969 	allocations, for a 9.1% speedup on JavaScript iBench
   19970 	 
   19971 	* khtml/ecma/kjs_binding.cpp:
   19972         (UString::UString):
   19973         * khtml/ecma/kjs_proxy.cpp:
   19974         (KJSProxyImpl::evaluate):
   19975 
   19976 2005-04-15  David Hyatt  <hyatt (a] apple.com>
   19977 
   19978 	Fix the six pixel gap between rows nine and ten of the Acid2 test.  Make sure that percentage heights that
   19979 	resolve to auto are properly treated as though they have auto height by the self-collapsing block check (as per
   19980 	section 8.3.1, paragraph 7 of the CSS2.1 spec).
   19981 	
   19982         * khtml/rendering/render_block.cpp:
   19983         (khtml::RenderBlock::isSelfCollapsingBlock):
   19984 
   19985 2005-04-15  David Hyatt  <hyatt (a] apple.com>
   19986 
   19987 	The Acid2 test and the reference rendering both make use of overflow:hidden on the <html> element.  Turns out
   19988 	the CSS2.1 wording for this behavior has been revised (based off WinIE/Mozilla behavior).  Change our behavior
   19989 	to match and make <html> overflow apply to the viewport.
   19990 	
   19991         * khtml/khtmlview.cpp:
   19992         (KHTMLView::applyOverflowToViewport):
   19993         (KHTMLView::layout):
   19994         * khtml/khtmlview.h:
   19995         * khtml/rendering/render_box.cpp:
   19996         (RenderBox::setStyle):
   19997 
   19998 2005-04-14  David Hyatt  <hyatt (a] apple.com>
   19999 
   20000 	3258403 and 3258402 can now be fixed.  min/max-width/height support is now complete.  This patch makes them
   20001 	work for positioned elements and enables us to pass row one of the Acid2 test.
   20002 	
   20003         * khtml/rendering/render_box.cpp:
   20004         (RenderBox::calcAbsoluteHorizontal):
   20005         (RenderBox::calcAbsoluteHorizontalValues):
   20006         (RenderBox::calcAbsoluteVertical):
   20007         (RenderBox::calcAbsoluteVerticalValues):
   20008         * khtml/rendering/render_box.h:
   20009 
   20010 2005-04-12  David Hyatt  <hyatt (a] apple.com>
   20011 
   20012 	Working on the Acid2 test, Row 1.
   20013 
   20014 	Improve checkChild for the DTD so that it knows what mode a document is in.  This allows it to adhere more
   20015 	strictly to the actual DTD in strict mode and almost strict mode.
   20016 
   20017 	Change the <table>-inside-<p> check so that <table> is disallowed inside <p> in 
   20018 	strict mode and almost strict mode.  This matches Firefox behavior, which allows <table>
   20019 	inside <p> only in quirks mode.
   20020 
   20021         * khtml/html/dtd.cpp:
   20022         (DOM::checkChild):
   20023         * khtml/html/dtd.h:
   20024         * khtml/html/htmlparser.cpp:
   20025         (KHTMLParser::insertNode):
   20026         * khtml/html/htmltokenizer.cpp:
   20027         (khtml::HTMLTokenizer::parseTag):
   20028         * khtml/xml/dom_elementimpl.cpp:
   20029         (ElementImpl::childAllowed):
   20030 
   20031 2005-04-12  Vicki Murley  <vicki (a] apple.com>
   20032 
   20033         Reviewed by Maciej. 
   20034 
   20035 	- fixed <rdar://problem/3760895> Request for including an implementation of the elementFromPoint function
   20036  
   20037         * khtml/dom/dom_doc.cpp:
   20038         (DOM::Document::elementFromPoint):
   20039         * khtml/dom/dom_doc.h:
   20040         * khtml/ecma/kjs_dom.cpp:
   20041         (DOMDocumentProtoFunc::tryCall):
   20042         * khtml/ecma/kjs_dom.h:
   20043         (KJS::DOMDocument::):
   20044         * khtml/ecma/kjs_dom.lut.h:
   20045         (KJS::):
   20046         * khtml/xml/dom_docimpl.cpp:
   20047         (DocumentImpl::elementFromPoint):
   20048         * khtml/xml/dom_docimpl.h:
   20049 
   20050 2005-04-12  David Hyatt  <hyatt (a] apple.com>
   20051 
   20052 	Beginning of work to support the Acid2 CSS test put forward by the Web Standards Project.  Fix
   20053 	our handling of the rel attribute on <link> elements to do a proper tokenization so that stylesheets
   20054 	can be recognized even when other keywords are present in the rel attribute.
   20055 
   20056         * khtml/html/html_headimpl.cpp:
   20057         (HTMLLinkElementImpl::HTMLLinkElementImpl):
   20058         (HTMLLinkElementImpl::parseHTMLAttribute):
   20059         (HTMLLinkElementImpl::tokenizeRelAttribute):
   20060         (HTMLLinkElementImpl::process):
   20061         * khtml/html/html_headimpl.h:
   20062 
   20063 2005-04-12  John Sullivan  <sullivan (a] apple.com>
   20064 
   20065         - fixed these two bugs (I also fixed these on the experimental-ui-branch)
   20066         <rdar://problem/3154293> Find Next should not scroll page if the next target is already visible
   20067         <rdar://problem/3121828> scrollToVisible on find cuts off the left part of the view due to needless horiz. scroll
   20068 
   20069         Reviewed by Chris.
   20070 
   20071         * kwq/KWQKHTMLPart.mm:
   20072         (KWQKHTMLPart::jumpToSelection):
   20073         Trey had written code to address these issues, but left it commented out due to other
   20074         problems. The other problems no longer occur, so I uncommented Trey's code, and then
   20075         discovered that I could make it behave more like TextEdit with many fewer lines of
   20076         code.
   20077 
   20078 2005-04-08  David Harrison  <harrison (a] apple.com>
   20079 
   20080         Reviewed by Dave Hyatt.
   20081 
   20082         <rdar://problem/4084106> Remove NSAccessibilityForegroundColorTextAttributeWrapper
   20083 
   20084         * kwq/KWQAccObject.mm:
   20085         (AXAttributeStringSetStyle):
   20086         Use NSAccessibilityForegroundColorTextAttribute directly.
   20087 
   20088 2005-04-05  David Hyatt  <hyatt (a] apple.com>
   20089 
   20090 	Fix for 4077106, make sure that mouse wheeling in overflow sections uses 40 rather than 10 as the base line
   20091 	step.
   20092 	
   20093         Reviewed by darin
   20094 
   20095         * khtml/rendering/render_layer.cpp:
   20096         (RenderLayer::positionScrollbars):
   20097         * kwq/KWQScrollBar.mm:
   20098         (QScrollBar::scroll):
   20099 
   20100 2005-04-04  Vicki Murley  <vicki (a] apple.com>
   20101 
   20102         Reviewed by Maciej.
   20103 
   20104 	- fixed <rdar://problem/3871669> no focus or blur methods on HTML button elements
   20105 
   20106         * khtml/dom/html_form.cpp:
   20107         (HTMLButtonElement::focus): 
   20108         (HTMLButtonElement::blur): 
   20109         * khtml/dom/html_form.h: 
   20110         * khtml/ecma/kjs_html.cpp:
   20111         (KJS::HTMLElementFunction::tryCall):
   20112         * khtml/ecma/kjs_html.h:
   20113         (KJS::HTMLElement::):
   20114         * khtml/ecma/kjs_html.lut.h:
   20115         (KJS::):
   20116         * khtml/html/html_formimpl.cpp:
   20117         (DOM::HTMLButtonElementImpl::blur):
   20118         (DOM::HTMLButtonElementImpl::focus):
   20119         * khtml/html/html_formimpl.h:
   20120 
   20121 === WebCore-415 ===
   20122 
   20123 2005-03-28  David Harrison  <harrison (a] apple.com>
   20124 
   20125         Reviewed by Darin.
   20126         
   20127         <rdar://problem/4069161> REGRESSION (8A416-8A419): Safari crash bringing up context menu for non-HTML content in a frame
   20128 
   20129         * kwq/KWQAccObject.mm:
   20130         (-[KWQAccObject rendererForView:]):
   20131         Nil-check node variable instead of rechecking document variable.
   20132 
   20133 === WebCore-413 ===
   20134 
   20135 2005-03-27  Darin Adler  <darin (a] apple.com>
   20136 
   20137         Reviewed by me, fix by Kida-san.
   20138 
   20139         - fixed <rdar://problem/4067474> 8A424: Safari immediately quit by Cmd+Ctrll+'D'
   20140 
   20141         * kwq/WebCoreBridge.mm: (-[WebCoreBridge convertToNSRange:DOM::]):
   20142         Added nil check.
   20143 
   20144 === Safari-412 ===
   20145 
   20146 2005-03-24  Richard Williamson   <rjw (a] apple.com>
   20147 
   20148 	Fixed <rdar://problem/4052683> After adding/removing stocks from Stocks Widget, stock areas went blank
   20149 
   20150 	The request was being collected before firing it's load handler.
   20151 	We now gc protect the request while it's loading.
   20152 
   20153         Reviewed by Maciej.
   20154 
   20155         * khtml/ecma/xmlhttprequest.cpp:
   20156         (KJS::XMLHttpRequest::send):
   20157         (KJS::XMLHttpRequest::abort):
   20158         (KJS::XMLHttpRequest::slotFinished):
   20159         (KJS::XMLHttpRequestProtoFunc::tryCall):
   20160 
   20161 === Safari-411 ===
   20162 
   20163 2005-03-23  Darin Adler   <darin (a] apple.com>
   20164 
   20165 	Further fix for 4053515.
   20166 
   20167 	Covered cases where text position doesn't lie inside a
   20168 	text node.	
   20169 
   20170         Reviewed by Richard.
   20171 
   20172         * khtml/editing/visible_text.cpp:
   20173         (khtml::TextIterator::setRangeFromLocationAndLength):
   20174 
   20175 2005-03-23  Richard Williamson   <rjw (a] apple.com>
   20176 
   20177 	Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
   20178 
   20179 	We now use actual document NSRanges to represent both marked text
   20180 	ranges and selection ranges.
   20181 
   20182         Reviewed by Ken.
   20183 
   20184         * khtml/editing/visible_text.cpp:
   20185         (khtml::TextIterator::rangeLength):
   20186         (khtml::TextIterator::setRangeFromLocationAndLength):
   20187         * khtml/editing/visible_text.h:
   20188         * kwq/WebCoreBridge.h:
   20189         * kwq/WebCoreBridge.mm:
   20190         (-[WebCoreBridge convertToNSRange:DOM::]):
   20191         (-[WebCoreBridge DOM::convertToDOMRange:]):
   20192         (-[WebCoreBridge selectNSRange:]):
   20193         (-[WebCoreBridge markedTextDOMRange]):
   20194         (-[WebCoreBridge markedTextNSRange]):
   20195 
   20196 2005-03-22  Kevin Decker  <kdecker (a] apple.com>
   20197 
   20198         Reviewed by Vicki.
   20199 
   20200 	Fixed <rdar://problem/4062336> REGRESSION (406-407): HTML submenus not working at hrweb.apple.com after going back
   20201 
   20202 	Rolled out the fix for <rdar://problem/4041374> REGRESSION (185-186): unload handlers (at least those added with addEventListener) are broken
   20203 
   20204 	We clearly need a better solution to 4041374. We can't indiscriminately remove event listeners in closeURL() after-all. Since event listeners are registered in a <script> tag, which is evaluated and executed at page load time, this becomes a problem since we don't reevaluate a page's <script> that is in the back/forward cache.  Thus once you leave the page, the listeners are gone for good.  This is the problem.
   20205 
   20206         * khtml/khtml_part.cpp:
   20207         (KHTMLPart::closeURL):
   20208         * khtml/xml/dom_docimpl.cpp:
   20209         (DocumentImpl::detach): 
   20210 
   20211 === Safari-410 ===
   20212 
   20213 2005-03-22  Vicki Murley  <vicki (a] apple.com>
   20214 
   20215         - roll the fix for <rdar://problem/4060266> back in, since its 
   20216 	now approved by CCC
   20217 
   20218         * khtml/editing/visible_text.cpp:
   20219         (khtml::TextIterator::handleTextBox):
   20220 
   20221 2005-03-22  Vicki Murley  <vicki (a] apple.com>
   20222 
   20223 	- roll out the fix for <rdar://problem/4060266> since it was denied by CCC
   20224 
   20225         * khtml/editing/visible_text.cpp:
   20226         (khtml::TextIterator::handleTextBox):
   20227 
   20228 2005-03-22  David Harrison  <harrison (a] apple.com>
   20229 
   20230         Reviewed by Darin.
   20231         
   20232         <rdar://problem/4060266> Double-clicking in Dictionary.app doesn't work for some words (coming just after style change)
   20233 
   20234         * khtml/editing/visible_text.cpp:
   20235         (khtml::TextIterator::handleTextBox):
   20236         Complete the check of whether to emit space for collapsed space.
   20237 
   20238 2005-03-22  David Harrison  <harrison (a] apple.com>
   20239 
   20240         Reviewed by John.
   20241         
   20242         <rdar://problem/4061443> REGRESSION (8A420-8A421): Pasting in the Stickies widget is broken again
   20243 
   20244         * khtml/editing/htmlediting.cpp:
   20245         (khtml::positionBeforeContainingSpecialElement):
   20246         (khtml::positionAfterContainingSpecialElement):
   20247         Return unchanged Position rather than a null or non-editable one.
   20248 
   20249 === Safari-409 ===
   20250 
   20251 2005-03-20  Ken Kocienda  <kocienda (a] apple.com>
   20252 
   20253         Reviewed by me
   20254 
   20255         I made an error in this test earlier. It was not testing what I intended. Fixed.
   20256 
   20257         * layout-tests/editing/unsupported-content/list-delete-001-expected.txt
   20258         * layout-tests/editing/unsupported-content/list-delete-001.html
   20259         
   20260         New tests:
   20261 
   20262         * layout-tests/editing/unsupported-content/table-delete-001-expected.txt: Added.
   20263         * layout-tests/editing/unsupported-content/table-delete-001.html: Added.
   20264         * layout-tests/editing/unsupported-content/table-delete-002-expected.txt: Added.
   20265         * layout-tests/editing/unsupported-content/table-delete-002.html: Added.
   20266         * layout-tests/editing/unsupported-content/table-delete-003-expected.txt: Added.
   20267         * layout-tests/editing/unsupported-content/table-delete-003.html: Added.
   20268         * layout-tests/editing/unsupported-content/table-type-after-expected.txt: Added.
   20269         * layout-tests/editing/unsupported-content/table-type-after.html: Added.
   20270         * layout-tests/editing/unsupported-content/table-type-before-expected.txt: Added.
   20271         * layout-tests/editing/unsupported-content/table-type-before.html: Added.
   20272 
   20273 2005-03-20  Darin Adler  <darin (a] apple.com>
   20274 
   20275         Reviewed by Maciej.
   20276 
   20277         - fixed <rdar://problem/3923903> REGRESSION (164-165): Repro Safari crash in khtml::RenderLayer::scrollToOffset
   20278 
   20279         * khtml/rendering/render_layer.cpp: (RenderLayer::scrollToOffset): Check canvas for nil.
   20280 
   20281 2005-03-20  David Harrison  <harrison (a] apple.com>
   20282 
   20283         Reviewed by Darin.
   20284         
   20285         <rdar://problem/4055127> Dictionary pop-up panel misplaced at beginning of text blocks (breaks double-clicking in Dictionary.app)
   20286 
   20287         SimplifiedBackwardsTextIterator::advance() needed to not limit to textnodes
   20288         when checking whether moving back across block boundaries
   20289 
   20290         VisibleUnits previousBoundary() needed to INIT_DOWN when creating result VisiblePosition
   20291 
   20292         All editing tests pass.
   20293 
   20294         * khtml/editing/visible_text.cpp:
   20295         (khtml::SimplifiedBackwardsTextIterator::advance):
   20296         * khtml/editing/visible_units.cpp:
   20297         (khtml::previousBoundary):
   20298 
   20299 2005-03-20  Darin Adler  <darin (a] apple.com>
   20300 
   20301         Reviewed by Harrison.
   20302 
   20303         - fixed <rdar://problem/4059914> when you select all of a frame's content, need to select the frame in the parent document so it can be easily deleted
   20304 
   20305         * khtml/khtml_part.h: Added selectFrameElementInParentIfFullySelected.
   20306         * khtml/khtml_part.cpp:
   20307         (isFrame): Added.
   20308         (KHTMLPart::setFocusNodeIfNeeded): Changed to not set focus to a frame; was not what this function was
   20309         intended to do, and caused trouble when trying to select a frame element.
   20310         (KHTMLPart::khtmlMouseReleaseEvent): Call selectFrameElementInParentIfFullySelected.
   20311         (KHTMLPart::selectAll): Call selectFrameElementInParentIfFullySelected.
   20312         (KHTMLPart::selectFrameElementInParentIfFullySelected): Added. Selects the frame element in the parent
   20313         if a frame is entirely selected, which makes it easier to delete or replace the frame and is consistent
   20314         with the changes Maciej made recently for other elements.
   20315 
   20316         * kwq/WebCoreBridge.mm:
   20317         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Call selectFrameElementInParentIfFullySelected.
   20318         (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Call selectFrameElementInParentIfFullySelected.
   20319 
   20320 2005-03-20  Darin Adler  <darin (a] apple.com>
   20321 
   20322         Reviewed by me, code change by Ken.
   20323 
   20324         - fixed <rdar://problem/4059852> Deleting from first element of list makes content jump to wrong place
   20325 
   20326         * khtml/editing/htmlediting.cpp:
   20327         (khtml::isListStructureNode): Added.
   20328         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Check for list nodes as well as table nodes.
   20329 
   20330 2005-03-20  Ken Kocienda  <kocienda (a] apple.com>
   20331 
   20332         Reviewed by me
   20333         
   20334         Added tests to cover new "unsupported content" editing code.
   20335 
   20336         * layout-tests/editing/unsupported-content/list-delete-001-expected.txt: Added.
   20337         * layout-tests/editing/unsupported-content/list-delete-001.html: Added.
   20338         * layout-tests/editing/unsupported-content/list-delete-002-expected.txt: Added.
   20339         * layout-tests/editing/unsupported-content/list-delete-002.html: Added.
   20340         * layout-tests/editing/unsupported-content/list-delete-003-expected.txt: Added.
   20341         * layout-tests/editing/unsupported-content/list-delete-003.html: Added.
   20342         * layout-tests/editing/unsupported-content/list-type-after-expected.txt: Added.
   20343         * layout-tests/editing/unsupported-content/list-type-after.html: Added.
   20344         * layout-tests/editing/unsupported-content/list-type-before-expected.txt: Added.
   20345         * layout-tests/editing/unsupported-content/list-type-before.html: Added.
   20346 
   20347 2005-03-20  Ken Kocienda  <kocienda (a] apple.com>
   20348 
   20349         Reviewed by Maciej
   20350         
   20351         Fix for this bug:
   20352         
   20353         <rdar://problem/4059578> Entire list deleted, and caret disappears, when delete key hit at end of list
   20354 
   20355         The problem is that a new case in the delete code did not consider when the
   20356         downstream end node of the selection might be an ancestor of the upstream start
   20357         node. That is the case in this bug. The downstream end is the body element, and
   20358         this line of code would delete all the children of the downstream end:
   20359             removeChildrenInRangePreservingPosition(m_downstreamEnd.node(), 0, 
   20360                 m_downstreamEnd.offset(), m_upstreamStart);
   20361 
   20362         The fix is to check for this "is ancestor" case, and do some tree logic to find
   20363         the right offset of the downstream end node for the call to
   20364         removeChildrenInRangePreservingPosition().
   20365 
   20366         * khtml/editing/htmlediting.cpp:
   20367         (khtml::DeleteSelectionCommand::handleGeneralDelete): Fixed as described.
   20368 
   20369 2005-03-19  Ken Kocienda  <kocienda (a] apple.com>
   20370 
   20371         Reviewed by Maciej
   20372 
   20373         Fix for this bug:
   20374        
   20375         <rdar://problem/4059384> Cannot place insertion point correctly in editable text that avoids floating elements
   20376 
   20377         Note: I strongly suspect this bug blocks a complete solution to this other Tiger/P2:
   20378         <rdar://problem/4055748> AX: Dictionary pop-up panel shows at wrong place on specific parts of particular pages
   20379 
   20380         * khtml/rendering/render_text.cpp:
   20381         (RenderText::caretRect): Change the y-coordinate used to calculate the available width for a line. Height is wrong.
   20382         Top of the box containing the text where the click is done is correct. Also, add in the x-offset for the start
   20383         of the text box when calculating the available width. If this text box is avoiding a float at the y-coordinate
   20384         for the relevant box, failure to add in the amount of float-avoidance will make the text at the coordinates
   20385         greater than end-of-line minus float-avoidance ineligible for caret placement.
   20386 
   20387 2005-03-19  Darin Adler  <darin (a] apple.com>
   20388 
   20389         Reviewed by Ken.
   20390 
   20391         - fixed <rdar://problem/4057594> REGRESSION (125-406): Unrepro crash in HTMLTokenizer::allDataProcessed after hitting Back button
   20392 
   20393         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::allDataProcessed):
   20394         To get the part safely after calling end, save a guarded pointer to the view.
   20395         The old way could end trying to call a virtual function a part that was destroyed.
   20396 
   20397 2005-03-19  Maciej Stachowiak  <mjs (a] apple.com>
   20398 
   20399         Reviewed by Darin.
   20400 
   20401 	<rdar://problem/4053506> Pasting Tables and Cells in Mail does not allow editing before or after
   20402 	<rdar://problem/4005954> REGRESSION (Mail): After copy/paste of content containing list element cannot go back to entering text at left side of page
   20403 	
   20404         * khtml/editing/htmlediting.cpp:
   20405         (khtml::maxDeepOffset):
   20406         (khtml::CompositeEditCommand::removeFullySelectedNodePreservingPosition):
   20407         (khtml::CompositeEditCommand::removeChildrenInRangePreservingPosition):
   20408         (khtml::CompositeEditCommand::removeNodePreservingPosition):
   20409         (khtml::CompositeEditCommand::insertBlockPlaceholder):
   20410         (khtml::CompositeEditCommand::appendBlockPlaceholder):
   20411         (khtml::CompositeEditCommand::forceBlockPlaceholder):
   20412         (khtml::CompositeEditCommand::addBlockPlaceholderIfNeeded):
   20413         (khtml::isSpecialElement):
   20414         (khtml::isFirstVisiblePositionInSpecialElementInFragment):
   20415         (khtml::positionBeforePossibleContainingSpecialElement):
   20416         (khtml::positionAfterPossibleContainingSpecialElement):
   20417         (khtml::ApplyStyleCommand::applyInlineStyle):
   20418         (khtml::DeleteSelectionCommand::initializePositionData):
   20419         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
   20420         (khtml::DeleteSelectionCommand::handleGeneralDelete):
   20421         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
   20422         (khtml::DeleteSelectionCommand::doApply):
   20423         (khtml::InsertParagraphSeparatorCommand::doApply):
   20424         (khtml::ReplacementFragment::ReplacementFragment):
   20425         (khtml::ReplaceSelectionCommand::doApply):
   20426         * khtml/editing/htmlediting.h:
   20427         * khtml/editing/visible_position.cpp:
   20428         (khtml::isRenderedBR):
   20429         (khtml::VisiblePosition::initDownstream):
   20430         (khtml::isLastVisiblePositionInBlock):
   20431         * khtml/rendering/render_line.cpp:
   20432         (khtml::RootInlineBox::closestLeafChildForXPos):
   20433         * khtml/xml/dom_nodeimpl.cpp:
   20434         (NodeImpl::isBlockFlowOrTable):
   20435         (NodeImpl::isEditableBlock):
   20436         (NodeImpl::enclosingBlockFlowOrTableElement):
   20437         * khtml/xml/dom_nodeimpl.h:
   20438         * khtml/xml/dom_position.cpp:
   20439         (DOM::Position::upstream):
   20440         (DOM::Position::downstream):
   20441         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
   20442         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
   20443         * layout-tests/editing/deleting/delete-select-all-001-expected.txt:
   20444         * layout-tests/editing/deleting/delete-select-all-003-expected.txt:
   20445         * layout-tests/editing/inserting/insert-3786362-fix-expected.txt:
   20446 
   20447 2005-03-19  John Sullivan  <sullivan (a] apple.com>
   20448 
   20449         Reviewed by Darin.
   20450         
   20451         - fixed <rdar://problem/4058740> Crash (nil-deref) editing Mail reply 
   20452         message in KWQKHTMLPart::fontForSelection (MailViewer-723)
   20453 
   20454         * kwq/KWQKHTMLPart.mm:
   20455         (KWQKHTMLPart::fontForSelection):
   20456         Add nil check to loop. It shouldn't be necessary, but this crash trace seems to be
   20457         running into it. We're not completely certain, but the check is harmless at worst.
   20458 
   20459 === Safari-408 ===
   20460 
   20461 2005-03-18  David Harrison  <harrison (a] apple.com>
   20462 
   20463         Reviewed by Darin.
   20464         
   20465         <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
   20466         
   20467         Also changed WebKit.
   20468 
   20469         * kwq/KWQAccObject.mm:
   20470         (-[KWQAccObject rendererForView:]):
   20471         New to cover both the WebCore and WebKit NSViews.
   20472         
   20473         (-[KWQAccObject _accessibilityParentForSubview:]):
   20474         Use rendererForView.
   20475         
   20476         * kwq/WebCoreFrameView.h:
   20477         Add WebCoreBridgeHolder protocol to get access to WebKit NSViews.
   20478 
   20479 2005-03-18  David Harrison  <harrison (a] apple.com>
   20480 
   20481         Reviewed by Darin, Ken.
   20482 
   20483         <rdar://problem/3735625> AX: add AXPress action if an element has an onclick handler
   20484 
   20485         * khtml/dom/html_form.cpp:
   20486         (HTMLInputElement::click):
   20487         * khtml/html/html_elementimpl.cpp:
   20488         (HTMLElementImpl::click):
   20489         (HTMLElementImpl::accessKeyAction):
   20490         * khtml/html/html_elementimpl.h:
   20491         * khtml/html/html_formimpl.cpp:
   20492         (DOM::HTMLFormElementImpl::submitClick):
   20493         (DOM::HTMLButtonElementImpl::click):
   20494         (DOM::HTMLButtonElementImpl::accessKeyAction):
   20495         (DOM::HTMLInputElementImpl::click):
   20496         (DOM::HTMLInputElementImpl::accessKeyAction):
   20497         (DOM::HTMLInputElementImpl::defaultEventHandler):
   20498         (DOM::HTMLLabelElementImpl::accessKeyAction):
   20499         (DOM::HTMLSelectElementImpl::accessKeyAction):
   20500         (DOM::HTMLTextAreaElementImpl::accessKeyAction):
   20501         * khtml/html/html_formimpl.h:
   20502         * khtml/html/html_inlineimpl.cpp:
   20503         (HTMLAnchorElementImpl::defaultEventHandler):
   20504         (HTMLAnchorElementImpl::accessKeyAction):
   20505         * khtml/html/html_inlineimpl.h:
   20506         * khtml/rendering/render_form.cpp:
   20507         (RenderFileButton::click):
   20508         * khtml/rendering/render_form.h:
   20509         * khtml/xml/dom_docimpl.cpp:
   20510         (DocumentImpl::defaultEventHandler):
   20511         * khtml/xml/dom_elementimpl.h:
   20512         (DOM::ElementImpl::accessKeyAction):
   20513         * kwq/DOMHTML.mm:
   20514         (-[DOMHTMLInputElement click]):
   20515         * kwq/KWQButton.h:
   20516         * kwq/KWQButton.mm:
   20517         (QButton::click):
   20518         * kwq/KWQFileButton.h:
   20519         * kwq/KWQFileButton.mm:
   20520         (KWQFileButton::click):
   20521         
   20522         Add accessKeyAction parameter about whether to limit to HTMLElementImpl subclasses that JavaScript wants, or to apply to others as well.
   20523         
   20524         Add click() parameter about whether to send the mousedown and mouseup events in addition to the click event.
   20525         
   20526         * kwq/KWQAccObject.mm:
   20527         (-[KWQAccObject mouseButtonListener]):
   20528         Locate a mousedown, mouseup, or click handler in the current element and its ancestors.
   20529         
   20530         (-[KWQAccObject actionElement]):
   20531         (-[KWQAccObject accessibilityIsIgnored]):
   20532         (-[KWQAccObject accessibilityPerformAction:]):
   20533         Consider mouseButtonListener.
   20534 
   20535 2005-03-18  John Sullivan  <sullivan (a] apple.com>
   20536 
   20537         Reviewed by Darin.
   20538         
   20539         - fixed <rdar://problem/4002164> maps that include start and end 
   20540         location don't print right from maps.google.com
   20541 
   20542 	I thought I checked this in yesterday but a ChangeLog conflict aborted my checkin
   20543 	without me noticing.
   20544 
   20545         * khtml/rendering/render_style.cpp:
   20546         (RenderStyle::diff):
   20547         flag name changed from _should_correct_text_color to _force_backgrounds_to_white
   20548         
   20549         * khtml/rendering/render_style.h:
   20550         (khtml::RenderStyle::InheritedFlags::operator==):
   20551         flag name changed from _should_correct_text_color to _force_backgrounds_to_white
   20552         (khtml::RenderStyle::setBitDefaults):
   20553         ditto
   20554         (khtml::RenderStyle::forceBackgroundsToWhite):
   20555         ditto, and method name changed too
   20556         (khtml::RenderStyle::setForceBackgroundsToWhite):
   20557         ditto
   20558         
   20559         * khtml/rendering/render_text.cpp:
   20560         (InlineTextBox::paint):
   20561         updated for name change; also, compare text against white instead of current bg color
   20562         because we no longer actually modify the bg color (previously we would always set
   20563         the bg color to white, so the result is the same)
   20564         
   20565         * khtml/xml/dom_docimpl.cpp:
   20566         (DocumentImpl::recalcStyle):
   20567         updated for name change
   20568         
   20569         * kwq/WebCoreBridge.mm:
   20570         (-[WebCoreBridge styleSheetForPrinting]):
   20571         removed this method
   20572         (-[WebCoreBridge reapplyStylesForDeviceType:]):
   20573         removed the code that called styleSheetForPrinting; we no longer use a stylesheet
   20574         for this behavior.
   20575 
   20576         * khtml/rendering/render_box.cpp:
   20577         (RenderBox::paintBackgroundExtended):
   20578         If forceBackgroundsToWhite flag is set, convert background images and
   20579         background colors to white background color with no background image.
   20580         
   20581 2005-03-18  Ken Kocienda  <kocienda (a] apple.com>
   20582 
   20583         Reviewed by John
   20584 
   20585         Fix for this bug:
   20586         
   20587         <rdar://problem/4056718> Pasting quotes the entire message
   20588 
   20589         * khtml/editing/htmlediting.cpp:
   20590         (khtml::ReplaceSelectionCommand::doApply): After pasting, nodes are moved to the block containing
   20591         the end of the pasted content in certain cases. This move logic used to stop once it moved all the
   20592         siblings of the node following the last node of the pasted-in content. This means that block elements
   20593         could get moved, and if the pasted-in content included a mail blockquote, this could result in
   20594         one quote level getting added. The fix is to stop the move of nodes once a <br>, block element, or
   20595         <table> is seen. This only affected one of the many test cases we have for such scenarios, and 
   20596         the change to that result makes sense given the code change.
   20597         * layout-tests/editing/pasteboard/paste-text-003-expected.txt: This test result changed in a way that
   20598         adequately tests the behavior change, so I did not add a new test.
   20599 
   20600 2005-03-17  Ken Kocienda  <kocienda (a] apple.com>
   20601 
   20602         Reviewed by Harrison
   20603 
   20604         Fix for this bug:
   20605         
   20606         <rdar://problem/4051809> 8A413: Cursor-up in a mail message sometimes gets stuck (with specific reproducible case)
   20607 
   20608         * khtml/rendering/render_text.cpp:
   20609         (RenderText::positionForCoordinates): Consider two lines: line-above and line-below. If the caret position in line-below
   20610         was at an x coordinate between half way through the x coordinate of the last character on the line-above and the
   20611         end of that same character, this bug would happen since the positioning code would assume that it could create a 
   20612         VisiblePosition with a DOWNSTREAM affinity. Now, I check to see if the character position on the line-above is the 
   20613         last character on that line, and if it is, I use UPSTREAM as the affinity.
   20614 
   20615 === Safari-407 ===
   20616 
   20617 2005-03-17  David Harrison  <harrison (a] apple.com>
   20618 
   20619         Reviewed by Darin, Ken.
   20620 
   20621         * khtml/editing/htmlediting.cpp:
   20622         (khtml::EditCommandPtr::setEndingSelection):
   20623         Fixed typo so that it calls setEndingSelection rather than setStartingSelection.
   20624         Commented out this unused method, tho, since this is late in Tiger.  Proved unused by successful build after temporarily removing method declaration or implemenation.
   20625 
   20626 2005-03-16  Kevin Decker  <kdecker (a] apple.com>
   20627 
   20628         Reviewed by mjs.
   20629 
   20630 	Fixed <rdar://problem/4046665> REGRESSION (403-405): mypage.apple.com login does not work (hits assertion in Development build)
   20631 
   20632         * kwq/WebCoreBridge.mm:
   20633         (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Check always came back false when callers would send a nil NSURL to this method. Now we allow the empty url cases, eg., <frame src="">
   20634 
   20635 2005-03-16  Darin Adler  <darin (a] apple.com>
   20636 
   20637         Reviewed by Maciej.
   20638 
   20639         - fixed <rdar://problem/4045203> REGRESSION (125-188): Redundant JS imports crash Safari
   20640 
   20641         * khtml/html/htmltokenizer.h: Take inWRite bool out of NDEBUG ifdef.
   20642         * khtml/html/htmltokenizer.cpp:
   20643         (khtml::HTMLTokenizer::HTMLTokenizer): Take inWrite bool management code out of NDEBUG ifdef.
   20644         (khtml::HTMLTokenizer::write): Ditto. Don't call end if inWrite is true, since it will be called
   20645         when you return to the body of the outer write() call.
   20646         (khtml::HTMLTokenizer::allDataProcessed): Don't call end() if inWrite is true for the same reason.
   20647         (khtml::HTMLTokenizer::finish): Ditto.
   20648 
   20649         * kwq/KWQWidget.mm: (QWidget::getOuterView): Removed bogus assertion that has been vexing us of late.
   20650 
   20651 2005-03-16  David Harrison  <harrison (a] apple.com>
   20652 
   20653         Reviewed by me (written by Patti Yeh).
   20654 
   20655         * kwq/KWQAccObject.mm:
   20656         (-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]):
   20657         Use LeftWordIfOnBoundary instead of RightWordIfOnBoundary.
   20658 
   20659         (-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
   20660         Use RightWordIfOnBoundary instead of LeftWordIfOnBoundary.
   20661 
   20662 2005-03-16  David Harrison  <harrison (a] apple.com>
   20663 
   20664         Reviewed by Maciej.
   20665 
   20666         <rdar://problem/4054590> AX: Dictionary panel does not work when page is scrolled on Safari
   20667 
   20668         * kwq/KWQAccObject.mm:
   20669         (-[KWQAccObject doAXTextMarkerForPosition:]):
   20670         Add in the view's contentsX and contentsY to the point.
   20671 
   20672 2005-03-16  David Harrison  <harrison (a] apple.com>
   20673 
   20674         Reviewed by Maciej.
   20675 
   20676         <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
   20677         
   20678         Also changed WebKit.
   20679         
   20680         * khtml/editing/visible_units.h:
   20681         * khtml/editing/visible_units.cpp:
   20682         (khtml::startOfEditableContent):
   20683         (khtml::endOfEditableContent):
   20684         (khtml::inSameEditableContent):
   20685         (khtml::isStartOfEditableContent):
   20686         (khtml::isEndOfEditableContent):
   20687         New.
   20688         
   20689         * kwq/WebCoreBridge.h:
   20690         * kwq/WebCoreBridge.mm:
   20691         (-[WebCoreBridge canDeleteRange:]):
   20692         New.
   20693 
   20694 2005-03-16  Ken Kocienda  <kocienda (a] apple.com>
   20695 
   20696         Reviewed by Darin
   20697 
   20698         Fix for this bug:
   20699         
   20700         <rdar://problem/4042935> undo doesn't work properly during inline input
   20701 
   20702         * kwq/WebCoreBridge.h: Declare new method below.
   20703         * kwq/WebCoreBridge.mm:
   20704         (-[WebCoreBridge replaceMarkedTextWithText:]): New method. Wraps calls to TypingCommand::deleteKeyPressed and
   20705         TypingCommand::insertText to map the way that international text input works onto the typing undo system.
   20706 
   20707 2005-03-16  David Harrison  <harrison (a] apple.com>
   20708 
   20709         Reviewed by Darin.
   20710 
   20711         <rdar://problem/4044336> REGRESSION (8A398-8A409): Option-Delete also deletes space to left of deleted word
   20712 
   20713         * khtml/editing/htmlediting.cpp:
   20714         (khtml::DeleteSelectionCommand::initializePositionData):
   20715         - skip smart delete if the selection to delete already starts or ends with whitespace
   20716         
   20717         * khtml/khtml_part.cpp:
   20718         (KHTMLPart::handleMousePressEventDoubleClick):
   20719         - preserve selection on double-click when range is already selected
   20720         
   20721         * khtml/xml/dom_position.cpp:
   20722         (DOM::Position::leadingWhitespacePosition):
   20723         (DOM::Position::trailingWhitespacePosition):
   20724         - fix considerNonCollapsibleWhitespace action (logic was reversed)
   20725         - add non-breaking space to the non-collapsable ones
   20726         
   20727         * kwq/WebCoreBridge.mm:
   20728         (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
   20729         (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
   20730         - these methods do not set the selection, so remove calls to setSelectionGranularity
   20731           
   20732         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
   20733         (-[WebCoreBridge alterCurrentSelection:verticalDistance:]):
   20734         - set the granularity back to character
   20735         - the one exception is that we need to keep word granularity
   20736           to preserve smart delete behavior when extending by word
   20737 
   20738 2005-03-15  Maciej Stachowiak  <mjs (a] apple.com>
   20739 
   20740         Reviewed by John.
   20741 
   20742 	<rdar://problem/4053266> Pressing return a few times right after a link makes the new blank lines part of the link
   20743 	
   20744         * khtml/editing/htmlediting.cpp:
   20745 	(khtml::InsertLineBreakCommand::doApply): Use
   20746 	positionOutsideContainingSpecialElement in the right two places.
   20747         (khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
   20748 
   20749 	- move all these helper functions higher in the file
   20750 	
   20751         * khtml/editing/htmlediting.cpp:
   20752         (khtml::isSpecialElement):
   20753         (khtml::isFirstVisiblePositionInSpecialElement):
   20754         (khtml::positionBeforeNode):
   20755         (khtml::positionBeforeContainingSpecialElement):
   20756         (khtml::maxRangeOffset):
   20757         (khtml::isLastVisiblePositionInSpecialElement):
   20758         (khtml::positionAfterNode):
   20759         (khtml::positionAfterContainingSpecialElement):
   20760         (khtml::positionOutsideContainingSpecialElement):
   20761 
   20762 2005-03-14  Maciej Stachowiak  <mjs (a] apple.com>
   20763 
   20764         Reviewed by Ken.
   20765 
   20766 	<rdar://problem/4049925> Pasting right after a link makes pasted content part of the link (without visible style change)
   20767         
   20768         * khtml/editing/htmlediting.cpp:
   20769         (khtml::positionOutsideContainingSpecialElement): made a helper
   20770 	function that computes a position outside the outermost containing
   20771 	special element if the passed in position is right at the start or
   20772 	end of it
   20773         (khtml::InsertTextCommand::prepareForTextInsertion): use new helper here
   20774         (khtml::ReplaceSelectionCommand::doApply): use it here too: this is the fix
   20775         (khtml::positionBeforeNode): made static
   20776         (khtml::positionBeforeContainingSpecialElement): made static
   20777         (khtml::positionAfterNode): made static
   20778         (khtml::positionAfterContainingSpecialElement): made static
   20779 
   20780 2005-03-15  Richard Williamson   <rjw (a] apple.com>
   20781 
   20782 	Fixed <rdar://problem/4053658> Crash getting direction at maps.google.com
   20783 
   20784 	Add non nil style() check.
   20785 
   20786         Reviewed by Dave Harrison.
   20787 
   20788         * khtml/rendering/render_table.cpp:
   20789         (RenderTableCell::collapsedRightBorder):
   20790 
   20791 2005-03-15  Kevin Decker  <kdecker (a] apple.com>
   20792 
   20793         Reviewed by John
   20794 	
   20795 	Fixed: <rdar://problem/4041374> REGRESSION (185-186): unload handlers (at least those added with addEventListener) are broken
   20796 
   20797 	The reason why UNLOAD_EVENT wouldn't dispatch was because the code would delete all event listeners at the detach() phase which is prior to closeURL(). 
   20798 
   20799 	This fixes a recent regression from:
   20800 
   20801  <rdar://problem/3977973> pages on ebay leak referenced JavaScript objects -- over time browsing becomes super-slow
   20802 
   20803         * khtml/khtml_part.cpp:
   20804         (KHTMLPart::closeURL): After dispatching event handlers, go ahead and remove them from the DOM. 
   20805         * khtml/xml/dom_docimpl.cpp:
   20806         (DocumentImpl::detach): Took out the call to removeAllEventListenersFromAllNodes(). If we remove all event listeners here then when KHTMLPart::closeURL() checks for even listeners, it will never have any because they'll already be gone. 
   20807 
   20808 2005-03-15  Ken Kocienda  <kocienda (a] apple.com>
   20809 
   20810         Reviewed by Vicki
   20811 
   20812         Fox for this bug:
   20813         
   20814         <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
   20815 
   20816         Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
   20817         keystrokes grouped together in a single undo operation. A change on 27 Jan in WebKit to change the way delete
   20818         keystrokes are handled made this feature regress. Previous to that change, the backwards delete
   20819         key went through separate code that is no longer in the tree that did not set the selection in the way
   20820         it is done now.
   20821         
   20822         The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
   20823         -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the 
   20824         selection will act to close typing or not.
   20825 
   20826         * kwq/WebCoreBridge.h: Changed header accordingly to change method shown below.
   20827         * kwq/WebCoreBridge.mm:
   20828         (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]): Added closeTyping argument to this method.
   20829 
   20830 2005-03-15  John Sullivan  <sullivan (a] apple.com>
   20831 
   20832         Reviewed by Vicki.
   20833         
   20834         - fixed <rdar://problem/4052246> crash in KWQKHTMLPart::createPart() trying to display local file in frame
   20835 
   20836         * kwq/KWQKHTMLPart.mm:
   20837         (KWQKHTMLPart::createPart):
   20838         Check part for nil before trying to ref. This was probably a longstanding code flaw revealed by
   20839         the recent security fix.
   20840 
   20841 2005-03-15  Kevin Decker  <kdecker (a] apple.com>
   20842 
   20843         Reviewed by Ken and Maciej.
   20844 
   20845 	New fix for <rdar://problem/3667701> crash in KHTMLPart::jScriptEnabled()
   20846 	
   20847 	The tokenizer has buffers which mean parsing can continue even after loading is supposed to be stopped. If the loading process was aborted, the tokenizer should abort, too.
   20848 
   20849         * khtml/html/htmltokenizer.cpp:
   20850         (khtml::HTMLTokenizer::HTMLTokenizer): Initialize loadStopped to false.
   20851         (khtml::HTMLTokenizer::write): Go ahead and bail out if loadStopped is true. 
   20852         (khtml::HTMLTokenizer::processToken):
   20853         * khtml/html/htmltokenizer.h: Added loadStopped flag. Changed the view pointer from a standard pointer to a QGuardedPtr.  This fixes the crash.  Now the tokenizer's handle to the view will now automatically nil-out and never dangle.
   20854         * khtml/khtml_part.cpp:
   20855         (KHTMLPart::closeURL): Notify the tokenizer to stop parsing. 
   20856         * khtml/xml/xml_tokenizer.cpp:
   20857         (khtml::XMLTokenizer::XMLTokenizer): Initialize loadStopped to false.
   20858         * khtml/xml/xml_tokenizer.h:
   20859         (khtml::Tokenizer::stopParsing): Added. 
   20860 
   20861 2005-03-14  David Harrison  <harrison (a] apple.com>
   20862 
   20863         Reviewed by Darin, Maciej.
   20864 
   20865         <rdar://problem/4046103> REGRESSION (Mail): clicking after style change sets insertion point incorrectly
   20866         
   20867         Also fixes crash by adding nil check.
   20868 
   20869         * khtml/editing/htmlediting.cpp:
   20870         (khtml::MoveSelectionCommand::doApply):
   20871         Check the node for nil.
   20872         
   20873         * khtml/khtml_part.cpp:
   20874         (KHTMLPart::khtmlMouseReleaseEvent):
   20875         Use the node from the event rather than from the selection.
   20876 
   20877 2005-03-14  Darin Adler  <darin (a] apple.com>
   20878 
   20879         Reviewed by Harrison.
   20880 
   20881         - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
   20882 
   20883         * khtml/xml/dom_docimpl.cpp:
   20884         (DocumentImpl::DocumentImpl): Set markers list to be "auto-delete" so they don't all leak.
   20885         (DocumentImpl::removeMarker): Remove markers list for a node when the last marker is removed
   20886         for that node. Otherwise, we can have empty marker lists for each node forever until the
   20887         document goes away.
   20888         (DocumentImpl::removeAllMarkers): Added code to dirty the markers.
   20889         (DocumentImpl::shiftMarkers): Remove unneeded empty check.
   20890 
   20891         * kwq/WebCoreBridge.h: Added unmarkAllMisspellings for WebKit.
   20892         * kwq/WebCoreBridge.mm: (-[WebCoreBridge unmarkAllMisspellings]): Added. Calls removeAllMarkers.
   20893 
   20894 2005-03-14  Richard Williamson   <rjw (a] apple.com>
   20895 
   20896 	Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
   20897 
   20898 	A document may be deleted as a consequence of handling an event,
   20899 	as was the case with Acrobat.app.  Ensure that the document is still valid
   20900 	before passing the event on for further handling.
   20901 
   20902         * khtml/xml/dom_nodeimpl.cpp:
   20903         (NodeImpl::dispatchUIEvent):
   20904 
   20905 2005-03-14  Ken Kocienda  <kocienda (a] apple.com>
   20906 
   20907         Reviewed by me
   20908 
   20909         Added a couple of comments about setChanged() to this code based on my experiences with 4047028.
   20910 
   20911         * khtml/css/css_valueimpl.cpp:
   20912         (DOM::CSSMutableStyleDeclarationImpl::addParsedProperties)
   20913         (DOM::CSSMutableStyleDeclarationImpl::merge)
   20914 
   20915 2005-03-14  Ken Kocienda  <kocienda (a] apple.com>
   20916 
   20917         Reviewed by John
   20918 
   20919         Fix for this bug:
   20920         
   20921         <rdar://problem/4047028> Changing quote levels on stylized text causes it to be sent as colored (Blue). Tiger8A410
   20922 
   20923         * khtml/css/css_valueimpl.cpp:
   20924         (DOM::CSSMutableStyleDeclarationImpl::removePropertiesInSet): This function now calls setChanged() at the 
   20925         end of its loop if any properties were removed. This makes the style system update correctly in response
   20926         to changes made by this function. The code to paste removes style from the pasted content in a 
   20927         preliminary step, and the fact that the style system did not update properly left unwanted color
   20928         declarations in the document.
   20929 
   20930 2005-03-14  Vicki Murley  <vicki (a] apple.com>
   20931 
   20932 	- roll out this change for now, since it was denied by CCC
   20933 
   20934     2005-03-11  David Harrison  <harrison (a] apple.com>
   20935         
   20936         Reviewed by Darin.
   20937         
   20938         <rdar://problem/4046602> WebCore invokes undefined behavior when the spell checker isn't running
   20939 
   20940         * kwq/KWQKHTMLPart.mm:
   20941         (KWQKHTMLPart::advanceToNextMisspelling):
   20942         (KWQKHTMLPart::markMisspellings):
   20943         Nil check checker.
   20944 
   20945 2005-03-14  Ken Kocienda  <kocienda (a] apple.com>
   20946 
   20947         Reviewed by John
   20948 
   20949         Fix for this bug:
   20950         
   20951         <rdar://problem/4050403> Mail crashes after pasting and deleting the content of one Excel cell
   20952 
   20953         * khtml/editing/htmlediting.cpp:
   20954         (khtml::DeleteSelectionCommand::handleGeneralDelete): Add some null checks to the code. This fixes the crash, although
   20955         following the steps described in the bug by John Sullivan on 3/14/05 at 10:49 AM will leave us with a "blank line" in 
   20956         the document that cannot be removed (this is actually an empty table). This is undesirable, however, work Maciej is
   20957         doing to fix the general-case problem of trying to edit constructs we do not handle well in editing should fix this
   20958         particular case, making the deletion of this "blank line" possible. Maciej is doing this work as part of this bug:
   20959         <rdar://problem/4036051> Hard to select (and thus delete) an IFRAME in an editable WebView
   20960 
   20961 2005-03-14  Ken Kocienda  <kocienda (a] apple.com>
   20962 
   20963         Reviewed by Darin
   20964 
   20965         Fix for this bug:
   20966         
   20967         <rdar://problem/4029632> Mail crashes in DOM::NodeImpl::isBlockFlow() after pasting text with alignment style and BR element from Safari
   20968         
   20969         The problem is that removeInlineStyle() can remove nodes, and if either the start or end node of the
   20970         selection at the time of the call to removeInlineStyle() was in a node that got removed, bad things
   20971         would happen. The fix is described below.
   20972 
   20973         * khtml/editing/htmlediting.cpp:
   20974         (khtml::maxRangeOffset): Moved this static function to a different place in the file so the code below can use it.
   20975         (khtml::ApplyStyleCommand::applyInlineStyle): Calling removeInlineStyle() now has the side effect of 
   20976         setting the command's ending selection. Now resets start and end using the ending selection after the call to
   20977         removeInlineStyle() as it is done elsewhere in this function.
   20978         (khtml::ApplyStyleCommand::removeInlineStyle): Track the removal of the start or end node based on
   20979         the positions passed in. If either the start or the end node is removed as part of style removal, 
   20980         set an appropriate replacement start or end that is still in the document.
   20981 
   20982 === Safari-406 ===
   20983 
   20984 2005-03-14  Ken Kocienda  <kocienda (a] apple.com>
   20985 
   20986         Reviewed by Darin
   20987 
   20988         I need to roll out Kevin's change to fix 3667701. It breaks contextual fragments, and hence breaks
   20989         paste in editing (among other things).
   20990 
   20991         * khtml/html/htmltokenizer.cpp: Roll out recent change.
   20992         (khtml::HTMLTokenizer::write) 
   20993         * khtml/html/htmltokenizer.h: Ditto.
   20994 
   20995 2005-03-13  Darin Adler  <darin (a] apple.com>
   20996 
   20997         Reviewed by Ken and Maciej.
   20998 
   20999         - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
   21000 
   21001         * kwq/WebCoreBridge.mm: (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Changed to give "applewebdata:"
   21002         documents the same privileges to open local files that "file:" documents have.
   21003 
   21004 2005-03-13  Kevin Decker  <kdecker (a] apple.com>
   21005 
   21006         Reviewed by mjs.
   21007         
   21008         Fixed: <rdar://problem/3667701> crash in KHTMLPart::jScriptEnabled()
   21009         
   21010         The problem here was that the tokenizer would continue to receive chunks of data from the loader already
   21011         after the view and part had been destroyed.  Situations like this could arise when clicking on another link 
   21012         while still loading the current view, or during self test where we rapidly open, load, and close browser
   21013         windows very fast. 
   21014 
   21015         * khtml/html/htmltokenizer.cpp: 
   21016         (khtml::HTMLTokenizer::write): Simple nil check against the view. 
   21017         * khtml/html/htmltokenizer.h: Changed the view pointer from a standard pointer to a QGuardedPtr.  The tokenizer's
   21018         handle to the view will now automatically nil-out and never dangle.
   21019 
   21020 2005-03-13  Darin Adler  <darin (a] apple.com>
   21021 
   21022         Reviewed by John and Ken.
   21023 
   21024         - fixed <rdar://problem/4044347> REGRESSION (Mail): Control-K in particular message moves insertion point to previous line
   21025 
   21026         Tweaked the deleting code, and added three new deleting layout tests to confirm the new code works.
   21027 
   21028         * khtml/editing/htmlediting.cpp:
   21029         (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed special case with comment that said it was
   21030         for the case where a "selection contains only a BR right after a block ended". This code was being triggered in
   21031         more cases than just that one, and in all the cases I tested, the general delete code works fine.
   21032         (khtml::DeleteSelectionCommand::handleGeneralDelete): Changed the code that decides whether to delete an entire
   21033         block to understand the case where the end block is outside the start block, but contains the start block.
   21034         In that case, we want to delete the entire block. Not deleting the block was causing us to delete just the <br>,
   21035         and not the enclosing <div> in the case in the bug.
   21036 
   21037         * layout-tests/editing/deleting/delete-line-015-expected.txt: Added.
   21038         * layout-tests/editing/deleting/delete-line-015.html: Added.
   21039         * layout-tests/editing/deleting/delete-line-016-expected.txt: Added.
   21040         * layout-tests/editing/deleting/delete-line-016.html: Added.
   21041         * layout-tests/editing/deleting/delete-line-017-expected.txt: Added.
   21042         * layout-tests/editing/deleting/delete-line-017.html: Added.
   21043         * layout-tests/editing/style/smoosh-styles-002-expected.txt: Updated to improved results. With the code change, the deletion
   21044         now deletes more than it used to. The old results had an empty text node and <h1> element that were both 0-sized, and now
   21045         we delete both of those.
   21046 
   21047 2005-03-13  Darin Adler  <darin (a] apple.com>
   21048 
   21049         - fixed <rdar://problem/4049172> REGRESSION (403-405): Gmail: text box in "Invite a friend" section overlaps other sections
   21050 
   21051         Rolled out fix for <rdar://problem/3952698> Function buttons do not display properly with Telia Webmail
   21052 
   21053         * khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth): Back to previous version of this file.
   21054 
   21055 2005-03-12  Maciej Stachowiak  <mjs (a] apple.com>
   21056 
   21057         Reviewed by Adele.
   21058 
   21059 	<rdar://problem/4046144> RSS pages leave a hole in local file security policy (need to revert feed: exemption)
   21060         
   21061 	* kwq/WebCoreBridge.mm:
   21062         (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Revert
   21063 	emergency workaround for Safari RSS, now that a new Syndication
   21064 	has been submitted.
   21065 
   21066 2005-03-11  Maciej Stachowiak  <mjs (a] apple.com>
   21067 
   21068         Reviewed by Kevin.
   21069 
   21070 	<rdar://problem/4026787> text typed after a link (pasted or Mail Link to this Page) is part of the link, underlined and colored blue
   21071         
   21072 	The concept of this change is every time you type at the very
   21073 	start or very end of a link (even if nested in further inner
   21074 	elements), the typed text goes outside the link instead of inside.
   21075 	
   21076 	* khtml/editing/htmlediting.cpp:
   21077         (khtml::InsertTextCommand::prepareForTextInsertion): Check whether
   21078 	we are at the first visible position or last visible position of a
   21079 	special element. For now this only includes HTML A elements that
   21080 	are links (i.e. they have an href).
   21081 	(khtml::isSpecialElement): Helper function that identifies special
   21082 	elements (for now only links).
   21083         (khtml::isFirstVisiblePositionInSpecialElement): Checks if a given DOM
   21084 	position is equivalent to the first visible position in some containing 
   21085 	editable special element.
   21086         (khtml::positionBeforeNode): Returns the DOM position immediately
   21087 	before a node.
   21088         (khtml::positionBeforeContainingSpecialElement): Gives a DOM
   21089 	position immediately before the outermost editable containing
   21090 	special element where the passed-in position is equivalent to the
   21091 	first visible position.
   21092         (khtml::maxRangeOffset): Helper to get the maximum allowed
   21093 	range/position offset for a node, does the right thing based on
   21094 	whether the node would use a character offset or child offset.
   21095         (khtml::isLastVisiblePositionInSpecialElement): Similar to above,
   21096 	but for end of node instead of start.
   21097         (khtml::positionAfterNode): Ditto.
   21098         (khtml::positionAfterContainingSpecialElement): Ditto.
   21099 
   21100 	Some layout tests changed - I looked over all the diffs and found
   21101 	that the only changes were "junk nodes" like empty spans and text
   21102 	nodes moving from one spot in the tree to another. These changes
   21103 	are all harmless and do not affect layout or future editing.
   21104 
   21105         * layout-tests/editing/inserting/typing-003-expected.txt:
   21106         * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt:
   21107         * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt:
   21108         * layout-tests/editing/style/remove-underline-after-paragraph-expected.txt:
   21109         * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt:
   21110         * layout-tests/editing/style/remove-underline-expected.txt:
   21111         * layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt:
   21112         * layout-tests/editing/style/remove-underline-in-bold-expected.txt:
   21113         * layout-tests/editing/style/typing-style-003-expected.txt:
   21114         * layout-tests/editing/style/unbold-in-bold-expected.txt:
   21115         * layout-tests/editing/style/underline-expected.txt:
   21116 
   21117 2005-03-11  Adele Amchan  <adele (a] apple.com>
   21118 
   21119         backing out fix for <rdar://problem/4021711> REGRESSION (125-188): blank pages when browsing forum at cooperativeresearch.org - cached external script problem
   21120 
   21121         This caused the following regressions (that we know of): 
   21122         <rdar://problem/4047445> REGRESSION (Safari-400-403?): Some or all page contents sometimes don't appear (macworld.com)
   21123         <rdar://problem/4046153> 8a409: Problem loading Citibank page in Safari 2 (403)
   21124         <rdar://problem/4047801> REGRESSION (402-403): .Mac homepage links don't work
   21125 
   21126         * khtml/html/htmltokenizer.cpp:
   21127         (khtml::HTMLTokenizer::scriptHandler):
   21128 
   21129 2005-03-11  David Harrison  <harrison (a] apple.com>
   21130 
   21131         Reviewed by Darin.
   21132 
   21133         <rdar://problem/4046602> WebCore invokes undefined behavior when the spell checker isn't running
   21134 
   21135         * kwq/KWQKHTMLPart.mm:
   21136         (KWQKHTMLPart::advanceToNextMisspelling):
   21137         (KWQKHTMLPart::markMisspellings):
   21138         Nil check checker.
   21139 
   21140 2005-03-11  Ken Kocienda  <kocienda (a] apple.com>
   21141 
   21142         Reviewed by me
   21143 
   21144         * ForwardingHeaders/editing/visible_units.h: Added.
   21145 
   21146 2005-03-11  Ken Kocienda  <kocienda (a] apple.com>
   21147 
   21148         Reviewed by John
   21149 
   21150         Fix for this bug:
   21151         
   21152         <rdar://problem/4045521> Hitting return key with full line selected does not add blank line as it should
   21153 
   21154         * khtml/editing/htmlediting.cpp:
   21155         (khtml::InsertParagraphSeparatorCommand::doApply): Removed some "special-case" code from this 
   21156         function that would look for a selection that started and ended in a different block, and would
   21157         then bail right after the deletion of the selection without inserting a paragraph separator.
   21158         This was just wrong. So, the code change is removal only. When the general-case code runs instead
   21159         of the erroneous special-case code, the bug goes away.
   21160         
   21161         New tests:
   21162         
   21163         * layout-tests/editing/inserting/return-key-with-selection-001-expected.txt: Added.
   21164         * layout-tests/editing/inserting/return-key-with-selection-001.html: Added.
   21165         * layout-tests/editing/inserting/return-key-with-selection-002-expected.txt: Added.
   21166         * layout-tests/editing/inserting/return-key-with-selection-002.html: Added.
   21167         * layout-tests/editing/inserting/return-key-with-selection-003-expected.txt: Added.
   21168         * layout-tests/editing/inserting/return-key-with-selection-003.html: Added.
   21169 
   21170 2005-03-11  David Harrison  <harrison (a] apple.com>
   21171 
   21172         Reviewed by Darin.
   21173 
   21174         <rdar://problem/4009446> AX: kAXTextMarkerForPositionParameterizedAttribute not working correctly (required for Dictionary pop-up)
   21175 
   21176         * kwq/KWQAccObject.mm:
   21177         (-[KWQAccObject accessibilityAttributeValue:]):
   21178         Comment changes.
   21179         
   21180         (-[KWQAccObject doAXTextMarkerForPosition:]):
   21181         Dig into widgets.
   21182         
   21183         (-[KWQAccObject doAXBoundsForTextMarkerRange:]):
   21184         Use the selection's document instead of the top document, to accommodate frames, etc.
   21185         
   21186         (-[KWQAccObject accessibilityAttributeValue:forParameter:]):
   21187         Fixed parameter processing to look for NSValue instead of AXValue.
   21188 
   21189 2005-03-11  Ken Kocienda  <kocienda (a] apple.com>
   21190 
   21191         Reviewed by Harrison
   21192 
   21193         Fix for this bug:
   21194         
   21195         <rdar://problem/3972665> 8A360: HTML message partially truncated on left hand side, text-indent from Script Editor
   21196         
   21197         This was fixed, then regressed with Harrison's fix for this bug:
   21198         
   21199         <rdar://problem/3948453> Can't type accented chars as first character in Stickies widget
   21200 
   21201         * khtml/editing/htmlediting.cpp:
   21202         (khtml::ReplaceSelectionCommand::doApply): My now addresses both problems in a way that they no longer
   21203         clobber each other.
   21204 
   21205 2005-03-10  Ken Kocienda  <kocienda (a] apple.com>
   21206 
   21207         Reviewed by John
   21208 
   21209         Fix for these bugs:
   21210         
   21211         <rdar://problem/4045511> Copying and pasting end-of-paragraph selection puts insertion point in wrong place
   21212         <rdar://problem/4045513> Copying and pasting selection starting at end of paragraph can incorrectly remove line break
   21213 
   21214         The copy/paste code before this patch had no notion of a "logical newline" at the start of the selection. We have
   21215         had a similar notion for "logical newline" at the end of the selection for quite some time. To fix these bugs, we
   21216         need to introduce the same idea for selection starts.
   21217 
   21218         * khtml/editing/htmlediting.cpp:
   21219         (khtml::ReplacementFragment::ReplacementFragment): Process the "logical newline" at start as we write it out
   21220         in markup. Set the bit we added to this object to signify we have such a newline.
   21221         (khtml::ReplaceSelectionCommand::doApply): Many, many changes to introduce the new "logical newline" at start concept.
   21222         I also tried to simply the code that sets the start position for inserting content to be pasted. I also improved a
   21223         weakness in the smart-paste code. Now, we check before and after the paste for whether we need to add a leading or
   21224         trailing space. The code previous to this patch only did a "before" check, with the result that we sometimes added
   21225         a second space. In other words, the code did not realize that DOM changes done by pasting could cause formerly
   21226         unrendered whitespace to become rendered. Also moved line placeholder clean up code to its own function.
   21227         (khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): New helper that further refines the notion
   21228         of when we can remove a line placeholder. The definition is now, "If a line placeholder is at the visible start
   21229         and visible end of its line, keep it; otherwise remove it".
   21230         * khtml/editing/htmlediting.h: Declare new functions. Rework inlines in ReplacementFragment class to account for
   21231         addition of new "logical newline" at start concept.
   21232         (khtml::ReplacementFragment::hasInterchangeNewlineAtStart): New accessor.
   21233         (khtml::ReplacementFragment::hasInterchangeNewlineAtEnd): Renamed from hasInterchangeNewline(), since before we
   21234         only had a bit for the end, hence we did not need to distinguish it from the start.
   21235         * khtml/editing/markup.cpp:
   21236         (khtml::createMarkup): Added code to detect and write out markup for cases where we have a "logical newline" at start.
   21237         * khtml/xml/dom2_rangeimpl.cpp:
   21238         (DOM::RangeImpl::startPosition): New helper.
   21239         (DOM::RangeImpl::endPosition): Ditto.
   21240         * khtml/xml/dom2_rangeimpl.h: Declare new helpers.
   21241         
   21242         New tests:
   21243         * layout-tests/editing/pasteboard/paste-line-endings-001-expected.txt: Added.
   21244         * layout-tests/editing/pasteboard/paste-line-endings-001.html: Added.
   21245         * layout-tests/editing/pasteboard/paste-line-endings-002-expected.txt: Added.
   21246         * layout-tests/editing/pasteboard/paste-line-endings-002.html: Added.
   21247         * layout-tests/editing/pasteboard/paste-line-endings-003-expected.txt: Added.
   21248         * layout-tests/editing/pasteboard/paste-line-endings-003.html: Added.
   21249         * layout-tests/editing/pasteboard/paste-line-endings-004-expected.txt: Added.
   21250         * layout-tests/editing/pasteboard/paste-line-endings-004.html: Added.
   21251         * layout-tests/editing/pasteboard/paste-line-endings-005-expected.txt: Added.
   21252         * layout-tests/editing/pasteboard/paste-line-endings-005.html: Added.
   21253         * layout-tests/editing/pasteboard/paste-line-endings-006-expected.txt: Added.
   21254         * layout-tests/editing/pasteboard/paste-line-endings-006.html: Added.
   21255         * layout-tests/editing/pasteboard/paste-line-endings-007-expected.txt: Added.
   21256         * layout-tests/editing/pasteboard/paste-line-endings-007.html: Added.
   21257         * layout-tests/editing/pasteboard/paste-line-endings-008-expected.txt: Added.
   21258         * layout-tests/editing/pasteboard/paste-line-endings-008.html: Added.
   21259         * layout-tests/editing/pasteboard/paste-line-endings-009-expected.txt: Added.
   21260         * layout-tests/editing/pasteboard/paste-line-endings-009.html: Added.
   21261         * layout-tests/editing/pasteboard/paste-line-endings-010-expected.txt: Added.
   21262         * layout-tests/editing/pasteboard/paste-line-endings-010.html: Added.
   21263 
   21264 === Safari-405 ===
   21265 
   21266 2005-03-10  Darin Adler  <darin (a] apple.com>
   21267 
   21268         Reviewed by Richard.
   21269 
   21270         - fixed <rdar://problem/4037700> Every character typed causes stat call for /usr/share/icu/icudt32b_char.brk
   21271 
   21272         * khtml/rendering/render_text.cpp: (getCharacterBreakIterator): Set boolean "got iterator" to true.
   21273 
   21274 2005-03-10  Darin Adler  <darin (a] apple.com>
   21275 
   21276         Reviewed by Ken.
   21277 
   21278         - fixed <rdar://problem/4042867> "Bigger" changes the font size of too much text when the selection is on a style-change boundary
   21279 
   21280         * khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
   21281         Advance out of the starting text node if we're at the end of it.
   21282 
   21283 2005-03-10  Darin Adler  <darin (a] apple.com>
   21284 
   21285         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): Fixed assertion for nested calls to write.
   21286 
   21287 2005-03-10  David Harrison  <harrison (a] apple.com>
   21288 
   21289         Reviewed by Darin.
   21290 
   21291         <rdar://problem/4032346> REGRESSION (Mail): changing 1st line of a URL that wraps to two lines doesn't always update 2nd line
   21292 
   21293         * khtml/rendering/bidi.cpp:
   21294         (khtml::RenderBlock::matchedEndLine):
   21295         Look at first clean line in case line wrap implicitly dirtied it.
   21296 
   21297 2005-03-10  Maciej Stachowiak  <mjs (a] apple.com>
   21298 
   21299         Reviewed by Vicki.
   21300 
   21301 	<rdar://problem/4046018> REGRESSION (TOT): RSS pages don't display anything
   21302         
   21303 	* kwq/WebCoreBridge.mm:
   21304         (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Exempt
   21305 	feed: and feeds: pages from the local file security check.
   21306 
   21307 2005-03-10  Darin Adler  <darin (a] apple.com>
   21308 
   21309         Change written by Steve Peters, reviewed by me.
   21310 
   21311         - fixed <rdar://problem/4045924> improve compareBoundaryPoints to make style changes faster
   21312 
   21313         * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::compareBoundaryPoints):
   21314         Do early outs in a couple of the loops to make things faster.
   21315 
   21316 2005-03-10  Jens Alfke  <jens (a] apple.com>
   21317 
   21318         Reviewed by rjw.
   21319 
   21320 	Fixes <rdar://problem/4040848> "REGR: Sun security-check demo applet does not load". My earlier fix for 3603191 deferred loading the applet until the </applet> tag is reached, so all <param>s will be available. Unfortunately that meant that if the </applet> tag was missing, the applet would never load at all. So instead, the loading needs to happen when the ID_APPLET tag is popped from the parser stack for any reason.
   21321 
   21322 	I've restored the old NodeImpl::closeRenderer() method. Except it's now virtual, with a no-op base implementation, and is overridden by HTMLAppletElementImpl, replacing its setAllParamsAvailable method that I added a few weeks ago when fixing 3603191.
   21323 
   21324 	This ensures that the applet will get loaded even if there is no explicit </applet> tag.
   21325 
   21326 	The changes to htmlparser.cpp back out my earlier change and restore the lines that were deleted on 8/3/04 when the old closeRenderer was removed.
   21327 
   21328         * khtml/html/html_objectimpl.cpp:
   21329         (HTMLAppletElementImpl::closeRenderer):
   21330         * khtml/html/html_objectimpl.h:
   21331         * khtml/html/htmlparser.cpp:
   21332         (KHTMLParser::insertNode):
   21333         (KHTMLParser::processCloseTag):
   21334         (KHTMLParser::popOneBlock):
   21335         * khtml/xml/dom_nodeimpl.h:
   21336         (DOM::NodeImpl::closeRenderer):
   21337 
   21338 2005-03-10  Ken Kocienda  <kocienda (a] apple.com>
   21339 
   21340         Reviewed by John
   21341 
   21342         Fix for this bug:
   21343         
   21344         <rdar://problem/4024929> REGRESSION (Mail): Pasting text with multiple reply levels removes one level instead of all
   21345         
   21346         The code to figure out which node to use to merge into an existing line did not drill into the first inline element
   21347         as needed to make the feature work as user expect. Instead, it looked at the first node, and if it was a block, it
   21348         skipped that node. This worked for some cases (including the important "paste-as-quotation" case) but obviously 
   21349         doesn't work for content quoted more than once.
   21350         
   21351         Now, mergeStartNode() will look for the first node in pasted content that is not a block. It will now also look
   21352         for nodes specially marked by Mail as a node added to make "Paste As Quotation" work. It won't skip those. 
   21353         
   21354         NOTE: This change will break Mail's "Paste As Quotation" feature for TOT WebKit users, but this is only a temporary 
   21355         problem that will exist until we sync up with Mail's pending change to mark nodes as needed in its pasteAsQuotation:
   21356         method.
   21357         
   21358         * khtml/editing/html_interchange.h: Add ApplePasteAsQuotation constant used to check for "marked" blockquotes.
   21359         * khtml/editing/htmlediting.cpp:
   21360         (khtml::ReplacementFragment::mergeStartNode): Look for first node that is either not a block or is marked as
   21361         an ApplePasteAsQuotation node.
   21362         (khtml::isMailPasteAsQuotationNode): New helper that looks for nodes marked with ApplePasteAsQuotation.
   21363         * khtml/editing/htmlediting.h: Updated header for new function.
   21364         
   21365         This test result changed is an acceptable way.
   21366         
   21367         * layout-tests/editing/pasteboard/paste-text-013-expected.txt
   21368         * layout-tests/editing/pasteboard/paste-text-013.html
   21369 
   21370         NOTE: This change causes a regression in this layout test:
   21371 
   21372         * layout-tests/editing/pasteboard/paste-text-013.html
   21373 
   21374         This problem will need to be fixed separately, and this bug has been filed to track this problem:
   21375         <rdar://problem/4045513> Copying and pasting selection starting at end of paragraph can incorrectly remove line break
   21376 
   21377 2005-03-09  Maciej Stachowiak  <mjs (a] apple.com>
   21378 
   21379         Reviewed by Richard.
   21380 
   21381 	<rdar://problem/4040776> Dashboard (Weather widget) is a memory hog
   21382         
   21383 	Change things around so the event listeners for XMLHttpRequest
   21384 	mark their JS listener objects instead of holding a hard
   21385 	reference, to avoid an unbreakable reference cycle.
   21386 
   21387 	* khtml/ecma/kjs_events.cpp:
   21388         (JSAbstractEventListener::JSAbstractEventListener):
   21389         (JSAbstractEventListener::~JSAbstractEventListener):
   21390         (JSAbstractEventListener::handleEvent):
   21391         (JSAbstractEventListener::eventListenerType):
   21392         (JSUnprotectedEventListener::JSUnprotectedEventListener):
   21393         (JSUnprotectedEventListener::~JSUnprotectedEventListener):
   21394         (JSUnprotectedEventListener::listenerObj):
   21395         (JSUnprotectedEventListener::windowObj):
   21396         (JSUnprotectedEventListener::mark):
   21397         (JSEventListener::JSEventListener):
   21398         (JSEventListener::~JSEventListener):
   21399         (JSEventListener::listenerObj):
   21400         (JSEventListener::windowObj):
   21401         (JSLazyEventListener::JSLazyEventListener):
   21402         * khtml/ecma/kjs_events.h:
   21403         * khtml/ecma/kjs_html.h:
   21404         * khtml/ecma/kjs_window.cpp:
   21405         (Window::getJSEventListener):
   21406         (Window::getJSUnprotectedEventListener):
   21407         * khtml/ecma/kjs_window.h:
   21408         * khtml/ecma/xmlhttprequest.cpp:
   21409         (KJS::XMLHttpRequest::putValue):
   21410         (KJS::XMLHttpRequest::mark):
   21411         * khtml/ecma/xmlhttprequest.h:
   21412         * khtml/khtml_part.h:
   21413 
   21414 2005-03-06  Maciej Stachowiak  <mjs (a] apple.com>
   21415 
   21416         Reviewed by Darin.
   21417 
   21418 	<rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
   21419         
   21420         * khtml/ecma/kjs_html.cpp:
   21421         (KJS::HTMLDocument::putValue):
   21422         * khtml/ecma/kjs_window.cpp:
   21423         (Window::put):
   21424         (WindowFunc::tryCall):
   21425         (Location::put):
   21426         (LocationFunc::tryCall):
   21427         * khtml/khtml_part.cpp:
   21428         (KHTMLPart::begin):
   21429         (KHTMLPart::scheduleLocationChange):
   21430         (KHTMLPart::slotRedirect):
   21431         (KHTMLPart::processObjectRequest):
   21432         * khtml/khtml_part.h:
   21433         * khtml/khtmlpart_p.h:
   21434         * kwq/KWQKHTMLPart.mm:
   21435         (KWQKHTMLPart::openURLRequest):
   21436         (KWQKHTMLPart::urlSelected):
   21437         (KWQKHTMLPart::createPart):
   21438         * kwq/KWQKHTMLPartBrowserExtension.mm:
   21439         (KHTMLPartBrowserExtension::createNewWindow):
   21440         * kwq/WebCoreBridge.h:
   21441         * kwq/WebCoreBridge.mm:
   21442         (hasCaseInsensitivePrefix):
   21443         (-[WebCoreBridge didNotOpenURL:pageCache:]):
   21444         (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]):
   21445 
   21446 2005-03-09  Richard Williamson   <rjw (a] apple.com>
   21447 
   21448 	Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
   21449 
   21450 	Remove our hacked special case now we have our own cache of
   21451 	which fonts are fixed  pitch.
   21452 
   21453         Reviewed by Maciej.
   21454 
   21455         * kwq/KWQFont.mm:
   21456         (QFont::isFixedPitch):
   21457 
   21458 2005-03-09  David Harrison  <harrison (a] apple.com>
   21459 
   21460         Reviewed by Maciej.
   21461 
   21462         <rdar://problem/4037141> REGRESSION (Mail): Pasting deletes preceding blank lines with certain steps
   21463 
   21464         * khtml/editing/htmlediting.cpp:
   21465         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
   21466         Add check for anonymous text after blocks.
   21467 
   21468 2005-03-08  Ken Kocienda  <kocienda (a] apple.com>
   21469 
   21470         Reviewed by John
   21471 
   21472         Fix for these bugs:
   21473         
   21474         <rdar://problem/4039661> crash in ApplyStyleCommand::applyBlockStyle pasting contents of webpage into Mail or Blot
   21475         <rdar://problem/4039672> hang in moveParagraphContentsToNewBlockIfNecessary after pasting contents of webpage into Blot
   21476 
   21477         * khtml/editing/htmlediting.cpp:
   21478         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Fix for 4039672. Iteration needs to do
   21479         a traverseNextSibling(), not a traverseNextNode(). The latter might iterate into a child that already got moved, and
   21480         the code can infinite loop as a result.
   21481         (khtml::ApplyStyleCommand::applyBlockStyle): Fix for 4039661. This function iterates over a set of nodes to apply
   21482         block styles. Before, the iteration would go from the start to the end of the selection, and apply block styles
   21483         as it went. However, the act of applying style could confuse the iteration. Now I iterate and store the relevant
   21484         nodes in QPtrList before doing any style manipulation, and then iterate that set of nodes.
   21485 
   21486 2005-03-08  Darin Adler  <darin (a] apple.com>
   21487 
   21488         Change written by Hyatt, reviewed by me.
   21489 
   21490         - fixed <rdar://problem/3952698> Function buttons do not display properly with Telia Webmail
   21491 
   21492         * khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth):
   21493         Only use a minWidth of 0 for images with a percentage value. Other replaced elements aren't scalable
   21494         so their minWidth should be their calculated width. This has been wrong all along, but it's a relatively
   21495         safe change because it only affects replaced elements' min-width.
   21496 
   21497 2005-03-08  David Harrison  <harrison (a] apple.com>
   21498 
   21499         Reviewed by Ken.
   21500 
   21501         <rdar://problem/4039006> REGRESSION (Mail): Command-left-arrow goes to the start of the wrong line in particular message
   21502 
   21503         * khtml/editing/visible_units.cpp:
   21504         (khtml::startOfLine):
   21505         Use firstLeafChild() instead of firstChild().
   21506 
   21507 2005-03-08  Richard Williamson   <rjw (a] apple.com>
   21508 
   21509 	Fixed by Tom Madden.
   21510 
   21511 	Fixed <rdar://problem/4038586> 8A402: Osaka-Mono text overlaps when typing with input method
   21512 
   21513 	We weren't clearing the "all ascii" flag when setting text on
   21514 	RenderText.
   21515 
   21516         Reviewed by Richard Williamson.
   21517 
   21518         * khtml/rendering/render_text.cpp:
   21519         (RenderText::setText):
   21520 
   21521 2005-03-08  Darin Adler  <darin (a] apple.com>
   21522 
   21523         Reviewed by Ken and Maciej.
   21524 
   21525         - fixed <rdar://problem/3988809> REGRESSION (Mail): wide space characters are turned into plain old spaces when typed or pasted
   21526 
   21527         Changed the few places where it matters to use a "collapsible whitespace" concept instead of
   21528         the general whitespace concept. This means treating only ' ' and '\n' specially instead of
   21529         including other space characters, which matches what the space-collapsing logic does in RenderText,
   21530         although it really needs to behave differently based on whitespace mode.
   21531 
   21532         * khtml/editing/visible_text.h: (khtml::isCollapsibleWhitespace): Added. This returns true only for
   21533         ' ' and '\n' since they are the only characters collapsed once text is in the DOM. But really it
   21534         can't do the job ignoring white-space mode, so some day it must go.
   21535 
   21536         * khtml/editing/html_interchange.cpp: (convertHTMLTextToInterchangeFormat): Changed to use
   21537         isCollapsibleWhitespace and removed unnecessary calls to latin1().
   21538 
   21539         * khtml/editing/htmlediting.cpp:
   21540         (khtml::isNBSP): Removed unnecessary creation/destruction of QChar each time this is called.
   21541         (khtml::nextCharacterIsCollapsibleWhitespace): Renamed from isWS and changed to use isCollapsibleWhitespace.
   21542         (khtml::DeleteSelectionCommand::fixupWhitespace): Use isCollapsibleWhitespace instead of isWS,
   21543         since we only want to do our NBSP tricks for collapsible whitespace.
   21544         (khtml::InsertTextCommand::input): Changed use of isTab to instead say == "\t" since that does the
   21545         same thing and is arguably just as clear. Changed use of isWS to == " " since the input text can't
   21546         include any "\n" characters, and really a plain old space is the only collapsible thing that can
   21547         be passed in. Use isCollapsibleWhitespace instead of isWS since we want to do NBSP tricks only for
   21548         collapsible whitespace, not all whitespace.
   21549         (khtml::InsertTextCommand::insertSpace): Use isCollapsibleWhitespace instead of isWS since we want
   21550         to do NBSP tricks only for collapsible whitespace, not all whitespace.
   21551         (khtml::RebalanceWhitespaceCommand::doApply): Ditto.
   21552 
   21553         * khtml/xml/dom_position.h: Changed treatNBSPAsWhiteSpace parameters to considerNonCollapsibleWhitespace
   21554         parameters. The most common callers are only interested in collapsible whitespace, and the smart copy
   21555         and paste callers want to include all whitespace, including non-breaking spaces and all the Unicode spaces.
   21556         * khtml/xml/dom_position.cpp:
   21557         (DOM::Position::leadingWhitespacePosition): Rename the parameter, and use either QChar::isSpace or
   21558         isCollapsibleWhitespace depending on the boolean passed in.
   21559         (DOM::Position::trailingWhitespacePosition): Ditto.
   21560 
   21561 2005-03-07  John Sullivan  <sullivan (a] apple.com>
   21562 
   21563         Reviewed by Darin.
   21564         
   21565         - <rdar://problem/4040868> REGRESSION (Mail, 403-403+): Drag and drop deletes text, 
   21566         many other bad editing problems
   21567 
   21568         * khtml/rendering/render_text.cpp:
   21569         (RenderText::caretMaxOffset):
   21570         A "-" should have been a "+" in this method that was tweaked an hour ago. Editing
   21571         was completely horked.
   21572 
   21573 2005-03-07  Richard Williamson   <rjw (a] apple.com>
   21574 
   21575 	Additional nil check from fix for 4040749.
   21576 
   21577         * khtml/rendering/render_box.cpp:
   21578         (RenderBox::setStyle):
   21579 
   21580 2005-03-07  Richard Williamson   <rjw (a] apple.com>
   21581 
   21582 	Additional nil check from fix for 4040749.
   21583 
   21584         * khtml/rendering/render_layer.cpp:
   21585         (RenderLayer::updateLayerPosition):
   21586 
   21587 2005-03-07  David Harrison  <harrison (a] apple.com>
   21588 
   21589         Reviewed by Darin.
   21590 
   21591         <rdar://problem/4033202> REGRESSION (Mail): Can't arrow up at a particular spot in a particular Mail message
   21592 
   21593         Doublecheck that new position is really on a different line, because the VisiblePosition constructor does not.
   21594         Filed <rdar://problem/4040763> for that problem.
   21595 
   21596         * khtml/editing/visible_units.cpp:
   21597         (khtml::previousLinePosition):
   21598 
   21599 2005-03-07  Richard Williamson   <rjw (a] apple.com>
   21600 
   21601 	Fixed <rdar://problem/4040749> REGRESSION (125-178): opacity style not working, breaks fading images on okcupid.com
   21602 
   21603 	When layers are dynamically created/removed as a result of changing opacity they weren't being correctly
   21604 	sized and positioned.  This happens whenever opacity goes from < 1 to 1.
   21605 
   21606         Reviewed by Darin.
   21607 
   21608         * khtml/rendering/render_box.cpp:
   21609         (RenderBox::setStyle):
   21610         * khtml/rendering/render_layer.cpp:
   21611         (RenderLayer::updateLayerPosition):
   21612 
   21613 2005-03-07  Christy Warren  <kali (a] apple.com>
   21614 
   21615         Reviewed by Darin
   21616 
   21617         * khtml/rendering/render_text.cpp:
   21618         (RenderText::caretMinOffset): modified to handle BIDI case by checking all text boxes for min offset
   21619         (RenderText::caretMaxOffset): modified to handle BIDI case by checking all text boxes for max offset
   21620 
   21621 2005-03-07  David Harrison  <harrison (a] apple.com>
   21622 
   21623         Reviewed by Ken.
   21624 
   21625         <rdar://problem/4029225> REGRESSION (Mail): Crash if hit return after dragging in attachment - DeleteSelectionCommand::initializePositionData
   21626 
   21627         Work around the fact that the height() of a BR is 0 if there are no text elements on the line, even if there are replaced elements.
   21628         Filed <rdar://problem/4040358> RenderBR height() is not accurate.
   21629         
   21630         * khtml/editing/htmlediting.cpp:
   21631         (khtml::ReplaceSelectionCommand::doApply):
   21632         When height is 0, double check that the placeholder is the first position on the line.
   21633 
   21634 === Safari-403 ===
   21635 
   21636 2005-03-07  Ken Kocienda  <kocienda (a] apple.com>
   21637 
   21638         Reviewed by Vicki
   21639     
   21640         Fix for this bug:
   21641         
   21642         <rdar://problem/4040136> Expose SPI for WebCore's functions to create document fragments from plain text and markup strings
   21643 
   21644         * kwq/DOMHTML.mm: Add two new SPI functions.
   21645         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:])
   21646         (-[DOMHTMLDocument _createDocumentFragmentWithText:])
   21647         * kwq/DOMPrivate.h: Declare the new SPI here, a privately-exported header, so Mail can make use of it.
   21648 
   21649 2005-03-07  Ken Kocienda  <kocienda (a] apple.com>
   21650 
   21651         Reviewed by John
   21652 
   21653         Fix for this bug:
   21654         
   21655         <rdar://problem/4039676> REGRESSION (Mail): in reply, <cr> on pasted text (without trailing newline) is eaten when pasted above date
   21656 
   21657         * khtml/editing/htmlediting.cpp:
   21658         (khtml::ReplaceSelectionCommand::doApply): Code to "eat" a <br> element, that was creating an otherwise empty line, was running
   21659         when it should not. If the content being pasted in does not end in a "logical" newline itself, then the <br> already
   21660         in the content needs to be preserved. A simple one-line change now sees to this.
   21661         
   21662         * layout-tests/editing/pasteboard/paste-text-010-expected.txt: This test now has an extra, but harmless,
   21663         <br> at the end of a paragraph. This makes sense given the code change.
   21664 
   21665         New test:
   21666         * layout-tests/editing/pasteboard/paste-text-018-expected.txt: Added.
   21667         * layout-tests/editing/pasteboard/paste-text-018.html: Added.
   21668 
   21669 2005-03-07  Ken Kocienda  <kocienda (a] apple.com>
   21670 
   21671         Reviewed by John
   21672 
   21673         Fix for this bug:
   21674         
   21675         <rdar://problem/4035648> REGRESSION (Mail): line feed in source HTML file causes bad copy/paste behavior
   21676 
   21677         The createMarkup() function in markup.cpp iterates over the nodes in a range,
   21678         and does some bookkeeping to figure out when to add close tags to the markup.
   21679         Some code added at the start of the loop to prevent markup from being written
   21680         for unrendered nodes short-circuited the rest of the loop, and so prevented
   21681         the close-tag-writing code from running when it should.
   21682 
   21683         This is why the "plain" text wound up inside of the bold tag in the example
   21684         above. The addition of the unrendered return character caused an incorrect
   21685         delay in the close tag for the bold element from being written out, with the
   21686         result being that it wound up including additional content.
   21687 
   21688         The fix is to add checks for node renderers throughout the loop at the points
   21689         where markup is written out for each node. This allows the additional close
   21690         tag logic to run as needed.
   21691 
   21692         All layout tests pass with this change.
   21693 
   21694         * khtml/editing/markup.cpp:
   21695         (khtml::createMarkup)
   21696 
   21697         New test:
   21698         
   21699         * layout-tests/editing/pasteboard/paste-4035648-fix-expected.txt: Added.
   21700         * layout-tests/editing/pasteboard/paste-4035648-fix.html: Added.
   21701 
   21702 2005-03-06  Christy Warren  <kali (a] appple.com>
   21703 
   21704         Reviewed by Ken
   21705 
   21706         * khtml/rendering/render_text.cpp:
   21707         (lastRendererOnPrevLine): helper for RenderText::caretRect
   21708         (RenderText::caretRect): added code to properly handle bidi ordered text boxes
   21709 
   21710 2005-03-06  Christy Warren  <kali (a] apple.com>
   21711 
   21712         Reviewed by Darin.
   21713 
   21714         * khtml/editing/visible_position.cpp: Eliminated code that cuts off searching through the text boxes based on an assumption that breaks under bidi
   21715         (khtml::VisiblePosition::isCandidate):
   21716         * kwq/KWQFontMetrics.mm:
   21717         (QFontMetrics::checkSelectionPoint): Made the initialization of the WebCoreStyle honor the reversed flag
   21718 
   21719 2005-03-05  John Sullivan  <sullivan (a] apple.com>
   21720 
   21721         Reviewed by Maciej.
   21722         
   21723         - fixed <rdar://problem/4038417> Mail crashed in StyleChange::checkForLegacyHTMLStyleChange 
   21724         when composing a reply
   21725 
   21726         * khtml/editing/htmlediting.cpp:
   21727         (khtml::StyleChange::checkForLegacyHTMLStyleChange):
   21728         Added missing nil check.
   21729 
   21730 2005-03-05  Darin Adler  <darin (a] apple.com>
   21731 
   21732         Reviewed by Don.
   21733 
   21734         - fixed <rdar://problem/4038478> Crash in renderer viewing RSS feed at feed://wvs.topleftpixel.com/index.rdf
   21735 
   21736         * khtml/xml/dom_docimpl.cpp: (widgetForNode): Check for nil before going from node to renderer.
   21737 
   21738 2005-03-05  Darin Adler  <darin (a] apple.com>
   21739 
   21740         Reviewed by Richard.
   21741 
   21742         - fixed <rdar://problem/4037700> Every character typed causes stat call for /usr/share/icu/icudt32b_char.brk
   21743 
   21744         * khtml/rendering/render_text.cpp:
   21745         (getCharacterBreakIterator): Added. Helper that sets up an iterator for the passed-in text.
   21746         Shares a single global iterator (fast, albeit not thread-safe).
   21747         (RenderText::previousOffset): Changed to call getCharacterBreakIterator.
   21748         (RenderText::nextOffset): Ditto.
   21749 
   21750 2005-03-05  Ken Kocienda  <kocienda (a] apple.com>
   21751 
   21752         Reviewed by Darin
   21753 
   21754         Fix for this bug:
   21755         
   21756         <rdar://problem/4038267> REGRESSION (Mail): Crash copying and pasting end of paragraph
   21757 
   21758         Code to handle content that has a "logical" newline at the end of the pasted content, and the code
   21759         to adjust the selection at the end of the paste operation made an assumption that at least one
   21760         node had been inserted by the paste command. This is not necessarily true in the case where the sole content
   21761         in the pasted content is one of these "logical" newlines. Adjust some code around so that we don't deref
   21762         null, but still adjust the selection correctly for this case. In each of the two functions below, some
   21763         null checks have been added, and some code has been rearranged a little bit to continue on through
   21764         the end of completeHTMLReplacement, even if no nodes have been inserted. The patch looks bigger and more
   21765         complicated than the conceptual change.
   21766 
   21767         * khtml/editing/htmlediting.cpp:
   21768         (khtml::ReplaceSelectionCommand::doApply)
   21769         (khtml::ReplaceSelectionCommand::completeHTMLReplacement)
   21770         
   21771         * layout-tests/editing/pasteboard/paste-4038267-fix-expected.txt: Added.
   21772         * layout-tests/editing/pasteboard/paste-4038267-fix.html: Added.
   21773 
   21774 2005-03-05  Darin Adler  <darin (a] apple.com>
   21775 
   21776         Reviewed by John.
   21777 
   21778         - fixed <rdar://problem/4025918> images copied from Safari with relative src URLs aren't pasted into Mail messages (KURL resolves base URLs incorrectly)
   21779 
   21780         * kwq/KWQKURL.mm: (KURL::KURL): Add a slash at the start of the path if a relative part is adding
   21781         a path onto a URL that has "pre-path" bits like host name, but no path yet. This doesn't come up
   21782         for http because in that case we add a trailing "/" as part of canonicalization.
   21783 
   21784 2005-03-04  John Sullivan  <sullivan (a] apple.com>
   21785 
   21786         Reviewed by Kevin.
   21787         
   21788         - fixed <rdar://problem/4033705> REGRESSION (Mail): Copy/Paste from Excel 
   21789         crashes Mail in KWQKHTMLPart::fontForSelection(bool*) const + 232
   21790 
   21791         * kwq/KWQKHTMLPart.mm:
   21792         (KWQKHTMLPart::fontForSelection):
   21793         Check for nil startNode, not just nil renderer.
   21794 
   21795 2005-03-04  David Harrison  <harrison (a] apple.com>
   21796 
   21797         Reviewed by Ken, Richard.
   21798 
   21799         <rdar://problem/3996383> REGRESSION (Mail): Deleting all of first line also deletes line ending
   21800 
   21801         Problem was the placeholder check was based on 0 height block, but the block in this
   21802         case is the BODY, which has other content even though the paragraph is gone.
   21803         
   21804         * khtml/editing/htmlediting.cpp:
   21805         (khtml::CompositeEditCommand::insertBlockPlaceholder):
   21806         Now does insert instead of append!
   21807     
   21808         (khtml::CompositeEditCommand::appendBlockPlaceholder):
   21809         New.  Actually does append.
   21810         
   21811         (khtml::CompositeEditCommand::addBlockPlaceholderIfNeeded):
   21812         Renamed from insertBlockPlaceholderIfNeeded because it can insert or append.  Also accepts "force insert" flag.
   21813         
   21814         (khtml::CompositeEditCommand::removeBlockPlaceholder):
   21815         Renamed for succinctness from removeBlockPlaceholderIfNeeded.
   21816         
   21817         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
   21818         (khtml::DeleteSelectionCommand::moveNodesAfterNode):
   21819         Use renamed methods.
   21820         
   21821         (khtml::DeleteSelectionCommand::doApply):
   21822         Use addBlockPlaceholderIfNeeded "force insert" flag if deleting whole paragraphs did not leave an empty one.
   21823         
   21824         (khtml::InsertParagraphSeparatorCommand::doApply):
   21825         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
   21826         (khtml::InsertTextCommand::input):
   21827         Use renamed methods.
   21828         
   21829         * khtml/editing/htmlediting.h:
   21830         Renamed and new methods per above.
   21831         
   21832 
   21833 2005-03-04  Chris Blumenberg  <cblu (a] apple.com>
   21834 
   21835 	Fixed: <rdar://problem/4032840> REGRESSION (Mail): crash in RemoveNodeCommand after pasting attachment at end of message
   21836 
   21837         Reviewed by darin.
   21838 
   21839         * khtml/editing/visible_units.cpp:
   21840         (khtml::endOfParagraph): don't consider text nodes that have no rendered characters
   21841 
   21842 2005-03-04  Richard Williamson   <rjw (a] apple.com>
   21843 
   21844 	Fixed <rdar://problem/4034764> REGRESSION(125-188)Viewing text/plain page and going back/forward corrupts HTML pages (google.com)
   21845 
   21846 	The parse mode wasn't be restored to the document when going
   21847 	back.
   21848 
   21849         Reviewed by Hyatt.
   21850 
   21851         * kwq/KWQKHTMLPart.mm:
   21852         (KWQKHTMLPart::openURLFromPageCache):
   21853         * kwq/KWQPageState.h:
   21854         * kwq/KWQPageState.mm:
   21855         (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:]):
   21856 
   21857 2005-03-04  Ken Kocienda  <kocienda (a] apple.com>
   21858 
   21859         Reviewed by me
   21860 
   21861         * layout-tests/editing/style/create-block-for-style-012-expected.txt: Shame on me!
   21862         I landed my last fix without running layout tests. This one changes in a subtle, but
   21863         acceptable way.
   21864 
   21865 2005-03-04  Ken Kocienda  <kocienda (a] apple.com>
   21866 
   21867         Reviewed by Harrison
   21868 
   21869         Fix for this bug:
   21870         
   21871         <rdar://problem/4032543> REGRESSION (Mail): Mail hangs when quoted text is pasted twice
   21872         
   21873         This code change fixes the bug in a non-obvious way. The root cause of the problem was
   21874         that a VisiblePosition created using an affinity originating in Mail code caused 
   21875         two VisiblePosition objects that should have been equal to differ only in their 
   21876         affinities, which in turn caused us to run a code path that should not have run.
   21877 
   21878         * khtml/editing/visible_position.cpp:
   21879         (khtml::VisiblePosition::VisiblePosition): Added copy constructor.
   21880         (khtml::VisiblePosition::next): Factored out inline code that used to be here into new
   21881         setAffinityUsingLinePosition() function.
   21882         (khtml::isEqualIgnoringAffinity): New helper to handle cases when affinity in equality check does
   21883         not matter. However, we want to know about such cases where a VisiblePosition differs only by affinity, 
   21884         and the code will assert in development when this happens.
   21885         (khtml::isNotEqualIgnoringAffinity): Ditto, but not. :)
   21886         (khtml::setAffinityUsingLinePosition): New helper function mentioned above. This will "correct"
   21887         upstream affinity to downstream if the affinity does not make a difference for the position.
   21888         * khtml/editing/visible_position.h:
   21889         * khtml/editing/visible_range.h: Wacky bug. The operator== for this class took VisiblePosition classes!
   21890         * khtml/editing/visible_units.cpp:
   21891         (khtml::isStartOfParagraph): Now performs equality check without regard to affinity.
   21892         (khtml::isEndOfParagraph): Ditto.
   21893         (khtml::isStartOfBlock): Ditto.
   21894         (khtml::isEndOfBlock): Ditto.
   21895         * kwq/WebCoreBridge.mm:
   21896         (-[WebCoreBridge setSelectedDOMRange:affinity:]): Adjusts the affinity using setAffinityUsingLinePosition()
   21897         if necessary.
   21898 
   21899 2005-03-04  Darin Adler  <darin (a] apple.com>
   21900 
   21901         Reviewed by John.
   21902 
   21903         - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
   21904 
   21905         * khtml/editing/htmlediting.h: Added insertTextRunWithoutNewlines.
   21906         * khtml/editing/htmlediting.cpp:
   21907         (khtml::InsertTextCommand::input): Added assertion to make sure strings with newlines don't get
   21908         down to this level.
   21909         (khtml::TypingCommand::insertText): Added. Takes the name of the old function, but is a new
   21910         level that breaks runs into lines and inserts each one separately.
   21911         (khtml::TypingCommand::insertTextRunWithoutNewlines): Renamed old insertText to this. 
   21912 
   21913         * khtml/dom/dom_string.h: Made substring be a const member function.
   21914         * khtml/dom/dom_string.cpp: (DOM::DOMString::substring): Made this const.
   21915 
   21916 2005-03-04  Darin Adler  <darin (a] apple.com>
   21917 
   21918         Reviewed by John.
   21919 
   21920         - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
   21921 
   21922         * khtml/css/css_valueimpl.cpp:
   21923         (DOM::isLegalIdentifier): Added. Commented out and not used.
   21924         (DOM::quoteStringIfNeeded): Quotes the string if needed. For now only if it starts with "#".
   21925         (DOM::CSSPrimitiveValueImpl::cssText): Call quoteStringIfNeeded when asked for cssText for an arbitrary string, since we
   21926         need text you can re-parse.
   21927         (DOM::FontFamilyValueImpl::cssText): Ditto.
   21928 
   21929         * khtml/editing/markup.cpp:
   21930         (khtml::startMarkup): Added comments about lack of quoting for attributes.
   21931         (khtml::createMarkup): Ditto.
   21932 
   21933 2005-03-04 Adele Amchan  <adele (a] apple.com>
   21934  
   21935        Reviewed by Maciej
   21936 
   21937 	Fix for <rdar://problem/4021711> REGRESSION(125-188) blank pages when browsing forum at cooperativeresearch.org - cached external script problem
   21938 
   21939         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::scriptHandler): set flag needToRefCachedScript so we can make sure 
   21940         notifyFinished is called after pendingSrc is set up with the right data from the cached script
   21941 
   21942 2005-03-04  Ken Kocienda  <kocienda (a] apple.com>
   21943 
   21944         Reviewed by John
   21945 
   21946         Fix for this bug:
   21947         
   21948         <rdar://problem/4029632> Tiger 8A398:- Mail crashes in DOM::NodeImpl::isBlockFlow() after pasting text with alignment style and BR element from Safari
   21949 
   21950         * khtml/editing/htmlediting.cpp:
   21951         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): VisiblePosition constructor
   21952         was failing to yield a position for a node just pasted into the document since a layout was needed
   21953         for the calculation to come out right. Layout added. Crash gone.
   21954 
   21955 === Safari-402 ===
   21956 
   21957 2005-03-03  Chris Blumenberg  <cblu (a] apple.com>
   21958 
   21959 	Fixed: <rdar://problem/3992803> Cannot navigate through list items with the keyboard, you're stuck in the same <li> block unless you click out
   21960 
   21961         Reviewed by harrison.
   21962 
   21963         * khtml/rendering/render_line.cpp:
   21964         (khtml::RootInlineBox::closestLeafChildForXPos): avoid returning list markers when possible. Also improved heuristic for returning the best InlineBox given the passed X position.
   21965 
   21966 
   21967 2005-03-03  Ken Kocienda  <kocienda (a] apple.com>
   21968 
   21969         Reviewed by John
   21970         
   21971         Fix for this bug:
   21972         
   21973         <rdar://problem/4035198> Pasting text with different styles does not get reproducible results
   21974 
   21975         I had a good idea yesterday to improve the way we "fixup" styles after
   21976         pasting, but i chose a poor data structure to do it, a map of
   21977         nodes-to-styles. In the fixup step, I iterated over the map elements and
   21978         did the fixup. However, since the order in which the items would come
   21979         out of the map is indeterminate, we got unpredictable results.
   21980 
   21981         So, the concept was good, but the implementation was flawed. I have
   21982         fixed this mapping to be a list instead, so the order that nodes are
   21983         evaluated in the fixup step is document order. This works nicely.
   21984 
   21985         * khtml/editing/htmlediting.cpp:
   21986         (khtml::ReplacementFragment::~ReplacementFragment): No longer need to explicity deref nodes and
   21987         styles saved away for later fixup. This is now handled by the new NodeDesiredStyle class.
   21988         (khtml::ReplacementFragment::computeStylesUsingTestRendering): Now calls computeAndStoreNodeDesiredStyle,
   21989         function renamed from mapDesiredStyleForNode.
   21990         Now accepts a QValueList<NodeDesiredStyle> in place of the old map.
   21991         (khtml::NodeDesiredStyle::NodeDesiredStyle): New class that represents a node-to-style mapping.
   21992         (khtml::NodeDesiredStyle::~NodeDesiredStyle): Ditto.
   21993         (khtml::NodeDesiredStyle::operator=): Ditto.
   21994         (khtml::ReplaceSelectionCommand::doApply): Now calls computeAndStoreNodeDesiredStyle,
   21995         function renamed from mapDesiredStyleForNode.
   21996         (khtml::ReplaceSelectionCommand::fixupNodeStyles): Now operates on a QValueList<NodeDesiredStyle> in 
   21997         place of the old map.
   21998         (khtml::computeAndStoreNodeDesiredStyle): Renamed from mapDesiredStyleForNode.  Now operates on a 
   21999         QValueList<NodeDesiredStyle> in place of the old map.
   22000         * khtml/editing/htmlediting.h:
   22001         (khtml::NodeDesiredStyle): New class that represents a node-to-style mapping.
   22002         (khtml::ReplacementFragment::desiredStyles): Now returns a QValueList<NodeDesiredStyle> in place of the old map.
   22003 
   22004         * layout-tests/editing/style/typing-style-003-expected.txt: Results changed in an acceptable way.
   22005 
   22006 2005-03-02  Darin Adler  <darin (a] apple.com>
   22007 
   22008         Reviewed by Maciej.
   22009 
   22010         - fixed <rdar://problem/4029741> REGRESSION (188-189): <input type=text> are cleared when you hide/show them
   22011 
   22012         * khtml/html/html_formimpl.h: Added detach functions for both input and text area elements, since
   22013         both have m_valueMatchesRenderer flags.
   22014         * khtml/html/html_formimpl.cpp:
   22015         (DOM::HTMLInputElementImpl::detach): Set m_valueMatchesRenderer to false, since the renderer is going away.
   22016         (DOM::HTMLTextAreaElementImpl::detach): Ditto.
   22017 
   22018 2005-03-02  Ken Kocienda  <kocienda (a] apple.com>
   22019 
   22020         Reviewed by Hyatt
   22021 
   22022         Fix for this bug:
   22023         
   22024         <rdar://problem/4006151> in reply, caret moves to next line after toggling bold style then typing
   22025 
   22026         * khtml/editing/htmlediting.cpp:
   22027         (khtml::ApplyStyleCommand::applyInlineStyle): Defer cleaning up empty style until the end of the
   22028         function. In some situations, the render tree can get confused when we do this removal up front.
   22029         I wish I understood the reasons more deeply, but this bit of code shuffling seems harmless, and 
   22030         fixes the bug.
   22031 
   22032 2005-03-02  Darin Adler  <darin (a] apple.com>
   22033 
   22034         Reviewed by Maciej.
   22035 
   22036         - fixed <rdar://problem/4024966> crash happened twice in [KWQTextField setHasFocus:] + 0xe8
   22037 
   22038         Added more nil checks to the widget implementations. Anywhere a widget pointer is used, do a nil check,
   22039         rather than relying on high level assumptions about which calls can and can't destroy the HTML element
   22040         (and hence the widget). The case in the bug seems to be a case where scrolling destroyed the element.
   22041         We can't be sure this fixes the bug, but we can be relatively sure we didn't introduce any new problems,
   22042         because this just avoids nil-dereferencing.
   22043 
   22044         * kwq/KWQButton.mm:
   22045         (-[KWQButton becomeFirstResponder]):
   22046         (-[KWQButton nextKeyView]):
   22047         (-[KWQButton previousKeyView]):
   22048         * kwq/KWQListBox.mm:
   22049         (-[KWQTableView mouseDown:]):
   22050         (-[KWQTableView becomeFirstResponder]):
   22051         (-[KWQTableView numberOfRowsInTableView:]):
   22052         (-[KWQTableView tableViewSelectionDidChange:]):
   22053         (-[KWQTableView tableView:shouldSelectRow:]):
   22054         (-[KWQTableView selectionShouldChangeInTableView:]):
   22055         * kwq/KWQScrollBar.mm:
   22056         (-[KWQScrollBar scroll:]):
   22057         * kwq/KWQSlider.mm:
   22058         (-[KWQSlider mouseDown:]):
   22059         (-[KWQSlider slide:]):
   22060         (-[KWQSlider becomeFirstResponder]):
   22061         (-[KWQSlider nextKeyView]):
   22062         (-[KWQSlider previousKeyView]):
   22063         * kwq/KWQTextArea.mm:
   22064         (-[KWQTextAreaTextView becomeFirstResponder]):
   22065         (-[KWQTextAreaTextView resignFirstResponder]):
   22066         (-[KWQTextAreaTextView mouseDown:]):
   22067         * kwq/KWQTextField.mm:
   22068         (-[KWQTextFieldController action:]):
   22069         (-[KWQTextFieldController controlTextDidEndEditing:]):
   22070         (-[KWQTextFieldController controlTextDidChange:]):
   22071         (-[KWQTextFieldController textView:didHandleEvent:]):
   22072         (-[KWQTextFieldController setHasFocus:]):
   22073 
   22074 2005-03-02  Richard Williamson   <rjw (a] apple.com>
   22075 
   22076 	Fixed <rdar://problem/4031483> Leak (RenderObject::createInlineBox) reproducible with Stock widget
   22077 
   22078 	We were leaking inline block line boxes.  Argh!
   22079 
   22080         Reviewed by Hyatt.
   22081 
   22082         * khtml/rendering/render_flow.cpp:
   22083         (RenderFlow::dirtyLineBoxes):
   22084         * khtml/rendering/render_line.cpp:
   22085         (khtml::InlineBox::deleteLine):
   22086 
   22087 2005-03-02  Chris Blumenberg  <cblu (a] apple.com>
   22088 
   22089 	Fixed: <rdar://problem/3976872> REGRESSION (Mail): Pasted plain text doesn't get the proper style if pasted into newlines
   22090 
   22091         Reviewed by kocienda.
   22092 
   22093         * khtml/editing/htmlediting.cpp:
   22094         (khtml::EditCommand::styleAtPosition): new, factored out from calculateStyleBeforeInsertion
   22095         (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): call styleAtPosition
   22096         (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): clear new m_insertionStyle ivar
   22097         (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand): deref new m_insertionStyle  ivar
   22098         (khtml::ReplaceSelectionCommand::doApply): store the style so it later be applied when matching style
   22099         (khtml::ReplaceSelectionCommand::completeHTMLReplacement): apply style from m_insertionStyle when matching style
   22100         * khtml/editing/htmlediting.h:
   22101 
   22102 2005-03-02  Maciej Stachowiak  <mjs (a] apple.com>
   22103 
   22104         Reviewed by Darin.
   22105 
   22106 	<rdar://problem/4031718> REGRESSION (401-401+): Safari reproducible crash setting up scope in JSLazyEventListener::parseCode authenticating to bugweb
   22107         
   22108 	* khtml/ecma/kjs_events.cpp:
   22109 	(JSLazyEventListener::parseCode): If originalNode is NULL, don't
   22110 	mess with the scope chain.
   22111 	
   22112         * khtml/html/html_baseimpl.cpp:
   22113         (HTMLBodyElementImpl::parseHTMLAttribute): For handlers that are
   22114 	delcared on body but set on the document, pass NULL to avoid
   22115 	swizzling the scope chain. It turns out that this is what browsers
   22116 	do, and it finesses the crash.
   22117 
   22118 2005-03-02  David Harrison  <harrison (a] apple.com>
   22119 
   22120         Reviewed by Ken.
   22121 
   22122         <rdar://problem/3948453> Can't type accented chars as first character in Stickies widget
   22123 
   22124         * khtml/editing/htmlediting.cpp:
   22125         (khtml::ReplaceSelectionCommand::doApply):
   22126 
   22127 2005-03-02  Ken Kocienda  <kocienda (a] apple.com>
   22128         Reviewed by John
   22129 
   22130         Fix for this bug:
   22131         
   22132         <rdar://problem/4020574> REGRESSION (Mail): copy/paste first part of reply-quoted text alters downstream style
   22133         
   22134         The problem was that the operation to move nodes following the newly-pasted nodes did not preserve the
   22135         style of these moved nodes. I have generalized some of the functions that compute and preserve styles
   22136         for nodes and then apply these styles after a DOM operation.
   22137 
   22138         * khtml/editing/htmlediting.cpp:
   22139         (khtml::ReplacementFragment::~ReplacementFragment): Call new derefNodesAndStylesInMap() helper function
   22140         in place of old code that had this deref'ing inline.
   22141         (khtml::ReplacementFragment::computeStylesUsingTestRendering): Now calls new mapDesiredStyleForNode() helper
   22142         function place of old code that had this style computation inline.
   22143         (khtml::ReplacementFragment::removeStyleNodes): Updated comment for new helper name.
   22144         (khtml::ReplaceSelectionCommand::doApply): Now calls new helpers in place of helpers whose names were changed,
   22145         or in place of pre-refactored inline code.
   22146         (khtml::ReplaceSelectionCommand::fixupNodeStyles): Renamed from applyStyleToInsertedNodes(). Now generalized
   22147         to take the map of nodes to use for the fixup. This makes it possible to call this code with different maps,
   22148         and that is needed to fix the bug.
   22149         (khtml::mapDesiredStyleForNode): New helper function to compute the inheritable styles for a given node
   22150         and map this style to the given node in the given map. This function now also includes the code that was
   22151         in the removeBlockquoteColorsIfNeeded(). This latter helper has now been removed.
   22152         (khtml::derefNodesAndStylesInMap): Simple helper to deref map members.
   22153         * khtml/editing/htmlediting.h:
   22154         (khtml::ReplacementFragment::desiredStyles): New helper to return map of nodes-to-desiredStyles.
   22155 
   22156 2005-03-01  Ken Kocienda  <kocienda (a] apple.com>
   22157 
   22158         Reviewed by Hyatt
   22159 
   22160         Fix for this bug:
   22161 
   22162         <rdar://problem/4011358> REGRESSION(Mail): after dragging text to mail message and deleting, typing or dragging new text doesn't work
   22163 
   22164         * khtml/editing/visible_position.cpp:
   22165         (khtml::VisiblePosition::isCandidate): Insertion point disappearing was due to a failed
   22166         check here after deleting all the content in the body element. The special "empty block"
   22167         needs to add check for DOM children. A block may have straggling anonymous render children in
   22168         some cases, and so the check needs to be (!DOM-kids || !render-kids).
   22169 
   22170         Also, I botched the last checkin trying to split these two patches in my tree. Wrong layout tests 
   22171         got checked in, I checked in a conflict marker in the Changelog, etc. I fixed everything with this checkin.
   22172 
   22173 2005-03-01  Ken Kocienda  <kocienda (a] apple.com>
   22174  
   22175         Reviewed by Maciej
   22176 
   22177         Improved fix for this bug:
   22178         
   22179         <rdar://problem/3996605> Insert paragraph command puts new block in wrong place, creating difficult-to-handle HTML
   22180 
   22181         Maciej and I discussed this situation at length, and we came up with a better fix than I did earlier.
   22182 
   22183         * khtml/editing/htmlediting.cpp:
   22184         (khtml::InsertParagraphSeparatorCommand::doApply): Simplify one special case so that it only handles the 
   22185         "last in block" situation. Remove special case for "downstream node is in different block" and handle
   22186         this case with a little bit of special code in the general insertion case.
   22187 
   22188         Results studied to make sure there were no problems.
   22189 
   22190         * layout-tests/editing/deleting/delete-3959464-fix-expected.txt
   22191         * layout-tests/editing/inserting/insert-div-001-expected.txt
   22192         * layout-tests/editing/inserting/insert-div-002-expected.txt
   22193         * layout-tests/editing/inserting/insert-div-004-expected.txt
   22194         * layout-tests/editing/inserting/insert-div-005-expected.txt
   22195         * layout-tests/editing/inserting/insert-div-009-expected.txt
   22196         * layout-tests/editing/inserting/insert-div-014-expected.txt
   22197         * layout-tests/editing/inserting/insert-div-018-expected.txt
   22198         * layout-tests/editing/inserting/insert-div-024-expected.txt
   22199         * layout-tests/editing/pasteboard/paste-text-011-expected.txt
   22200         * layout-tests/editing/pasteboard/paste-text-013-expected.txt
   22201         * layout-tests/editing/pasteboard/paste-text-015-expected.txt
   22202         * layout-tests/editing/style/block-style-004-expected.txt
   22203         * layout-tests/editing/style/block-style-005-expected.txt
   22204         * layout-tests/editing/style/block-style-006-expected.txt
   22205 
   22206         New test:
   22207         
   22208         * layout-tests/editing/inserting/insert-div-027.html
   22209         * layout-tests/editing/inserting/insert-div-027-expected.txt
   22210 
   22211 2005-03-01  David Hyatt  <hyatt (a] apple.com>
   22212 
   22213 	Fix for 4030890, regression with <sup> on Google.  Fix some bogus != comparison checks in verticalPositionHint.
   22214 	
   22215         Reviewed by John
   22216 
   22217         (RenderObject::getVerticalPosition):
   22218         
   22219 2005-03-01  Chris Blumenberg  <cblu (a] apple.com>
   22220 
   22221 	Fixed: <rdar://problem/4030669> smart delete does not delete spaces from pasted content
   22222 
   22223         Reviewed by rjw.
   22224 
   22225         * khtml/editing/htmlediting.cpp:
   22226         (khtml::DeleteSelectionCommand::initializePositionData): pass true for treatNBSPAsWhiteSpace to leadingWhitespacePosition and trailingWhitespacePosition when testing whether or not we have to delete those characters as well.
   22227         * khtml/editing/jsediting.cpp: pass true for smartDelete when the selection granularity is WORD. This allows us to write smart delete layout tests.
   22228         * layout-tests/editing/deleting/smart-delete-001-expected.txt: Added.
   22229         * layout-tests/editing/deleting/smart-delete-001.html: Added.
   22230         * layout-tests/editing/deleting/smart-delete-002-expected.txt: Added.
   22231         * layout-tests/editing/deleting/smart-delete-002.html: Added.
   22232 
   22233 2005-03-01  Richard Williamson   <rjw (a] apple.com>
   22234 
   22235 	Fixed <rdar://problem/4029772> Weather widgets use a lot of memory (more that other widgets)
   22236 
   22237 	The string objects created by KWQHeaderStringFromDictionary() leaked.
   22238 
   22239         Reviewed by John Louch.
   22240 
   22241         * kwq/KWQLoader.mm:
   22242         (KWQHeaderStringFromDictionary):
   22243 
   22244 2005-03-01  Jens Alfke  <jens (a] apple.com>
   22245 
   22246         Reviewed by Darin.
   22247 
   22248 	<rdar://problem/4004531> Simple Sun Signed Applet throws exceptions; doesn't run
   22249 	Two fixes for the way we extract the parameter-y goodness from <object> tags.
   22250 
   22251         * khtml/rendering/render_frames.cpp:
   22252         (RenderPartObject::updateWidget):
   22253 
   22254 2005-03-01  Richard Williamson   <rjw (a] apple.com>
   22255 
   22256 	Fixed <rdar://problem/3990258> REGRESSION (125.12-181): top of picture that spans two pages is cut off on print from Safari
   22257 
   22258 	The problem was due to incorrect "object truncation" in  RenderFlow::paintLines.  
   22259 	We attempt to push objects down if they don't fit on a page at
   22260 	paint time.  If the attempt to push object down failed we just
   22261 	didn't paint at all.
   22262 
   22263         Reviewed by Hyatt.
   22264 
   22265         * khtml/rendering/render_flow.cpp:
   22266         (RenderFlow::paintLines):
   22267 
   22268 2005-03-01  Chris Blumenberg  <cblu (a] apple.com>
   22269 
   22270 	Fixed: <rdar://problem/4030669> smart delete does not delete spaces from pasted content
   22271 
   22272         Reviewed by rjw.
   22273 
   22274         * khtml/editing/htmlediting.cpp:
   22275         (khtml::DeleteSelectionCommand::initializePositionData): pass true for treatNBSPAsWhiteSpace to leadingWhitespacePosition and trailingWhitespacePosition when testing whether or not we have to delete those characters as well.
   22276         * khtml/editing/jsediting.cpp: pass true for smartDelete when the selection granularity is WORD. This allows us to write smart delete layout tests.
   22277         * layout-tests/editing/deleting/smart-delete-001-expected.txt: Added.
   22278         * layout-tests/editing/deleting/smart-delete-001.html: Added.
   22279         * layout-tests/editing/deleting/smart-delete-002-expected.txt: Added.
   22280         * layout-tests/editing/deleting/smart-delete-002.html: Added.
   22281 
   22282 2005-03-01  Ken Kocienda  <kocienda (a] apple.com>
   22283 
   22284         Reviewed by Vicki
   22285 
   22286         Fix for this bug:
   22287         
   22288         <rdar://problem/4030068> Trailing <return> gets eaten when pasted at the end of a document
   22289 
   22290         * khtml/editing/htmlediting.cpp:
   22291         (khtml::ReplaceSelectionCommand::doApply): Add code to handle formerly-unhandled end-of-document case.
   22292 
   22293 2005-03-01  Maciej Stachowiak  <mjs (a] apple.com>
   22294 
   22295         Reviewed by Vicki.
   22296 
   22297 	<rdar://problem/4003774> REGRESSION(125-181): JavaScript problems @ Yankee/Dixie quiz
   22298         
   22299 	Reworked how scopes are set up for event handlers to match other
   22300 	browser. This includes the following changes:
   22301 
   22302 	- Special scope entries are set up at the time the event handler
   22303 	is created, not at the time it fires.
   22304 
   22305 	- Special scope is only set up for event handlers set in the html
   22306 	source through an html attribute, not for handlers set using
   22307 	addEventHandler or setting JS properties like onclick through
   22308 	JavaScript.
   22309 
   22310 	- Special scope is based on the DOM node on which the handler is
   22311 	an attribute, not the event target.
   22312 
   22313 	This fixes the regression while allowing the fix to
   22314 	<rdar://problem/3798453> (DIG: getting variable with same name as
   22315 	DOM element attribute gets attribute value instead) to keep
   22316 	working correctly.
   22317 	
   22318 	* khtml/ecma/kjs_events.cpp:
   22319         (JSEventListener::handleEvent):
   22320         (JSLazyEventListener::JSLazyEventListener):
   22321         (JSLazyEventListener::parseCode):
   22322         * khtml/ecma/kjs_events.h:
   22323         * khtml/ecma/kjs_proxy.cpp:
   22324         (KJSProxyImpl::createHTMLEventHandler):
   22325         * khtml/ecma/kjs_proxy.h:
   22326         * khtml/ecma/kjs_window.cpp:
   22327         (Window::getJSLazyEventListener):
   22328         * khtml/ecma/kjs_window.h:
   22329         * khtml/html/html_baseimpl.cpp:
   22330         (HTMLBodyElementImpl::parseHTMLAttribute):
   22331         (HTMLFrameElementImpl::parseHTMLAttribute):
   22332         (HTMLFrameSetElementImpl::parseHTMLAttribute):
   22333         * khtml/html/html_elementimpl.cpp:
   22334         (HTMLElementImpl::parseHTMLAttribute):
   22335         * khtml/html/html_formimpl.cpp:
   22336         (DOM::HTMLFormElementImpl::parseHTMLAttribute):
   22337         (DOM::HTMLButtonElementImpl::parseHTMLAttribute):
   22338         (DOM::HTMLInputElementImpl::parseHTMLAttribute):
   22339         (DOM::HTMLLabelElementImpl::parseHTMLAttribute):
   22340         (DOM::HTMLSelectElementImpl::parseHTMLAttribute):
   22341         (DOM::HTMLTextAreaElementImpl::parseHTMLAttribute):
   22342         * khtml/html/html_imageimpl.cpp:
   22343         (HTMLImageElementImpl::parseHTMLAttribute):
   22344         * khtml/html/html_objectimpl.cpp:
   22345         (HTMLObjectElementImpl::parseHTMLAttribute):
   22346         * khtml/khtml_part.cpp:
   22347         (KHTMLPart::createHTMLEventListener):
   22348         * khtml/khtml_part.h:
   22349         * khtml/xml/dom_docimpl.cpp:
   22350         (DocumentImpl::createHTMLEventListener):
   22351         * khtml/xml/dom_docimpl.h:
   22352 
   22353 === Safari-401 ===
   22354 
   22355 2005-03-01  Chris Blumenberg  <cblu (a] apple.com>
   22356 
   22357 	Backed out my patch since the tree was closed.
   22358 
   22359         * khtml/editing/htmlediting.cpp:
   22360         (khtml::DeleteSelectionCommand::initializePositionData):
   22361         * khtml/editing/jsediting.cpp:
   22362 
   22363 2005-03-01  Chris Blumenberg  <cblu (a] apple.com>
   22364 
   22365 	Fixed: <rdar://problem/4030669> smart delete does not delete spaces from pasted content
   22366 
   22367         Reviewed by rjw.
   22368 
   22369         * khtml/editing/htmlediting.cpp:
   22370         (khtml::DeleteSelectionCommand::initializePositionData): pass true for treatNBSPAsWhiteSpace to leadingWhitespacePosition and trailingWhitespacePosition when testing whether or not we have to delete those characters as well.
   22371         * khtml/editing/jsediting.cpp: pass true for smartDelete when the selection granularity is WORD. This allows us to write smart delete layout tests.
   22372         * layout-tests/editing/deleting/smart-delete-001-expected.txt: Added.
   22373         * layout-tests/editing/deleting/smart-delete-001.html: Added.
   22374         * layout-tests/editing/deleting/smart-delete-002-expected.txt: Added.
   22375         * layout-tests/editing/deleting/smart-delete-002.html: Added.
   22376 
   22377 2005-03-01  Ken Kocienda  <kocienda (a] apple.com>
   22378 
   22379         Reviewed by Vicki
   22380 
   22381         Fix for this bug:
   22382         
   22383         <rdar://problem/4030068> Trailing <return> gets eaten when pasted at the end of a document
   22384 
   22385         * khtml/editing/htmlediting.cpp:
   22386         (khtml::ReplaceSelectionCommand::doApply): Add code to handle formerly-unhandled end-of-document case.
   22387 
   22388 2005-03-01  David Harrison  <harrison (a] apple.com>
   22389 
   22390         Reviewed by Chris.
   22391 
   22392         <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
   22393 
   22394         * kwq/WebCoreBridge.h:
   22395         * kwq/WebCoreBridge.mm:
   22396         (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
   22397         (-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]):
   22398         New.
   22399 
   22400 2005-03-01  Chris Blumenberg  <cblu (a] apple.com>
   22401 
   22402 	Fixed: <rdar://problem/4030404> selection granularity should be set when extending selection via JS
   22403 
   22404         Reviewed by kocienda.
   22405 
   22406         * khtml/ecma/kjs_window.cpp:
   22407         (SelectionFunc::tryCall): set the granularity on the part. This will allow us to write smart paste layout tests.
   22408         * layout-tests/editing/pasteboard/smart-paste-001-expected.txt: Added.
   22409         * layout-tests/editing/pasteboard/smart-paste-001.html: Added.
   22410         * layout-tests/editing/pasteboard/smart-paste-002-expected.txt: Added.
   22411         * layout-tests/editing/pasteboard/smart-paste-002.html: Added.
   22412         * layout-tests/editing/pasteboard/smart-paste-003-expected.txt: Added.
   22413         * layout-tests/editing/pasteboard/smart-paste-003.html: Added.
   22414         * layout-tests/editing/pasteboard/smart-paste-004-expected.txt: Added.
   22415         * layout-tests/editing/pasteboard/smart-paste-004.html: Added.
   22416         * layout-tests/editing/pasteboard/smart-paste-005-expected.txt: Added.
   22417         * layout-tests/editing/pasteboard/smart-paste-005.html: Added.
   22418         * layout-tests/editing/pasteboard/smart-paste-006-expected.txt: Added.
   22419         * layout-tests/editing/pasteboard/smart-paste-006.html: Added.
   22420         * layout-tests/editing/pasteboard/smart-paste-007-expected.txt: Added.
   22421         * layout-tests/editing/pasteboard/smart-paste-007.html: Added.
   22422 
   22423 2005-03-01  Chris Blumenberg  <cblu (a] apple.com>
   22424 
   22425 	Fixed: <rdar://problem/4029934> smart paste with plain text can add too many spaces
   22426 
   22427         Reviewed by kocienda.
   22428 
   22429         * khtml/editing/htmlediting.cpp:
   22430         (khtml::ReplaceSelectionCommand::doApply): pass true for treatNBSPAsWhitespace to leadingWhitespacePosition and trailingWhitespacePosition
   22431         * khtml/xml/dom_position.cpp:
   22432         (DOM::isWS): take treatNBSPAsWhitespace param
   22433         (DOM::Position::leadingWhitespacePosition): ditto
   22434         (DOM::Position::trailingWhitespacePosition): ditto
   22435         * khtml/xml/dom_position.h:
   22436 
   22437 2005-03-01  Ken Kocienda  <kocienda (a] apple.com>
   22438 
   22439         Reviewed by John
   22440 
   22441         Fix for this bug:
   22442         
   22443         <rdar://problem/3996605> Insert paragraph command puts new block in wrong place, creating difficult-to-handle HTML
   22444 
   22445         * khtml/editing/htmlediting.cpp:
   22446         (khtml::InsertParagraphSeparatorCommand::doApply): Look for the upstream-most block to insert after
   22447         when at the visible end of a block. This helps to avoid some undesirable sequences of markup which
   22448         Dave says will be vary hard to render. Changing the command in this way avoids the "limitations"
   22449         of the render tree by not asking it to render markup we do not want to make anyway.
   22450         
   22451         All these tests change, but either in insignificant ways, or for the better.
   22452         
   22453         * layout-tests/editing/deleting/delete-3959464-fix-expected.txt:
   22454         * layout-tests/editing/inserting/insert-div-001-expected.txt:
   22455         * layout-tests/editing/inserting/insert-div-002-expected.txt:
   22456         * layout-tests/editing/inserting/insert-div-004-expected.txt:
   22457         * layout-tests/editing/inserting/insert-div-005-expected.txt:
   22458         * layout-tests/editing/inserting/insert-div-009-expected.txt:
   22459         * layout-tests/editing/inserting/insert-div-024-expected.txt:
   22460         * layout-tests/editing/pasteboard/paste-text-011-expected.txt:
   22461         * layout-tests/editing/pasteboard/paste-text-013-expected.txt:
   22462         * layout-tests/editing/pasteboard/paste-text-015-expected.txt:
   22463         * layout-tests/editing/style/block-style-004-expected.txt:
   22464         * layout-tests/editing/style/block-style-005-expected.txt:
   22465         * layout-tests/editing/style/block-style-006-expected.txt:
   22466         * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt:
   22467         * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt:
   22468         * layout-tests/editing/style/remove-underline-after-paragraph-expected.txt:
   22469         * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt:
   22470 
   22471         New test to check specific problem mentioned in the bug.
   22472 
   22473         * layout-tests/editing/inserting/insert-div-026-expected.txt: Added.
   22474         * layout-tests/editing/inserting/insert-div-026.html: Added.
   22475 
   22476 2005-02-28  Maciej Stachowiak  <mjs (a] apple.com>
   22477 
   22478         Reviewed by Darin.
   22479 
   22480 	<rdar://problem/4002864> REGRESSION(125-146) getElementById in onload fails in a test case involving external resources
   22481         
   22482 	Moved management of elementById hashtable from attach/detach to
   22483 	insertedIntoDocument/removedFromDocument, to avoid being thrown
   22484 	off by temporary detaches due to style recalcs.
   22485 	
   22486         * khtml/xml/dom_elementimpl.cpp:
   22487         (ElementImpl::insertedIntoDocument):
   22488         (ElementImpl::removedFromDocument):
   22489         (ElementImpl::attach):
   22490         (ElementImpl::updateId):
   22491         * khtml/xml/dom_elementimpl.h:
   22492 
   22493 	Make sure that insertedIntoDocument is called before firing any
   22494 	DOM events.
   22495 	
   22496         * khtml/xml/dom_nodeimpl.cpp:
   22497         (NodeBaseImpl::dispatchChildInsertedEvents): 
   22498 
   22499 2005-02-28  David Hyatt  <hyatt (a] apple.com>
   22500 
   22501 	Fix for 4028999, safari crashes when resetting if mallocsribble is on.  Clip rects were being cleared using dead
   22502 	render objects.  Change the ordering.
   22503 	
   22504         Reviewed by rjw
   22505 
   22506         * khtml/rendering/render_box.cpp:
   22507         (RenderBox::detach):
   22508         * khtml/rendering/render_layer.cpp:
   22509         (RenderLayer::~RenderLayer):
   22510 
   22511 2005-02-28  Chris Blumenberg  <cblu (a] apple.com>
   22512 
   22513 	Fixed: <rdar://problem/4024786> REGRESSION (Mail): "Smart paste" plain-text word into Blot leaves insertion point misplaced
   22514 
   22515         Reviewed by kocienda.
   22516 
   22517         * khtml/editing/htmlediting.cpp:
   22518         (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Call updateLayout so caretMinOffset and caretMaxOffset return correct values.
   22519 
   22520 2005-02-28  John Sullivan  <sullivan (a] apple.com>
   22521 
   22522         Reviewed by Ken.
   22523         
   22524         - WebCore part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links 
   22525         on frameset page gets stuck at end (tivofaq.com)
   22526 
   22527         * kwq/WebCoreBridge.h:
   22528         add nextValidKeyViewOutsideWebFrameViews (code is in WebKit)
   22529 
   22530 2005-02-28  Ken Kocienda  <kocienda (a] apple.com>
   22531 
   22532         Reviewed by John
   22533 
   22534         Fix for this bug:
   22535         
   22536         <rdar://problem/3972665> 8A360: HTML message partially truncated on left hand side, text-indent from Script Editor
   22537 
   22538         * khtml/css/css_computedstyle.cpp: inheritableProperties array now defined in css_valueimpl.cpp.
   22539         * khtml/css/css_valueimpl.cpp: Define inheritableProperties array here.
   22540         (DOM::CSSMutableStyleDeclarationImpl::copyBlockProperties): Use new name for blockProperties, and use the new
   22541         constant for the number of items in the array.
   22542         (DOM::CSSMutableStyleDeclarationImpl::removeBlockProperties): Ditto.
   22543         (DOM::CSSMutableStyleDeclarationImpl::removeInheritableProperties): New function.
   22544         * khtml/css/css_valueimpl.h: Declare inheritableProperties array and numInheritableProperties extern so they
   22545         can be defined in css_valueimpl.cpp and used in css_computedstyle.cpp.
   22546         * khtml/editing/htmlediting.cpp:
   22547         (khtml::ReplacementFragment::removeStyleNodes): This code was misguided, and removed too much style from HTML
   22548         elements. Now, it removes from HTML elements only the styles that we replace later with a call to applyStyle().
   22549         Also, add ID_B to list of inline "style" nodes we are willing to remove. Leaving it off was an oversight.
   22550 
   22551         * layout-tests/editing/pasteboard/paste-text-011-expected.txt: ID_B fix made this result change, without any
   22552         visible change in the test.
   22553         
   22554         New test:
   22555         
   22556         * layout-tests/editing/style/smoosh-styles-003.html
   22557         * layout-tests/editing/style/smoosh-styles-003-expected.txt
   22558 
   22559 2005-02-28  Richard Williamson   <rjw (a] apple.com>
   22560 
   22561 	Fixed <rdar://problem/4026985> CrashTracer: ...14 crashes at com.apple.WebCore: -[KWQPageState invalidate] + 32
   22562 
   22563 	Added more nil checking and ASSERTS.
   22564 	Without a reproducible case this is hard to definitively resolve.
   22565 
   22566         Reviewed by John Sullivan.
   22567 
   22568         * kwq/KWQPageState.mm:
   22569         (-[KWQPageState invalidate]):
   22570 
   22571 2005-02-28  Richard Williamson   <rjw (a] apple.com>
   22572 
   22573 	Fixed <rdar://problem/4027702> 3.5% performance regression btwn Safari-188 and Safari-400
   22574 
   22575 	I inadvertently checked in some debugging code that disabled
   22576 	style sharing.  Backed out that change.
   22577 
   22578         * khtml/css/cssstyleselector.cpp:
   22579         (khtml::CSSStyleSelector::styleForElement):
   22580 
   22581 2005-02-28  Chris Blumenberg  <cblu (a] apple.com>
   22582 
   22583 	Fixed: <rdar://problem/4026639> www.bmw.ca configurator does not work with Safari
   22584 
   22585         Reviewed by john.
   22586 
   22587         * khtml/ecma/kjs_html.cpp:
   22588         (KJS::HTMLElement::tryGet): when frameset.<name of frame child> is called, return the window object of the frame child
   22589 
   22590 2005-02-28  Ken Kocienda  <kocienda (a] apple.com>
   22591 
   22592         Reviewed by Chris
   22593 
   22594         Fix for this bug:
   22595         
   22596         <rdar://problem/4026906> Paste of HTML table content can break table structure
   22597 
   22598         * khtml/editing/htmlediting.cpp:
   22599         (khtml::ReplacementFragment::pruneEmptyNodes): Call new isProbablyTableStructureNode() function to prevent
   22600         removal of empty table structure nodes.
   22601         (khtml::ReplacementFragment::removeUnrenderedNodesUsingTestRendering): Ditto.
   22602         (khtml::isProbablyTableStructureNode): New helper function.
   22603         * khtml/editing/htmlediting.h: Declare new helper.
   22604 
   22605 2005-02-28  Chris Blumenberg  <cblu (a] apple.com>
   22606 
   22607 	Fixed: <rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste
   22608 
   22609         Reviewed by kocienda.
   22610 
   22611         * khtml/editing/htmlediting.cpp:
   22612         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): ref and deref the element while it is "floating"
   22613         (khtml::ReplacementFragment::insertFragmentForTestRendering): ditto
   22614         (khtml::floatRefdElement): new, keeps an element alive while its ref count is 0
   22615         (khtml::createDefaultParagraphElement): removed commented out code
   22616         (khtml::createBlockPlaceholderElement): ref the element and return it as "floating"
   22617         (khtml::createFontElement): ditto
   22618         (khtml::createStyleSpanElement): ditto
   22619         * khtml/editing/htmlediting.h:
   22620 
   22621 2005-02-27  Maciej Stachowiak  <mjs (a] apple.com>
   22622 
   22623         Reviewed by Vicki.
   22624 
   22625 	<rdar://problem/3993557> REGRESSION (125-180-ish): getElementsByTagName no longer works with namespace designations
   22626         
   22627 	* khtml/xml/dom_nodeimpl.cpp:
   22628         (NodeBaseImpl::getElementsByTagNameNS): When no namespace is specified, find elements
   22629 	of the specified name in any namespace to match Mozilla and earlier Safari behavior.
   22630 
   22631 2005-02-25  Darin Adler  <darin (a] apple.com>
   22632 
   22633         Reviewed by Adele.
   22634 
   22635         - fixed <rdar://problem/4025618> Crash while searching at hollywoodvideo.com
   22636 
   22637         * khtml/html/html_formimpl.h: Added valueWithDefault.
   22638         * khtml/html/html_formimpl.cpp:
   22639         (DOM::HTMLInputElementImpl::appendFormData): Call valueWithDefault instead of going at the render object
   22640         to try to get the default value; there may be no render object if this is display:none.
   22641         (DOM::HTMLInputElementImpl::valueWithDefault): Added. Knows about the defaults for "submit" and "reset"
   22642         buttons; otherwise just returns the value as-is.
   22643 
   22644         * khtml/rendering/render_form.h: Removed the defaultLabel member functions.
   22645         * khtml/rendering/render_form.cpp:
   22646         (RenderSubmitButton::rawText): Call valueWithDefault instead of using defaultLabel function here on
   22647         the render side. The DOM needs to know how to deal with the default anyway for form submission.
   22648         (RenderSubmitButton::defaultLabel): Removed.
   22649         (RenderResetButton::defaultLabel): Removed.
   22650         (RenderPushButton::defaultLabel): Removed.
   22651 
   22652 2005-02-25  Darin Adler  <darin (a] apple.com>
   22653 
   22654         Reviewed by John.
   22655 
   22656         - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
   22657 
   22658         * kwq/KWQKHTMLPart.h: Added setWindowHasFocus function and m_windowHasFocus data member.
   22659         * kwq/KWQKHTMLPart.mm:
   22660         (KWQKHTMLPart::setDisplaysWithFocusAttributes): Took out the code that sends the focus and blur events.
   22661         (KWQKHTMLPart::setWindowHasFocus): Put that code here instead.
   22662 
   22663         * kwq/WebCoreBridge.h: Added setWindowHasFocus: method to the bridge.
   22664         * kwq/WebCoreBridge.mm: (-[WebCoreBridge setWindowHasFocus:]): Added. Calls method on the part.
   22665 
   22666 2005-02-25  Darin Adler  <darin (a] apple.com>
   22667 
   22668         Reviewed by John.
   22669 
   22670         - re-fixed <rdar://problem/3665430> horizontal scroll bar of text area does not show, even when text is wide in "no wrap" mode
   22671 
   22672         * kwq/KWQTextArea.mm: (-[KWQTextArea _updateTextViewWidth]): Don't change the text view width
   22673         to match the text area's width in the "wrap" case.
   22674 
   22675 2005-02-25  Ken Kocienda  <kocienda (a] apple.com>
   22676 
   22677         Reviewed by Hyatt
   22678 
   22679         Fix for this bug:
   22680         
   22681         <rdar://problem/4021518> 8A394 Mail crashes during paste: khtml::RootInlineBox::closestLeafChildForXPos
   22682 
   22683         * khtml/editing/visible_units.cpp:
   22684         (khtml::previousLinePosition): Adding an updateLayout call at the start of the function fixes the crash, since
   22685         we caught line boxes in a not-completely-updated state.
   22686         (khtml::nextLinePosition): Ditto.
   22687 
   22688 2005-02-25  David Hyatt  <hyatt (a] apple.com>
   22689 
   22690 	Fix for 4010774, make sure to avoid an O(N^2) algorithm in nextRenderer() that is triggered when large
   22691 	DOM subtrees are inserted into documents via one insert/append call.
   22692 	
   22693         Reviewed by kocienda
   22694 
   22695         * khtml/xml/dom_nodeimpl.cpp:
   22696         (NodeImpl::nextRenderer):
   22697 
   22698 2005-02-25  Richard Williamson   <rjw (a] apple.com>
   22699 
   22700 	Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
   22701 
   22702 	Second pass at fixing 3382926 w/o causing layout regressions.  Same concept:
   22703 	if directionality of text's element is RTL and first character has neutral directionality
   22704 	then set the initial directionality to RTL.
   22705 
   22706         Reviewed by Hyatt.
   22707 
   22708         * khtml/rendering/bidi.cpp:
   22709         (khtml::RenderBlock::bidiReorderLine):
   22710         (khtml::RenderBlock::determineStartPosition):
   22711 
   22712 === Safari-400 ===
   22713 
   22714 2005-02-25  Ken Kocienda  <kocienda (a] apple.com>
   22715 
   22716         Reviewed by me
   22717 
   22718         Roll out Chris' change to fix this bug:
   22719         
   22720         <rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste
   22721         
   22722         That code change is responsible for all these new crashers:
   22723         
   22724         <rdar://problem/4025177> crash copying safari.apple.com into Blot document
   22725         <rdar://problem/4025184> crash in DOM::NodeImpl::parentNode copying "New!" from google.com to Blot
   22726         <rdar://problem/4025214> crash in DOM::NodeImpl::getRect loading paste-match-style-001.html
   22727 
   22728         Since we wish to close the tree for a build right now, I am rolling out rather than investigating.
   22729 
   22730         * khtml/editing/htmlediting.cpp:
   22731         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded)
   22732         (khtml::ReplacementFragment::insertFragmentForTestRendering)
   22733         (khtml::createDefaultParagraphElement)
   22734         (khtml::createBlockPlaceholderElement)
   22735         (khtml::createFontElement)
   22736         (khtml::createStyleSpanElement)
   22737         * khtml/editing/htmlediting.h
   22738 
   22739 2005-02-25  Ken Kocienda  <kocienda (a] apple.com>
   22740 
   22741         Reviewed by John
   22742 
   22743         Fix for this bug:
   22744         
   22745         <rdar://problem/4020108> Pasting text into message makes Mail crash reproducibly
   22746 
   22747         Note that, even with this fix, development build will crash until this bug is fixed:
   22748         <rdar://problem/4024996> Applying block styles can cause assertion failure in inline style removal
   22749         
   22750         This will not crash deployment builds, so I am going to land.
   22751 
   22752         * khtml/editing/htmlediting.cpp:
   22753         (khtml::ApplyStyleCommand::applyBlockStyle): Applying block styles can make the loop to reach beyondEnd
   22754         fail since the structure of the document can change. Cache the next node first before operating on it,
   22755         as we do elsewhere.
   22756 
   22757 2005-02-25  Vicki Murley <vicki (a] apple.com>
   22758 
   22759 	- recommit this change, since rolling it out did NOT fix the performance regression!
   22760 
   22761     2005-02-23  Darin Adler  <darin (a] apple.com>
   22762 
   22763         Reviewed by John.
   22764 
   22765         - fixed <rdar://problem/4011405> REGRESSION (180-181): Unconfirmed text disappears when text focus moves
   22766 
   22767         The key was to change things around so that we don't push text from the DOM to the widget
   22768         unless the DOM has actually been changed. This prevents the code path that wipes out inline input
   22769         during the blur process.
   22770 
   22771         * khtml/html/html_formimpl.cpp:
   22772         (DOM::HTMLInputElementImpl::HTMLInputElementImpl): Start m_valueMatchesRenderer as false.
   22773         (DOM::HTMLInputElementImpl::parseHTMLAttribute): Set m_valueMatchesRenderer to false when a
   22774         new value is set here.
   22775         (DOM::HTMLInputElementImpl::setValue): Set m_valueMatchesRenderer to false when a new value
   22776         is set here.
   22777         (DOM::HTMLInputElementImpl::setValueFromRenderer): Added. Sets m_value, sets m_valueMatchesRenderer
   22778         to true, and also sends out the input event. It's better to have this here than in the renderer code.
   22779         (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): Start m_valueIsValid as false (replaces
   22780         m_dirtyvalue) and m_valueMatchesRenderer as false.
   22781         (DOM::HTMLTextAreaElementImpl::updateValue): Added. Factored this out from the value function. Uses
   22782         the new booleans and keeps them up to date, specifically setting m_valueMatchesRenderer based on
   22783         where the value came from.
   22784         (DOM::HTMLTextAreaElementImpl::value): Updated to call updateValue to do most of the work.
   22785         (DOM::HTMLTextAreaElementImpl::setValue): Set both m_valueIsValid and m_valueMatchesRenderer.
   22786         (DOM::HTMLTextAreaElementImpl::setDefaultValue): Take parameter by reference.
   22787 
   22788         * khtml/html/html_formimpl.h: Added setValueFromRenderer, valueMatchesRenderer, setValueMatchesRenderer,
   22789         and m_valueMatchesRenderer to input element. For textarea element, made some parameters pass DOMString
   22790         by reference, and added invalidateValue, updateValue, valueMatchesRenderer, and setValueMatchesRenderer.
   22791 
   22792         * khtml/rendering/render_form.cpp:
   22793         (RenderLineEdit::updateFromElement): Don't re-get the value from the DOM if valueMatchesRenderer
   22794         is true.
   22795         (RenderLineEdit::slotTextChanged): Call setValueFromRenderer instead of manipulating the DOM
   22796         directly.
   22797         (RenderTextArea::detach): Call updateValue instead of calling value for its side effect.
   22798         (RenderTextArea::handleFocusOut): Ditto.
   22799         (RenderTextArea::updateFromElement): Call updateValue and then not re-get the value from the
   22800         DOM if valueMatchesRenderer is true.
   22801         (RenderTextArea::slotTextChanged): Call invalidateValue instead of directly setting m_dirtyvalue to true.
   22802 
   22803 2005-02-25  Chris Blumenberg  <cblu (a] apple.com>
   22804 
   22805 	Fixed: <rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste
   22806 
   22807         Reviewed by darin.
   22808 
   22809         * khtml/editing/htmlediting.cpp:
   22810         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   22811         (khtml::ReplacementFragment::insertFragmentForTestRendering):
   22812         (khtml::floatRefdElement):
   22813         (khtml::createDefaultParagraphElement):
   22814         (khtml::createBlockPlaceholderElement):
   22815         (khtml::createFontElement):
   22816         (khtml::createStyleSpanElement):
   22817         * khtml/editing/htmlediting.h:
   22818 
   22819 2005-02-25  Darin Adler  <darin (a] apple.com>
   22820 
   22821         * kwq/character-sets.txt: Checked in updated file. This new file has no effect, because none of the
   22822         changes affect character sets that we support, but it's good to have the latest file in here, and
   22823         completely safe because I checked that the generated files have not changed.
   22824 
   22825 2005-02-25  Vicki Murley <vicki (a] apple.com>
   22826 
   22827         Reviewed by Darin.
   22828  
   22829 	- back out this change, since it causes a 3.5% performance regression
   22830 
   22831     2005-02-23  Darin Adler  <darin (a] apple.com>
   22832 
   22833         Reviewed by John.
   22834 
   22835         - fixed <rdar://problem/4011405> REGRESSION (180-181): Unconfirmed text disappears when text focus moves
   22836 
   22837         The key was to change things around so that we don't push text from the DOM to the widget
   22838         unless the DOM has actually been changed. This prevents the code path that wipes out inline input
   22839         during the blur process.
   22840 
   22841         * khtml/html/html_formimpl.cpp:
   22842         (DOM::HTMLInputElementImpl::HTMLInputElementImpl): Start m_valueMatchesRenderer as false.
   22843         (DOM::HTMLInputElementImpl::parseHTMLAttribute): Set m_valueMatchesRenderer to false when a
   22844         new value is set here.
   22845         (DOM::HTMLInputElementImpl::setValue): Set m_valueMatchesRenderer to false when a new value
   22846         is set here.
   22847         (DOM::HTMLInputElementImpl::setValueFromRenderer): Added. Sets m_value, sets m_valueMatchesRenderer
   22848         to true, and also sends out the input event. It's better to have this here than in the renderer code.
   22849         (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): Start m_valueIsValid as false (replaces
   22850         m_dirtyvalue) and m_valueMatchesRenderer as false.
   22851         (DOM::HTMLTextAreaElementImpl::updateValue): Added. Factored this out from the value function. Uses
   22852         the new booleans and keeps them up to date, specifically setting m_valueMatchesRenderer based on
   22853         where the value came from.
   22854         (DOM::HTMLTextAreaElementImpl::value): Updated to call updateValue to do most of the work.
   22855         (DOM::HTMLTextAreaElementImpl::setValue): Set both m_valueIsValid and m_valueMatchesRenderer.
   22856         (DOM::HTMLTextAreaElementImpl::setDefaultValue): Take parameter by reference.
   22857 
   22858         * khtml/html/html_formimpl.h: Added setValueFromRenderer, valueMatchesRenderer, setValueMatchesRenderer,
   22859         and m_valueMatchesRenderer to input element. For textarea element, made some parameters pass DOMString
   22860         by reference, and added invalidateValue, updateValue, valueMatchesRenderer, and setValueMatchesRenderer.
   22861 
   22862         * khtml/rendering/render_form.cpp:
   22863         (RenderLineEdit::updateFromElement): Don't re-get the value from the DOM if valueMatchesRenderer
   22864         is true.
   22865         (RenderLineEdit::slotTextChanged): Call setValueFromRenderer instead of manipulating the DOM
   22866         directly.
   22867         (RenderTextArea::detach): Call updateValue instead of calling value for its side effect.
   22868         (RenderTextArea::handleFocusOut): Ditto.
   22869         (RenderTextArea::updateFromElement): Call updateValue and then not re-get the value from the
   22870         DOM if valueMatchesRenderer is true.
   22871         (RenderTextArea::slotTextChanged): Call invalidateValue instead of directly setting m_dirtyvalue to true.
   22872 
   22873 2005-02-25  Darin Adler  <darin (a] apple.com>
   22874 
   22875         Reviewed by Chris.
   22876 
   22877         - fixed <rdar://problem/4024786> REGRESSION (Mail): "Smart paste" plain-text word into Blot leaves insertion point misplaced
   22878 
   22879         * khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply):
   22880         Use the insertNodeAfterAndUpdateNodesInserted and insertNodeBeforeAndUpdateNodesInserted
   22881         functions to add the leading and trailing spaces for smart paste.
   22882 
   22883 2005-02-25  David Hyatt  <hyatt (a] apple.com>
   22884 
   22885 	Back out fix for 3382926, since it breaks LTR text inside RTL contexts.
   22886 	
   22887         Reviewed by john
   22888 
   22889         * khtml/rendering/bidi.cpp:
   22890         (khtml::BidiIterator::direction):
   22891 
   22892 2005-02-25  David Hyatt  <hyatt (a] apple.com>
   22893 
   22894 	Fix for 3975039, scrolling is slow in huge RSS views.  Optimize the calculation of clip rects for overflow:hidden
   22895 	layers.  Also optimize layer movement when scrolling overflow sections.
   22896 	
   22897         Reviewed by darin
   22898 
   22899         * khtml/rendering/render_layer.cpp:
   22900         (throw):
   22901         (ClipRects::operator delete):
   22902         (ClipRects::detach):
   22903         (RenderLayer::RenderLayer):
   22904         (RenderLayer::~RenderLayer):
   22905         (RenderLayer::updateLayerPosition):
   22906         (RenderLayer::removeOnlyThisLayer):
   22907         (RenderLayer::insertOnlyThisLayer):
   22908         (RenderLayer::scrollToOffset):
   22909         (RenderLayer::hitTest):
   22910         (RenderLayer::calculateClipRects):
   22911         (RenderLayer::calculateRects):
   22912         (RenderLayer::containsPoint):
   22913         (RenderLayer::clearClipRects):
   22914         (RenderLayer::clearClipRect):
   22915         * khtml/rendering/render_layer.h:
   22916         (khtml::ClipRects::m_refCnt):
   22917         (khtml::ClipRects::overflowClipRect):
   22918         (khtml::ClipRects::fixedClipRect):
   22919         (khtml::ClipRects::posClipRect):
   22920         (khtml::ClipRects::ref):
   22921         (khtml::ClipRects::deref):
   22922         (khtml::RenderLayer::clipRects):
   22923         * khtml/rendering/render_object.cpp:
   22924         (RenderObject::setStyle):
   22925 
   22926 2005-02-24  Maciej Stachowiak  <mjs (a] apple.com>
   22927 
   22928         Reviewed by Darin and Dave a while ago.
   22929 
   22930 	<rdar://problem/3996685> REGRESSION: Crash in KWQVectorImpl::at loading http://maps.google.com/mapfiles/homepanel.xsl
   22931         
   22932 	* kwq/WebCoreBridge.mm:
   22933         (formElementFromDOMElement): Check for isHTMLElement() as well as
   22934 	id() == ID_FORM. This seems like an impossible situation, but
   22935 	papering over it seems more expedient for the time being.
   22936 
   22937 2005-02-24  Richard Williamson   <rjw (a] apple.com>
   22938 
   22939 	Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
   22940 
   22941 	Use mirror characters correctly when rendering with RTL directionality.
   22942 
   22943         Reviewed by Hyatt.
   22944 
   22945         * khtml/rendering/bidi.cpp:
   22946         (khtml::BidiIterator::direction):
   22947 
   22948 2005-02-24  Richard Williamson   <rjw (a] apple.com>
   22949 
   22950 	Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
   22951 	
   22952         Reviewed by Hyatt.
   22953 
   22954         * WebCore.pbproj/project.pbxproj:
   22955         * khtml/html/html_imageimpl.cpp:
   22956         (HTMLImageLoader::updateFromElement):
   22957         * khtml/rendering/render_image.cpp:
   22958         (RenderImage::resetAnimation):
   22959         * khtml/rendering/render_image.h:
   22960         * khtml/rendering/render_list.cpp:
   22961         (RenderListMarker::setStyle):
   22962         (RenderListMarker::paint):
   22963         * khtml/rendering/render_list.h:
   22964         * kwq/KWQPixmap.h:
   22965         * kwq/KWQPixmap.mm:
   22966         (QPixmap::QPixmap):
   22967         (QPixmap::resetAnimation):
   22968         * kwq/WebCoreImageRenderer.h:
   22969 
   22970 2005-02-24  Chris Blumenberg  <cblu (a] apple.com>
   22971 
   22972 	Fixed: <rdar://problem/4020110> Safari crashes in setAllData while taking a www.zoomerang.com survey
   22973 
   22974         Reviewed by rjw.
   22975 
   22976         * kwq/KWQResourceLoader.mm:
   22977         (-[KWQResourceLoader finishJobAndHandle:]): clear the job after we've deleted to avoid reentrancy
   22978 
   22979 2005-02-24  Darin Adler  <darin (a] apple.com>
   22980 
   22981         Reviewed by Vicki.
   22982 
   22983         - fixed <rdar://problem/4023360> REGRESSION (186-187): image file upload is broken at pep.apple.com
   22984 
   22985         * khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::appendFormData): Return true after
   22986         setting up the form data for an uploaded file. The old code would fall through to the ISINDEX
   22987         case and send double form data (the filename instead of the file contents the second time).
   22988 
   22989 2005-02-24  David Harrison  <harrison (a] apple.com>
   22990 
   22991         Reviewed by Ken.
   22992         
   22993         <rdar://problem/3990849> AX: textMarkerRange for an AXUIElement within an AXWebArea
   22994 
   22995         * kwq/KWQAccObject.mm:
   22996         (-[KWQAccObject textMarkerRange]):
   22997         (-[KWQAccObject accessibilityParameterizedAttributeNames]):
   22998         (-[KWQAccObject doAXTextMarkerRangeForUIElement:]):
   22999         (-[KWQAccObject accessibilityAttributeValue:forParameter:]):
   23000         Added AXTextMarkerRangeForUIElement, or you can send textMarkerRange to the UIElement itself.
   23001 
   23002 2005-02-24  David Harrison  <harrison (a] apple.com>
   23003 
   23004         Reviewed by Vicki.
   23005 
   23006         <rdar://problem/4004279> 3 AXSelectedTextChanged notifications are firing each time I type a character
   23007 
   23008         * khtml/xml/dom_docimpl.cpp:
   23009         (DocumentImpl::updateSelection):
   23010         Send notification only if the selection is not null.  This safely ignores transitory selections set during editing.
   23011 
   23012 2005-02-24  Darin Adler  <darin (a] apple.com>
   23013 
   23014         Reviewed by John.
   23015 
   23016         - fixed <rdar://problem/3987619> in some cases, text doesn't resize with Format->Style->Bigger/Smaller
   23017 
   23018         * khtml/editing/htmlediting.cpp:
   23019         (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): Only call nodeFullySelected for non-text nodes.
   23020         Text nodes are already split so they're either in the range and full selected or out of the range.
   23021         And nodeFullySelected doesn't work for text nodes.
   23022         (khtml::ApplyStyleCommand::nodeFullySelected): Add an assertion, since this function only works for elements,
   23023         not text nodes.
   23024         (khtml::ApplyStyleCommand::nodeFullyUnselected): Ditto.
   23025 
   23026         - make big improvement in <rdar://problem/3953636> Mail hung for ~10sec changing font of 84328 characters: khtml::ApplyStyleCommand::nodeFullySelected
   23027 
   23028         * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::compareBoundaryPoints): Improve algorithm based on suggestion
   23029         from Nate Begeman.
   23030 
   23031         - fixed <rdar://problem/4020305> REGRESSION (185-186): loading image in new window using document.write fails
   23032 
   23033         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::open): If there is no parent document, don't blow away the base URL.
   23034 
   23035         - fixed <rdar://problem/4021701> REGRESSION (188-188+): form not submitted after pressing <return> at http://hrweb.apple.com
   23036         
   23037         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchMouseEvent): Send activate event in the case where the event
   23038         sent is a KHTML_CLICK_EVENT, not CLICK_EVENT.
   23039 
   23040 2005-02-23  Kevin Decker  <kdecker (a] apple.com>
   23041 
   23042         Reviewed by mjs  
   23043         
   23044         Fixed <rdar://problem/4020747> REGRESSION: stray </applet> tags crash Safari
   23045 
   23046         * khtml/html/htmlparser.cpp:
   23047         (KHTMLParser::processCloseTag):  Made a typesafe check that prevents crashes
   23048         whenever there is a closing applet tag without an actual <applet> in the first place. 
   23049         Now verifies the current token is ID_APPLET before casting it to an HTMLAppletElementImpl.
   23050          
   23051 
   23052 2005-02-23  Ken Kocienda  <kocienda (a] apple.com>
   23053 
   23054         Reviewed by John
   23055 
   23056         Fix for this bug:
   23057         
   23058         <rdar://problem/3977962> font loses bold style after pasting next to existing text and pressing return
   23059 
   23060         * khtml/editing/htmlediting.cpp:
   23061         (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Problem here was
   23062         that we were doing work in cases where we should not, and content whose style would have
   23063         been correct if we had done nothing was getting clobbered. It turns out that extra work
   23064         to apply style to the new paragraph added in this command only needs to be done if we're 
   23065         at the boundaries of a paragraph. Otherwise, content that is moved as part of the work 
   23066         of the command will lend their styles to the new paragraph without any extra work needed.
   23067         So, make this position check and return unless at a paragraph boundary.
   23068 
   23069         New test:
   23070 
   23071         * layout-tests/editing/style/block-styles-007-expected.txt
   23072         * layout-tests/editing/style/block-styles-007.html
   23073 
   23074 2005-02-23  Ken Kocienda  <kocienda (a] apple.com>
   23075 
   23076         Reviewed by Hyatt
   23077 
   23078         Fix for this bug:
   23079         
   23080         <rdar://problem/4017641> REGRESSION (Mail): you can only bold/unbold a selection starting from end of line once
   23081 
   23082         Problem is with the way we figure out whether to add or remove a style based on
   23083         the current selection. In this case, the code is looking at the end of the
   23084         previous line, which is not bold, and deduces incorrectly that the operation is
   23085         a "make bold". Then the style code runs to make bold, but there is nothing on
   23086         the end of the previous line to embolden, so we get into a cycle where the same
   23087         thing happens each time cmd-b is hit.
   23088 
   23089         * khtml/khtml_part.cpp:
   23090         (KHTMLPart::selectionComputedStyle):  Call editingStartPosition() to get the right position for the font determination.
   23091         * khtml/xml/dom2_rangeimpl.cpp:
   23092         (DOM::RangeImpl::editingStartPosition): New helper function that "does the right thing" based on whether the
   23093         selection is a caret or a range, moving upstream for the former, and downstream for the latter.
   23094         * khtml/xml/dom2_rangeimpl.h:
   23095         * kwq/KWQKHTMLPart.mm:
   23096         (KWQKHTMLPart::fontForSelection): Call editingStartPosition() to get the right position for the font determination.
   23097 
   23098         New tests:
   23099 
   23100         * layout-tests/editing/style/style-boundary-001-expected.txt
   23101         * layout-tests/editing/style/style-boundary-001.html
   23102         * layout-tests/editing/style/style-boundary-002-expected.txt
   23103         * layout-tests/editing/style/style-boundary-002.html
   23104         * layout-tests/editing/style/style-boundary-003-expected.txt
   23105         * layout-tests/editing/style/style-boundary-003.html
   23106         * layout-tests/editing/style/style-boundary-004-expected.txt
   23107         * layout-tests/editing/style/style-boundary-004.html
   23108 
   23109 2005-02-23  Richard Williamson   <rjw (a] apple.com>
   23110 
   23111 	Fixed <rdar://problem/3985579> 8A367: Dashboard: Stock widget not visible when click remove to remove single char ticker symbol
   23112 
   23113 	Explicitly remove scroll bar views when removing them from 
   23114 	the overflow.
   23115 
   23116 	Don't paint synchronously when the scroll position changes,
   23117 	this caused funky clip problems.
   23118 
   23119         Reviewed by Hyatt.
   23120 
   23121         * khtml/rendering/render_layer.cpp:
   23122         (RenderLayer::scrollToOffset):
   23123         (RenderLayer::setHasHorizontalScrollbar):
   23124         (RenderLayer::setHasVerticalScrollbar):
   23125         (RenderLayer::updateScrollInfoAfterLayout):
   23126 
   23127 2005-02-23  Ken Kocienda  <kocienda (a] apple.com>
   23128 
   23129         Reviewed by Hyatt
   23130 
   23131         Fix for this bug:
   23132         
   23133         <rdar://problem/3959996> REGRESSION (Mail): cursor moves to beginning of document when click is past end
   23134 
   23135         * khtml/rendering/render_block.cpp:
   23136         (khtml::RenderBlock::positionForCoordinates): Skip blocks that are invisible or have no height when 
   23137         looking for a child to pass off to. And save away the last visible block with a height to pass off
   23138         to if there is no child at the right y-coordinate.
   23139 
   23140 2005-02-23  David Harrison  <harrison (a] apple.com>
   23141 
   23142         Reviewed by Darin.
   23143 
   23144         <rdar://problem/4010059> BoundsForTextMarkerRange does not update with scrolled web area
   23145 
   23146         * kwq/KWQAccObject.mm:
   23147         (-[KWQAccObject doAXBoundsForTextMarkerRange:]):
   23148         Adjust for scrolling.
   23149 
   23150 2005-02-22  Maciej Stachowiak  <mjs (a] apple.com>
   23151 
   23152         Reviewed by Ken.
   23153 
   23154 	<rdar://problem/3949790> hitting return after pasted styled line results in extra content getting the style
   23155 	
   23156         * khtml/editing/htmlediting.cpp:
   23157         (khtml::InsertParagraphSeparatorCommand::doApply): In the case
   23158 	where the start block is the root, insert the newly created DIV at
   23159 	the end of the root block instead of after the last sibling in the
   23160 	start node, since the start node could be inside other
   23161 	style-affecting nodes and we don't want to reparent its cousins
   23162 	into that.
   23163 
   23164 2005-02-23  David Harrison  <harrison (a] apple.com>
   23165 
   23166         Reviewed by Vicki.
   23167 
   23168         <rdar://problem/4014691> switch to correctly spelled NSAccessibilityForegroundColorTextAttribute constant
   23169         
   23170         Also removed two older, now unneeded, wrappers.
   23171 
   23172         * kwq/KWQAccObject.mm:
   23173         (-[KWQAccObject visiblePositionForStartOfTextMarkerRange:]):
   23174         (-[KWQAccObject visiblePositionForEndOfTextMarkerRange:]):
   23175         Removed these older, now unneeded, wrappers.
   23176         
   23177         (NSAccessibilityForegroundColorTextAttributeWrapper):
   23178         New wrapper for NSAccessibilityForegroundColorTextAttribute.
   23179         
   23180         (AXAttributeStringSetStyle):
   23181         Use NSAccessibilityForegroundColorTextAttributeWrapper.
   23182         
   23183         (-[KWQAccObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
   23184         Remove uses of visiblePositionForStartOfTextMarkerRange and visiblePositionForEndOfTextMarkerRange.
   23185 
   23186 2005-02-23  David Harrison  <harrison (a] apple.com>
   23187 
   23188         Reviewed by Vicki.
   23189 
   23190         <rdar://problem/3524784> AX hit test doesn't return info when done in empty space of content area
   23191 
   23192         * kwq/KWQAccObject.mm:
   23193         (-[KWQAccObject accessibilityHitTest:]):
   23194         Return unignored object.
   23195 
   23196 2005-02-23  Darin Adler  <darin (a] apple.com>
   23197 
   23198         Reviewed by Ken.
   23199 
   23200         - fixed <rdar://problem/4006509> REGRESSION (171-172): Setting CSS -khtml-user-modify property triggers crash
   23201 
   23202         * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty):
   23203         Removed the code that changes the style of the element. This was never needed, and caused the
   23204         style to be modified while we were iterating it.
   23205 
   23206 2005-02-23  Ken Kocienda  <kocienda (a] apple.com>
   23207 
   23208         Reviewed by John
   23209 
   23210         Fix for this bug:
   23211         
   23212         <rdar://problem/3980209> Mail crashed when I pressed Cmd-Shift-[ (nil-deref in ApplyStyleCommand::addBlockStyleIfNeeded)
   23213 
   23214         * khtml/editing/htmlediting.cpp:
   23215         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Reordered the new block
   23216         insertion so that it come before the move. The logic stays exactly the same, however, with the old
   23217         ordering, the new block could want to become a child of itself come insertion time. I considered
   23218         making a more complicated code change to fix this problem, but the simple reordering works just
   23219         as well, and seems less risky.
   23220         
   23221         These all changed in an insignificant way. It seems that with the new code, some empty text nodes
   23222         got reordered in the document. This has no effect on anything visible to the user.
   23223         
   23224         * layout-tests/editing/style/create-block-for-style-003-expected.txt
   23225         * layout-tests/editing/style/create-block-for-style-004-expected.txt
   23226         * layout-tests/editing/style/create-block-for-style-009-expected.txt
   23227         * layout-tests/editing/style/create-block-for-style-011-expected.txt
   23228         * layout-tests/editing/style/create-block-for-style-013-expected.txt
   23229 
   23230 2005-02-23  Darin Adler  <darin (a] apple.com>
   23231 
   23232         Reviewed by John.
   23233 
   23234         - fixed <rdar://problem/4013986> REGRESSION (173-174): onclick event not sent when mouse click on checkbox is double-click
   23235 
   23236         We need to send an onclick event *and* an ondblclick event when we process a double click.
   23237 
   23238         * khtml/khtmlview.cpp: (KHTMLView::dispatchMouseEvent): In the case where we're sending a CLICK_EVENT,
   23239         follow it by a KHTML_CLICK_EVENT, a KHTML_DBLCLICK_EVENT when handling a double click, and a DOMACTIVATE_EVENT.
   23240         We no longer do the DOMACTIVATE_EVENT in dispatchGenericEvent.
   23241         * khtml/rendering/render_form.cpp: (RenderFormElement::slotClicked): send only CLICK_EVENT here, and
   23242         lets dispatchMouseEvent deal with the other subsequent events.
   23243         * khtml/xml/dom_nodeimpl.cpp:
   23244         (NodeImpl::dispatchGenericEvent): Remove the code that sends a DOMACTIVATE_EVENT, since there's no longer
   23245         a good way to figure out if this is the last event that should be sent before it is.
   23246         (NodeImpl::dispatchMouseEvent): Set the meta key modifier here (as it already is set elsewhere), and
   23247         follow up a CLICK_EVENT with KHTML_CLICK_EVENT, a KHTML_DBLCLICK_EVENT, and DOMACTIVATE_EVENT as above.
   23248 
   23249 2005-02-23  Darin Adler  <darin (a] apple.com>
   23250 
   23251         Reviewed by John.
   23252 
   23253         - fixed <rdar://problem/4011405> REGRESSION (180-181): Unconfirmed text disappears when text focus moves
   23254 
   23255         The key was to change things around so that we don't push text from the DOM to the widget
   23256         unless the DOM has actually been changed. This prevents the code path that wipes out inline input
   23257         during the blur process.
   23258 
   23259         * khtml/html/html_formimpl.cpp:
   23260         (DOM::HTMLInputElementImpl::HTMLInputElementImpl): Start m_valueMatchesRenderer as false.
   23261         (DOM::HTMLInputElementImpl::parseHTMLAttribute): Set m_valueMatchesRenderer to false when a
   23262         new value is set here.
   23263         (DOM::HTMLInputElementImpl::setValue): Set m_valueMatchesRenderer to false when a new value
   23264         is set here.
   23265         (DOM::HTMLInputElementImpl::setValueFromRenderer): Added. Sets m_value, sets m_valueMatchesRenderer
   23266         to true, and also sends out the input event. It's better to have this here than in the renderer code.
   23267         (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): Start m_valueIsValid as false (replaces
   23268         m_dirtyvalue) and m_valueMatchesRenderer as false.
   23269         (DOM::HTMLTextAreaElementImpl::updateValue): Added. Factored this out from the value function. Uses
   23270         the new booleans and keeps them up to date, specifically setting m_valueMatchesRenderer based on
   23271         where the value came from.
   23272         (DOM::HTMLTextAreaElementImpl::value): Updated to call updateValue to do most of the work.
   23273         (DOM::HTMLTextAreaElementImpl::setValue): Set both m_valueIsValid and m_valueMatchesRenderer.
   23274         (DOM::HTMLTextAreaElementImpl::setDefaultValue): Take parameter by reference.
   23275 
   23276         * khtml/html/html_formimpl.h: Added setValueFromRenderer, valueMatchesRenderer, setValueMatchesRenderer,
   23277         and m_valueMatchesRenderer to input element. For textarea element, made some parameters pass DOMString
   23278         by reference, and added invalidateValue, updateValue, valueMatchesRenderer, and setValueMatchesRenderer.
   23279 
   23280         * khtml/rendering/render_form.cpp:
   23281         (RenderLineEdit::updateFromElement): Don't re-get the value from the DOM if valueMatchesRenderer
   23282         is true.
   23283         (RenderLineEdit::slotTextChanged): Call setValueFromRenderer instead of manipulating the DOM
   23284         directly.
   23285         (RenderTextArea::detach): Call updateValue instead of calling value for its side effect.
   23286         (RenderTextArea::handleFocusOut): Ditto.
   23287         (RenderTextArea::updateFromElement): Call updateValue and then not re-get the value from the
   23288         DOM if valueMatchesRenderer is true.
   23289         (RenderTextArea::slotTextChanged): Call invalidateValue instead of directly setting m_dirtyvalue to true.
   23290 
   23291 2005-02-22  Richard Williamson   <rjw (a] apple.com>
   23292 
   23293 	Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
   23294 
   23295 	Just set dashboard dirty bit when overflow scrolling changes.
   23296 
   23297 	Don't do comparison of regions in before scroll regions are
   23298 	added, instead do it in WebKit after automatic scroll regions
   23299 	are added.
   23300 
   23301         Reviewed by Maciej.
   23302 
   23303         * khtml/css/cssparser.cpp:
   23304         (CSSParser::parseDashboardRegions):  Cleaned up comments
   23305         * khtml/css/cssstyleselector.cpp:
   23306         (khtml::CSSStyleSelector::styleForElement): Cleaned up comments
   23307 
   23308         * khtml/khtmlview.cpp:
   23309         (KHTMLView::updateDashboardRegions):
   23310         * khtml/rendering/render_layer.cpp:
   23311         (RenderLayer::updateScrollInfoAfterLayout):
   23312         * kwq/WebDashboardRegion.m:
   23313         (-[WebDashboardRegion isEqual:]):
   23314 
   23315 2005-02-22  Chris Blumenberg  <cblu (a] apple.com>
   23316 
   23317 	Fixed: <rdar://problem/3976872> Pasted plain text doesn't get the proper style if pasted into newlines
   23318 
   23319         Reviewed by mjs.
   23320 
   23321         * khtml/editing/htmlediting.cpp:
   23322         (khtml::ReplaceSelectionCommand::doApply): don't clear the typing style when matching style
   23323         (khtml::ReplaceSelectionCommand::completeHTMLReplacement): apply the typing style when matching style
   23324         * khtml/editing/jsediting.cpp:
   23325         * khtml/khtml_part.cpp:
   23326         (KHTMLPart::pasteAndMatchStyle): new
   23327         * khtml/khtml_part.h:
   23328         * kwq/KWQKHTMLPart.h:
   23329         * kwq/KWQKHTMLPart.mm:
   23330         (KWQKHTMLPart::issuePasteAndMatchStyleCommand): new
   23331         * kwq/WebCoreBridge.h:
   23332         * layout-tests/editing/editing.js:
   23333 
   23334 2005-02-22  Darin Adler  <darin (a] apple.com>
   23335 
   23336         Reviewed by Adele.
   23337 
   23338         - fixed <rdar://problem/4006596> REGRESSION (183-184): crash in DOM::DocumentImpl::setFocusNode(DOM::NodeImpl*)
   23339 
   23340         * khtml/xml/dom_docimpl.cpp:
   23341         (widgetForNode): Added helper.
   23342         (DocumentImpl::setFocusNode): Re-get the widget for the node after calling updateLayout.
   23343         The updateLayout can destroy the old widget, so we can't keep a stale widget pointer around.
   23344 
   23345 2005-02-22  Ken Kocienda  <kocienda (a] apple.com>
   23346 
   23347         Reviewed by Hyatt
   23348 
   23349         Fix for this bug:
   23350         
   23351         <rdar://problem/4003463> Mail.app HTML uses inline styling markup not understood by Entourage and Eudora
   23352 
   23353         * khtml/editing/htmlediting.cpp:
   23354         (khtml::isEmptyFontTag): Helper for removing <font> tags.
   23355         (khtml::StyleChange::styleModeForParseMode): Helper to map a document parse mode to a use/don't use
   23356         legacy-html-styles value.
   23357         (khtml::StyleChange::checkForLegacyHTMLStyleChange): Add support for colors, font faces, and font sizes.
   23358         (khtml::ApplyStyleCommand::isHTMLStyleNode):
   23359         (khtml::ApplyStyleCommand::removeHTMLFontStyle):
   23360         (khtml::ApplyStyleCommand::applyTextDecorationStyle): Now call styleModeForParseMode to determine
   23361         whether to use legacy html styles or not.
   23362         (khtml::ApplyStyleCommand::removeInlineStyle): Now properly removes <font> styles.
   23363         (khtml::ApplyStyleCommand::addBlockStyleIfNeeded): Ditto.
   23364         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
   23365         (khtml::createFontElement): Helper for applying <font> elements.
   23366         * khtml/editing/htmlediting.h: All the following support the new bits of data we need to store.
   23367         (khtml::StyleChange::applyFontColor)
   23368         (khtml::StyleChange::applyFontFace)
   23369         (khtml::StyleChange::applyFontSize)
   23370         (khtml::StyleChange::fontColor)
   23371         (khtml::StyleChange::fontFace)
   23372         (khtml::StyleChange::fontSize)
   23373 
   23374         Test results updated now that we will write out <font> tags for quirks mode documents.        
   23375         
   23376         * layout-tests/editing/execCommand/modifyForeColorByCharacter-expected.txt
   23377         * layout-tests/editing/style/block-style-004-expected.txt
   23378         * layout-tests/editing/editing/pasteboard/paste-text-011-expected.txt
   23379         * layout-tests/editing/style/block-style-005-expected.txt
   23380         * layout-tests/editing/style/block-style-006-expected.txt
   23381         * layout-tests/editing/style/smoosh-styles-001-expected.txt
   23382         * layout-tests/editing/style/smoosh-styles-002-expected.txt
   23383 
   23384 2005-02-22  Maciej Stachowiak  <mjs (a] apple.com>
   23385 
   23386         Reviewed by Kevin.
   23387 
   23388 	<rdar://problem/4017066> crash in KJS::ValueImp::dispatchType() every time I load www.nytimes.com/pages/automobiles
   23389 
   23390 	When creating option elements, use lowercase "option" instead of
   23391 	uppercase "OPTION" to create option elements, because only
   23392 	lowercase works for XHTML.
   23393 	
   23394         * khtml/ecma/kjs_html.cpp:
   23395         (KJS::HTMLSelectCollection::tryPut):
   23396         (OptionConstructorImp::construct):
   23397 
   23398 2005-02-22  Chris Blumenberg  <cblu (a] apple.com>
   23399 
   23400 	WebCore fix for: <rdar://problem/3918056> Mail not line breaking my <pre> formatted emails on replies
   23401 	
   23402 	Mail must 4018993 to fully address the problem.
   23403 
   23404         Reviewed by kocienda.
   23405 
   23406         * khtml/editing/markup.cpp:
   23407         (khtml::startMarkup): don't compute style for text in PRE tags
   23408         (khtml::createMarkup): include PRE if it is an ancestor of the nodes in the range
   23409 
   23410 2005-02-21  Richard Williamson   <rjw (a] apple.com>
   23411 
   23412 	Fixed <rdar://problem/4008338> REGRESSION (125-178): opacity style not working, breaks fading images on okcupid.com
   23413 
   23414 	There was a long standing bug in cssText().  Double value were always cast int!  So,
   23415 	opacity values values were incorrectly converted to text, i.e. 0.75 became 0.
   23416 	
   23417 	The problem was newly triggered because we parse the css for opacity *TWICE*.  This is a result of 
   23418 	incorrectly "invalidating" the style attribute (from fix for 3790449).  The second parse was from
   23419 	the cssText() of the style.
   23420 
   23421         Reviewed by Hyatt.
   23422 
   23423         * khtml/css/css_valueimpl.cpp:
   23424         (DOM::CSSPrimitiveValueImpl::cssText):
   23425 
   23426 2005-02-21  David Hyatt  <hyatt (a] apple.com>
   23427 
   23428 	Fix for 4017204, apply the same fix to the base class nodeAtPoint that was already applied to RenderBlock.
   23429 	Skip elements with layers and inline flows.  Demoted <form>s can end up causing trouble otherwise.
   23430 	
   23431         Reviewed by Richard Williamson
   23432 
   23433         * khtml/rendering/render_box.cpp:
   23434         (RenderBox::nodeAtPoint):
   23435 
   23436 2005-02-21  David Hyatt  <hyatt (a] apple.com>
   23437 
   23438 	Fix for 4017033, CSS is being parsed twice.  Make sure to always validate the style attribute when it is
   23439 	initially parsed.  Add code to clean up decls when the style attribute is completely removed.  Add a new
   23440 	synchronizing boolean that avoids reparsing the style declaration when the attribute is simply
   23441 	being synced up to the declaration.
   23442 
   23443         Reviewed by John
   23444 
   23445         * khtml/css/css_valueimpl.cpp:
   23446         (DOM::CSSMutableStyleDeclarationImpl::setChanged):
   23447         * khtml/html/html_elementimpl.cpp:
   23448         (HTMLElementImpl::invalidateStyleAttribute):
   23449         (HTMLElementImpl::updateStyleAttributeIfNeeded):
   23450         (HTMLElementImpl::HTMLElementImpl):
   23451         (HTMLElementImpl::~HTMLElementImpl):
   23452         (HTMLElementImpl::destroyInlineStyleDecl):
   23453         (HTMLElementImpl::mapToEntry):
   23454         (HTMLElementImpl::parseHTMLAttribute):
   23455         * khtml/html/html_elementimpl.h:
   23456         * khtml/xml/dom_elementimpl.cpp:
   23457         (ElementImpl::ElementImpl):
   23458         (ElementImpl::setAttribute):
   23459         * khtml/xml/dom_elementimpl.h:
   23460         (DOM::ElementImpl::updateStyleAttributeIfNeeded):
   23461 
   23462 === Safari-188 ===
   23463 
   23464 2005-02-21  Darin Adler  <darin (a] apple.com>
   23465 
   23466         - fixed Panther deployment build
   23467 
   23468         * kwq/KWQTextEdit.mm: (QTextEdit::setScrollBarModes): Put more stuff inside #if.
   23469 
   23470 2005-02-21  David Harrison  <harrison (a] apple.com>
   23471 
   23472         Reviewed by Darin.
   23473 
   23474         <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
   23475 
   23476         * khtml/rendering/render_text.cpp:
   23477         (InlineTextBox::paintMarker):
   23478         Make sure underline is placed within the text bounds.
   23479         
   23480         * kwq/KWQPainter.h:
   23481         * kwq/KWQPainter.mm:
   23482         (QPainter::misspellingLineThickness):
   23483         * kwq/WebCoreTextRenderer.h:
   23484         Add misspellingLineThickness for use by InlineTextBox::paintMarker.
   23485 
   23486 2005-02-21  Darin Adler  <darin (a] apple.com>
   23487 
   23488         Reviewed by John.
   23489 
   23490         - fixed <rdar://problem/4012978> -[DOMRange markupString] crashes when range contains only a text node with a single space
   23491 
   23492         * khtml/editing/markup.cpp: (khtml::createMarkup): Added updateLayout calls, and added a missing
   23493         nil check.
   23494 
   23495 2005-02-21  Darin Adler  <darin (a] apple.com>
   23496 
   23497         Reviewed by John.
   23498 
   23499         - fixed <rdar://problem/4005435> Safari hung while pasting text into a <textarea> (Panther-only)
   23500 
   23501         * kwq/KWQTextEdit.mm: (QTextEdit::setScrollBarModes): Don't setAutohidesScrollers:YES on Panther.
   23502 
   23503 2005-02-21  Ken Kocienda  <kocienda (a] apple.com>
   23504 
   23505         Reviewed by John
   23506 
   23507         Fix for this bug:
   23508         
   23509         <rdar://problem/4015499> REGRESSION (186-187): pasted quoted text starting with a blank line increases quote level of pasted text when pasted
   23510 
   23511         * khtml/editing/markup.cpp:
   23512         (khtml::markup): Changed over to ASSERT instead of assert.
   23513         (khtml::createMarkup): The issue was that the code to add parents all the way back to the common ancestor
   23514         block did not check for blocks whose markup had already been added, and could result in adding markup for
   23515         nodes twice (hence the additional and erroneous quote level). Now there is a new check that will
   23516         only add markup for those nodes before the start of the selection range. This fixes the bug.
   23517         (khtml::createFragmentFromMarkup): Changed over to ASSERT instead of assert.
   23518         (khtml::createFragmentFromText): Ditto.
   23519 
   23520 2005-02-21  Ken Kocienda  <kocienda (a] apple.com>
   23521 
   23522         Reviewed by John
   23523 
   23524         Fix for this bug:
   23525         
   23526         <rdar://problem/4015494> REGRESSION (186-187) <cr> removed if quoted word is copy/pasted on line immediately above quoted text
   23527 
   23528         * khtml/editing/htmlediting.cpp:
   23529         (khtml::ReplaceSelectionCommand::doApply): Relatively new check designed to remove a <br> element when
   23530         that element was on a line by itself did not do an adequate check for this condition, causing the
   23531         failure described in the bug. Fixed.
   23532 
   23533 2005-02-19  Ken Kocienda  <kocienda (a] apple.com>
   23534 
   23535         Reviewed by Maciej
   23536 
   23537         * khtml/editing/htmlediting.cpp:
   23538         (khtml::matchNearestBlockquoteColorString): New function which abstracts away the CSS property we use
   23539         for this pseudo-color.
   23540         (khtml::ReplacementFragment::removeBlockquoteColorsIfNeeded): Set the new nearestBlockquoteColorString
   23541         psuedo-color here, rather than removing colors as was done before.
   23542         (khtml::ReplaceSelectionCommand::applyStyleToInsertedNodes): Check for the pseudo-color in the desired
   23543         style, and determine the real color based on the nearest blockquote (or none) to the node.
   23544         (khtml::nearestMailBlockquote): Name change from closestMailBlockquote to match new property better.
   23545 
   23546         All the rest of this change is the mechanical coding you need to do to add a new CSS property, in this
   23547         case, -khtml-match-nearest-mail-blockquote-color.
   23548 
   23549         * khtml/css/css_computedstyle.cpp:
   23550         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue)
   23551         * khtml/css/cssparser.cpp:
   23552         (CSSParser::parseValue):
   23553         * khtml/css/cssproperties.c:
   23554         (hash_prop):
   23555         (findProp):
   23556         * khtml/css/cssproperties.h:
   23557         * khtml/css/cssproperties.in:
   23558         * khtml/css/cssstyleselector.cpp:
   23559         (khtml::CSSStyleSelector::applyProperty)
   23560         * khtml/css/cssvalues.c:
   23561         (findValue)
   23562         * khtml/css/cssvalues.h:
   23563         * khtml/css/cssvalues.in:
   23564         * khtml/rendering/render_style.h:
   23565         (khtml::RenderStyle::matchNearestMailBlockquoteColor)
   23566         (khtml::RenderStyle::setMatchNearestMailBlockquoteColor)
   23567         (khtml::RenderStyle::initialMatchNearestMailBlockquoteColor)
   23568 
   23569 2005-02-19  Ken Kocienda  <kocienda (a] apple.com>
   23570 
   23571         Reviewed by Chris
   23572 
   23573         Fix for these bugs:
   23574         
   23575         <rdar://problem/4014228> REGRESSION (186-187) extra, uneditable lines inserted above and below a line of pasted quoted text
   23576         <rdar://problem/4014393> REGRESSION (186-187) pasted quoted text gets extra <cr>s when pasted at top of document
   23577 
   23578         * khtml/editing/htmlediting.cpp:
   23579         (khtml::ReplacementFragment::ReplacementFragment): Part of a general refactoring of how
   23580         the fragment is inserted into the document, rendered, and then tested for certain
   23581         important pieces of information that are required for pasting.
   23582         (khtml::ReplacementFragment::insertFragmentForTestRendering): New helper. Handles inserting
   23583         the fragment nodes into the document.
   23584         (khtml::ReplacementFragment::restoreTestRenderingNodesToFragment): Removes nodes from the
   23585         document, and restores them to the fragment.
   23586         (khtml::ReplacementFragment::computeStylesUsingTestRendering): Factored out code that
   23587         did this before into its own function.
   23588         (khtml::ReplacementFragment::removeUnrenderedNodesUsingTestRendering): Ditto.
   23589         (khtml::ReplacementFragment::countRenderedBlocks): This is a real improvement, as it
   23590         eliminates a major use of the isProbablyBlock() function. Now, the blocks that are
   23591         counted are real, rendered blocks.
   23592         (khtml::ReplacementFragment::removeStyleNodes): Made this function retain margin-zeroing
   23593         CSS properties on paragraphs. This does two things: 1) It helps us to maintain good behavior
   23594         in the short term while there are still versions of Mail out there that use <p> elements
   23595         instead of <div> elements for new paragraphs; and 2) It will help to maintain the compatibility
   23596         with other mail clients that use <p> elements for their paragraphs but render them themselves
   23597         with no margins as the result of quirks.
   23598         (khtml::ReplaceSelectionCommand::doApply): Do some work to fix up and improve the handling
   23599         of blank lines, be they <p> elements or <br> elements, that can be removed after pasting. This, 
   23600         coupled with the refactoring, fixes 4014393.
   23601         * khtml/editing/htmlediting.h: Updated for new functions.
   23602         * layout-tests/editing/pasteboard/paste-text-010-expected.txt: Updated results, actually improved with this change.
   23603         * layout-tests/editing/pasteboard/paste-text-011-expected.txt: Ditto.
   23604 
   23605 2005-02-19  Kevin Decker  <kdecker (a] apple.com>
   23606 
   23607         Reviewed by Chris.
   23608 
   23609 	Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
   23610 	
   23611 	Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case.  Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker.
   23612 
   23613         * kwq/WebCoreBridge.h:
   23614         * kwq/WebCoreBridge.mm:
   23615         (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]): Changed this to invoke the new stringByEvaluatingJavaScriptFromString:forceUserGesture method below.
   23616         (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Let the WebKit make the determination if this was a user originated gesture or not; we must no longer assume this is always the case.
   23617 
   23618 2005-02-18  Chris Blumenberg  <cblu (a] apple.com>
   23619 	
   23620 	Fixed: <rdar://problem/3951196> REGRESSION (Mail): too many levels of reply quotes after certain steps
   23621 
   23622         Reviewed by kocienda.
   23623 
   23624         * khtml/editing/htmlediting.cpp:
   23625         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
   23626 	- If we find a new start node, update topBlockquote so we don't use too many block quotes for the contents following the new line.
   23627 	- Build up the list of ancestors after we've determined the actual topBlockquote.
   23628 	- Don't insert an extra new line if there is a new start node.
   23629 
   23630 2005-02-19  Chris Blumenberg  <cblu (a] apple.com>
   23631 
   23632 	Fixed: <rdar://problem/3978461> smart paste is broken
   23633 
   23634         Reviewed by kevin.
   23635 
   23636         * khtml/editing/htmlediting.cpp:
   23637         (khtml::ReplaceSelectionCommand::doApply): properly check for leading and trailing whitespace. These checks were incorrectly reversed. Also check if we're pasting at the beginning or end of a line. We should not insert spaces in either case.
   23638 
   23639 2005-02-18  Adele Amchan  <adele (a] apple.com>
   23640 
   23641         Reviewed by Darin.
   23642 
   23643         Fix for <rdar://problem/3975568> REGRESSION(125-180)Australian Open pages have drawing problem
   23644 
   23645         This patch fixes two problems caused by our added support for custom tags.  First, the layout problem at the sites mentioned in the bug
   23646         was caused by custom tags within tables.  In checkChild, we needed to treat these tags as spans so they get placed correctly in the DOM tree.
   23647         Also, we were indexing the tagPriority and endTag arrays with id values from the custom tags that were greater than the size of the array.  So now 
   23648         we have functions to check for the custom tags, and again, treat them as spans.  To avoid confusion, we changed the names of the arrays to
   23649         endTagArray and tagPriorityArray.
   23650 
   23651         * khtml/html/dtd.h: changed all uses of the endTag array to endTagArray for our new wrapper functions
   23652         (DOM::tagPriority): added function to check array bounds and to treat custom tags as spans
   23653         (DOM::endTagRequirement): added function to check array bounds and to treat custom tags as spans
   23654         * khtml/html/dtd.cpp: changed name of endTag and tagPriority arrays to endTagArray and tagPriorityArray
   23655         (DOM::checkChild): treat custom tags as spans during this check
   23656         * khtml/html/html_elementimpl.cpp: changed all uses of the endTag array to the endTagRequirement function
   23657         (HTMLElementImpl::createContextualFragment):
   23658         (HTMLElementImpl::setInnerText):
   23659         (HTMLElementImpl::setOuterText):
   23660         (HTMLElementImpl::toString):
   23661         * khtml/html/htmlparser.cpp: changed all uses of the endTag array to the endTagRequirement function and all uses of the tagPriority array to the tagPriority function.
   23662         (KHTMLParser::parseToken):
   23663         (KHTMLParser::insertNode):
   23664         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): changed all uses of the endTag array to the endTagRequirement function
   23665        * khtml/editing/markup.cpp: changed all uses of the endTag array to the endTagRequirement function
   23666         (khtml::endMarkup): 
   23667         (khtml::markup):
   23668 
   23669 2005-02-18  Jens Alfke  <jens (a] apple.com>
   23670 
   23671         Reviewed by Hyatt.
   23672 
   23673 	Fixed build: Whoops, setNeedsLayout's parameter is NOT optional.
   23674 
   23675         * khtml/html/html_objectimpl.cpp:
   23676         (HTMLAppletElementImpl::setAllParamsAvailable):
   23677 
   23678 2005-02-18  Jens Alfke  <jens (a] apple.com>
   23679 
   23680         Reviewed by cblu, hyatt.
   23681 
   23682 	Fixes <rdar://problem/3603191> "REGRESSION: Applets not receiving all of the Applet Parameters in Java 1.4.1/1.4.2"
   23683 	Defer instantiation of Java applet plugin until after all of the <applet> tag's nested <param> tags have been parsed, otherwise the list of parameters passed to the applet is incomplete. The regression was introduced (says Dave) when the parser's close-tag notifications were removed in the name of performance.
   23684 
   23685         * khtml/html/html_objectimpl.cpp:
   23686         (HTMLAppletElementImpl::HTMLAppletElementImpl):
   23687         (HTMLAppletElementImpl::getAppletInstance):
   23688         (HTMLAppletElementImpl::setAllParamsAvailable):
   23689         (HTMLAppletElementImpl::allParamsAvailable):
   23690         * khtml/html/html_objectimpl.h:
   23691         * khtml/html/htmlparser.cpp:
   23692         (KHTMLParser::processCloseTag):
   23693         * khtml/rendering/render_applet.cpp:
   23694         (RenderApplet::createWidgetIfNecessary):
   23695 
   23696 2005-02-18  Richard Williamson   <rjw (a] apple.com>
   23697 
   23698 	Fixed <rdar://problem/4006161> Tiger8A380: Widgets leak dashboard regions
   23699 	
   23700 	We were leaking the DashboardRegionImpls.
   23701 
   23702         Reviewed by Kevin.
   23703 
   23704         * khtml/css/css_valueimpl.cpp:
   23705         (DOM::CSSPrimitiveValueImpl::cleanup):
   23706 
   23707 2005-02-18  Chris Blumenberg  <cblu (a] apple.com>
   23708 
   23709 	Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
   23710 
   23711         Reviewed by kocienda.
   23712 
   23713         * khtml/editing/htmlediting.cpp:
   23714         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): don't set class on element returned by createStyleSpanElement since that's already done
   23715         (khtml::ReplacementFragment::ReplacementFragment): take matchStyle param, don't call computeStylesAndRemoveUnrendered() if !matchStyle
   23716         (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): take matchStyle param
   23717         (khtml::ReplaceSelectionCommand::doApply): if m_matchStyle, use selection.start() as the insertion position and don't call applyStyleToInsertedNodes()
   23718         * khtml/editing/htmlediting.h:
   23719         * kwq/WebCoreBridge.h:
   23720         * kwq/WebCoreBridge.mm:
   23721         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): take matchStyle param and pass it
   23722         (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:smartReplace:]): pass NO for matchStyle
   23723         (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): pass NO for matchStyle
   23724         (-[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]): pass YES for matchStyle
   23725 
   23726 2005-02-18  Ken Kocienda  <kocienda (a] apple.com>
   23727 
   23728         Reviewed by Chris
   23729 
   23730         Fix for these bugs:
   23731         
   23732         <rdar://problem/4013025> Copy/Paste of quoted word results in removal of any following <cr>
   23733         <rdar://problem/4013100> Copy/Paste quoted text and then decrease quote level does not change text color
   23734 
   23735         For the most part, these bugs were caused by errors and lack of foresight on my part when
   23736         I added the better paste code. Chalk these fixes up to the result of bake time.
   23737 
   23738         * khtml/editing/htmlediting.cpp:
   23739         (khtml::ReplacementFragment::ReplacementFragment): Need to move count of number of blocks in
   23740         fragment after the call to remove unrendered nodes. Meant to do this before, but forgot to.
   23741         (khtml::ReplacementFragment::removeStyleNodes): Need to remove inline styles from elements!
   23742         Terrible omission now fixed.
   23743         (khtml::ReplacementFragment::removeBlockquoteColorsIfNeeded): Remove blockquote colors for now.
   23744         Code has a more extensive comment in it now to explain the difficulty, and the need for more
   23745         study and changes.
   23746         (khtml::ReplaceSelectionCommand::doApply): Need to call applyStyleToInsertedNodes() in the 
   23747         m_fragment.hasInterchangeNewline() case. This was just missed before.
   23748         * layout-tests/editing/pasteboard/paste-text-011-expected.txt: Updated results, subtly different, but OK.
   23749         * layout-tests/editing/pasteboard/paste-text-017-expected.txt: Updated for <p> to <div> change in test content.
   23750         * layout-tests/editing/pasteboard/paste-text-017.html: Needed to change <p> to <div> to 
   23751         make this test go with the new design of using <div> tags for default paragraphs.
   23752 
   23753 2005-02-18  David Hyatt  <hyatt (a] apple.com>
   23754 
   23755 	Fix for 3974263 (and possibly others).  Don't let fixed tables use maxint as their maxwidth when some
   23756 	cells have percentage values.
   23757 	
   23758         Reviewed by kocienda
   23759 
   23760         * khtml/misc/arena.cpp:
   23761         (ArenaAllocate):
   23762         * khtml/rendering/table_layout.cpp:
   23763         (FixedTableLayout::calcWidthArray):
   23764         (FixedTableLayout::calcMinMaxWidth):
   23765         (AutoTableLayout::layout):
   23766 
   23767 2005-02-17  Darin Adler  <darin (a] apple.com>
   23768 
   23769         Reviewed by Kevin.
   23770 
   23771         - fixed <rdar://problem/3998627> WebKit crashes when deleting text in a modified div
   23772 
   23773         * khtml/khtml_part.cpp: (KHTMLPart::selectionComputedStyle): Add a ref and deref to keep
   23774         the element alive until it's added to the DOM tree.
   23775         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::styleForSelectionStart): Ditto.
   23776 
   23777 2005-02-17  Richard Williamson   <rjw (a] apple.com>
   23778 
   23779         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
   23780 
   23781 	Fixed w/o introducing a performance regression.  Add early
   23782 	check for Osaka-Mono to avoid expensive call into WebKit.
   23783 
   23784         Reviewed by Vicki.
   23785 
   23786         * kwq/KWQFont.mm:
   23787         (QFont::isFixedPitch):
   23788 
   23789 2005-02-17  Darin Adler  <darin (a] apple.com>
   23790 
   23791         Reviewed by Kevin.
   23792 
   23793         - fixed <rdar://problem/4011210> REGRESSION (180-181): Maxlength property for INPUT object not working
   23794 
   23795         * kwq/KWQTextField.mm:
   23796         (-[KWQTextField textView:shouldChangeTextInRange:replacementString:]): If controller returns
   23797         YES, go on to call super, since super does the text formatter handling, which we need.
   23798         (-[KWQSecureTextField textView:shouldChangeTextInRange:replacementString:]): Ditto.
   23799         (-[KWQSearchField textView:shouldChangeTextInRange:replacementString:]): Ditto.
   23800 
   23801 === Safari-187 ===
   23802 
   23803 2005-02-17  Ken Kocienda  <kocienda (a] apple.com>
   23804 
   23805         Reviewed by Hyatt
   23806 
   23807         Fix for this bug:
   23808         
   23809         <rdar://problem/4012058> Copy from quoted text and paste results in blue text
   23810 
   23811         The relatively-new paste code tries hard to retain style of the content from the
   23812         source location. However, in the case of quoted material in mail messages, we do 
   23813         not want to carry the quoting color along. This fixes the problem by factoring
   23814         out such colors.
   23815 
   23816         * khtml/editing/htmlediting.cpp:
   23817         (khtml::ReplacementFragment::computeStylesAndRemoveUnrendered): Now calls removeBlockquoteColorsIfNeeded()
   23818         to fix bug.
   23819         (khtml::ReplacementFragment::removeBlockquoteColorsIfNeeded): New function. Factors out colors that are
   23820         the result of text being quoted. 
   23821         (khtml::isNodeRendered): Function moved in file. No other change.
   23822         (khtml::isProbablyBlock): Function moved in file. No other change.
   23823         (khtml::closestMailBlockquote): New function. Helps fix bug.
   23824         (khtml::isMailBlockquote): Function moved to be free-floating instead of being a 
   23825         member of CompositeEditCommand. No other change.
   23826         * khtml/editing/htmlediting.h: Moved around some functions. Added removeBlockquoteColorsIfNeeded().
   23827         * khtml/editing/markup.cpp: Remove redundant static implementation of isMailBlockquote.
   23828 
   23829 2005-02-17  Richard Williamson   <rjw (a] apple.com>
   23830 
   23831 	Fixed <rdar://problem/4008163> dynamic support for -apple-dashboard-region is flakey
   23832 
   23833 	Style operator== wasn't including regions.
   23834 
   23835         Reviewed by Darin.
   23836 
   23837         * khtml/rendering/render_style.cpp:
   23838         (StyleCSS3NonInheritedData::operator==):
   23839 
   23840 2005-02-17  Adele Amchan  <adele (a] apple.com>
   23841 
   23842         Reviewed by Chris.
   23843 
   23844         fix for <rdar://problem/4010028> 8A383: Safari v185 crash loading united.com multi city fare finder page.
   23845 
   23846         * khtml/dom/dom_string.cpp: (DOM::DOMString::operator += ): prevent nil dereference when DOMString being added is nil
   23847 
   23848 2005-02-17  Jens Alfke  <jens (a] apple.com>
   23849 
   23850         Reviewed by Hyatt.
   23851 
   23852 	Fix for rdar://3963151 "Mail only pasted ~950 of 1407 text lines into my message!"
   23853 	Force tokenizer to run synchronously while parsing document fragments, so it doesn't stop halfway through and cause truncated content.
   23854 
   23855         * khtml/html/html_elementimpl.cpp:
   23856         (HTMLElementImpl::createContextualFragment):
   23857         * khtml/html/htmltokenizer.cpp:
   23858         (khtml::HTMLTokenizer::reset):
   23859         (khtml::HTMLTokenizer::begin):
   23860         (khtml::HTMLTokenizer::setForceSynchronous):
   23861         (khtml::HTMLTokenizer::continueProcessing):
   23862         * khtml/html/htmltokenizer.h:
   23863 
   23864 2005-02-17  Ken Kocienda  <kocienda (a] apple.com>
   23865 
   23866         Reviewed by Hyatt
   23867 
   23868         Fix for this bug:
   23869         
   23870         <rdar://problem/3982183> Mail's HTML paragraphs appear with unintended margins in Entourage and Eudora
   23871 
   23872         * khtml/editing/htmlediting.cpp:
   23873         (khtml::createDefaultParagraphElement): Change element we make from <p> to <div>.
   23874         This fixes the problem, as these other mailers show <div> elements without margins.
   23875         
   23876         Some test files needed to change to preserve the ability to "eyeball" the results.
   23877         Many others changed just because their <p> elements changed to <div> elements.
   23878         
   23879         * layout-tests/editing/deleting/delete-3928305-fix-expected.txt
   23880         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt
   23881         * layout-tests/editing/inserting/insert-div-013-expected.txt
   23882         * layout-tests/editing/inserting/insert-div-013.html
   23883         * layout-tests/editing/inserting/insert-div-014-expected.txt
   23884         * layout-tests/editing/inserting/insert-div-014.html
   23885         * layout-tests/editing/inserting/insert-div-018-expected.txt
   23886         * layout-tests/editing/inserting/insert-div-018.html
   23887         * layout-tests/editing/inserting/insert-div-019-expected.txt
   23888         * layout-tests/editing/inserting/insert-div-019.html
   23889         * layout-tests/editing/inserting/insert-div-020-expected.txt
   23890         * layout-tests/editing/inserting/insert-div-020.html
   23891         * layout-tests/editing/inserting/insert-div-021-expected.txt
   23892         * layout-tests/editing/inserting/insert-div-021.html
   23893         * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt
   23894         * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt
   23895         * layout-tests/editing/style/remove-underline-after-paragraph-expected.txt
   23896         * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt
   23897 
   23898 2005-02-17  Ken Kocienda  <kocienda (a] apple.com>
   23899 
   23900         Reviewed by Hyatt
   23901 
   23902         Fix for this bug:
   23903         
   23904         <rdar://problem/3996737> REGRESSION (Mail): Copy/paste in Mail inserts returns
   23905 
   23906         The root cause of the problem is that a couple of pieces of code in AppKit and Mail 
   23907         insert newlines into markup as it is generated, and the paste code in WebCore was 
   23908         not smart about nodes that do not render (as is the case with these added newlines). 
   23909         So, the solution is to remove these unrendered nodes in the paste code in a pre-pass. 
   23910         Fortunately, my recent addition of such a pass to the paste code to handle styles 
   23911         gave me a convenient place to put this new logic.
   23912 
   23913         * khtml/editing/htmlediting.cpp:
   23914         (khtml::ReplacementFragment::ReplacementFragment): Use new name for function below.
   23915         (khtml::ReplacementFragment::computeStylesAndRemoveUnrendered): Name change from computeStylesForNodes().
   23916         Now does the additional work of removing unrendered nodes, as mentioned above.
   23917         (khtml::isNodeRendered): New helper function.
   23918         * khtml/editing/htmlediting.h: Updated as necessary.
   23919 
   23920 2005-02-17  Ken Kocienda  <kocienda (a] apple.com>
   23921 
   23922         Reviewed by Hyatt
   23923 
   23924         Fix for this bug:
   23925         
   23926         <rdar://problem/3998892> REGRESSION (Mail): bolding a selection from end of line changes unselected text on starting line.
   23927         
   23928         The styling code did not move to the next node when the starting position was 
   23929         at the last offset of a node. Instead, it styled it. Clearly wrong. Solution 
   23930         is to borrow a check from the delete algorithm. Though I call caretMaxOffset(),
   23931         which I consider deprecated, it is still the simplest and most strightforward
   23932         way to ask the right question for this kind of problem.
   23933 
   23934         * khtml/editing/htmlediting.cpp:
   23935         (khtml::ApplyStyleCommand::applyInlineStyle): Fixed, as described above.
   23936         * layout-tests/editing/style/style-3998892-fix-expected.txt: Added.
   23937         * layout-tests/editing/style/style-3998892-fix.html: Added.
   23938 
   23939 2005-02-16  Chris Blumenberg  <cblu (a] apple.com>
   23940 	
   23941 	Fixed: <rdar://problem/3954842> Forward/reply to an HTML email can result in nothing (in cases with <link> tags for CSS)
   23942 
   23943         Reviewed by john.
   23944 
   23945         * khtml/xml/dom_nodeimpl.cpp:
   23946         (NodeBaseImpl::addChild): don't call insertedIntoDocument on the added child if "this" itself is not in the document.
   23947 
   23948 2005-02-16  John Sullivan  <sullivan (a] apple.com>
   23949 
   23950         Written by Darin, reviewed by Maciej and me
   23951         
   23952         - change required to make previous checkin work with English language RSS pages
   23953 
   23954         * kwq/KWQKURL.h:
   23955         new private method isHierarchical
   23956         * kwq/KWQKURL.mm:
   23957         (KURL::KURL):
   23958         add hierarchical base URL check when determining whether the URL is absolute
   23959         (KURL::isHierarchical):
   23960         new method, returns true if this is a valid URL with a slash just past the scheme's trailing colon
   23961 
   23962 2005-02-16  John Sullivan  <sullivan (a] apple.com>
   23963 
   23964         Written by Darin, reviewed by me.
   23965         
   23966         - WebCore part of fix for <rdar://problem/4007384> 
   23967         FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
   23968 
   23969         * kwq/DOM.mm:
   23970         (-[DOMElement _getURLAttribute:]):
   23971         new SPI method, uses parseURL and completeURL to get valid URL from attribute value
   23972 
   23973         * kwq/DOMPrivate.h:
   23974         declare new SPI method
   23975 
   23976 2005-02-15  Maciej Stachowiak  <mjs (a] apple.com>
   23977 
   23978         Reviewed by Darin.
   23979 
   23980 	<rdar://problem/3942428> reproducible crash loading cbs.sportsline.com
   23981 	
   23982 	This change reverts the fix for <rdar://problem/3805311>, and
   23983 	re-fixes it in a different (better) way. Instead of preventing
   23984 	programmatic open from setting the parsing flag, instead make sure
   23985 	that programmatic close resets it.
   23986 
   23987         * khtml/khtml_part.cpp:
   23988         (KHTMLPart::openURL):
   23989         (KHTMLPart::didExplicitOpen):
   23990         (KHTMLPart::closeURL):
   23991         (KHTMLPart::begin):
   23992         (KHTMLPart::end):
   23993         (KHTMLPart::endIfNotLoading):
   23994         (KHTMLPart::slotFinishedParsing):
   23995         (KHTMLPart::checkEmitLoadEvent):
   23996         * khtml/khtml_part.h:
   23997         * khtml/khtmlpart_p.h:
   23998         (KHTMLPartPrivate::KHTMLPartPrivate):
   23999         * khtml/xml/dom_docimpl.cpp:
   24000         (DocumentImpl::open):
   24001         (DocumentImpl::implicitOpen):
   24002         (DocumentImpl::close):
   24003         (DocumentImpl::implicitClose):
   24004         * khtml/xml/dom_docimpl.h:
   24005 
   24006 2005-02-15  David Harrison  <harrison (a] apple.com>
   24007 
   24008         Reviewed by Maciej.
   24009 
   24010         <rdar://problem/3933665> smart delete seems to delete too much after expanding selection with arrow keys
   24011 
   24012         Fixed by updating the selection granularity.  Only byWord granularity enables smart delete, but in this
   24013         case the granularity changed from byWord to byCharacter.
   24014 
   24015         * khtml/khtml_part.cpp:
   24016         (KHTMLPart::setSelectionGranularity):
   24017         * khtml/khtml_part.h:
   24018         * kwq/WebCoreBridge.mm:
   24019         (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
   24020         (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
   24021         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
   24022 
   24023 2005-02-15  David Harrison  <harrison (a] apple.com>
   24024 
   24025         Reviewed by Darin.
   24026 
   24027         (continued) <rdar://problem/4004305> REGRESSION (Mail): Command-right-arrow on wrapped text goes to end of previous line
   24028 
   24029         This was supposed have been committed yesterday with the other part of the fix, but was not.
   24030         
   24031         * khtml/editing/visible_units.cpp:
   24032         (khtml::endOfWord):
   24033 
   24034 2005-02-15  Ken Kocienda  <kocienda (a] apple.com>
   24035 
   24036         Reviewed by John
   24037         
   24038         Fix for this bug:
   24039         
   24040         <rdar://problem/3951178> REGRESSION (Mail): blank line lost after pasting as quotation
   24041         
   24042         Problem was that the blank line after the selection was getting deleted incorrectly since the
   24043         paste code thought this was an unneeded placeholder rather than a placeholder outside of the
   24044         selection.
   24045 
   24046         * khtml/editing/htmlediting.cpp:
   24047         (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Now calls findBlockPlaceholder.
   24048         (khtml::CompositeEditCommand::findBlockPlaceholder): Moved finding code formerly in 
   24049         removeBlockPlaceholderIfNeeded to this new helper.
   24050         (khtml::ReplaceSelectionCommand::doApply): Do not delete placeholder up front. Call 
   24051         findBlockPlaceholder, and delete it later if needed in the already-existing cleanup step.
   24052         * khtml/editing/htmlediting.h: Add new function.
   24053 
   24054         New layout test.
   24055 
   24056         * layout-tests/editing/pasteboard/paste-text-017-expected.txt: Added.
   24057         * layout-tests/editing/pasteboard/paste-text-017.html: Added.
   24058 
   24059         Result changed for the better.
   24060 
   24061         * layout-tests/editing/pasteboard/paste-text-011-expected.txt
   24062 
   24063 2005-02-14  David Harrison  <harrison (a] apple.com>
   24064 
   24065         Reviewed by Darin.
   24066 
   24067         <rdar://problem/4004305> REGRESSION (Mail): Command-right-arrow on wrapped text goes to end of previous line
   24068 
   24069         Reviewed by Darin.
   24070 
   24071         <rdar://problem/4004305> REGRESSION (Mail): Command-right-arrow on wrapped text goes to end of previous line
   24072 
   24073         * khtml/editing/visible_text.cpp:
   24074         (khtml::SimplifiedBackwardsTextIterator::advance):
   24075         Add BR in for <rdar://problem/3917929> fix only if leaving a visible text node.
   24076         
   24077         * khtml/editing/visible_units.cpp:
   24078         (khtml::endOfWord):
   24079         Do not move left over a paragraph boundary.
   24080 
   24081 2005-02-14  Darin Adler  <darin (a] apple.com>
   24082 
   24083         Reviewed by John.
   24084 
   24085         - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
   24086 
   24087         * khtml/html/html_formimpl.cpp:
   24088         (DOM::FormDataList::begin): Updated to use a list of FormDataListItem instead of QCString.
   24089         (DOM::FormDataList::end): Ditto.
   24090         (DOM::HTMLFormElementImpl::formData): Same here, and also use appendFile rather than appendData
   24091         when we encounter a path name rather than data.
   24092         (DOM::HTMLInputElementImpl::appendFormData): Use appendFile here rather than reading the file
   24093         in; the reading now happens inside WebKit.
   24094         (DOM::FormDataList::appendString): Updated for FormDataListItem.
   24095         (DOM::FormDataList::appendFile): Added.
   24096 
   24097         * ForwardingHeaders/kfileitem.h: Emptied out the file; no longer includes KWQKFileItem.h.
   24098         * ForwardingHeaders/netaccess.h: Emptied out the file; no longer includes KWQKIONetAccess.h.
   24099         * kwq/KWQKFileItem.h: Removed.
   24100         * kwq/KWQKFileItem.mm: Removed.
   24101         * kwq/KWQKIONetAccess.h: Removed.
   24102         * kwq/KWQKIONetAccess.mm: Removed.
   24103         * WebCore.pbproj/project.pbxproj: Removed the 4 files above.
   24104 
   24105         - small unrelated fix (not reviewed by John)
   24106 
   24107         * khtml/ecma/kjs_window.cpp: (Window::isSafeScript): Put some logging code outside if statements so it works all the time.
   24108 
   24109 2005-02-14  David Harrison  <harrison (a] apple.com>
   24110 
   24111         Reviewed by Darin.
   24112 
   24113         <rdar://problem/4004305> REGRESSION (Mail): Command-right-arrow on wrapped text goes to end of previous line
   24114 
   24115         Fixed nextLinePosition to calculate affinity rather than take it as a parameter.  Propagated the parameter change out to related methods.
   24116 
   24117         * khtml/editing/htmlediting.cpp:
   24118         (khtml::DeleteSelectionCommand::initializePositionData):
   24119         (khtml::InsertLineBreakCommand::doApply):
   24120         (khtml::InsertParagraphSeparatorCommand::doApply):
   24121         (khtml::InsertTextCommand::input):
   24122         (khtml::ReplaceSelectionCommand::doApply):
   24123         (khtml::ReplaceSelectionCommand::applyStyleToInsertedNodes):
   24124         * khtml/editing/selection.cpp:
   24125         (khtml::Selection::modifyExtendingRightForward):
   24126         (khtml::Selection::modifyMovingRightForward):
   24127         (khtml::Selection::modifyExtendingLeftBackward):
   24128         (khtml::Selection::modifyMovingLeftBackward):
   24129         (khtml::Selection::modify):
   24130         (khtml::Selection::validate):
   24131         * khtml/editing/visible_position.cpp:
   24132         (khtml::visiblePositionsOnDifferentLines):
   24133         * khtml/editing/visible_units.cpp:
   24134         (khtml::rootBoxForLine):
   24135         (khtml::startOfLine):
   24136         (khtml::endOfLine):
   24137         (khtml::inSameLine):
   24138         (khtml::isStartOfLine):
   24139         (khtml::isEndOfLine):
   24140         (khtml::previousLinePosition):
   24141         (khtml::nextLinePosition):
   24142         (khtml::previousSentencePosition):
   24143         (khtml::nextSentencePosition):
   24144         (khtml::previousParagraphPosition):
   24145         (khtml::nextParagraphPosition):
   24146         * khtml/editing/visible_units.h:
   24147         * khtml/khtml_events.cpp:
   24148         (khtml::MouseEvent::offset):
   24149         * khtml/khtml_part.cpp:
   24150         (KHTMLPart::isPointInsideSelection):
   24151         (KHTMLPart::selectClosestWordFromMouseEvent):
   24152         (KHTMLPart::handleMousePressEventTripleClick):
   24153         (KHTMLPart::handleMousePressEventSingleClick):
   24154         (KHTMLPart::handleMouseMoveEventSelection):
   24155         (KHTMLPart::khtmlMouseReleaseEvent):
   24156         * khtml/rendering/render_block.cpp:
   24157         (khtml::RenderBlock::positionForCoordinates):
   24158         * khtml/rendering/render_block.h:
   24159         * khtml/rendering/render_br.cpp:
   24160         (RenderBR::positionForCoordinates):
   24161         * khtml/rendering/render_br.h:
   24162         * khtml/rendering/render_container.cpp:
   24163         (RenderContainer::positionForCoordinates):
   24164         * khtml/rendering/render_container.h:
   24165         * khtml/rendering/render_inline.cpp:
   24166         (RenderInline::positionForCoordinates):
   24167         * khtml/rendering/render_inline.h:
   24168         * khtml/rendering/render_object.cpp:
   24169         (RenderObject::caretRect):
   24170         (RenderObject::positionForCoordinates):
   24171         * khtml/rendering/render_object.h:
   24172         * khtml/rendering/render_replaced.cpp:
   24173         (RenderReplaced::positionForCoordinates):
   24174         * khtml/rendering/render_replaced.h:
   24175         * khtml/rendering/render_text.cpp:
   24176         (RenderText::positionForCoordinates):
   24177         * khtml/rendering/render_text.h:
   24178         * khtml/xml/dom_position.cpp:
   24179         (DOM::Position::previousCharacterPosition):
   24180         (DOM::Position::nextCharacterPosition):
   24181         (DOM::Position::leadingWhitespacePosition):
   24182         (DOM::Position::trailingWhitespacePosition):
   24183         * khtml/xml/dom_position.h:
   24184         * kwq/KWQAccObject.mm:
   24185         (-[KWQAccObject value]):
   24186         (-[KWQAccObject accessibilityAttributeValue:]):
   24187         (-[KWQAccObject doAXLineForTextMarker:]):
   24188         (-[KWQAccObject doAXTextMarkerRangeForLine:]):
   24189         (-[KWQAccObject doAXTextMarkerForPosition:]):
   24190         (-[KWQAccObject doAXLeftLineTextMarkerRangeForTextMarker:]):
   24191         (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
   24192         (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
   24193         (-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
   24194         * kwq/KWQKHTMLPart.mm:
   24195         * kwq/WebCoreBridge.mm:
   24196         (-[WebCoreBridge _visiblePositionForPoint:]):
   24197 
   24198 05-02-07  Maciej Stachowiak  <mjs (a] apple.com>
   24199 
   24200         Reviewed by Ken and John.
   24201 
   24202 	Re-fixed a specific case of the following:
   24203 
   24204 	<rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
   24205 
   24206 	Oddly, Cmd-B, Cmd-U, type some text, return, Cmd-U, Cmd-B, type
   24207 	some text, worked fine. But hitting the second Cmd-B before the
   24208 	second Cmd-U still failed to remove underlining. The reason for
   24209 	this is that our code to compute the style of the current position
   24210 	did not work when you had a typing style and were positioned right
   24211 	at a <br> element. For various reasons, this did not show up for
   24212 	bold and italic, since those are handled through the font manager.
   24213 
   24214 	The following change fixes this - for elements that can't have
   24215 	children, we add the dummy span after the element of interest,
   24216 	rather than as a child of it.
   24217 	
   24218         * khtml/khtml_part.cpp:
   24219         (KHTMLPart::selectionComputedStyle): 
   24220 
   24221 2005-02-11  David Harrison  <harrison (a] apple.com>
   24222 
   24223         Reviewed by Darin.
   24224 
   24225         <rdar://problem/3978980> Double Clicking on a line in Mail selected the entire body
   24226 
   24227         * khtml/editing/visible_units.cpp:
   24228         (khtml::startOfWord):
   24229         (khtml::endOfWord):
   24230         Pay attention to being at the end of a paragraph.
   24231         
   24232         (khtml::previousLinePosition):
   24233         (khtml::nextLinePosition):
   24234         (khtml::endOfParagraph):
   24235         Use DOWNSTREAM per recent affinity changes.
   24236 
   24237 2005-02-11  Richard Williamson   <rjw (a] apple.com>
   24238 
   24239 	Fixed <rdar://problem/3985118> DOM objects not being marshaled on JS->native calls
   24240 
   24241 	Re-factored how 'native' wrappers for JS objects are created.  The interpreter now
   24242 	creates these wrappers.  The WebCore subclass of the interpreter now overrides
   24243 	createLanguageInstanceForValue() and creates a DOM ObjC wrapper for DOM objects.
   24244 
   24245         * WebCore.pbproj/project.pbxproj:
   24246         * khtml/ecma/kjs_binding.cpp:
   24247         (ScriptInterpreter::createLanguageInstanceForValue):
   24248         * khtml/ecma/kjs_binding.h:
   24249         * kwq/DOMUtility.mm: Added.
   24250         (KJS::ScriptInterpreter::createObjcInstanceForValue):
   24251         * kwq/KWQKHTMLPart.mm:
   24252         (KWQKHTMLPart::getAppletInstanceForView):
   24253         (getInstanceForView):
   24254         (KWQKHTMLPart::getEmbedInstanceForView):
   24255         (KWQKHTMLPart::getObjectInstanceForView):
   24256 
   24257 2005-02-11  Chris Blumenberg  <cblu (a] apple.com>
   24258 
   24259 	Fixed: <rdar://problem/3937352> Quote level not maintained when copied and pasted within a Mail message
   24260 
   24261         Reviewed by harrison.
   24262 
   24263         * khtml/editing/markup.cpp:
   24264         (khtml::isMailBlockquote): new 
   24265         (khtml::createMarkup): retain the Mail quote level by including all ancestor mail block quotes
   24266         * khtml/rendering/render_block.cpp:
   24267         (khtml::RenderBlock::positionForCoordinates): default to downstream for the affinity since the affinity is only upstream when the cursor is clicked to the right of a wrapped line
   24268         * khtml/rendering/render_text.cpp:
   24269         (RenderText::positionForCoordinates): ditto
   24270 
   24271 2005-02-11  Adele Amchan  <adele (a] apple.com>
   24272 
   24273         Reviewed by Darin.
   24274 
   24275         fix for <rdar://problem/4004004> no need to add body element for xml documents
   24276 
   24277         In the fix for <rdar://problem/3758785> we decided to add a body element when closing a document 
   24278         to ensure that the onload handler would fire.  This is unnecessary for xml documents, 
   24279         so now we also check to see if we're dealing with an html document before adding the body element.
   24280 
   24281         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::close): 
   24282 
   24283 2005-02-11  Adele Amchan  <adele (a] apple.com>
   24284 
   24285         Reviewed by Darin.
   24286 
   24287         * layout-tests/apple-only/base/www.excite.com/index-expected.txt: updates tests because of custom tag change.
   24288         * layout-tests/apple-only/base/www.msnbc.com/index-expected.txt:
   24289         * layout-tests/apple-only/base/www.time.com/index-expected.txt:
   24290         * layout-tests/apple-only/base/www.travelocity.com/index-expected.txt:
   24291         * layout-tests/apple-only/base/www.zdnet.com/index-expected.txt:
   24292         * layout-tests/fast/overflow/003-expected.txt:
   24293 
   24294         * layout-tests/fast/js/window-object-cross-frame-calls-expected.txt: updated test because of added Body (see rdar://problem/3758785)
   24295 
   24296 === Safari-186 ===
   24297 
   24298 2005-02-11  Darin Adler  <darin (a] apple.com>
   24299 
   24300         Reviewed by John.
   24301 
   24302         - fixed <rdar://problem/3915449> paths are relative to the old src URL after document.open, which is supposed to clear the document, including the URL
   24303 
   24304         * khtml/xml/dom_docimpl.h: Added a new openInternal function for use by KHTMLPart.
   24305         * khtml/xml/dom_docimpl.cpp:
   24306         (DocumentImpl::open): Changed to do everything we did before, but also clear the URL and set the
   24307         base URL based on the enclosing document. This is the basic JavaScript/DOM operation of opening a
   24308         document, which is supposed to clear the document, including the URL. In the long run we might want
   24309         to do even more document "resetting and clearing" in here, but this URL clearing is what's needed
   24310         now to fix the most important problem.
   24311         (DocumentImpl::openInternal): Moved the old open code in here, except for the "parsing" check, which
   24312         is unnecessary and inappropriate in the one place we call this.
   24313 
   24314         * khtml/khtml_part.cpp: (KHTMLPart::begin): Call openInternal instead of open.
   24315 
   24316 2005-02-10  Ken Kocienda  <kocienda (a] apple.com>
   24317 
   24318         Reviewed by Hyatt
   24319 
   24320         Fix for this bug:
   24321         
   24322         <rdar://problem/3992092> 8A374: Mail crash while pasting - RemoveNodeCommand
   24323 
   24324         * khtml/editing/htmlediting.cpp:
   24325         (khtml::ReplaceSelectionCommand::doApply): Code tried to remove a node that was no longer in 
   24326         the document. We try to do a good job of detecting all these cases, and generally do. This
   24327         one was missed. Fixed.
   24328 
   24329 2005-02-10  Darin Adler  <darin (a] apple.com>
   24330 
   24331         Reviewed by Harrison.
   24332 
   24333         - added support needed to fix <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
   24334 
   24335         * kwq/WebCoreBridge.h: Added selectionHasStyle: method.
   24336         * kwq/WebCoreBridge.mm: (-[WebCoreBridge selectionHasStyle:]): Added. Calls selectionHasStyle on the part.
   24337 
   24338 2005-02-10  Darin Adler  <darin (a] apple.com>
   24339 
   24340         Reviewed by Harrison.
   24341 
   24342         - fixed <rdar://problem/3990484> cursor changes to I-beam when moving over text in widgets, even when selection off via CSS
   24343 
   24344         * khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): Changed code to check canSelect when deciding
   24345         whether to show an I-beam cursor.
   24346 
   24347         * khtml/rendering/render_object.h: Added canSelect.
   24348         * khtml/rendering/render_object.cpp:
   24349         (selectStartNode): Added. Helper function with the guts of shouldSelect.
   24350         (RenderObject::canSelect): Added. Like shouldSelect, but does not call the "start selecting" event handler.
   24351         (RenderObject::shouldSelect): Refactored to use selectStartNode.
   24352 
   24353         * khtml/css/cssvalues.c: Regnerated with newer gperf.
   24354 
   24355 2005-02-10  David Hyatt  <hyatt (a] apple.com>
   24356 
   24357 	Fix for 3867759, .mac regression where scrollers don't show up.  Make sure you can set the .width and
   24358 	.height properties on the Image object.
   24359 	
   24360         Reviewed by John Sullivan
   24361 
   24362         * khtml/ecma/kjs_html.cpp:
   24363         (ImageConstructorImp::construct):
   24364         (Image::getValueProperty):
   24365         (Image::putValue):
   24366         (Image::Image):
   24367         * khtml/ecma/kjs_html.h:
   24368 
   24369 2005-02-10  Ken Kocienda  <kocienda (a] apple.com>
   24370 
   24371         Reviewed by Chris
   24372 
   24373         Fix for this bug:
   24374         
   24375         <rdar://problem/3965158> Drag-n-drop within a rich text message sometimes changes the color of the dragged text
   24376         
   24377         This change fixes the bug....and much more. Now, for the first time, the paste code can do "smart merging"
   24378         or "smooshing" of styles during its operation. Since this new code is actively, rather than passively
   24379         working with styles, it fixes the bug, and lays the groundwork for similar work we need to do to
   24380         preserve quote levels in Mail.
   24381 
   24382         * khtml/css/css_valueimpl.cpp:
   24383         (DOM::CSSMutableStyleDeclarationImpl::clear): New method.
   24384         (DOM::CSSMutableStyleDeclarationImpl::removeBlockProperties): Ditto.
   24385         (DOM::CSSMutableStyleDeclarationImpl::removePropertiesInSet): Ditto.
   24386         (DOM::operator==): Add operator for CSSProperty.
   24387         * khtml/css/css_valueimpl.h: Declare new functions.
   24388         * khtml/editing/htmlediting.cpp:
   24389         (khtml::isEmptyStyleSpan): Improved the test in this function, rolling together the old implementation
   24390         with some code that did this work inline elsewhere. Sum of the parts is better than either test was by itself.
   24391         (khtml::isStyleSpan): Check for ID_SPAN.
   24392         (khtml::ApplyStyleCommand::removeCSSStyle): Call isEmptyStyleSpan. This was the place with an inline implementation before.
   24393         (khtml::ReplacementFragment::ReplacementFragment): Now takes a DocumentImpl argument. No longer does a "default style"
   24394         check, but rather calls functions which do a similar check to that, and much more.
   24395         (khtml::ReplacementFragment::~ReplacementFragment): Deref document, and computed styles.
   24396         (khtml::ReplacementFragment::styleForNode): New helper. Looks up and returns computed style for a node.
   24397         (khtml::ReplacementFragment::removeNodePreservingChildren): New helper.
   24398         (khtml::ReplacementFragment::computeStylesForNodes): New function which computes the "desired" style for
   24399         every node in the fragment. This information is used later after paste is done as a reference for testing
   24400         what styles need to be added, and which can be removed as redundant, from all the nodes inserted by the
   24401         replacement code.
   24402         (khtml::ReplacementFragment::removeStyleNodes): Clears out all style nodes from the fragment. They are
   24403         no longer needed after the call to computeStylesForNodes(),
   24404         (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): Add a document to the call to initialize the
   24405         command's ReplacementFragment.
   24406         (khtml::ReplaceSelectionCommand::doApply): Call applyStyleToInsertedNodes() after inserting nodes to make
   24407         styles come out right.
   24408         (khtml::ReplaceSelectionCommand::applyStyleToInsertedNodes): This is the "style smooshing" function. It 
   24409         computes the styles that need to be added to each node inserted, comparing the style it gets from just
   24410         being inserted into its correct destination with the computed "desired style" done in the 
   24411         ReplacementFragment constructor. It then adds in all the necessary styles, and will also remove redundant styles.
   24412         * khtml/editing/htmlediting.h: Update declarations and member variables as needed.
   24413         * khtml/editing/markup.cpp:
   24414         (khtml::startMarkup): Add additional style annotations to the markup we generate, so that paste code can preserve it.
   24415         (khtml::markup): Ditto.
   24416         (khtml::createMarkup): Ditto.
   24417         
   24418         These test results are subtly better with this change. They no longer have an unneeded empty span.
   24419         Visually the same as before.
   24420         
   24421         * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt
   24422         * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt
   24423         * layout-tests/editing/style/remove-underline-expected.txt
   24424         * layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt
   24425 
   24426         New tests:
   24427 
   24428         * layout-tests/editing/style/smoosh-styles-001-expected.txt
   24429         * layout-tests/editing/style/smoosh-styles-002-expected.txt
   24430         * layout-tests/editing/style/smoosh-styles-001.html
   24431         * layout-tests/editing/style/smoosh-styles-002.html
   24432 
   24433 2005-02-10  Darin Adler  <darin (a] apple.com>
   24434 
   24435         Reviewed by Adele.
   24436 
   24437         - fixed <rdar://problem/3974988> WebHTMLView drops scroll wheel events when deltas are 0
   24438 
   24439         * kwq/WebCoreScrollView.m: (-[WebCoreScrollView autoforwardsScrollWheelEvents]): Added, for Tiger only.
   24440         For Tiger, removed the override of scrollWheel:, which doesn't work quite right because of how the
   24441         delta attributes return all 0 for newfangled scrolling events from the new trackpads.
   24442 
   24443 2005-02-10  David Harrison  <harrison (a] apple.com>
   24444 
   24445         Reviewed by Darin.
   24446 
   24447         <rdar://problem/3991532> REGRESSION (Mail): Triple-click on trailing blank line should select previous line but doesn't
   24448 
   24449         * khtml/css/cssvalues.c:
   24450         (hash_val):
   24451         (findValue):
   24452         * khtml/editing/selection.cpp:
   24453         (khtml::Selection::validate):
   24454         Do moral equiavalent of LeftWordIfOnBoundary for PARAGRAPH.
   24455 
   24456 2005-02-10  David Harrison  <harrison (a] apple.com>
   24457 
   24458         Reviewed by Darin.
   24459 
   24460         <rdar://problem/3991848> Double-click on first character selects wrong item
   24461 
   24462         * khtml/editing/selection.cpp:
   24463         (khtml::Selection::validate):
   24464         Honor the fact that clicking on a character positions the cursor on the left side of the character.
   24465 
   24466 2005-02-10  David Hyatt  <hyatt (a] apple.com>
   24467 
   24468 	Fix for 3980778, repro crash in RootInlineBox::paint.  Make sure that when merging blocks we dirty them for layout
   24469 	up front. That way as we do the merge, we dont attempt to examine the lines in dirtyLinesForChangedChild.
   24470 	
   24471         Reviewed by mjs
   24472 
   24473         * khtml/rendering/render_block.cpp:
   24474         (khtml::RenderBlock::removeChild):
   24475 
   24476 2005-02-10  David Hyatt  <hyatt (a] apple.com>
   24477 
   24478 	Fix for 3987010, fix a bug that caused the self-collapsing-block-cleared-float bit to never get set correctly.
   24479 	
   24480         Reviewed by mjs
   24481 
   24482         * khtml/rendering/render_block.h:
   24483         (khtml::RenderBlock::MarginInfo::setSelfCollapsingBlockClearedFloat):
   24484 
   24485 2005-02-10  David Hyatt  <hyatt (a] apple.com>
   24486 
   24487 	Fix  for 3992440, text not wrapping correctly on half moon bay web site.  Refine an incorrect optimization I
   24488 	added to be less restrictive.
   24489 	
   24490         Reviewed by mjs
   24491 
   24492         * khtml/rendering/render_block.cpp:
   24493         (khtml::RenderBlock::layoutBlockChildren):
   24494 
   24495 2005-02-08  Maciej Stachowiak  <mjs (a] apple.com>
   24496 
   24497         Reviewed by Darin.
   24498 
   24499 	<rdar://problem/3977973> pages on ebay leak referenced JavaScript objects -- over time browsing becomes super-slow
   24500 
   24501 	I fixed this by removing all event listeners for a document, it's
   24502 	children, and any disconnected nodes that used to be in the
   24503 	document at document detach time. Mozilla temporarily disables
   24504 	event listeners on such nodes, but re-enables them if you
   24505 	re-parant a node into a new document. However, in WebCore, you
   24506 	can't re-parent a node into another document, so there is no
   24507 	observable change in behavior.
   24508 
   24509 	We have to do this to break the possible reference cycles between
   24510 	event listeners and the dom nodes they are attached to (e.g. via
   24511 	scope chain, as in this case).
   24512 
   24513         * khtml/xml/dom_docimpl.cpp:
   24514         (DocumentImpl::detach):
   24515         (DocumentImpl::removeAllEventListenersFromAllNodesx):
   24516         (DocumentImpl::registerDisconnectedNodeWithEventListeners):
   24517         (DocumentImpl::unregisterDisconnectedNodeWithEventListeners):
   24518         (DocumentImpl::removeAllDisconnectedNodeEventListeners):
   24519         * khtml/xml/dom_docimpl.h:
   24520         * khtml/xml/dom_nodeimpl.cpp:
   24521         (NodeImpl::~NodeImpl):
   24522         (NodeImpl::addEventListener):
   24523         (NodeImpl::removeEventListener):
   24524         (NodeImpl::removeAllEventListeners):
   24525         (NodeImpl::removeHTMLEventListener):
   24526         (NodeImpl::insertedIntoDocument):
   24527         (NodeImpl::removedFromDocument):
   24528         * khtml/xml/dom_nodeimpl.h:
   24529 
   24530 2005-02-09  Chris Blumenberg  <cblu (a] apple.com>
   24531 
   24532 	Fixed: <rdar://problem/3999213> Sometimes 2 Windows Media Player plugin instances are loaded
   24533 
   24534         Reviewed by hyatt.
   24535 
   24536         * khtml/html/html_objectimpl.cpp:
   24537         (HTMLObjectElementImpl::attach): Set needWidgetUpdate to false before calling updateWidget because updateWidget may cause this method or another method (which also calls updateWidget) to be called.
   24538         (HTMLObjectElementImpl::recalcStyle): ditto
   24539 
   24540 2005-02-09  David Harrison  <harrison (a] apple.com>
   24541 
   24542         Reviewed by Darin.
   24543         
   24544         <rdar://problem/3937447> Mail-689: Arrow key navigation in new message body stops working when a line ends with a bold word
   24545         
   24546         Added affinity to VisiblePosition.  Changed Selection code to use affinity more.
   24547         
   24548         (Partial) <rdar://problem/3982096> editing/pasteboard/paste-text-007 is failing
   24549         
   24550         Changed ReplaceSelectionCommand to also pay attention to the top children of the incoming fragment, not just the very last node inserted, when deciding whether to insert a paragraph for the Apple interchange newline.
   24551 
   24552         * khtml/ecma/kjs_window.cpp:
   24553         (SelectionFunc::tryCall):
   24554         * khtml/editing/htmlediting.cpp:
   24555         (khtml::EditCommandPtr::setStartingSelection):
   24556         (khtml::EditCommandPtr::setEndingSelection):
   24557         (khtml::EditCommand::setStartingSelection):
   24558         (khtml::EditCommand::setEndingSelection):
   24559         (khtml::CompositeEditCommand::deleteInsignificantTextDownstream):
   24560         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
   24561         (khtml::ApplyStyleCommand::splitTextAtStartIfNeeded):
   24562         (khtml::ApplyStyleCommand::splitTextAtEndIfNeeded):
   24563         (khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
   24564         (khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
   24565         (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
   24566         (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
   24567         (khtml::ApplyStyleCommand::joinChildTextNodes):
   24568         (khtml::DeleteSelectionCommand::initializePositionData):
   24569         (khtml::DeleteSelectionCommand::handleGeneralDelete):
   24570         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
   24571         (khtml::DeleteSelectionCommand::doApply):
   24572         (khtml::InsertLineBreakCommand::doApply):
   24573         (khtml::InsertParagraphSeparatorCommand::doApply):
   24574         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
   24575         (khtml::InsertTextCommand::input):
   24576         (khtml::MoveSelectionCommand::doApply):
   24577         (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand):
   24578         (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand):
   24579         (khtml::ReplaceSelectionCommand::doApply):
   24580         (khtml::ReplaceSelectionCommand::completeHTMLReplacement):
   24581         (khtml::ReplaceSelectionCommand::updateNodesInserted):
   24582         (khtml::TypingCommand::deleteKeyPressed):
   24583         (khtml::TypingCommand::forwardDeleteKeyPressed):
   24584         (khtml::TypingCommand::markMisspellingsAfterTyping):
   24585         * khtml/editing/htmlediting.h:
   24586         * khtml/editing/selection.cpp:
   24587         (khtml::Selection::Selection):
   24588         (khtml::Selection::init):
   24589         (khtml::Selection::moveTo):
   24590         (khtml::Selection::modifyExtendingRightForward):
   24591         (khtml::Selection::modifyMovingRightForward):
   24592         (khtml::Selection::modifyExtendingLeftBackward):
   24593         (khtml::Selection::modifyMovingLeftBackward):
   24594         (khtml::Selection::modify):
   24595         (khtml::Selection::xPosForVerticalArrowNavigation):
   24596         (khtml::Selection::clear):
   24597         (khtml::Selection::setBase):
   24598         (khtml::Selection::setExtent):
   24599         (khtml::Selection::setBaseAndExtent):
   24600         (khtml::Selection::layout):
   24601         (khtml::Selection::validate):
   24602         * khtml/editing/selection.h:
   24603         (khtml::Selection::startAffinity):
   24604         (khtml::Selection::endAffinity):
   24605         (khtml::Selection::baseAffinity):
   24606         (khtml::Selection::extentAffinity):
   24607         (khtml::operator==):
   24608         * khtml/editing/text_affinity.h:
   24609         (khtml::):
   24610         * khtml/editing/visible_position.cpp:
   24611         (khtml::VisiblePosition::VisiblePosition):
   24612         (khtml::VisiblePosition::init):
   24613         (khtml::VisiblePosition::initUpstream):
   24614         (khtml::VisiblePosition::initDownstream):
   24615         (khtml::VisiblePosition::next):
   24616         (khtml::VisiblePosition::previous):
   24617         (khtml::startVisiblePosition):
   24618         (khtml::endVisiblePosition):
   24619         * khtml/editing/visible_position.h:
   24620         (khtml::VisiblePosition::):
   24621         (khtml::VisiblePosition::VisiblePosition):
   24622         (khtml::VisiblePosition::affinity):
   24623         (khtml::VisiblePosition::setAffinity):
   24624         (khtml::operator==):
   24625         * khtml/editing/visible_units.cpp:
   24626         (khtml::previousBoundary):
   24627         (khtml::nextBoundary):
   24628         (khtml::startOfLine):
   24629         (khtml::endOfLine):
   24630         (khtml::previousLinePosition):
   24631         (khtml::nextLinePosition):
   24632         (khtml::startOfParagraph):
   24633         (khtml::endOfParagraph):
   24634         (khtml::previousParagraphPosition):
   24635         (khtml::nextParagraphPosition):
   24636         (khtml::startOfBlock):
   24637         (khtml::endOfBlock):
   24638         (khtml::startOfDocument):
   24639         (khtml::endOfDocument):
   24640         * khtml/editing/visible_units.h:
   24641         * khtml/khtml_part.cpp:
   24642         (KHTMLPart::findTextNext):
   24643         (KHTMLPart::selectClosestWordFromMouseEvent):
   24644         (KHTMLPart::handleMousePressEventTripleClick):
   24645         (KHTMLPart::handleMousePressEventSingleClick):
   24646         (KHTMLPart::handleMouseMoveEventSelection):
   24647         (KHTMLPart::khtmlMouseReleaseEvent):
   24648         (KHTMLPart::selectAll):
   24649         (KHTMLPart::computeAndSetTypingStyle):
   24650         (KHTMLPart::selectionComputedStyle):
   24651         * khtml/rendering/render_br.cpp:
   24652         (RenderBR::positionForCoordinates):
   24653         * khtml/xml/dom_docimpl.cpp:
   24654         (DocumentImpl::updateSelection):
   24655         * khtml/xml/dom_nodeimpl.cpp:
   24656         (NodeBaseImpl::setFocus):
   24657         * khtml/xml/dom_position.cpp:
   24658         (DOM::Position::previousCharacterPosition):
   24659         (DOM::Position::nextCharacterPosition):
   24660         * khtml/xml/dom_position.h:
   24661         * kwq/KWQAccObject.mm:
   24662         (-[KWQAccObject value]):
   24663         (-[KWQAccObject visiblePositionForStartOfTextMarkerRange:]):
   24664         (-[KWQAccObject visiblePositionForEndOfTextMarkerRange:]):
   24665         (-[KWQAccObject accessibilityAttributeValue:]):
   24666         (-[KWQAccObject doAXLineForTextMarker:]):
   24667         (-[KWQAccObject doAXTextMarkerRangeForLine:]):
   24668         (-[KWQAccObject doAXTextMarkerForPosition:]):
   24669         (-[KWQAccObject doAXLeftLineTextMarkerRangeForTextMarker:]):
   24670         (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
   24671         (-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]):
   24672         (-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
   24673         (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
   24674         (-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
   24675         (-[KWQAccObject doSetAXSelectedTextMarkerRange:]):
   24676         * kwq/KWQAccObjectCache.mm:
   24677         (KWQAccObjectCache::textMarkerForVisiblePosition):
   24678         (KWQAccObjectCache::visiblePositionForTextMarker):
   24679         * kwq/KWQKHTMLPart.mm:
   24680         (KWQKHTMLPart::findString):
   24681         (KWQKHTMLPart::advanceToNextMisspelling):
   24682         (KWQKHTMLPart::styleForSelectionStart):
   24683         (KWQKHTMLPart::baseWritingDirectionForSelectionStart):
   24684         (KWQKHTMLPart::setSelectionFromNone):
   24685         (KWQKHTMLPart::respondToChangedSelection):
   24686         * kwq/WebCoreBridge.mm:
   24687         (-[WebCoreBridge setSelectedDOMRange:affinity:]):
   24688         (-[WebCoreBridge selectionAffinity]):
   24689         (-[WebCoreBridge setMarkDOMRange:]):
   24690         (-[WebCoreBridge _visiblePositionForPoint:]):
   24691         (-[WebCoreBridge moveDragCaretToPoint:]):
   24692         (-[WebCoreBridge editableDOMRangeForPoint:]):
   24693         (-[WebCoreBridge ensureSelectionVisible]):
   24694         (-[WebCoreBridge rangeOfCharactersAroundCaret]):
   24695 
   24696 2005-02-09  Chris Blumenberg  <cblu (a] apple.com>
   24697 
   24698 	Fixed: <rdar://problem/3985211> Seed: Mail: Drag-and-drop destination indicator / insertion point disappears
   24699 
   24700         Reviewed by kocienda.
   24701 
   24702         * khtml/rendering/render_block.cpp:
   24703         (khtml::RenderBlock::paintCaret): new
   24704         (khtml::RenderBlock::paintObject): call paintCaret for the cursor caret and the drag caret
   24705         * khtml/rendering/render_block.h:
   24706 
   24707 === Safari-185 ===
   24708 
   24709 2005-02-08  Ken Kocienda  <kocienda (a] apple.com>
   24710 
   24711         Reviewed by John
   24712 
   24713         Fix for this bug:
   24714         
   24715         <rdar://problem/3996344> Entire document content is deleted when only the first paragraph was supposed to be
   24716 
   24717         Problem stems from my attempt to fix this bug: <rdar://problem/3986155> Insertion point goes 
   24718         to beginning of doc after deleting.
   24719         
   24720         I added an "optimization" that proved to do more harm than good. So, basically, the fix is to remove code.
   24721 
   24722         * khtml/editing/htmlediting.cpp:
   24723         (khtml::DeleteSelectionCommand::handleGeneralDelete)
   24724 
   24725 2005-02-07  Darin Adler  <darin (a] apple.com>
   24726 
   24727         Reviewed by Kevin.
   24728 
   24729         - fixed <rdar://problem/3890352> REGRESSION (125-170, Panther-only): pasted textarea contents disappear (exception in NSText)
   24730 
   24731         * kwq/KWQTextArea.mm: (-[KWQTextArea tile]): Don't resize the text view immediately here.
   24732         Use performWithDelay to defer it to avoid the re-entrancy that bothers the Panther version
   24733         of NSTextView. On Tiger, leave the code alone.
   24734 
   24735 2005-02-07  Adele Amchan  <adele (a] apple.com>
   24736 
   24737         Reviewed by Darin.
   24738 
   24739         Fix for <rdar://problem/3993628> REGRESSION (180-181): Logitelnet bank's website doesn't work
   24740 
   24741         This fixes an oversight in the fix for <rdar://problem/3964286>.  
   24742         We're now making sure there is a document before calling checkCompleted in slotLoaderRequestDone.
   24743        	That function is called even when other parts finish loads of their subresources, so we could end
   24744 	up calling checkCompleted before we had a document. We also looked over all the other calls to
   24745 	checkCompleted to convince ourselves no other call sites had a similar issue.
   24746 
   24747         * khtml/khtml_part.cpp: (KHTMLPart::slotLoaderRequestDone): Check if doc is nil before calling
   24748 	checkCompleted.
   24749 
   24750 2005-02-07  Ken Kocienda  <kocienda (a] apple.com>
   24751 
   24752         Reviewed by Darin
   24753 
   24754         Fix for this bug:
   24755         
   24756         <rdar://problem/3953302> Replacing quoted text ends up with blue-colored text that is not quoted
   24757 
   24758         * khtml/editing/htmlediting.cpp:
   24759         (khtml::DeleteSelectionCommand::doApply): Removed special case delete code for select all. It was
   24760         causing as many bugs as it fixed. What's more, the design concept is a bit shaky. By removing
   24761         this special case, the bug goes away.
   24762         * khtml/editing/htmlediting.h: Remove declaration.
   24763         
   24764         Test results using selectAll() updated to reflect changed behavior.
   24765         
   24766         * layout-tests/editing/deleting/delete-3775172-fix-expected.txt:
   24767         * layout-tests/editing/deleting/delete-select-all-001-expected.txt:
   24768         * layout-tests/editing/deleting/delete-select-all-003-expected.txt:
   24769         * layout-tests/editing/inserting/insert-3654864-fix-expected.txt:
   24770         * layout-tests/editing/inserting/insert-3775316-fix-expected.txt:
   24771         * layout-tests/editing/inserting/insert-3851164-fix-expected.txt:
   24772         * layout-tests/editing/inserting/insert-3907422-fix-expected.txt:
   24773         * layout-tests/editing/pasteboard/paste-text-015-expected.txt:
   24774 
   24775 2005-02-06  Darin Adler  <darin (a] apple.com>
   24776 
   24777         Reviewed by Ken.
   24778 
   24779         - fixed <rdar://problem/3994164> setting a new style attribute with setAttribute("style") doesn't blow away the old style
   24780 
   24781         * khtml/css/css_valueimpl.h: Renamed parseProperty to parseDeclaration, since it's used to parse
   24782         an entire style declaration, not a single property.
   24783         * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::parseDeclaration): Renamed,
   24784         and added code to clear m_values.
   24785         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Call function by its
   24786         new name, and remove some unnecessary comments.
   24787 
   24788 2005-02-06  Darin Adler  <darin (a] apple.com>
   24789 
   24790         Reviewed by Maciej.
   24791 
   24792         - fixed <rdar://problem/3993722> need oncut and onpaste handlers implemented for <textarea> (needed for widgets)
   24793 
   24794         * kwq/KWQTextArea.mm:
   24795         (-[KWQTextAreaTextView dispatchHTMLEvent:]): Added.
   24796         (-[KWQTextAreaTextView cut:]): Dispatch "before cut" and "cut" events.
   24797         (-[KWQTextAreaTextView copy:]): Dispatch "before copy" and "copy" events.
   24798         (-[KWQTextAreaTextView paste:]): Dispatch "before paste" and "paste" events.
   24799         (-[KWQTextAreaTextView pasteAsPlainText:]): Ditto.
   24800         (-[KWQTextAreaTextView pasteAsRichText:]): Ditto.
   24801 
   24802 2005-02-06  Darin Adler  <darin (a] apple.com>
   24803 
   24804         Reviewed by Maciej.
   24805 
   24806         - fixed <rdar://problem/3943038> <input type=search> that is focused in onload handler doesn't have a visible editor
   24807 
   24808         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::setFocusNode): Always update layout before giving focus to a widget.
   24809         This prevents the bad case where we give a widget focus before it has been positioned or sized, causing us to
   24810         exercise edge cases AppKit doesn't handle well.
   24811 
   24812         * kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]): Remove workaround code I added
   24813         to fix bug 3943049. Updating the layout fixes the same problem in a cleaner, safer way, and solves another problem,
   24814         with the way the clip view is set up.
   24815 
   24816 2005-02-06  Darin Adler  <darin (a] apple.com>
   24817 
   24818         Reviewed by Maciej.
   24819 
   24820         - fixed <rdar://problem/3425232> textarea won't trigger onchange action when clicking to new field
   24821 
   24822         * khtml/rendering/render_form.h: Added new m_dirty data member.
   24823         * khtml/rendering/render_form.cpp:
   24824         (RenderTextArea::RenderTextArea): Initialize m_dirty to false.
   24825         (RenderTextArea::detach): Call value() on the DOM element to cause it to fetch the value from this object.
   24826         (RenderTextArea::handleFocusOut): Ditto. Also send the onchange event based only on the m_dirty flag.
   24827         (RenderTextArea::updateFromElement): Clear the m_dirty flag if the edited value is blown away by a value
   24828         that comes from the DOM element. Remove code to clear the element's m_dirtyvalue flag; that's an unnecessary
   24829         optimization, and ideally we'll stop having code in the render object that knows about that flag later.
   24830         (RenderTextArea::slotTextChanged): Set the m_dirty flag.
   24831 
   24832 2005-02-06  Darin Adler  <darin (a] apple.com>
   24833 
   24834         Reviewed by Maciej.
   24835 
   24836         - re-fixed <rdar://problem/3760910> please add support for custom tag names in HTML
   24837 
   24838         * khtml/xml/dom_docimpl.cpp:
   24839         (DocumentImpl::tagId): Use ID_LAST_TAG + 1 for the ID of the first assigned tag ID. Before we'd use ID_LAST_TAG,
   24840         which resulted in the same number being used for ID_COMMENT and the first custom tag.
   24841         (DocumentImpl::tagName): Use ID_LAST_TAG + 1, as above.
   24842         (DocumentImpl::namespaceURI): Change a < ID_LAST_TAG to <= ID_LAST_TAG in the same spirit as above.
   24843 
   24844 2005-02-06  Darin Adler  <darin (a] apple.com>
   24845 
   24846         Reviewed by Maciej.
   24847 
   24848         - fixed <rdar://problem/3986639> Crash occurs after choosing Undo Typing from the Edit menu
   24849 
   24850         * kwq/KWQTextArea.mm: (-[KWQTextArea viewWillMoveToWindow:]): Remove actions from undo manager when the view is
   24851         removed from the window. Unfortunately, to do this the code has to know that the target of NSTextView actions
   24852         will be the text storage object, but given the NSText architecture, that's pretty clear.
   24853 
   24854 2005-02-05  Chris Blumenberg  <cblu (a] apple.com>
   24855 
   24856 	Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work
   24857 
   24858         Reviewed by hyatt.
   24859 
   24860         * kwq/KWQKJavaAppletWidget.mm:
   24861         (KJavaAppletWidget::KJavaAppletWidget): fallback to the document's base URL if there is no baseURL attribute
   24862         * kwq/WebCoreBridge.h:
   24863         * kwq/WebCoreBridge.mm:
   24864         (-[WebCoreBridge baseURL]): new
   24865 
   24866 2005-02-04  David Harrison  <harrison (a] apple.com>
   24867 
   24868         Reviewed by Darin.
   24869 
   24870         Rolled out Ken's accidental checkin when committing <rdar://problem/3986155> fix yesterday.
   24871         
   24872         * khtml/editing/selection.cpp:
   24873         (khtml::Selection::validate):
   24874 
   24875 2005-02-04  Adele Amchan  <adele (a] apple.com>
   24876 
   24877         Reviewed by Darin.
   24878 
   24879         Fix for <rdar://problem/3758785> Safari no longer works at BankOfAmerica online banking for military users
   24880   
   24881         When closing the document, if a body doesn't exist we now create one.  This bug was preventing the onload handler from
   24882         firing in cases where there wasn't a body.  In the BankOfAmerica case, the page was just a bit of script where the onload
   24883         handler redirected to the correct page.
   24884 
   24885         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::close):
   24886 
   24887 2005-02-03  Ken Kocienda  <kocienda (a] apple.com>
   24888 
   24889         Reviewed by Chris
   24890 
   24891         Fix for this bug:
   24892         
   24893         <rdar://problem/3986155> Insertion point goes to beginning of doc after deleting
   24894 
   24895         * khtml/editing/htmlediting.cpp:
   24896         (khtml::DeleteSelectionCommand::setStartNode): New convenience to handle reference counting when setting.
   24897         (khtml::DeleteSelectionCommand::handleGeneralDelete): This contains the crux of the bug fix. Improve tests
   24898         that detect when a selected node needs to be retained, rather than deleted, to preserve the intent of the user.
   24899         This has the side effect of causing the insertion point placement code to succeed rather than fail. Before
   24900         this fix, the failure of the insertion point placement code caused the insertion point to jump to the start
   24901         of the document, which is the symptom that can be perceived by users when editing.
   24902         * khtml/editing/htmlediting.h: Add setStartNode declaration.
   24903         * khtml/editing/visible_units.cpp:
   24904         (khtml::startOfBlock): This function had a stubbed-in non-tested implementation. Implement and 
   24905         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Added.
   24906         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-001.html: Added.
   24907         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt: Added.
   24908         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-002.html: Added.
   24909         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt: Added.
   24910         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003.html: Added.
   24911         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt: Added.
   24912         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004.html: Added.
   24913         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt: Added.
   24914         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-005.html: Added.
   24915         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt: Added.
   24916         * layout-tests/editing/deleting/delete-at-paragraph-boundaries-006.html: Added.
   24917 
   24918 === Safari-183 ===
   24919 
   24920 2005-02-03  Richard Williamson   <rjw (a] apple.com>
   24921 
   24922 	Fixed <rdar://problem/3987419> Stocks and Weather leak what appears to XMLHTTPRequest results
   24923 
   24924 	XMLHTTPRequests were causing massive leaks.  _webcore_initWithHeaderString: did funky things with
   24925 	self replacement.  Re-wrote to use more traditional factory constructor avoiding self replacement.
   24926 	
   24927         Reviewed by David Harrison.
   24928 
   24929         * kwq/KWQLoader.mm:
   24930         (+[NSDictionary _webcore_dictionaryWithHeaderString:]):
   24931         (KWQServeRequest):
   24932         (KWQServeSynchronousRequest):
   24933 
   24934 2005-02-03  Chris Blumenberg  <cblu (a] apple.com>
   24935 
   24936 	Fixed: <rdar://problem/3938763> Cannot view Windows Media Player videos (soundtrack is played twice with delay)
   24937 
   24938         Reviewed by hyatt.
   24939 
   24940         * khtml/html/html_objectimpl.cpp:
   24941         (HTMLObjectElementImpl::attach): set needWidgetUpdate to false right after calling updateWidget because dispatchHTMLEvent can end up calling this method again
   24942         (HTMLObjectElementImpl::recalcStyle): ditto
   24943 
   24944 2005-02-02  John Sullivan  <sullivan (a] apple.com>
   24945 
   24946         Reviewed by Chris.
   24947 
   24948         - WebCore part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page, 
   24949         iFrame involved
   24950         
   24951         This also fixes the problems with printing from GMail, yay!
   24952 
   24953         * khtml/rendering/render_flow.cpp:
   24954         (RenderFlow::paintLines):
   24955         If the current line is taller than the entire page height (e.g. tall iFrame), don't try
   24956         to avoid splitting it across pages.
   24957         
   24958         * kwq/WebCoreBridge.mm:
   24959         (-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
   24960         Handle error cases in a more obvious manner; this will cause future problems like this
   24961         to print a blank page and complain to the console on debug builds, rather than print a 
   24962         zillionty mostly-blank pages.
   24963 
   24964 2005-02-02  Chris Blumenberg  <cblu (a] apple.com>
   24965 
   24966 	Fixed: <rdar://problem/3960304> can't load a particular applet (at www.escape.de) unless it's the first applet to be loaded
   24967 
   24968         Reviewed by hyatt.
   24969 
   24970         * khtml/rendering/render_frames.cpp:
   24971         (RenderPartObject::updateWidget): when getting the MIME type from the PARAM tag, make sure the MIME type is the text from the left of the semi-colon if there is one. We do this elsewhere as well.
   24972 
   24973 2005-02-02  Chris Blumenberg  <cblu (a] apple.com>
   24974 
   24975 	Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
   24976 
   24977         Reviewed by rjw.
   24978 
   24979         * kwq/KWQKHTMLPart.mm:
   24980         (KWQKHTMLPart::sendContextMenuEvent): check if SPI to always enable selecting closest word is enabled
   24981         * kwq/WebCoreBridge.h:
   24982 
   24983 2005-02-02  Ken Kocienda  <kocienda (a] apple.com>
   24984 
   24985         Reviewed by me
   24986 
   24987         * khtml/editing/markup.cpp:
   24988         (khtml::createMarkup): Removed debug spam I committed earlier in error.
   24989 
   24990 2005-02-02  Ken Kocienda  <kocienda (a] apple.com>
   24991 
   24992         Reviewed by Darin
   24993 
   24994         Fix for this bug:
   24995         
   24996         <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
   24997 
   24998         Since base writing direction is a paragraph-level property in AppKit, and we use the CSS direction
   24999         property in WebCore, which can be applied to inline elements as well as blocks, a new notion has
   25000         been added to the WebCore apply style logic. It is now possible to force all properties in a 
   25001         style declaration to be applied as though they were block properties.
   25002 
   25003         * khtml/editing/htmlediting.cpp:
   25004         (khtml::ApplyStyleCommand::ApplyStyleCommand): Add an enum and a flag to this command that controls whether to force all
   25005         properties in the style to be applied as block styles. Default is "no", retaining previous behavior.
   25006         (khtml::ApplyStyleCommand::doApply): Switch on new flag to apply styles as before, or force all preoperties to be applied
   25007         as block styles.
   25008         * khtml/editing/htmlediting.h:
   25009         (khtml::ApplyStyleCommand::): Add an enum and a flag, as above.
   25010         * khtml/khtml_part.cpp:
   25011         (KHTMLPart::applyParagraphStyle): New method to force application of all style properties as block styles.
   25012         * khtml/khtml_part.h: Update header declarations.
   25013         * kwq/KWQKHTMLPart.h: Update header declarations.
   25014         * kwq/KWQKHTMLPart.mm:
   25015         (KWQKHTMLPart::baseWritingDirectionForSelectionStart): Accessor to help WebKit do a toggle operation on 
   25016         writing direction.
   25017         * kwq/WebCoreBridge.h: Update header declarations.
   25018         * kwq/WebCoreBridge.mm:
   25019         (-[WebCoreBridge applyParagraphStyle:withUndoAction:]): New method to force application of all style properties as block styles.
   25020         (-[WebCoreBridge baseWritingDirectionForSelectionStart]): Accessor to help WebKit do a toggle operation on 
   25021         writing direction.
   25022 
   25023         Fix for this bug:
   25024         
   25025         <rdar://problem/3985035> REGRESSION (Mail): Text copied from wrapped line contains extra character when pasted
   25026 
   25027         * khtml/editing/markup.cpp:
   25028         (khtml::renderedText): Add an enum and a flag to this command that controls whether to force all
   25029         This is the result of an error in the code that computes the rendered text that is selected 
   25030         when copying. Since spaces collapse at the end of lines, and these spaces need to be copied 
   25031         when the selection spans line endings, code runs to compute this text. However, this code 
   25032         was also running incorrectly in cases where lines wrapped. I have now added the missing 
   25033         test to check that the selection does indeed extend to the end of the line.
   25034 
   25035 
   25036 2005-02-02  Ken Kocienda  <kocienda (a] apple.com>
   25037 
   25038         Reviewed by Darin
   25039 
   25040         Fix for these bugs:
   25041         
   25042         <rdar://problem/3984894> REGRESSION (Mail): Command-right-arrow in reply does the wrong thing (two ways)
   25043         <rdar://problem/3985130> REGRESSION (Mail): command-right-arrow in pasted RTF selects only up to tab
   25044 
   25045         * khtml/editing/visible_units.cpp:
   25046         (khtml::endOfLine): Two separate problems in this new function recently added to take the place of
   25047         selectionForLine. In the first, endOfLine did not stop at BR elements, and returned the position
   25048         beyond them. In the second, the VisiblePosition constructor gives the wrong answer in certain cases.
   25049         Darin is going to work on a solution for that problem. In the meantime, I can fix the symptom of this
   25050         bug by going down to the last leaf child of the root line box; a one line change we will roll out when
   25051         Darin's fix is in.
   25052 
   25053 2005-02-01  Richard Williamson   <rjw (a] apple.com>
   25054 
   25055 	Fixed <rdar://problem/3985535> QT Plug-in JavaScript support now fails in <embed> tag only case
   25056 
   25057         Reviewed by Maciej.
   25058 
   25059         * khtml/ecma/kjs_html.cpp:
   25060         (KJS::HTMLDocument::tryGet):
   25061 
   25062 2005-02-01  John Sullivan  <sullivan (a] apple.com>
   25063 
   25064         Written by Darin, reviewed and tested by me
   25065         
   25066         - fixed <rdar://problem/3969684> Panther-only: extra blank lines between 
   25067         pasted content from Blot
   25068 
   25069         * kwq/KWQKHTMLPart.mm:
   25070         (KWQKHTMLPart::attributedString):
   25071         don't emit paragraph breaks if the margins are tiny; matches what
   25072         we do for plain-text conversion
   25073 
   25074 === Safari-182 ===
   25075 
   25076 2005-02-01  Ken Kocienda  <kocienda (a] apple.com>
   25077 
   25078         Reviewed by John
   25079 
   25080         Fix for this bug:
   25081         
   25082         <rdar://problem/3985160> Deficiencies in pasting architecture blocking progress on other bugs
   25083 
   25084         * khtml/editing/html_interchange.h: Move style span text used to mark element added to 
   25085         add style to this header.
   25086         * khtml/editing/htmlediting.cpp:
   25087         (khtml::styleSpanClassString): Change to use constant moved to html_interchange.h.
   25088         (khtml::isStyleSpan): New helper function. Checks if this is a span we added to apply style.
   25089         (khtml::CompositeEditCommand::insertNodeBefore): Added an assert to check that the node
   25090         we are inserting before is not the body.
   25091         (khtml::CompositeEditCommand::insertNodeAfter): Ditto, but check is for after.
   25092         (khtml::ReplacementFragment::ReplacementFragment): Added code to process the "default style"
   25093         that is added by the copy code.
   25094         (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): first and last nodes inserted are
   25095         now member variables instead of function locals. Initialize them here.
   25096         (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand): Deref first and last nodes inserted
   25097         if necessary.
   25098         (khtml::ReplaceSelectionCommand::doApply): Change design to fix the bug. Major change is to
   25099         separate out the code that inserts nodes into the tree so additional styling checks can
   25100         be done in a centralized way. Also got rid of the notion of "merging into the end block." That
   25101         concept was just wrong.
   25102         (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Tweak interface now that first and 
   25103         last nodes inserted are member variables.
   25104         (khtml::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted): New helper used
   25105         by replace code to do the stated DOM operation and update state internal to the command.
   25106         This will also be a catch point to handle the kinds of additional style checks needed to
   25107         make paste work right.
   25108         (khtml::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted): Ditto.
   25109         (khtml::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted): Ditto.
   25110         (khtml::ReplaceSelectionCommand::updateNodesInserted): Ditto.
   25111         * khtml/editing/htmlediting.h: Update declarations as needed.
   25112         * khtml/editing/markup.cpp:
   25113         (khtml::createMarkup): Adds a "default style" span to the content written to the pasteboard.
   25114         This will help us to fix some of the bugs blocked by the bug above.
   25115         * khtml/xml/dom_nodeimpl.cpp:
   25116         (NodeImpl::lastDescendent): New helper.
   25117         * khtml/xml/dom_nodeimpl.h: Ditto.
   25118         * khtml/xml/dom_position.cpp:
   25119         (DOM::Position::upstream): Fixed a bug which would allow the upstream position returned to be
   25120         in unrendered content.
   25121         (DOM::Position::downstream): Ditto.
   25122 
   25123         * layout-tests/editing/deleting/delete-3775172-fix-expected.txt: Ending positions tweaked due to 
   25124         changes in upstream() and downstream() functions.
   25125         * layout-tests/editing/inserting/insert-3851164-fix-expected.txt: Ditto
   25126         * layout-tests/editing/inserting/insert-3907422-fix-expected.txt: Ditto
   25127         * layout-tests/editing/selection/extend-by-character-006-expected.txt: Ditto
   25128 
   25129         * layout-tests/editing/pasteboard/paste-text-003-expected.txt: Changed what we expect, given
   25130         new behavior of paste code.
   25131 
   25132 2005-01-31  John Sullivan  <sullivan (a] apple.com>
   25133 
   25134         Reviewed by Dave Hyatt.
   25135         
   25136         - fixed <rdar://problem/3983097> Tabbing on RSS pages gets stuck in search field 
   25137         with "full keyboard navigation" off
   25138 
   25139         * kwq/KWQSlider.h:
   25140         * kwq/KWQSlider.mm:
   25141         (QSlider::focusPolicy):
   25142         Implemented this method for KWQSlider. It is needed for our widget subclasses that
   25143         can become focused in some situations. I missed this when fixing 3949203 because
   25144         it only comes into play when tab-to-controls is on, and because the other relevant
   25145         methods are objective-C methods.
   25146 
   25147 2005-01-31  David Harrison  <harrison (a] apple.com>
   25148 
   25149         Reviewed by Darin.
   25150 
   25151         <rdar://problem/3964164> AXWebArea needs to unregister on going invisible
   25152 
   25153         * khtml/xml/dom_docimpl.cpp:
   25154         (DocumentImpl::detach):
   25155         Detach the AX UIElement for the AXWebArea.
   25156 
   25157 2005-01-31  David Harrison  <harrison (a] apple.com>
   25158 
   25159         Reviewed by Darin
   25160 
   25161         <rdar://problem/3850876> AX: button exposed as only an AXImage at http://appleseed.apple.com/ site (<input type=image>)
   25162 
   25163         * khtml/rendering/render_form.h:
   25164         (khtml::RenderImageButton::isImageButton):
   25165         New.
   25166         * khtml/rendering/render_image.h:
   25167         (khtml::RenderImage::isImageButton):
   25168         New.
   25169         * kwq/KWQAccObject.mm:
   25170         (-[KWQAccObject isImageButton]):
   25171         (-[KWQAccObject actionElement]):
   25172         (-[KWQAccObject role]):
   25173         (-[KWQAccObject accessibilityActionNames]):
   25174         (-[KWQAccObject accessibilityPerformAction:]):
   25175         Represent RenderImageButton elements as buttons instead of images.
   25176 
   25177 2005-01-31  David Harrison  <harrison (a] apple.com>
   25178 
   25179         Prevent nil dereference in debug code.
   25180 
   25181         * khtml/xml/dom_nodeimpl.cpp:
   25182         (NodeImpl::displayTree):
   25183         Stop when parent is 0, too.
   25184 
   25185 2005-01-31  John Sullivan  <sullivan (a] apple.com>
   25186 
   25187         Reviewed by Dave Hyatt.
   25188         
   25189         - fixed <rdar://problem/3949203> cannot tab to, within, or out of the RSS sidebar
   25190 
   25191         * kwq/KWQSlider.mm:
   25192         (-[KWQSlider becomeFirstResponder]):
   25193         (-[KWQSlider resignFirstResponder]):
   25194         (-[KWQSlider nextKeyView]):
   25195         (-[KWQSlider previousKeyView]):
   25196         (-[KWQSlider canBecomeKeyView]):
   25197         (-[KWQSlider nextValidKeyView]):
   25198         (-[KWQSlider previousValidKeyView]):
   25199         Copied these methods from KWQButton. The lack of special handling for first-responder-ness
   25200         here was causing the focus to get "stuck" on the RSS page's slider widget. Added FIXME
   25201         about how it would be nice to share more of this code rather than replicating it in each
   25202         KWQ widget subclass.
   25203 
   25204 2005-01-31  Darin Adler  <darin (a] apple.com>
   25205 
   25206         Reviewed by Harrison.
   25207 
   25208         - fixed <rdar://problem/3980066> Double-click on single character moves insertion point to previous line
   25209 
   25210         * khtml/khtml_part.cpp:
   25211         (KHTMLPart::selectClosestWordFromMouseEvent): Set affinity too.
   25212         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   25213         (KHTMLPart::handleMouseMoveEventSelection): Ditto.
   25214         (KHTMLPart::khtmlMouseReleaseEvent): Ditto.
   25215 
   25216         * khtml/editing/selection.cpp:
   25217         (khtml::Selection::modifyExtendingRightForward): Use endOfLine and endOfDocument.
   25218         (khtml::Selection::modifyMovingRightForward): Ditto.
   25219         (khtml::Selection::modifyExtendingLeftBackward): Use startOfLine and startOfDocument.
   25220         (khtml::Selection::modifyMovingLeftBackward): Ditto.
   25221         (khtml::Selection::validate): Rewrote the section that handles double-click. Two main fixes: 1) use isStartOfLine to
   25222         check for another case where we want to select the word to the right, and 2) use isEndOfParagraph, which seems
   25223         to work correctly in cases where isLastVisiblePositionInParagraph is giving the wrong answer. Also changed the line
   25224         code to use startOfLine/endOfLine and the document code to use startOfDocument/endOfDocument.
   25225 
   25226 2005-01-31  Darin Adler  <darin (a] apple.com>
   25227 
   25228         Reviewed by Harrison.
   25229 
   25230         - fixed <rdar://problem/3935275> unexpected quit scrolling over link; last.fm (works in IE and Firefox)
   25231 
   25232         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): By using the correct document, fix the crash reported here.
   25233         The page still crashes when you close the browser window, but it's not trivial to fix so I'll file a new bug after that.
   25234 
   25235 2005-01-31  Darin Adler  <darin (a] apple.com>
   25236 
   25237         Reviewed by Ken and Harrison.
   25238 
   25239         - fixed <rdar://problem/3947901> REGRESSION (Mail): Pasting paragraph of rich text leaves insertion point before pasted text
   25240         - fixed <rdar://problem/3949790> hitting return after underlined line results in too much or too little underlined
   25241         - fixed <rdar://problem/3981759> nil-deref and crash when pasting just a paragraph break
   25242         - fixed a couple problems I discovered while working with bug 3949790
   25243 
   25244         * khtml/editing/htmlediting.cpp:
   25245         (khtml::ApplyStyleCommand::applyInlineStyle): Pass StayInBlock to upstream. Without this, we end up going too far
   25246         upstream in the test case in bug 3949790.
   25247         (khtml::ApplyStyleCommand::removeInlineStyle): Pass StayInBlock to upstream and downstream. Same reason as above.
   25248         (khtml::ReplaceSelectionCommand::doApply): Update endPos if inserting a new node and endPos is using that node's
   25249         parent and an offset past the node being inserted. That change fixes a problem with the position of the insertion point
   25250         after pasting into the top level of a document (from test cases in 3947901 and 3949790). When setting insertionPos, use
   25251         code that works when lastNodeInserted is a block rather than a text node. That change fixes a problem where a newline is
   25252         not added when pasting an entire paragraph into the end of a document (from test case in 3949790). Added nil check before
   25253         checking if lastNodeInserted is a <br> element, which fixes the crash when pasting just a paragraph break.
   25254 
   25255         * khtml/editing/visible_units.h: Filled out the set of calls to add some boolean checks for lines (needed for the
   25256         bug fix), and calls for blocks (not yet implemented), and documents. The document checks may need refinement to
   25257         properly handle documents with a mix of editable and non-editable content, but for now they just refactor code
   25258         and make things a little clearer. Also removed the "include line break" parameter from endOfSentence.
   25259         * khtml/editing/visible_units.cpp:
   25260         (khtml::rootBoxForLine): Added.
   25261         (khtml::startOfLine): Added. Algorithm taken from selectionForLine in selection.cpp.
   25262         (khtml::endOfLine): Ditto.
   25263         (khtml::inSameLine): Added.
   25264         (khtml::isStartOfLine): Added.
   25265         (khtml::isEndOfLine): Added.
   25266         (khtml::endOfSentence): Removed "include line break" parameter.
   25267         (khtml::inSameParagraph): Added a null check.
   25268         (khtml::isStartOfParagraph): Ditto.
   25269         (khtml::isEndOfParagraph): Ditto.
   25270         (khtml::startOfBlock): Added.
   25271         (khtml::endOfBlock): Added.
   25272         (khtml::inSameBlock): Added.
   25273         (khtml::isStartOfBlock): Added.
   25274         (khtml::isEndOfBlock): Added.
   25275         (khtml::startOfDocument): Added.
   25276         (khtml::endOfDocument): Added.
   25277         (khtml::inSameDocument): Added.
   25278         (khtml::isStartOfDocument): Added.
   25279         (khtml::isEndOfDocument): Added.
   25280 
   25281 2005-01-30  Darin Adler  <darin (a] apple.com>
   25282 
   25283         Reviewed by John.
   25284 
   25285         - fixed <rdar://problem/3977000> form data set posted for <input type="image" ...> omits name/value pair
   25286 
   25287         * khtml/html/html_formimpl.cpp:
   25288         (DOM::HTMLInputElementImpl::appendFormData): Append a name/value pair for type IMAGE in addition to the X/Y
   25289         coordinates.
   25290 
   25291 2005-01-30  Darin Adler  <darin (a] apple.com>
   25292 
   25293         Reviewed by John.
   25294 
   25295         - fixed <rdar://problem/3974246> REGRESSION (125-180): popup menus are missing item text on Harmony Remote web site
   25296 
   25297         * khtml/html/html_formimpl.cpp: (DOM::HTMLOptionElementImpl::text): Change this function to traverse the entire tree
   25298         and gather all the text rather than just looking at immediate children.
   25299 
   25300         * khtml/xml/dom_nodeimpl.h: Added const.
   25301         * khtml/xml/dom_nodeimpl.cpp:
   25302         (NodeImpl::traverseNextNode): Added const.
   25303         (NodeImpl::traverseNextSibling): Ditto.
   25304         (NodeImpl::traversePreviousNodePostOrder): Ditto.
   25305         (NodeImpl::detach): Add a missing nil check.
   25306 
   25307 2005-01-30  Darin Adler  <darin (a] apple.com>
   25308 
   25309         Reviewed by John.
   25310 
   25311         - fixed <rdar://problem/3864536> crash copying text from other apps and pasting in a sticky in dashboard
   25312 
   25313         * khtml/editing/markup.cpp: (khtml::createFragmentFromText): Added missing ref/deref of newly created element.
   25314 
   25315 2005-01-28  Darin Adler  <darin (a] apple.com>
   25316 
   25317         * khtml/css/cssproperties.c: Regenerated with newer gperf.
   25318 
   25319 2005-01-28  David Harrison  <harrison (a] apple.com>
   25320 
   25321         Reviewed by John Sullivan.
   25322 
   25323         <rdar://problem/3968144> AX need to be able to focus an AXLink by setting AXFocused to true
   25324         
   25325         * kwq/KWQAccObject.mm:
   25326         (-[KWQAccObject accessibilityPerformAction:]):
   25327         (-[KWQAccObject accessibilityIsAttributeSettable:]):
   25328         Add AXFocused for AXLinks.
   25329 
   25330 2005-01-28  David Harrison  <harrison (a] apple.com>
   25331 
   25332         Reviewed by Darin.
   25333 
   25334         <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
   25335 
   25336         Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
   25337         
   25338         * kwq/KWQAccObject.mm:
   25339         (-[KWQAccObject _accessibilityParentForSubview:]):
   25340         New.
   25341 
   25342 2005-01-27  Adele Amchan  <adele (a] apple.com>
   25343 
   25344         fixed by Darin, reviewed by me.
   25345 
   25346         <rdar://problem/3976314> REGRESSION (180-TOT): submitting password fields fail on Panther
   25347 
   25348         * kwq/KWQTextField.mm: (-[KWQTextFieldController string]): on panther, the secure text field's editor 
   25349         does not contain the real string, so now we just call stringValue on the field in that case.
   25350 
   25351 2005-01-26  Maciej Stachowiak  <mjs (a] apple.com>
   25352 
   25353         Reviewed by Darin, Hyatt and Ken.
   25354 
   25355 	<rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
   25356 	
   25357         * khtml/css/css_computedstyle.cpp:
   25358         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support
   25359 	for -khtml-text-decorations-in-effect property. This works like text-docration
   25360 	but follows proper inline semantics, that is, if a parent is causing text
   25361 	decoration then -khtml-text-decorations-in-effect on this element will reflect that.
   25362         * khtml/css/cssproperties.in: Add -khtml-text-decorations-in-effect property.
   25363         * khtml/css/cssproperties.h: regenerated
   25364         * khtml/css/cssvalues.c: regenerated
   25365         * khtml/css/cssparser.cpp: regenerated
   25366         * khtml/css/cssproperties.c: regenerated
   25367 
   25368         * khtml/css/css_valueimpl.h: Made copyPropertiesInSet public.
   25369 
   25370         * khtml/editing/htmlediting.cpp:
   25371         (khtml::StyleChange::init): Handle -khtml-text-decorations-in-effect
   25372 	specially, translate to text-decoration
   25373         (khtml::ApplyStyleCommand::applyInlineStyle): Fix a comment.
   25374         (khtml::ApplyStyleCommand::removeInlineStyle): Add new way of pushing down
   25375 	text-decoration styles around the edges of the selected range.
   25376         (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Helper for this.
   25377         (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): ditto
   25378         (khtml::ApplyStyleCommand::nodeFullyUnselected): ditto
   25379         (khtml::hasTextDecorationProperty): ditto
   25380         (khtml::highestAncestorWithTextDecoration): ditto
   25381         (khtml::ApplyStyleCommand::extractTextDecorationStyle): ditto
   25382         (khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle): ditto
   25383         (khtml::ApplyStyleCommand::applyTextDecorationStyle): ditto
   25384         * khtml/editing/htmlediting.h: Prototype new methods.
   25385         * khtml/editing/jsediting.cpp: Make underline execCommand use the new CSS property.
   25386 
   25387 	- as a necessary part of the fix, fixed the longstanding problem
   25388 	that mutating an element's inlineStyleDecl would not property
   25389 	update its style attribute. now it does.
   25390 	
   25391         * khtml/css/css_valueimpl.cpp:
   25392         (DOM::CSSMutableStyleDeclarationImpl::setChanged): If this is an inline style
   25393 	declaration, tell the element it's style attribute needs updating.
   25394         * khtml/html/html_elementimpl.cpp:
   25395         (HTMLElementImpl::invalidateStyleAttribute): New method, just calls down
   25396 	to the dom element.
   25397         (HTMLElementImpl::updateStyleAttribute): Regenerate style attribute from
   25398 	inline style declaration.
   25399         * khtml/html/html_elementimpl.h: Prototype new stuff.
   25400         * khtml/xml/dom_elementimpl.cpp:
   25401         (ElementImpl::ElementImpl): Initialize new attribute.
   25402         (ElementImpl::updateStyleAttributeIfNeeded): New method to check if the style
   25403 	is dirty and this is an html element, and if so call the html element to
   25404 	regenerate the style attribute.
   25405         (ElementImpl::attributes): update style if needed
   25406         (ElementImpl::getAttribute): ditto
   25407         (ElementImpl::hasAttributes): ditto
   25408         (ElementImpl::dump): ditto
   25409         (XMLElementImpl::cloneNode): ditto
   25410         * khtml/xml/dom_elementimpl.h:
   25411         (DOM::ElementImpl::isStyleAttributeValid): new method to manage style attr
   25412 	dirty bit
   25413         (DOM::ElementImpl::setStyleAttributeValid): ditto
   25414 
   25415 	- added new layout tests for underlining:
   25416 	
   25417         * layout-tests/editing/editing.js:
   25418         * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt: Added.
   25419         * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Added.
   25420         * layout-tests/editing/style/remove-underline-across-paragraph-in-bold.html: Added.
   25421         * layout-tests/editing/style/remove-underline-across-paragraph.html: Added.
   25422         * layout-tests/editing/style/remove-underline-after-paragraph-expected.txt: Added.
   25423         * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Added.
   25424         * layout-tests/editing/style/remove-underline-after-paragraph-in-bold.html: Added.
   25425         * layout-tests/editing/style/remove-underline-after-paragraph.html: Added.
   25426         * layout-tests/editing/style/remove-underline-expected.txt: Added.
   25427         * layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt: Added.
   25428         * layout-tests/editing/style/remove-underline-from-stylesheet.html: Added.
   25429         * layout-tests/editing/style/remove-underline-in-bold-expected.txt: Added.
   25430         * layout-tests/editing/style/remove-underline-in-bold.html: Added.
   25431         * layout-tests/editing/style/remove-underline.html: Added.
   25432         * layout-tests/editing/style/underline-expected.txt: Added.
   25433         * layout-tests/editing/style/underline.html: Added.
   25434 
   25435 2005-01-27  David Hyatt  <hyatt (a] apple.com>
   25436 
   25437 	Fix for 3875199, search field needs to be able to  show a magnifying  glass without a dropdown menu.
   25438 	
   25439         Reviewed by kocienda
   25440 
   25441         * khtml/html/html_formimpl.cpp:
   25442         (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
   25443         (DOM::HTMLInputElementImpl::parseHTMLAttribute):
   25444         * kwq/KWQLineEdit.mm:
   25445         (QLineEdit::setMaxResults):
   25446 
   25447 2005-01-27  Ken Kocienda  <kocienda (a] apple.com>
   25448 
   25449         Reviewed by Maciej
   25450 
   25451         Fix for this bug:
   25452         
   25453         <rdar://problem/3973254> Deletions of ranges does not coalesce correctly with subsequent typing
   25454 
   25455         * khtml/editing/htmlediting.cpp:
   25456         (khtml::InsertTextCommand::deleteCharacter): Remove this dead code.
   25457         (khtml::ReplaceSelectionCommand::editingAction): Moved this code to a better place in the file. 
   25458         It was in with unrelated functions.
   25459         (khtml::TypingCommand::TypingCommand): Reorganize initialization list so it is easier to read.
   25460         (khtml::TypingCommand::issueCommandForDeleteKey): Remove dead code. Roll in remaining code into deleteKeyPressed.
   25461         (khtml::TypingCommand::deleteKeyPressed): Add in support for carrying along smart delete flag.
   25462         (khtml::TypingCommand::forwardDeleteKeyPressed): New function. Makes forward delete work like
   25463         "regular" delete in terms of coalescing typing.
   25464         (khtml::TypingCommand::doApply): Add case for ForwardDeleteKey.
   25465         (khtml::TypingCommand::preservesTypingStyle): Ditto.
   25466         * khtml/editing/htmlediting.h:
   25467         (khtml::TypingCommand::): Add ForwardDeleteKey constant. Remove a couple declarations for now-dead code.
   25468         (khtml::TypingCommand::smartDelete): New accessor.
   25469         (khtml::TypingCommand::setSmartDelete): Ditto.
   25470         * kwq/WebCoreBridge.h:
   25471         * kwq/WebCoreBridge.mm:
   25472         (-[WebCoreBridge deleteKeyPressedWithSmartDelete:]): Add smart delete flag.
   25473         (-[WebCoreBridge forwardDeleteKeyPressedWithSmartDelete:]): New method.
   25474         * khtml/editing/jsediting.cpp: Add supprt for ForwardDelete command
   25475         * layout-tests/editing/editing.js: Ditto.
   25476         * layout-tests/editing/deleting/delete-and-undo-expected.txt: Added.
   25477         * layout-tests/editing/deleting/delete-and-undo.html: Added.
   25478         * layout-tests/editing/deleting/forward-delete-expected.txt: Added.
   25479         * layout-tests/editing/deleting/forward-delete.html: Added.
   25480 
   25481 === Safari-181 ===
   25482 
   25483 2005-01-27  David Harrison  <harrison (a] apple.com>
   25484 
   25485         Reviewed by Ken.
   25486 
   25487         <rdar://problem/3962214> AX: AXLeftLineTextMarkerRangeForTextMarker returns incorrect range
   25488 
   25489         * kwq/KWQAccObject.mm:
   25490         (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
   25491         Allowed for selection to end of line including the linebreak.
   25492         
   25493 2005-01-27  David Harrison  <harrison (a] apple.com>
   25494 
   25495         Reviewed by Darin, Ken.
   25496 
   25497         <rdar://problem/3964470> AX: Include attachments in AXAttributedStringForTextMarkerRange
   25498 
   25499         * kwq/KWQAccObject.mm:
   25500         (-[KWQAccObject isAttachment]):
   25501         (-[KWQAccObject attachmentView]):
   25502         (-[KWQAccObject role]):
   25503         (-[KWQAccObject subrole]):
   25504         (-[KWQAccObject roleDescription]):
   25505         (-[KWQAccObject value]):
   25506         (-[KWQAccObject title]):
   25507         (-[KWQAccObject accessibilityDescription]):
   25508         (-[KWQAccObject accessibilityIsIgnored]):
   25509         (-[KWQAccObject accessibilityAttributeNames]):
   25510         (-[KWQAccObject accessibilityAttributeValue:]):
   25511         Make attachments accessible.
   25512         
   25513         (CreateCGColorIfDifferent):
   25514         (AXAttributeStringSetColor):
   25515         (AXAttributeStringSetNumber):
   25516         (AXAttributeStringSetFont):
   25517         (AXAttributeStringSetStyle):
   25518         (AXAttributeStringSetElement):
   25519         (AXLinkElementForNode):
   25520         (AXAttributedStringAppendText):
   25521         (AXAttributedStringAppendReplaced):
   25522         (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
   25523         Add attachments and more text attributes to AXAttributedStringForTextMarkerRange.
   25524 
   25525 2005-01-27  Darin Adler  <darin (a] apple.com>
   25526 
   25527         Reviewed by John.
   25528 
   25529         - fixed <rdar://problem/3807935> DOM CSS computed style line-height is wrong in two ways
   25530 
   25531         * khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   25532         Use specified size rather than computed size when dealing with a percentage for line height.
   25533 
   25534 2005-01-27  Darin Adler  <darin (a] apple.com>
   25535 
   25536         Reviewed by John.
   25537 
   25538         - fixed <rdar://problem/3971372> SWB: template function DOM_cast() won't compile with gcc 4.0
   25539         - fixed other gcc 4.0 compiling problems Patrick Beard pointed out on the phone
   25540 
   25541         * kwq/DOMInternal.h: (DOM_cast): Change the "failToCompile()" trick to use a dependent name.
   25542         Nowadays, if a name is not dependent, it is checked at template definition time. But we want
   25543         a failure only at template instantiation time.
   25544 
   25545         * ForwardingHeaders/editing/text_granularity.h: Added. Needed but a bug in the 3.3 compiler made
   25546         it compile anyway without this.
   25547 
   25548         - other changes
   25549 
   25550         * khtml/html/html_miscimpl.h: For clarity, mark these functions virtual too. They are automatically
   25551         virtual because the base class ones are virtual, but it's ugly to leave it this way.
   25552 
   25553 2005-01-26  Ken Kocienda  <kocienda (a] apple.com>
   25554 
   25555         Reviewed by Hyatt
   25556 
   25557         Fix for this bug:
   25558         
   25559         <rdar://problem/3971609> REGRESSION (Mail): up/down arrow navigation broken after rewrapping text by resizing window
   25560         <rdar://problem/3975661> REGRESSION (Mail): left/right arrow navigation can place insertion point after last character on line
   25561 
   25562         * khtml/editing/selection.cpp:
   25563         (khtml::Selection::modifyAffinity): PARAGRAPH and LINE movements should not alter affinity. This was
   25564         just a mistake before when it reset to upstream in some cases.
   25565         * khtml/rendering/render_line.cpp:
   25566         (khtml::RootInlineBox::closestLeafChildForXPos): Move this function down from InlineBox, and 
   25567         rework the implementation. This fixes 3971609.
   25568         * khtml/rendering/render_line.h:
   25569         * khtml/rendering/render_text.cpp:
   25570         (RenderText::caretRect): Rework the algorithm to fix 3975661. This regressed when we began placing
   25571         the spaces on the end of lines in text boxes when lines wrap.
   25572 
   25573 2005-01-26  Richard Williamson   <rjw (a] apple.com>
   25574 
   25575 	Fixed <rdar://problem/3972522> (179-180) 40% slowdown on iBench JavaScript test
   25576 
   25577 	I added a member variable to ObjectImp.  This changed it's size and consequently
   25578 	hampered the optimizations built into the garbage collector.  Objects no longer
   25579 	fit within the allocators cell size, and thus allocation fell back to a slower
   25580 	allocator.
   25581 
   25582 	As a result of this fix I also dramatically cleaned up how runtime objects are
   25583 	accessed.  The path mostly *removes* code.
   25584 	
   25585         Reviewed by Chris.
   25586 
   25587         * khtml/ecma/kjs_dom.cpp:
   25588         (DOMDocumentProtoFunc::tryCall):
   25589         (DOMElementProtoFunc::tryCall):
   25590         (KJS::getRuntimeObject):
   25591         * khtml/ecma/kjs_dom.h:
   25592         * khtml/ecma/kjs_html.cpp:
   25593         (KJS::HTMLDocument::tryGet):
   25594         (KJS::HTMLElement::tryGet):
   25595         (KJS::HTMLElement::implementsCall):
   25596         (KJS::HTMLElement::call):
   25597         (KJS::HTMLElement::tryPut):
   25598         (KJS::HTMLCollection::tryGet):
   25599         (KJS::HTMLCollection::getNamedItems):
   25600         * khtml/ecma/kjs_html.h:
   25601         * khtml/ecma/kjs_window.cpp:
   25602         (Window::get):
   25603 
   25604 2005-01-26  Richard Williamson   <rjw (a] apple.com>
   25605 
   25606 	Fixed <rdar://problem/3757712> REGRESSION (Mail): WebCore does not allow Devanagari ligature input
   25607 
   25608 	For now we are using ICU UBreakIterator to determine grapheme boundaries for
   25609 	cursor and deletion.  This does not match what Cocoa does exactly, but does match
   25610 	what Carbon does.  The areas are difference are obscure, but, according to
   25611 	Deborah Goldsmith, using the UBreakIterator is the reasonable approach.
   25612 
   25613         Reviewed by Ken.
   25614 
   25615         * khtml/rendering/render_text.cpp:
   25616         (RenderText::previousOffset):
   25617         (RenderText::nextOffset):
   25618 
   25619 2005-01-25  David Harrison  <harrison (a] apple.com>
   25620 
   25621         Reviewed by Maciej and Richard.
   25622 
   25623         <rdar://problem/3963731> AX VO: Changing window sizes causes a crash using with Voice Over - KWQPtrDictImpl::clear
   25624 
   25625         * khtml/html/html_miscimpl.cpp:
   25626         (HTMLCollectionImpl::HTMLCollectionImpl):
   25627         Ensure that isHTMLDocument before calling HTMLDocument-only method.
   25628 
   25629 2005-01-25  Richard Williamson   <rjw (a] apple.com>
   25630 
   25631 	Part one of fix for <rdar://problem/3757712> REGRESSION (Mail): WebCore does not allow Devanagari ligature input
   25632 
   25633 	This patch changes the semantics of next() and previous() on
   25634 	VisiblePosition to move a grapheme (character cluster) at a
   25635 	time.  This means that cursor navigation with correctly move
   25636 	over an entire cluster.
   25637 
   25638 	However, the expected behavior for deleting a grapheme is to
   25639 	delete individual code points, thus decomposing the grapheme
   25640 	into it constituent parts.  That will be addressed in the next
   25641 	part of the fix.
   25642 
   25643         Reviewed by Ken.
   25644 
   25645         * khtml/editing/visible_position.cpp:
   25646         (khtml::VisiblePosition::previousPosition):
   25647         (khtml::VisiblePosition::nextPosition):
   25648         * khtml/editing/visible_position.h:
   25649         * khtml/rendering/render_object.cpp:
   25650         (RenderObject::previousOffset):
   25651         (RenderObject::nextOffset):
   25652         * khtml/rendering/render_object.h:
   25653         * khtml/rendering/render_text.cpp:
   25654         (RenderText::previousOffset):
   25655         (RenderText::nextOffset):
   25656         (RenderText::findNextInlineTextBox):
   25657         * khtml/rendering/render_text.h:
   25658         * khtml/xml/dom_nodeimpl.cpp:
   25659         (NodeImpl::previousOffset):
   25660         (NodeImpl::nextOffset):
   25661         * khtml/xml/dom_nodeimpl.h:
   25662 
   25663 2005-01-25  David Harrison  <harrison (a] apple.com>
   25664 
   25665         Reviewed by Maciej.
   25666 
   25667         <rdar://problem/3973067> AXWebArea for http://apple.netscape.com/ has an empty AXLinkUIElements
   25668 
   25669         * kwq/KWQAccObject.mm:
   25670         (-[KWQAccObject accessibilityAttributeValue:]):
   25671         Omit ignored AXLinks from AXLinkUIElements result
   25672 
   25673 2005-01-25  Ken Kocienda  <kocienda (a] apple.com>
   25674 
   25675         Reviewed by John
   25676 
   25677         Fix for this bug:
   25678         
   25679         <rdar://problem/3972851> REGRESSION (179-180+): Repro crash in ApplyStyleCommand::cleanUpEmptyStyleSpans
   25680 
   25681         * khtml/editing/htmlediting.cpp:
   25682         (khtml::ApplyStyleCommand::cleanUpEmptyStyleSpans): Added two null checks.
   25683 
   25684 2005-01-25  Ken Kocienda  <kocienda (a] apple.com>
   25685 
   25686         Reviewed by John
   25687 
   25688         Fix for this bug:
   25689         
   25690         <rdar://problem/3954710> Mail crashed while editing signatures - NodeImpl::isBlockFlow
   25691 
   25692         The fix is more general than for this one bug, and may work to fix many crashers. The problem
   25693         is that the ReplaceSelectionCommand never checked whether its starting selection is empty. If
   25694         it is, then we need to bail before doing the work of the command, which we need to deref the
   25695         start and end points of the selection in order to do its work. I think you can see the crash
   25696         potential.
   25697 
   25698         * khtml/editing/htmlediting.cpp:
   25699         (khtml::ReplaceSelectionCommand::doApply): Assert selection is not empty.
   25700         * kwq/WebCoreBridge.mm:
   25701         (partHasSelection): New helper function to test that bridge has a part with a selection.
   25702         
   25703         Use new helper function to test part and selection; return from these function if this test fails.
   25704         
   25705         (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:])
   25706         (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:])
   25707         (-[WebCoreBridge alterCurrentSelection:direction:granularity:])
   25708         (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:])
   25709         (-[WebCoreBridge alterCurrentSelection:verticalDistance:])
   25710         (-[WebCoreBridge documentFragmentWithText:])
   25711         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:])
   25712         (-[WebCoreBridge insertLineBreak])
   25713         (-[WebCoreBridge insertParagraphSeparator])
   25714         (-[WebCoreBridge insertParagraphSeparatorInQuotedContent])
   25715         (-[WebCoreBridge insertText:selectInsertedText:])
   25716         (-[WebCoreBridge deleteSelectionWithSmartDelete:])
   25717         (-[WebCoreBridge ensureSelectionVisible])
   25718 
   25719 2005-01-24  Kevin Decker  <kdecker (a] apple.com>
   25720 
   25721         Reviewed by Darin.
   25722 
   25723 	Fixed <rdar://problem/3932374> REGRESSION: 'ReferenceError - Can't find variable' JavaScript error at webxpress.fidelity.com
   25724 
   25725         * khtml/html/html_miscimpl.h: Missing virtual identifiers for namedItem() and nextNamedItem() exposed a flaw that prevented finding variables in form [HTMLFormCollectionImpl] scopes.
   25726 	
   25727 
   25728 2005-01-24  Vicki Murley <vicki (a] apple.com>
   25729 
   25730         Reviewed by kocienda.
   25731 
   25732 	- fix <rdar://problem/3810661> computed style not handled for Apple extensions
   25733  
   25734         * khtml/css/css_computedstyle.cpp: (DOM::):
   25735         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): add -apple-line-clamp and -apple-text-size-adjust
   25736 
   25737 2005-01-24  Darin Adler  <darin (a] apple.com>
   25738 
   25739         Reviewed by Kevin.
   25740 
   25741         - fixed <rdar://problem/3969884> REGRESSION (179-180): Typing password not echoed as "bullets" at paypal.com when field is first focused
   25742 
   25743         * kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]):
   25744         Sizing up the form editor, which fixes things for normal fields and search fields,
   25745         screws things up for password fields. Eventually, I'll need to figure out why this is
   25746         and file a bug so that the AppKit team fixes it. In the mean time, just check for the
   25747         case of the secure text field, and don't size up in that case.
   25748 
   25749 2005-01-24  Ken Kocienda  <kocienda (a] apple.com>
   25750 
   25751         Reviewed by Hyatt
   25752 
   25753         Fix for this bug:
   25754         
   25755         <rdar://problem/3963560> 8A354: Inserting Japanese text to the line head causes line break
   25756 
   25757         * khtml/editing/htmlediting.cpp:
   25758         (khtml::ReplaceSelectionCommand::doApply): Add one more case where we merge content into the
   25759         existing line. This covers the situation see using the steps to reproduce this bug.
   25760 
   25761 2005-01-21  Maciej Stachowiak  <mjs (a] apple.com>
   25762 
   25763         Reviewed by Darin.
   25764 
   25765 	<rdar://problem/3967572> Editing should split elements before removing style
   25766 	
   25767         * khtml/editing/htmlediting.cpp:
   25768         (khtml::CompositeEditCommand::splitElement):
   25769         (khtml::CompositeEditCommand::mergeIdenticalElements):
   25770         (khtml::CompositeEditCommand::wrapContentsInDummySpan):
   25771         (khtml::CompositeEditCommand::splitTextNodeContainingElement):
   25772         (khtml::ApplyStyleCommand::applyInlineStyle):
   25773         (khtml::ApplyStyleCommand::splitTextAtStartIfNeeded):
   25774         (khtml::ApplyStyleCommand::splitTextAtEndIfNeeded):
   25775         (khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
   25776         (khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
   25777         (khtml::areIdenticalElements):
   25778         (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
   25779         (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
   25780         (khtml::ApplyStyleCommand::cleanUpEmptyStyleSpans):
   25781         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
   25782         (khtml::InsertParagraphSeparatorCommand::doApply):
   25783         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
   25784         (khtml::InsertTextCommand::prepareForTextInsertion):
   25785         (khtml::SplitTextNodeCommand::doUnapply):
   25786         (khtml::SplitElementCommand::SplitElementCommand):
   25787         (khtml::SplitElementCommand::~SplitElementCommand):
   25788         (khtml::SplitElementCommand::doApply):
   25789         (khtml::SplitElementCommand::doUnapply):
   25790         (khtml::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand):
   25791         (khtml::MergeIdenticalElementsCommand::~MergeIdenticalElementsCommand):
   25792         (khtml::MergeIdenticalElementsCommand::doApply):
   25793         (khtml::MergeIdenticalElementsCommand::doUnapply):
   25794         (khtml::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand):
   25795         (khtml::WrapContentsInDummySpanCommand::~WrapContentsInDummySpanCommand):
   25796         (khtml::WrapContentsInDummySpanCommand::doApply):
   25797         (khtml::WrapContentsInDummySpanCommand::doUnapply):
   25798         (khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
   25799         (khtml::SplitTextNodeContainingElementCommand::~SplitTextNodeContainingElementCommand):
   25800         (khtml::SplitTextNodeContainingElementCommand::doApply):
   25801         * khtml/editing/htmlediting.h:
   25802 
   25803 	New layout test that shows the side benefit of this.
   25804         
   25805 	* layout-tests/editing/style/unbold-in-bold-expected.txt: Added.
   25806         * layout-tests/editing/style/unbold-in-bold.html: Added.
   25807 
   25808 2005-01-24  Darin Adler  <darin (a] apple.com>
   25809 
   25810         Reviewed by John.
   25811 
   25812         - fixed <rdar://problem/3933435> -[DOMRange cloneContents] sometimes alters the original DOMRange
   25813 
   25814         * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents): Fixed code that was collapsing
   25815         the range after processing the contents. That's right for extract and delete, but not clone.
   25816 
   25817         - fixed <rdar://problem/3714184> inline input works incorrectly when I type Korean slowly in textfield in form on www.google.co.kr
   25818         - fixed <rdar://problem/3193848> Can't enter SSN to sign up for Chase visa online account (changing focus inside key press handler)
   25819         - fixed <rdar://problem/3874683> REGRESSION (161-162): Crash after typing command-Z to undo after pasting text with newline in it into a text field <input type=text>
   25820 
   25821         * kwq/KWQLineEdit.mm:
   25822         (QLineEdit::text): Changed to call a new string method on the controller instead of calling
   25823         stringValue, since stringValue has a bad side effect of ending inline input.
   25824         (QLineEdit::selectAll): Changed to only call selectText: when the field is already selected.
   25825         When you are giving the field focus, it automatically gets all selected, and this change
   25826         is required in the case where we defer the focus change.
   25827 
   25828         * kwq/KWQTextField.h: Added a new string method to the controller.
   25829         * kwq/KWQTextField.mm:
   25830         (-[KWQTextFieldController setMaximumLength:]): Call the new string method instead of using stringValue.
   25831         (-[KWQTextFieldController controlTextDidChange:]): Removed the code to truncate at the first CR or LF.
   25832         That's now handled in the shouldChangeTextInRange method instead.
   25833         (-[KWQTextFieldController textView:shouldHandleEvent:]): Add new logic to defer responder changes until
   25834         after the event is handled. This makes sure the key gets into the field that's already handling it at
   25835         rather than ending up in the newly-focused field if the key press handler focuses a different element.
   25836         (-[KWQTextFieldController textView:didHandleEvent:]): Turn off deferral here, now that the key press
   25837         has been handled.
   25838         (-[KWQTextFieldController string]): Added. Calls stringValue only if there's no editor. If there is
   25839         an editor, calls string on that instead.
   25840         (-[KWQTextFieldController textView:shouldChangeTextInRange:replacementString:]): Added. Called by
   25841         the three field subclasses. Truncates incoming strings at the first CR or LF character. This works
   25842         properly with Undo, and the old technique did not.
   25843         (-[KWQTextFieldController preprocessString:]): Added. Helper used for all the setStringValue methods
   25844         so they all truncate at the first CR or LF as well as truncating to the appropriate length.
   25845         (-[KWQTextField setStringValue:]): Changed to call the controller.
   25846         (-[KWQTextField textView:shouldChangeTextInRange:replacementString:]): Added. Calls the controller.
   25847         (-[KWQSecureTextField setStringValue:]): More of the same.
   25848         (-[KWQSecureTextField textView:shouldChangeTextInRange:replacementString:]): Ditto.
   25849         (-[KWQSearchField setStringValue:]): Ditto.
   25850         (-[KWQSearchField textView:shouldChangeTextInRange:replacementString:]): Ditto.
   25851 
   25852         * kwq/KWQWidget.h: Added the new setDeferFirstResponderChanges function.
   25853         * kwq/KWQWidget.mm:
   25854         (QWidget::~QWidget): Clear out the deferredFirstResponder global just in case we are destroyed
   25855         while we "have the ball".
   25856         (QWidget::hasFocus): If we are in the deferred mode, use the global to decide who to say is focused.
   25857         (QWidget::setFocus): If we are in the deferred mode, set the global instead of making something be
   25858         the first responder.
   25859         (QWidget::setDeferFirstResponderChanges): Set the boolean. If the boolean is being cleared, then
   25860         get the deferred first responder and call setFocus on it again, which will do the work we didn't
   25861         want to do earlier.
   25862 
   25863 2005-01-24  Ken Kocienda  <kocienda (a] apple.com>
   25864 
   25865         Reviewed by John
   25866 
   25867         Fix for this bug:
   25868         
   25869         <rdar://problem/3964350> Deleting all content and typing in a message gets one letter, then beeps
   25870 
   25871         This is a problem with the way we turn key events, when a user starts typing, into editing commands. 
   25872         Right now, that initial delete key in an empty window is turned into an editing command, and much 
   25873         editing code runs that need not run. What's more, this is confusing the selection machinery. The
   25874         solution is to detect the "delete in an empty window" case and don't turn this into an editing
   25875         command at all.
   25876 
   25877         * khtml/editing/htmlediting.cpp:
   25878         (khtml::TypingCommand::deleteKeyPressed)
   25879 
   25880 2005-01-23  Adele Amchan  <adele (a] apple.com>
   25881 
   25882         Fixed <rdar://problem/3964286> REGRESSION (178-179): menus and "go to old site" link at Ameritrade's new site don't work
   25883 
   25884         Removed check for document from checkCompleted.  In this case, WebCore never knew that a WebImageView was complete because 
   25885         it fell into this document check case in checkCompleted.  
   25886         Added check for document to tokenizerProcessedData (see <rdar://problem/3807144>)
   25887 
   25888         Reviewed by Darin.
   25889 
   25890         * khtml/khtml_part.cpp:
   25891         (KHTMLPart::stop):
   25892         (KHTMLPart::checkCompleted):
   25893         * khtml/khtml_part.h:
   25894         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::tokenizerProcessedData):
   25895 
   25896 2005-01-21  Richard Williamson   <rjw (a] apple.com>
   25897 
   25898 	Fixed <rdar://problem/3759399> Javascript / Liveconnect problems ((event handler):Undefined value)
   25899 
   25900 	Java applets specified with <object> or <embed> weren't scriptable.  Now they are.
   25901 
   25902         Reviewed by Chris.
   25903 
   25904         * khtml/html/html_objectimpl.cpp:
   25905         (HTMLEmbedElementImpl::getEmbedInstance):
   25906         (HTMLObjectElementImpl::getObjectInstance):
   25907 
   25908 2005-01-21  Ken Kocienda  <kocienda (a] apple.com>
   25909 
   25910         Reviewed by John
   25911 
   25912         Fix for this bug:
   25913         
   25914         <rdar://problem/3959464> REGRESSION (Mail): Insertion point goes back to beginning of document after deleting
   25915 
   25916         * khtml/editing/htmlediting.cpp:
   25917         (khtml::DeleteSelectionCommand::handleGeneralDelete): Add special case to handle retaining a fully-selected block.
   25918         This fixes the bug.
   25919         * layout-tests/editing/deleting/delete-3959464-fix-expected.txt: Added.
   25920         * layout-tests/editing/deleting/delete-3959464-fix.html: Added.
   25921 
   25922 2005-01-21  Richard Williamson   <rjw (a] apple.com>
   25923 
   25924 	Fixed <rdar://problem/3966998> REGRESSION(179-TOT) clicking on gmail message brings me to blank screen
   25925 
   25926 	getElementById() sometimes returns Undefined() instead of Null().
   25927 
   25928         Reviewed by Hyatt.
   25929 
   25930         * khtml/ecma/kjs_dom.cpp:
   25931         (DOMDocumentProtoFunc::tryCall):
   25932 
   25933 2005-01-21  David Hyatt  <hyatt (a] apple.com>
   25934 
   25935 	Fix for 3773809, make sure that overflow regions never end up at an invalid scroll offset because of a layout change.
   25936 	
   25937         Reviewed by kocienda
   25938 
   25939         * khtml/rendering/render_layer.cpp:
   25940         (RenderLayer::updateScrollInfoAfterLayout):
   25941 
   25942 2005-01-21  David Hyatt  <hyatt (a] apple.com>
   25943 
   25944 	Fix for 3966349, hang loading page.  Make sure that loops using popOneBlock properly check for a null
   25945 	blockStack to avoid an infinite loop.
   25946 	
   25947         Reviewed by kocienda
   25948 
   25949         * khtml/html/htmlparser.cpp:
   25950         (KHTMLParser::parseToken):
   25951         (KHTMLParser::insertNode):
   25952         (KHTMLParser::popInlineBlocks):
   25953 
   25954 2005-01-21  Ken Kocienda  <kocienda (a] apple.com>
   25955 
   25956         Reviewed by John
   25957 
   25958         Fix for this bug:
   25959         
   25960         <rdar://problem/3957204> Mail crashed when sending a message in ~InsertParagraphSeparatorInQuotedContentCommand
   25961 
   25962         * khtml/editing/htmlediting.cpp:
   25963         (khtml::InsertParagraphSeparatorInQuotedContentCommand::InsertParagraphSeparatorInQuotedContentCommand):
   25964         InsertParagraphSeparatorInQuotedContentCommand has this member variable: DOM::ElementImpl *m_breakNode;
   25965         I failed to initialize this variable to null in the constructor, and there is an uncommonly-traveled 
   25966         code path which does not set this variable to something good. In the destructor, we check for null, 
   25967         and deref if non-null. Obvious "BOOM" potential. Fixed.
   25968 
   25969 2005-01-21  Ken Kocienda  <kocienda (a] apple.com>
   25970 
   25971         Reviewed by John
   25972 
   25973         Fix for this bug:
   25974         
   25975         <rdar://problem/3966311> REGRESSION (Mail): Hitting return makes space character disappear
   25976 
   25977         * khtml/editing/htmlediting.cpp:
   25978         (khtml::InsertParagraphSeparatorCommand::doApply): When writing the code to insert a block
   25979         in response to the return key, I did not write code to cover the case described in the bug.
   25980         Now I have.
   25981         * layout-tests/editing/inserting/insert-div-025-expected.txt: Added.
   25982         * layout-tests/editing/inserting/insert-div-025.html: Added.
   25983 
   25984 2005-01-20  Maciej Stachowiak  <mjs (a] apple.com>
   25985 
   25986         Reviewed by Ken.
   25987 
   25988 	<rdar://problem/3965196> security fix for javascript: exploit missed one case (already fixed in updates)
   25989         
   25990 	* khtml/ecma/kjs_window.cpp:
   25991         (WindowFunc::tryCall): correct mistake in earlier fix for the following bug, caught by Adele:
   25992 
   25993 2005-01-20  Maciej Stachowiak  <mjs (a] apple.com>
   25994 
   25995         Reviewed by Ken.
   25996 
   25997 	<rdar://problem/3965466> editing needs to insert text before applying typing style
   25998 	
   25999         * khtml/editing/htmlediting.cpp:
   26000         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Remove a FIXME comment.
   26001         (khtml::InsertLineBreakCommand::doApply): Apply style to the BR
   26002 	node after inserting it.
   26003         (khtml::InsertTextCommand::prepareForTextInsertion): Don't try to
   26004 	apply style to any new nodes created before inserting.
   26005         (khtml::InsertTextCommand::input): Apply style to the inserted range
   26006 	after doing the text insert.
   26007         * khtml/editing/htmlediting.h:
   26008 
   26009 	This change leads to improved results on one of the layout tests:
   26010         
   26011 	* layout-tests/editing/inserting/insert-div-024-expected.txt:
   26012 
   26013 === Safari-180 ===
   26014 
   26015 2005-01-20  Ken Kocienda  <kocienda (a] apple.com>
   26016 
   26017         Reviewed by John
   26018 
   26019         Fix for this bug:
   26020         
   26021         <rdar://problem/3964646> REGRESSION (179-180): Typing space at end of line makes following paragraph disappear
   26022 
   26023         * khtml/editing/htmlediting.cpp:
   26024         (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Recent change to block placeholder removal code 
   26025         caused this regression. The code became too aggressive in removing block placeholders, and would remove them
   26026         from blocks other than the block containing the selection.
   26027         * layout-tests/editing/inserting/insert-div-023-expected.txt: This file had a spurious BR element in it that
   26028         I did not notice earlier.
   26029         * layout-tests/editing/inserting/insert-div-024-expected.txt: Ditto.
   26030 
   26031 2005-01-20  David Hyatt  <hyatt (a] apple.com>
   26032 
   26033 	Fix for oddness on albertsons.com.  Make sure not to crash when setting/removing style properties on a node
   26034 	with no document.  The bug # is 3813900.
   26035 	
   26036         Reviewed by john
   26037 
   26038 2005-01-20  David Harrison  <harrison (a] apple.com>
   26039 
   26040         Reviewed by Darin.
   26041 
   26042         PARTIAL fix for following bug.  Create attributed string with fonts and links.  Still need to add attachments.
   26043         <rdar://problem/3942606> AX: Support kAXAttributedStringForTextMarkerRangeParameterizedAttribute
   26044         
   26045         * kwq/KWQAccObject.mm:
   26046         (-[KWQAccObject textUnderElement]):
   26047         Touched up previous checkin to match code review comments.
   26048         
   26049         (-[KWQAccObject value]):
   26050         Use plainText for this one instead of obsolete attributedString.
   26051         
   26052         (-[KWQAccObject accessibilityParameterizedAttributeNames]):
   26053         Advertise AXAttributedStringForTextMarkerRange.
   26054         
   26055         (AXAttributeStringAddFont):
   26056         (AXAttributeStringAddElement):
   26057         (-[KWQAccObject linkUIElementForNode:]):
   26058         (-[KWQAccObject _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
   26059         (-[KWQAccObject accessibilityAttributedStringForRange:]):
   26060         New routines to support AXAttributedStringForTextMarkerRange.
   26061         
   26062         (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
   26063         Use new routines instead of obsolete attributedString.
   26064 
   26065 2005-01-20  David Harrison  <harrison (a] apple.com>
   26066 
   26067         Reviewed by Darin.
   26068 
   26069         <rdar://problem/3960196> AX Crash in DOM::Range::setStartBefore
   26070 
   26071         * khtml/xml/dom_docimpl.cpp:
   26072         (DocumentImpl::getAccObjectCache):
   26073         Adjust when detecting cache in non-top level WebArea.
   26074         * kwq/KWQAccObject.mm:
   26075         (-[KWQAccObject textUnderElement]):
   26076         (-[KWQAccObject accessibilityAttributeValue:]):
   26077         Make sure the elements document is the current one for the part.
   26078 
   26079 2005-01-20  Darin Adler  <darin (a] apple.com>
   26080 
   26081         Reviewed by John.
   26082 
   26083         - fixed <rdar://problem/3922980> Mail not crashing, just quitting itself suddenly in -[WebHTMLView(MailExtras) findString:options:]
   26084 
   26085         * khtml/dom/dom2_range.cpp: (DOM::operator==): Handle null and detached ranges without raising exceptions.
   26086         The uncaught exception would make the entire program terminate.
   26087 
   26088         - fixed <rdar://problem/3885729> attempting to modify a computed style does nothing, but should raise a DOM exception
   26089 
   26090         * kwq/DOM-CSS.mm: (-[DOMCSSStyleDeclaration setProperty:::]): Uncommented this code which I had to disable
   26091         back in November because Mail was stumbling over it.
   26092 
   26093         - fixed <rdar://problem/3943049> focus() called during onload handler results in square text field on <input type=search>        
   26094 
   26095         * kwq/KWQLineEdit.mm: (QLineEdit::baselinePosition): Change computation so it will work even for fields
   26096         that position their text in a way that depends on vertical size. In the case of a search field, the text
   26097         is centered, so the old logic was broken.
   26098         * kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]): Set the frame size to
   26099         something large enough to accomodate the field editor. If we start the frame at size 0,0 we run into
   26100         AppKit trouble when it insets the frame to figure out the frame for the field editor. In the case of this
   26101         bug this happens because we become first responder before being sized and positioned by the HTML layout code.
   26102 
   26103         - improved debugging output when using "po" from gdb with Objective-C DOM
   26104 
   26105         * kwq/DOM.mm:
   26106         (-[DOMNode description]): Added. Includes node name ("<tr>") and node value (e.g., string for text node).
   26107         (-[DOMRange description]): Tweaked format.
   26108 
   26109 2005-01-19  Richard Williamson   <rjw (a] apple.com>
   26110 
   26111 	After further discussion with Real we have decided to NOT include the
   26112 	additional CLSID for the real plugin.  See 3958601.
   26113 
   26114         Reviewed by Darin.
   26115 
   26116         * khtml/rendering/render_frames.cpp:
   26117         (RenderPartObject::updateWidget):
   26118 
   26119 2005-01-19  David Harrison  <harrison (a] apple.com>
   26120 
   26121         Reviewed by Maciej.
   26122 
   26123         <rdar://problem/3949429> AX: word marker routines returns incorrect data for empty line
   26124 
   26125         Previous checkin for this bug was missing some of the patch.  Editing snafu with multiple changes in tree.
   26126         
   26127         * kwq/KWQAccObject.mm:
   26128         (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
   26129         (-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]):
   26130         (-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
   26131         (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
   26132         (-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
   26133         (-[KWQAccObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
   26134         (-[KWQAccObject doAXPreviousParagraphStartTextMarkerForTextMarker:]):
   26135 
   26136 2005-01-19  Ken Kocienda  <kocienda (a] apple.com>
   26137 
   26138         Reviewed by John
   26139 
   26140         * khtml/editing/htmlediting.cpp:
   26141         (khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Small, cosmetic change John and I decided
   26142         to do on my last checkin, but I forgot to do before landing.
   26143 
   26144 2005-01-19  Ken Kocienda  <kocienda (a] apple.com>
   26145 
   26146         Reviewed by John
   26147 
   26148         Fix for this bug:
   26149         
   26150         <rdar://problem/3959727> REGRESSION (Mail): Style not preserved on blank lines
   26151 
   26152         * khtml/editing/htmlediting.cpp:
   26153         (khtml::CompositeEditCommand::applyStyle):
   26154         (khtml::CompositeEditCommand::insertBlockPlaceholder): New function that unconditionally adds a block placeholder.
   26155         (khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Now returns bool based on whether
   26156         placeholder was added or not.
   26157         (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Now searches all the descendents of a block
   26158         looking for a placeholder. The old code, which just looked at the last child of a node, started missing
   26159         once block placeholders became styled (which started happening with this patch).
   26160         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Now handles applying typing style
   26161         to a block placeholder at call time, rather than setting the typing style as a latent style that
   26162         might be applied later. This is an important part of the bug fix.
   26163         (khtml::DeleteSelectionCommand::doApply): Now uses bool return value from insertBlockPlaceholderIfNeeded()
   26164         and passes it along to calculateStyleBeforeInsertion, so the case where a block placeholder needs to
   26165         be styled can be detected.
   26166         (khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): Changed the way this class
   26167         managed style. Before it would calculate and set typing style for the block added. This is not
   26168         sufficient. Added blocks need to styled immediately. Some name changes to instance variables in 
   26169         this class due to the change to accommodate this change.
   26170         (khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand): Name changes, as above.
   26171         (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto.
   26172         (khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
   26173         (khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
   26174         (khtml::ReplaceSelectionCommand::doApply): Improve check for testing when a placeholder
   26175         block can be removed in its entirety after the insertion.
   26176         * khtml/editing/htmlediting.h: Update header accordingly.
   26177         * khtml/khtml_part.cpp:
   26178         (KHTMLPart::selectionComputedStyle): Move position for computed style check downstream before
   26179         doing check when the position is in an empty block (this makes sure any style on any block
   26180         placeholder is accounted for).
   26181 
   26182         New layout tests to check bug fix.
   26183 
   26184         * layout-tests/editing/style/block-style-004-expected.txt: Added.
   26185         * layout-tests/editing/style/block-style-004.html: Added.
   26186         * layout-tests/editing/style/block-style-005-expected.txt: Added.
   26187         * layout-tests/editing/style/block-style-005.html: Added.
   26188         * layout-tests/editing/style/block-style-006-expected.txt: Added.
   26189         * layout-tests/editing/style/block-style-006.html: Added.
   26190 
   26191         Results updated to reflect new block placeholder code.
   26192 
   26193         * layout-tests/editing/inserting/insert-div-004-expected.txt 
   26194         * layout-tests/editing/inserting/insert-div-005-expected.txt
   26195         * layout-tests/editing/inserting/insert-div-006-expected.txt
   26196         * layout-tests/editing/inserting/insert-div-008-expected.txt
   26197         * layout-tests/editing/inserting/insert-div-011-expected.txt
   26198         * layout-tests/editing/inserting/insert-div-012-expected.txt
   26199         * layout-tests/editing/inserting/insert-div-013-expected.txt
   26200         * layout-tests/editing/inserting/insert-div-014-expected.txt
   26201         * layout-tests/editing/inserting/insert-div-015-expected.txt
   26202         * layout-tests/editing/inserting/insert-div-016-expected.txt
   26203         * layout-tests/editing/inserting/insert-div-017-expected.txt
   26204         * layout-tests/editing/inserting/insert-div-018-expected.txt
   26205         * layout-tests/editing/inserting/insert-div-019-expected.txt
   26206         * layout-tests/editing/inserting/insert-div-021-expected.txt
   26207         * layout-tests/editing/inserting/insert-div-022-expected.txt
   26208         * layout-tests/editing/inserting/insert-div-023-expected.txt
   26209         * layout-tests/editing/inserting/insert-div-024-expected.txt
   26210 
   26211 2005-01-19  David Hyatt  <hyatt (a] apple.com>
   26212 
   26213 	Dont null-check the renderer before submitting, since a script can set it to display:none and still expect the
   26214 	submission to occur.  Fixes bug #3477282.
   26215 	
   26216         Reviewed by kdecker
   26217 
   26218         (DOM::HTMLInputElementImpl::defaultEventHandler):
   26219 
   26220 2005-01-18  Richard Williamson   <rjw (a] apple.com>
   26221 	
   26222 	Fixed several issues all arising from analysis of plugin detection code at ifilm.com:
   26223 
   26224 	Fixed <rdar://problem/3958592> can't script plug-ins if plug-in is invoked with <object> element instead of <embed>
   26225 	Fixed <rdar://problem/3958597> <object> elements with IDs do not show up as named properties of the document
   26226 	Fixed <rdar://problem/3960973> DOM objects for plugin elements are not accessible
   26227 	Fixed <rdar://problem/3958601> need an additional class ID in WebCore for the Real plug-in
   26228 
   26229 	We now support accessing scriptable plugin objects that are specified with <applet>, <embed>, or <object>
   26230 	tags.  Also, if any of these elements are named they can be accessed from the document or window objects.
   26231 	Finally, DOM methods are properties will be forwarded appropriately for the plugin's root scriptable object.
   26232 
   26233         Reviewed by Chris.
   26234 
   26235         * khtml/dom/html_document.cpp:
   26236         (HTMLDocument::objects):
   26237         * khtml/dom/html_document.h:
   26238         * khtml/ecma/kjs_dom.cpp:
   26239         (DOMDocumentProtoFunc::tryCall):
   26240         (DOMElementProtoFunc::tryCall):
   26241         (KJS::getRuntimeObject):
   26242         * khtml/ecma/kjs_dom.h:
   26243         * khtml/ecma/kjs_html.cpp:
   26244         (KJS::HTMLDocument::tryGet):
   26245         (KJS::HTMLElement::tryGet):
   26246         (KJS::HTMLCollection::tryGet):
   26247         (KJS::HTMLCollection::getNamedItems):
   26248         * khtml/ecma/kjs_window.cpp:
   26249         (Window::get):
   26250         * khtml/html/html_miscimpl.cpp:
   26251         (HTMLCollectionImpl::traverseNextItem):
   26252         * khtml/html/html_miscimpl.h:
   26253         (DOM::HTMLCollectionImpl::):
   26254         * khtml/html/html_objectimpl.cpp:
   26255         (HTMLAppletElementImpl::getAppletInstance):
   26256         (HTMLObjectElementImpl::HTMLObjectElementImpl):
   26257         (HTMLObjectElementImpl::getObjectInstance):
   26258         * khtml/html/html_objectimpl.h:
   26259         * khtml/rendering/render_frames.cpp:
   26260         (RenderPartObject::updateWidget):
   26261         * kwq/KWQKHTMLPart.h:
   26262         * kwq/KWQKHTMLPart.mm:
   26263         (KWQKHTMLPart::getObjectInstanceForView):
   26264 
   26265 2005-01-18  David Hyatt  <hyatt (a] apple.com>
   26266 
   26267 	Fix for 3948123, rolling over link erases nearby text.  The repaint rect check for lines was wrong whenever
   26268 	two lines overlapped.
   26269 	
   26270         Reviewed by kocienda
   26271 
   26272         * khtml/rendering/render_flow.cpp:
   26273         (RenderFlow::paintLines):
   26274 
   26275 2005-01-18  Ken Kocienda  <kocienda (a] apple.com>
   26276 
   26277         Reviewed by Hyatt
   26278         
   26279         Fix for this bug:
   26280         
   26281         <rdar://problem/3960116> Focus rings paint incorrectly for contenteditable blocks in web pages
   26282 
   26283         * khtml/rendering/render_flow.cpp:
   26284         (RenderFlow::addFocusRingRects): Fix painting of focus rings so that ring only paints around
   26285         outermost contenteditable elements.
   26286 
   26287 2005-01-18  David Harrison  <harrison (a] apple.com>
   26288 
   26289         Reviewed by Darin.
   26290 
   26291         <rdar://problem/3959668> accessibilityFocusedUIElement sometimes returns an ignored element; it must not
   26292 
   26293         * kwq/KWQAccObject.mm:
   26294         (-[KWQAccObject accessibilityFocusedUIElement]):
   26295         Return parentObjectUnignored if focused object is ignored.
   26296 
   26297 2005-01-18  Ken Kocienda  <kocienda (a] apple.com>
   26298 
   26299         Reviewed by John
   26300 
   26301         Fix for this bug:
   26302         
   26303         <rdar://problem/3952877> REGRESSION (Mail): Command-left/right-arrows don't work with file attachment
   26304 
   26305         * khtml/editing/selection.cpp:
   26306         (khtml::nodeForInlineBox): New helper function used in reimplementation of function below.
   26307         (khtml::selectionForLine): Reimplemented using line box smarts. I originally wrote this code when
   26308         I had a less than full understanding of line layout. I can do better now, and my new version no
   26309         longer fails to notice attachments when doing the kind of navigation mentioned in the bug.
   26310 
   26311 2005-01-17  David Harrison  <harrison (a] apple.com>
   26312 
   26313         Reviewed by John Sullivan.
   26314 
   26315         <rdar://problem/3949429> AX: word marker routines returns incorrect data for empty line
   26316         <rdar://problem/3949848> AX: paragraph marker routines do not work when given a paragraph end marker
   26317 
   26318         Also fixed sentence support in the same way.
   26319         
   26320         * kwq/KWQAccObject.mm:
   26321         (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
   26322         (-[KWQAccObject doAXNextSentenceEndTextMarkerForTextMarker:]):
   26323         (-[KWQAccObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
   26324         (-[KWQAccObject doAXNextParagraphEndTextMarkerForTextMarker:]):
   26325         (-[KWQAccObject doAXPreviousParagraphStartTextMarkerForTextMarker:]):
   26326         Move one position in desired direction before calling visible_units.cpp code.
   26327 
   26328 2005-01-17  David Harrison  <harrison (a] apple.com>
   26329 
   26330         Updated expected test results.
   26331         
   26332         <rdar://problem/3945880> line-ending space seems not to be present
   26333 
   26334         * layout-tests/editing/deleting/delete-ws-fixup-001-expected.txt:
   26335         * layout-tests/editing/deleting/delete-ws-fixup-002-expected.txt:
   26336         * layout-tests/editing/inserting/insert-div-020-expected.txt:
   26337         * layout-tests/editing/inserting/insert-div-021-expected.txt:
   26338         * layout-tests/editing/inserting/insert-div-022-expected.txt:
   26339         * layout-tests/editing/inserting/insert-div-023-expected.txt:
   26340         * layout-tests/editing/inserting/insert-div-024-expected.txt:
   26341 
   26342 2005-01-17  David Harrison  <harrison (a] apple.com>
   26343 
   26344         Reviewed by Dave Hyatt (bidi.cpp) and Darin Adler (selection.cpp).
   26345 
   26346         <rdar://problem/3945880> line-ending space seems not to be present
   26347 
   26348         * khtml/editing/selection.cpp:
   26349         (khtml::Selection::validate):
   26350         Extend AFTER_WHITE_SPACE code to support white spac in the middle of paragraphs, not just the end.
   26351         * khtml/rendering/bidi.cpp:
   26352         (khtml::RenderBlock::findNextLineBreak):
   26353         Pick left/rightness of word selection based on being at the end of paragraph (i.e. after a hard line break).
   26354 
   26355 2005-01-17  Darin Adler  <darin (a] apple.com>
   26356 
   26357         Reviewed by John Louch.
   26358 
   26359         - fixed <rdar://problem/3958503> need screenX and screenY to use WebKit windowFrame delegate
   26360 
   26361         * khtml/ecma/kjs_window.cpp: (Window::get): Change screenX and screenY to use frameGeometry instead
   26362         of using mapToGlobal and screen in a complicated way.
   26363         * kwq/KWQKHTMLView.mm: Removed unused mapToGlobal function.
   26364         * kwq/KWQWindowWidget.h: Ditto.
   26365         * kwq/KWQWindowWidget.mm: Ditto.
   26366 
   26367 2005-01-17  David Hyatt  <hyatt (a] apple.com>
   26368 
   26369 	Fix a screwup in rightmost/lowets position computation.  3955207.  Make sure floats with layers are still checked.
   26370 
   26371         Reviewed by kocienda
   26372 	
   26373 	* khtml/rendering/render_block.cpp
   26374 
   26375 2005-01-17  Ken Kocienda  <kocienda (a] apple.com>
   26376 
   26377         Reviewed by John
   26378 
   26379         <rdar://problem/3953366> Problems with typing attributes in HTML compose
   26380 
   26381         * khtml/editing/htmlediting.cpp:
   26382         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Remove misguided "optimization"
   26383         that tried to sense when typing style could be cleared without actually doing a style diff between
   26384         before-delete and after-delete positions. Removing this extra check and running the 
   26385         general-purpose code fixes the bug.
   26386 
   26387 2005-01-17  Richard Williamson   <rjw (a] apple.com>
   26388 
   26389 	Fixed <rdar://problem/3753030> Need to ensure same origin for plugin binding invocations (origin security rules)
   26390 
   26391 	Keep track of originating execution context and target execution
   26392 	context for native JS object wrappers, and perform appropriate
   26393 	security checks.
   26394 
   26395         Reviewed by David Harrison.
   26396 
   26397         * khtml/ecma/kjs_binding.cpp:
   26398         (ScriptInterpreter::isGlobalObject):
   26399         (ScriptInterpreter::isSafeScript):
   26400         (ScriptInterpreter::interpreterForGlobalObject):
   26401         * khtml/ecma/kjs_binding.h:
   26402         * khtml/ecma/kjs_window.cpp:
   26403         (Window::interpreter):
   26404         (Window::isSafeScript):
   26405         * khtml/ecma/kjs_window.h:
   26406         * kwq/DOMInternal.mm:
   26407         (-[WebScriptObject _initializeScriptDOMNodeImp]):
   26408         * kwq/KWQKHTMLPart.mm:
   26409         (KWQKHTMLPart::windowScriptObject):
   26410         (KWQKHTMLPart::windowScriptNPObject):
   26411         * kwq/WebCoreBridge.mm:
   26412         (rootForView):
   26413         (-[WebCoreBridge init]):
   26414 
   26415 2005-01-17  Ken Kocienda  <kocienda (a] apple.com>
   26416 
   26417         Reviewed by John
   26418 
   26419         Fix for this bug:
   26420         
   26421         <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with 
   26422         "size up" and "size down" NSFontManager changes
   26423 
   26424         * khtml/css/cssparser.cpp:
   26425         (CSSParser::parseValue): Add support for parsing new font size delta property.
   26426         * khtml/css/cssproperties.c: Generated file.
   26427         * khtml/css/cssproperties.h: Ditto.
   26428         * khtml/css/cssproperties.in: Add support for parsing new font size delta property.
   26429         * khtml/editing/htmlediting.cpp:
   26430         (khtml::isEmptyStyleSpan): New helper function. Code existed before, but now factored out for convenient use.
   26431         (khtml::CompositeEditCommand::removeNodeAttribute): Does check on value to see it exists before creating
   26432         and running command to do the removal.
   26433         (khtml::ApplyStyleCommand::doApply): Now calls new applyRelativeFontStyleChange() function as part of its work.
   26434         (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): New function that does the "heavy lifting" to handle 
   26435         relative font size changes.
   26436         (khtml::ApplyStyleCommand::applyInlineStyle): Range check the start and end positions to make sure the start is
   26437         before or equal to the end. Swap them if not true. I ran into this problem in some similar code in 
   26438         applyRelativeFontStyleChange(). Moving that goodness here too.
   26439         (khtml::ApplyStyleCommand::splitTextAtEndIfNeeded): Uses a local variable to save a value used often.
   26440         Code is the same, but reads better now. Function now returns bool as well, just like splitTextAtStartIfNeeded.
   26441         I use the bool return value now (I obviously did not need it before).
   26442         (khtml::ApplyStyleCommand::computedFontSize): New helper function.
   26443         (khtml::ApplyStyleCommand::joinChildTextNodes): Ditto.
   26444         (khtml::createStyleSpanElement): Ditto.
   26445         * khtml/editing/htmlediting.h: Update header accordingly.
   26446         * khtml/editing/jsediting.cpp: Add new command string to enable relative font size changes.
   26447         * kwq/DOM-CSS.mm:
   26448         (-[DOMCSSStyleDeclaration _fontSizeDelta]): New convenience.
   26449         (-[DOMCSSStyleDeclaration _setFontSizeDelta:]): Ditto.
   26450         * kwq/DOMPrivate.h: Declare new conveniences.
   26451         * layout-tests/editing/editing.js: Add new JS to enable relative font size changes, as well as explicit font size setting.
   26452         * layout-tests/editing/style/relative-font-size-change-001-expected.txt: Added.
   26453         * layout-tests/editing/style/relative-font-size-change-001.html: Added.
   26454         * layout-tests/editing/style/relative-font-size-change-002-expected.txt: Added.
   26455         * layout-tests/editing/style/relative-font-size-change-002.html: Added.
   26456         * layout-tests/editing/style/relative-font-size-change-003-expected.txt: Added.
   26457         * layout-tests/editing/style/relative-font-size-change-003.html: Added.
   26458         * layout-tests/editing/style/relative-font-size-change-004-expected.txt: Added.
   26459         * layout-tests/editing/style/relative-font-size-change-004.html: Added.
   26460 
   26461 2005-01-14  Darin Adler  <darin (a] apple.com>
   26462 
   26463         * khtml/css/cssproperties.c: Regenerated with gperf 3.0.1.
   26464         * khtml/css/cssvalues.c: Regenerated with gperf 3.0.1.
   26465         * khtml/misc/htmlattrs.c: Regenerated with gperf 3.0.1.
   26466         * khtml/misc/htmltags.c: Regenerated with gperf 3.0.1.
   26467 
   26468 2005-01-14  Chris Blumenberg  <cblu (a] apple.com>
   26469 
   26470 	Fixed: <rdar://problem/3886415> arrow keys don't work when the user hits Back to return to RSS page
   26471 
   26472         Reviewed by hyatt.
   26473 
   26474         (KWQKHTMLPart::openURLFromPageCache): restore mousePressNode
   26475         (KWQKHTMLPart::mousePressNode): new
   26476         * kwq/KWQPageState.h:
   26477         * kwq/KWQPageState.mm:
   26478         (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:]): save the mousePressNode
   26479         (-[KWQPageState clear]): clear the mousePressNode
   26480         (-[KWQPageState dealloc]): deref the mousePressNode
   26481         (-[KWQPageState mousePressNode]): new
   26482 
   26483 === Safari-179 ===
   26484 
   26485 2005-01-13  Vicki Murley <vicki (a] apple.com>
   26486 
   26487         Reviewed by Adele.
   26488 
   26489         - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005
   26490 
   26491         * WebCore.pbproj/project.pbxproj: bump "2004" to "2005"
   26492 
   26493 2005-01-13  David Harrison  <harrison (a] apple.com>
   26494 
   26495         Reviewed by Ken Kocienda.
   26496         
   26497         Better fix for 3905066.
   26498         
   26499         * khtml/editing/htmlediting.cpp:
   26500         (khtml::InsertParagraphSeparatorCommand::doApply):
   26501 
   26502 2005-01-10  Maciej Stachowiak  <mjs (a] apple.com>
   26503 
   26504         Reviewed by Darin.
   26505 
   26506 	<rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input)
   26507         
   26508         * khtml/rendering/render_text.cpp:
   26509         (InlineTextBox::paint): Support painting custom underline markers for
   26510 	marked text in place of generic yellow.
   26511         (InlineTextBox::paintMarkedTextUnderline): New method that handles this.
   26512         * khtml/rendering/render_text.h:
   26513         * kwq/KWQKHTMLPart.h: Declare new methods and structs.
   26514         * kwq/KWQKHTMLPart.mm:
   26515         (KWQKHTMLPart::clear): Clear marked test underlines.
   26516         (KWQKHTMLPart::setMarkedTextRange): Takes attributes and ranges now.
   26517         (convertAttributesToUnderlines): Converts NSAttributedString attributes
   26518 	to simplified and C++-friendly form.
   26519         (KWQKHTMLPart::markedTextUsesUnderlines): New method.
   26520         (KWQKHTMLPart::markedTextUnderlines): New method.
   26521         * kwq/KWQPainter.mm:
   26522         (QPainter::drawLineForText): Handle pen width.
   26523         * kwq/WebCoreBridge.h:
   26524         * kwq/WebCoreBridge.mm:
   26525         (-[WebCoreBridge setMarkedTextDOMRange:customAttributes:ranges:]): Take attributes
   26526 	and ranges.
   26527         * kwq/WebCoreTextRenderer.h:
   26528 
   26529 2005-01-12  David Harrison  <harrison (a] apple.com>
   26530 
   26531         Reviewed by Dave Hyatt.
   26532 
   26533         <rdar://problem/3888973> AX: Parent AXWebArea of nested AXWebAreas is messed up
   26534         
   26535         * kwq/KWQAccObject.mm:
   26536         (-[KWQAccObject addChildrenToArray:]):
   26537         Use the widget's outer view.
   26538 
   26539 2005-01-12  David Harrison  <harrison (a] apple.com>
   26540 
   26541         Reviewed by Darin Adler.
   26542 
   26543         <rdar://problem/3949908> Crash when asking for the kAXLengthForTextMarkerRangeParameterizedAttribute
   26544         
   26545         * khtml/xml/dom_nodeimpl.cpp:
   26546         (NodeImpl::displayNode):
   26547         Add quotes around text node content.
   26548         (NodeBaseImpl::childNode):
   26549         Add nil check to return nil rather than crash when child node not found.
   26550         * kwq/KWQAccObject.mm:
   26551         (-[KWQAccObject doAXStringForTextMarkerRange:]):
   26552         Pass range compliant positions to TextIterator.
   26553 
   26554 2005-01-12  David Hyatt  <hyatt (a] apple.com>
   26555 
   26556 	Fix for 3951203, CSS border style incorrectly clipped on inline elements.  Make sure the repaint rect set during
   26557 	line layout is smarter about including the overflow for both old states and new states.
   26558 	
   26559         Reviewed by john
   26560 
   26561         * khtml/rendering/bidi.cpp:
   26562         (khtml::RenderBlock::layoutInlineChildren):
   26563 
   26564 2005-01-12  David Hyatt  <hyatt (a] apple.com>
   26565 
   26566 	Fix for bug 3937608, versiontracker.com flashes and displays the right column below content.  Make sure to move
   26567 	tables/overflows that dont fit within a block only in strict mode.
   26568 
   26569 	Fix for bug 3931049, characters dont show up when typing.  Make sure to dirty the right lines when this specific
   26570 	case in editing is hit.
   26571 	
   26572         Reviewed by darin (first one), kocienda (second one)
   26573 
   26574         * khtml/rendering/render_block.cpp:
   26575         (khtml::RenderBlock::getClearDelta):
   26576         * khtml/rendering/render_flow.cpp:
   26577         (RenderFlow::dirtyLinesFromChangedChild):
   26578         * khtml/rendering/render_line.cpp:
   26579         (khtml::InlineFlowBox::verticallyAlignBoxes):
   26580 
   26581 2005-01-12  Ken Kocienda  <kocienda (a] apple.com>
   26582 
   26583         Reviewed by John
   26584 
   26585         Fix for this bug:
   26586         
   26587         <rdar://problem/3926142> REGRESSION (Mail): Deleting text decreases quote level
   26588 
   26589         * khtml/editing/htmlediting.cpp:
   26590         (khtml::DeleteSelectionCommand::initializePositionData): Change test that will prevent block
   26591         merging. End-of-line test was just wrong. Call new start-of and end-of paragraph functions
   26592         added to visible_position files.
   26593         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Add tests for BR elements, which makes
   26594         tests to determine when to stop moving nodes more complete and correct. Also improved comments.
   26595         * khtml/editing/visible_position.cpp:
   26596         (khtml::isFirstVisiblePositionInParagraph): New function.
   26597         (khtml::isLastVisiblePositionInParagraph): New function.
   26598         * khtml/editing/visible_position.h: Update header accordingly.
   26599         * layout-tests/editing/deleting/delete-block-merge-contents-002-expected.txt: New results, slightly different from former
   26600         results but still correct.
   26601         * layout-tests/editing/deleting/delete-block-merge-contents-007-expected.txt: Ditto.
   26602         * layout-tests/editing/deleting/delete-block-merge-contents-018-expected.txt: Added.
   26603         * layout-tests/editing/deleting/delete-block-merge-contents-018.html: Added.
   26604         * layout-tests/editing/deleting/delete-block-merge-contents-019-expected.txt: Added.
   26605         * layout-tests/editing/deleting/delete-block-merge-contents-019.html: Added.
   26606         * layout-tests/editing/deleting/delete-block-merge-contents-020-expected.txt: Added.
   26607         * layout-tests/editing/deleting/delete-block-merge-contents-020.html: Added.
   26608         * layout-tests/editing/deleting/delete-block-merge-contents-021-expected.txt: Added.
   26609         * layout-tests/editing/deleting/delete-block-merge-contents-021.html: Added.
   26610         * layout-tests/editing/deleting/delete-line-014-expected.txt: These new results are actually better, and fix a bug.
   26611 
   26612 2005-01-11  Richard Williamson   <rjw (a] apple.com>
   26613 
   26614 	Fixed 3922875.  Fall back to DOM object is EMBED element
   26615 	has no associated runtime object.
   26616 
   26617         Reviewed by Chris.
   26618 
   26619         * khtml/ecma/kjs_dom.cpp:
   26620         (KJS::getRuntimeObject):
   26621         * khtml/ecma/kjs_html.cpp:
   26622         (KJS::HTMLDocument::tryGet):
   26623         (KJS::HTMLElement::tryGet):
   26624         (KJS::HTMLCollection::tryGet):
   26625         (KJS::HTMLCollection::getNamedItems):
   26626 
   26627 2005-01-11  David Hyatt  <hyatt (a] apple.com>
   26628 
   26629         Fix for 3882299, missing content on gibson.com.  Change our handling of " and ' in certain states of the parser to match
   26630 	other browsers.
   26631 	
   26632         Reviewed by Maciej
   26633 
   26634         * khtml/html/htmltokenizer.cpp:
   26635         (khtml::HTMLTokenizer::parseTag):
   26636 
   26637 2005-01-11  Chris Blumenberg  <cblu (a] apple.com>
   26638 
   26639 	Fixed: <rdar://problem/3930733> Mail prints second page of email blank
   26640 
   26641         Reviewed by dave.
   26642 
   26643         * khtml/rendering/render_canvas.cpp:
   26644         (RenderCanvas::paint): cache the print rect since the dirty rect can get changed during printing
   26645         * khtml/rendering/render_flow.cpp:
   26646         (RenderFlow::paintLines): removed null check since the print rect should never be null
   26647         * khtml/rendering/render_list.cpp:
   26648         (RenderListMarker::paint): ditto
   26649         * kwq/KWQKHTMLPart.mm:
   26650         (KWQKHTMLPart::adjustPageHeight): don't set the print rect here since this method is not called for the last page
   26651 
   26652 2005-01-10  Ken Kocienda  <kocienda (a] apple.com>
   26653 
   26654         Reviewed by Hyatt
   26655 
   26656         Fix for this bug:
   26657         
   26658         <rdar://problem/3943648> extra line is inserted after pressing return within quoted text of reply
   26659 
   26660         * khtml/editing/htmlediting.cpp:
   26661         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): This bug was the result of a 
   26662         simple coding mistake. A local variable was erroneously redefined in a deeper scope, and so the 
   26663         result calculated in that deeper scope was not available when tested.
   26664 
   26665 2005-01-10  Ken Kocienda  <kocienda (a] apple.com>
   26666 
   26667         Reviewed by John
   26668 
   26669         Fix for this bug:
   26670         
   26671         <rdar://problem/3946852> Option-e goes to next line
   26672 
   26673         * khtml/editing/htmlediting.cpp:
   26674         (khtml::ReplaceSelectionCommand::doApply): Tweak case used to determine when merging content
   26675         into the start line is done. We plan to change pretty substantially soon to better handle
   26676         the problem described in <rdar://problem/3937352> Quote level not maintained when copied 
   26677         and pasted within a Mail message. In the meantime, this change does no harm, and fixes the bug.
   26678 
   26679 2005-01-10  Ken Kocienda  <kocienda (a] apple.com>
   26680 
   26681         Reviewed by Darin
   26682 
   26683         Fix for this bug:
   26684         
   26685         <rdar://problem/3907005> Applying block styles to a line of text can unexpectedly affect other lines
   26686 
   26687         * khtml/editing/htmlediting.cpp:
   26688         (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): New function which moves "paragraphs"
   26689         to their own blocks if needed so that a block style can be applied.
   26690         (khtml::CompositeEditCommand::isMailBlockquote): Moved this function to base class so it can be used more generally.
   26691         (khtml::ApplyStyleCommand::applyBlockStyle): Pass a node instead of a block to addBlockStyleIfNeeded().
   26692         (khtml::ApplyStyleCommand::addBlockStyleIfNeeded): Now accepts a node instead of a block for styling.
   26693         This function also now calls moveParagraphContentsToNewBlockIfNecessary() to make sure that only the current
   26694         paragraph is styled.
   26695         (khtml::SetNodeAttributeCommand::doUnapply): Should not assert on undo if old value of attribute was null.
   26696         Should remove attributue instead.
   26697         * khtml/editing/htmlediting.h: Touch function declarations accordingly.
   26698         * layout-tests/editing/style/create-block-for-style-001-expected.txt: Added.
   26699         * layout-tests/editing/style/create-block-for-style-001.html: Added.
   26700         * layout-tests/editing/style/create-block-for-style-002-expected.txt: Added.
   26701         * layout-tests/editing/style/create-block-for-style-002.html: Added.
   26702         * layout-tests/editing/style/create-block-for-style-003-expected.txt: Added.
   26703         * layout-tests/editing/style/create-block-for-style-003.html: Added.
   26704         * layout-tests/editing/style/create-block-for-style-004-expected.txt: Added.
   26705         * layout-tests/editing/style/create-block-for-style-004.html: Added.
   26706         * layout-tests/editing/style/create-block-for-style-005-expected.txt: Added.
   26707         * layout-tests/editing/style/create-block-for-style-005.html: Added.
   26708         * layout-tests/editing/style/create-block-for-style-006-expected.txt: Added.
   26709         * layout-tests/editing/style/create-block-for-style-006.html: Added.
   26710         * layout-tests/editing/style/create-block-for-style-007-expected.txt: Added.
   26711         * layout-tests/editing/style/create-block-for-style-007.html: Added.
   26712         * layout-tests/editing/style/create-block-for-style-008-expected.txt: Added.
   26713         * layout-tests/editing/style/create-block-for-style-008.html: Added.
   26714         * layout-tests/editing/style/create-block-for-style-009-expected.txt: Added.
   26715         * layout-tests/editing/style/create-block-for-style-009.html: Added.
   26716         * layout-tests/editing/style/create-block-for-style-010-expected.txt: Added.
   26717         * layout-tests/editing/style/create-block-for-style-010.html: Added.
   26718         * layout-tests/editing/style/create-block-for-style-011-expected.txt: Added.
   26719         * layout-tests/editing/style/create-block-for-style-011.html: Added.
   26720         * layout-tests/editing/style/create-block-for-style-012-expected.txt: Added.
   26721         * layout-tests/editing/style/create-block-for-style-012.html: Added.
   26722         * layout-tests/editing/style/create-block-for-style-013-expected.txt: Added.
   26723         * layout-tests/editing/style/create-block-for-style-013.html: Added.
   26724 
   26725         Unrelated updates to these expected results.
   26726         * layout-tests/editing/inserting/insert-div-007-expected.txt
   26727         * layout-tests/editing/pasteboard/paste-text-013-expected.txt
   26728 
   26729 2005-01-10  Chris Blumenberg  <cblu (a] apple.com>
   26730 
   26731 	Fixed: <rdar://problem/3936844> Mail: Messages with rich text do not print
   26732 
   26733         Reviewed by john.
   26734 
   26735         * khtml/rendering/render_flow.cpp:
   26736         (RenderFlow::paintLines): don't do pagination work if printRect is not set
   26737         * khtml/rendering/render_list.cpp:
   26738         (RenderListMarker::paint): ditto
   26739 
   26740 2005-01-10  David Harrison  <harrison (a] apple.com>
   26741 
   26742         Reviewed by Darin.
   26743 
   26744         * kwq/KWQTextUtilities.mm:
   26745         (currentTextBreakLocaleID):
   26746         Return empty string (AKA root locale) if locale pref can not be canonicalized.
   26747 
   26748 2005-01-10  John Sullivan  <sullivan (a] apple.com>
   26749 
   26750         Fixed broken Panther build.
   26751 
   26752         * kwq/KWQTextUtilities.mm:
   26753         (currentTextBreakLocaleID):
   26754         This recently-added function was using code copy/pasted from CarbonCore UnicodeUtilities.
   26755         That code used a Tiger-only function, CFLocaleCreateCanonicalLanguageIdentifierFromString.
   26756         To fix the build, I added a BUILDING_ON_PANTHER #ifdef that avoids the call to the Tiger
   26757         function. However, the Tiger-only code was wrong; the string generated using 
   26758         CFLocaleCreateCanonicalLanguageIdentifierFromString was not used at all, so I fixed that
   26759         as well.
   26760 
   26761 2005-01-09  David Harrison  <harrison (a] apple.com>
   26762 
   26763         Reviewed by Ken Kocienda.
   26764 
   26765         <rdar://problem/3786362> REGRESSION (Mail): pasted text loses one newline
   26766         
   26767         * khtml/editing/htmlediting.cpp:
   26768         (khtml::ReplaceSelectionCommand::doApply):
   26769         Tune check for need for insertParagraphSeparator when hasInterchangeNewline.
   26770 
   26771 2005-01-09  Darin Adler  <darin (a] apple.com>
   26772 
   26773         Reviewed by Harrison.
   26774 
   26775         - fixed <rdar://problem/3939176> select() method does not work on <input type=search>
   26776 
   26777         * khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::select): Changed if statement
   26778         to a switch statement. Added SEARCH to the set of types that treat the renderer as a
   26779         RenderLineEdit.
   26780 
   26781 2005-01-09  David Harrison  <harrison (a] apple.com>
   26782 
   26783         Reviewed by Ken Kocienda.
   26784 
   26785         <rdar://problem/3905066> REGRESSION (Mail): Hitting return key with caret in front of space causes space to become lost (resize fixes)
   26786 
   26787         Problem was that InsertParagraphSeparatorCommand::doApply() was not collapsing
   26788         whitespace to a single non-breaking space when splitting a text node.
   26789 
   26790         * khtml/editing/htmlediting.cpp:
   26791         (khtml::InsertParagraphSeparatorCommand::doApply):
   26792 
   26793 2005-01-08  Kevin Decker  <kdecker (a] apple.com>
   26794 
   26795         Reviewed by Ken.
   26796 
   26797 	Fixed: <rdar://problem/3924219> Calling setOuterHTML: on a DOMHTMLHtmlElement can crash a program
   26798 
   26799         * khtml/html/html_elementimpl.cpp:
   26800         (HTMLElementImpl::setOuterHTML): Added a nil check for fragments who don't have parents.
   26801 
   26802 2005-01-07  Maciej Stachowiak  <mjs (a] apple.com>
   26803 
   26804         Reviewed by Darin.
   26805 	
   26806 	<rdar://problem/3807144> REGRESSION (125-TOT): my bank's website doesn't work (Societe Generale, socgen.com)
   26807 
   26808         * Khtml/khtml_part.cpp:
   26809         (KHTMLPart::checkCompleted): If the document is NULL, assume this frame has
   26810 	not started loading yet so it could not possibly be finishing here...
   26811         (KHTMLPart::stop): ...unless the part is explicitly stopped and there is still
   26812 	no document, in this case we must have hit an error or been loading a non-HTML
   26813 	frame.
   26814         * khtml/khtml_part.h:
   26815 
   26816 2005-01-08  David Harrison  <harrison (a] apple.com>
   26817 
   26818         Reviewed by Maciej.
   26819 
   26820         <rdar://problem/3943415> REGRESSION (Mail): double-clicking past word selects previous word instead of only blank space
   26821         
   26822         * khtml/editing/selection.cpp:
   26823         (khtml::Selection::validate):
   26824         Tune word selections left/right choice to use right if on empty last line.
   26825 
   26826 2005-01-07  David Harrison  <harrison (a] apple.com>
   26827 
   26828         Reviewed by Darin.
   26829 
   26830         <rdar://problem/3942619> AX: Support sentence ax attributes
   26831 
   26832         Needed to use the unicode utilities properly.  Twas lame before.
   26833 
   26834         * khtml/editing/visible_units.cpp:
   26835         (khtml::previousBoundary):
   26836         (khtml::nextBoundary):
   26837         (khtml::startOfWord):
   26838         (khtml::endOfWord):
   26839         (khtml::previousWordPosition):
   26840         (khtml::nextWordPosition):
   26841         (khtml::startOfSentence):
   26842         (khtml::endOfSentence):
   26843         (khtml::previousSentencePosition):
   26844         (khtml::nextSentencePosition):
   26845         * kwq/KWQAccObject.mm:
   26846         (-[KWQAccObject accessibilityAttributeNames]):
   26847         (-[KWQAccObject accessibilityAttributeValue:]):
   26848         (-[KWQAccObject accessibilityParameterizedAttributeNames]):
   26849         (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
   26850         * kwq/KWQTextUtilities.mm:
   26851         (currentTextBreakLocaleID):
   26852         (KWQFindSentenceBoundary):
   26853         (KWQFindNextSentenceFromIndex):
   26854 
   26855 2005-01-07  Ken Kocienda  <kocienda (a] apple.com>
   26856 
   26857         Reviewed by Kevin
   26858 
   26859         Fix for these bugs:
   26860         
   26861         <rdar://problem/3939523> in some cases, text does not retain style info after pressing return twice
   26862         <rdar://problem/3944492> after pressing return twice, text is bold when it shouldn't be
   26863 
   26864         * khtml/editing/htmlediting.cpp:
   26865         (khtml::InsertParagraphSeparatorCommand::setFullTypingStyleBeforeInsertion):
   26866         Merge the typing style with the computed style for the current position. Fixes both bugs.
   26867         * khtml/editing/htmlediting.h:
   26868         * layout-tests/editing/inserting/insert-div-023-expected.txt: Added.
   26869         * layout-tests/editing/inserting/insert-div-023.html: Added.
   26870         * layout-tests/editing/inserting/insert-div-024-expected.txt: Added.
   26871         * layout-tests/editing/inserting/insert-div-024.html: Added.
   26872 
   26873 2005-01-07  David Hyatt  <hyatt (a] apple.com>
   26874 
   26875 	Fix for 3941364, make sure tables reset overflowWidth/Height when they lay out again.  Fixes the odd scrolling
   26876 	behavior on worldofwarcraft.com.
   26877 	
   26878         Reviewed by kevin
   26879 
   26880         * khtml/rendering/render_table.cpp:
   26881         (RenderTable::layout):
   26882 
   26883 2005-01-06  David Hyatt  <hyatt (a] apple.com>
   26884 
   26885 	Fix for 3932418 and 3920998, assertion failures caused by stray inline content inside tables.  Bulletproof the hit testing to
   26886 	ignore inline flows in this case.
   26887 	
   26888         Reviewed by kevin
   26889 
   26890         * khtml/rendering/render_block.cpp:
   26891         (khtml::RenderBlock::nodeAtPoint):
   26892 
   26893 2005-01-07  Ken Kocienda  <kocienda (a] apple.com>
   26894 
   26895         Reviewed by Hyatt
   26896 
   26897         Fix for this bug:
   26898         
   26899         <rdar://problem/3848412> for forwarded message, tabbing to message view scrolls to bottom of view
   26900 
   26901         * kwq/KWQKHTMLPart.mm:
   26902         (KWQKHTMLPart::nextKeyViewInFrame): Don't scroll the focus node to visible if it is not
   26903         in the document, or if it is not a descendent of the document element. In the case of the bug,
   26904         since the selection has not yet been set up, the focus node passed here is the HTML element, and
   26905         that does not yield a rect that is useful to us here. So now, in the case the bug mentions, we do nothing.
   26906 
   26907 2005-01-06  Kevin Decker  <kdecker (a] apple.com>
   26908 
   26909         Reviewed by mjs.
   26910 
   26911 	Fixed: <rdar://problem/3932215> REGRESSION (125-177): iFrame example at developer.apple.com fails in Safari
   26912 
   26913         * khtml/khtml_part.cpp:
   26914         (KHTMLPart::processObjectRequest): m_bComplete was never true for frames generated by Javascript due to our synchronous loading and as a result, scheduled redirects wouldn't fire in KHTMLPart::scheduleLocationChange().  By virtue of being an empty document, a document is complete.  In this special case it's safe at this point to call checkCompleted() which sets m_bComplete true. 
   26915 
   26916 === Safari-178 ===
   26917 
   26918 2005-01-06  David Harrison  <harrison (a] apple.com>
   26919 
   26920         Reviewed by Chris.
   26921 
   26922         (addendum to previous checkin for this bug) 
   26923         <rdar://problem/3776056> AX: Editable HTML should not be viewed as AXStaticText
   26924 
   26925         Fix line navigation.  Add AXUIElementForTextMarker.
   26926 
   26927         * kwq/KWQAccObject.mm:
   26928         (-[KWQAccObject accessibilityParameterizedAttributeNames]):
   26929         (-[KWQAccObject doAXUIElementForTextMarker:]):
   26930         (-[KWQAccObject doAXLineForTextMarker:]):
   26931         (-[KWQAccObject doAXTextMarkerRangeForLine:]):
   26932         (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
   26933         (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
   26934         (-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
   26935         (-[KWQAccObject accessibilityAttributeValue:forParameter:]):
   26936 
   26937 2005-01-06  Darin Adler  <darin (a] apple.com>
   26938 
   26939         Reviewed by Ken.
   26940 
   26941         - re-fixed <rdar://problem/3760910> Request to include support for custom tag names in HTML (they already work in XML)
   26942 
   26943         (turns out the PLT regression was a false alarm)
   26944 
   26945         * khtml/html/htmlparser.h: Change forbidden tag array to be allocated in the object rather than on
   26946         the heap. Also use ID_LAST_TAG for the array size; the old code used ID_CLOSE_TAG which is now a
   26947         much larger number.
   26948         * khtml/html/htmlparser.cpp:
   26949         (KHTMLParser::KHTMLParser): Remove code that creates the forbidden tag array on the heap; makes more
   26950         sense to just have the array be a member so we don't have to use new and delete on it. Also needed
   26951         to eliminate code that used ID_CLOSE_TAG for an array size.
   26952         (KHTMLParser::~KHTMLParser): Remove code that deletes the forbidden tag array. Also changed the code
   26953         that manages isindex to use deref instead of delete.
   26954         (KHTMLParser::reset): Use safer sizeof for clearing the forbidden tag array. Old code had the
   26955         mistake of using ID_CLOSE_TAG for the array size too.
   26956         (KHTMLParser::parseToken): Removed code that checks for bogus tags; it's not clear why it was ever
   26957         there and it would prevent custom tags from working. Added range check before using the forbidden
   26958         tag array with the token ID since custom tags will use index values past the end of the array.
   26959         (KHTMLParser::getElement): Removed most of the code that makes an element by ID; now the work is done
   26960         inside the DocumentImpl createHTMLElement. Any code that needs to be different than a dynamic
   26961         createElement call is still here. Last time I left out a few form element types from this switch;
   26962         fixed now.
   26963         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): Call the tagId function in the
   26964         document if getTagID fails; this creates a unique per-document ID.
   26965 
   26966         * khtml/misc/htmltags.c: Regenerated.
   26967         * khtml/misc/htmltags.h: Regenerated.
   26968 
   26969         * khtml/misc/maketags: Changed the generated constants to use "const unsigned short" instead of "#define".
   26970         Changed ID_CLOSE_TAG to be a fixed value of 32000 rather than being just past the IDs of the HTML tags.
   26971         Also rewrote getTagName to work with the new scheme.
   26972 
   26973 2005-01-06  David Harrison  <harrison (a] apple.com>
   26974         
   26975         Fixed Panther build.  Also, do not advertize sentence support since it is incomplete.
   26976         
   26977         * kwq/KWQAccObject.mm:
   26978         (-[KWQAccObject visiblePositionForEndOfTextMarkerRange:]):
   26979         (-[KWQAccObject accessibilityParameterizedAttributeNames]):
   26980         (-[KWQAccObject accessibilityIsAttributeSettable:]):
   26981 
   26982 2005-01-06  David Harrison  <harrison (a] apple.com>
   26983 
   26984         Reviewed by Dave Hyatt.
   26985 
   26986         <rdar://problem/3776056> AX: Editable HTML should not be viewed as AXStaticText
   26987         <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work
   26988         
   26989         Many more AX attributes supported.  Numerous fixes to previous AX work.
   26990         
   26991         * khtml/editing/visible_units.cpp:
   26992         (khtml::startSentenceBoundary):
   26993         (khtml::startOfSentence):
   26994         (khtml::endSentenceBoundary):
   26995         (khtml::endOfSentence):
   26996         (khtml::previousSentencePositionBoundary):
   26997         (khtml::previousSentencePosition):
   26998         (khtml::nextSentencePositionBoundary):
   26999         (khtml::nextSentencePosition):
   27000         * khtml/editing/visible_units.h:
   27001         * khtml/khtmlview.cpp:
   27002         (KHTMLView::layout):
   27003         * khtml/misc/helper.cpp:
   27004         (khtml::findSentenceBoundary):
   27005         (khtml::nextSentenceFromIndex):
   27006         * khtml/misc/helper.h:
   27007         * khtml/misc/htmltags.c:
   27008         (hash_tag):
   27009         (findTag):
   27010         * khtml/rendering/render_container.cpp:
   27011         (RenderContainer::removeChildNode):
   27012         (RenderContainer::appendChildNode):
   27013         (RenderContainer::insertChildNode):
   27014         * khtml/rendering/render_object.cpp:
   27015         (RenderObject::remove):
   27016         * khtml/xml/dom_docimpl.cpp:
   27017         (DocumentImpl::getAccObjectCache):
   27018         (DocumentImpl::updateSelection):
   27019         (DocumentImpl::close):
   27020         (DocumentImpl::setFocusNode):
   27021         (DocumentImpl::parentDocument):
   27022         (DocumentImpl::topDocument):
   27023         * khtml/xml/dom_docimpl.h:
   27024         * kwq/KWQAccObject.mm:
   27025         (-[KWQAccObject accessibilityShouldUseUniqueId]):
   27026         (-[KWQAccObject detach]):
   27027         (-[KWQAccObject anchorElement]):
   27028         (-[KWQAccObject firstChild]):
   27029         (-[KWQAccObject lastChild]):
   27030         (-[KWQAccObject previousSibling]):
   27031         (-[KWQAccObject nextSibling]):
   27032         (-[KWQAccObject parentObject]):
   27033         (-[KWQAccObject value]):
   27034         (-[KWQAccObject accessibilityAttributeNames]):
   27035         (-[KWQAccObject accessibilityPerformAction:]):
   27036         (-[KWQAccObject textMarkerForVisiblePosition:]):
   27037         (-[KWQAccObject visiblePositionForTextMarker:]):
   27038         (-[KWQAccObject textMarkerRangeFromVisiblePositions:andEndPos:]):
   27039         (-[KWQAccObject topDocument]):
   27040         (-[KWQAccObject topRenderer]):
   27041         (-[KWQAccObject topView]):
   27042         (-[KWQAccObject accessibilityAttributeValue:]):
   27043         (-[KWQAccObject accessibilityParameterizedAttributeNames]):
   27044         (-[KWQAccObject doAXLineForTextMarker:]):
   27045         (-[KWQAccObject doAXTextMarkerRangeForLine:]):
   27046         (-[KWQAccObject doAXStringForTextMarkerRange:]):
   27047         (-[KWQAccObject doAXTextMarkerForPosition:]):
   27048         (-[KWQAccObject doAXBoundsForTextMarkerRange:]):
   27049         (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
   27050         (-[KWQAccObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
   27051         (-[KWQAccObject doAXNextTextMarkerForTextMarker:]):
   27052         (-[KWQAccObject doAXPreviousTextMarkerForTextMarker:]):
   27053         (-[KWQAccObject doAXLeftWordTextMarkerRangeForTextMarker:]):
   27054         (-[KWQAccObject doAXRightWordTextMarkerRangeForTextMarker:]):
   27055         (-[KWQAccObject doAXLeftLineTextMarkerRangeForTextMarker:]):
   27056         (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
   27057         (-[KWQAccObject doAXSentenceTextMarkerRangeForTextMarker:]):
   27058         (-[KWQAccObject doAXParagraphTextMarkerRangeForTextMarker:]):
   27059         (-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]):
   27060         (-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
   27061         (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
   27062         (-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
   27063         (-[KWQAccObject doAXNextSentenceEndTextMarkerForTextMarker:]):
   27064         (-[KWQAccObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
   27065         (-[KWQAccObject doAXNextParagraphEndTextMarkerForTextMarker:]):
   27066         (-[KWQAccObject doAXPreviousParagraphStartTextMarkerForTextMarker:]):
   27067         (-[KWQAccObject doAXLengthForTextMarkerRange:]):
   27068         (-[KWQAccObject accessibilityAttributeValue:forParameter:]):
   27069         (-[KWQAccObject accessibilityHitTest:]):
   27070         (-[KWQAccObject accessibilityFocusedUIElement]):
   27071         (-[KWQAccObject accessibilityIsAttributeSettable:]):
   27072         (-[KWQAccObject doSetAXSelectedTextMarkerRange:]):
   27073         (-[KWQAccObject setAccObjectID:]):
   27074         (-[KWQAccObject removeAccObjectID]):
   27075         * kwq/KWQAccObjectCache.h:
   27076         * kwq/KWQAccObjectCache.mm:
   27077         (KWQAccObjectCache::setAccObject):
   27078         (KWQAccObjectCache::removeAccObject):
   27079         (KWQAccObjectCache::visiblePositionForTextMarker):
   27080         (KWQAccObjectCache::postNotificationToTopWebArea):
   27081         (KWQAccObjectCache::postNotification):
   27082         (KWQAccObjectCache::handleFocusedUIElementChanged):
   27083         * kwq/KWQKHTMLPart.mm:
   27084         (KWQKHTMLPart::respondToChangedContents):
   27085         * kwq/KWQTextUtilities.h:
   27086         * kwq/KWQTextUtilities.mm:
   27087         (KWQFindNextWordFromIndex):
   27088         (KWQFindSentenceBoundary):
   27089         (KWQFindNextSentenceFromIndex):
   27090         * kwq/WebCoreBridge.mm:
   27091         (-[WebCoreBridge accessibilityTree]):
   27092 
   27093 2005-01-05  Darin Adler  <darin (a] apple.com>
   27094 
   27095         Reviewed by Ken.
   27096 
   27097         - re-landing a subset of my custom tag change that does not fix the bug, but also does
   27098           not introduce a performance regression
   27099 
   27100         * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector): Changed
   27101         some code that used ID_LAST_TAG in a slightly wrong, but harmless, way.
   27102 
   27103         * khtml/editing/htmlediting.cpp:
   27104         (khtml::debugPosition): Use nodeName rather than getTagName, since the latter works for
   27105         per-document tags and is just better all around for things like the document.
   27106         (khtml::debugNode): Ditto.
   27107         * khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Ditto.
   27108         * khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
   27109         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Ditto.
   27110         * khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
   27111 
   27112         * khtml/html/dtd.cpp: (DOM::checkChild): Use ID_LAST_TAG rather than 1000 for the check that allows
   27113         non-HTML elements to be nested as desired.
   27114 
   27115         * khtml/misc/htmlhashes.h: Changed return types to unsigned short.
   27116         * khtml/misc/htmlhashes.cpp:
   27117         (khtml::getTagID): Changed return type to unsigned short.
   27118         (khtml::getAttrID): Ditto.
   27119 
   27120         * khtml/xml/dom_docimpl.h: Added overload of createHTMLElement, made it non-virtual since it's not overriden.
   27121         * khtml/xml/dom_docimpl.cpp:
   27122         (DocumentImpl::createHTMLElement): Refactored into two separate functions, one that takes the tag ID.
   27123         Also updated for a few tags that the parser handled but this did not.
   27124 
   27125         * kwq/KWQRenderTreeDebug.cpp:
   27126         (getTagName): Added. Works for custom nodes, because it calls nodeName rather than using getTagName on
   27127         the tag ID directly, which only works for standard nodes.
   27128         (operator<<): Update to call getTagName.
   27129         (nodePositionRelativeToRoot): Ditto.
   27130         (writeSelection): Ditto.
   27131 
   27132 2005-01-05  Ken Kocienda  <kocienda (a] apple.com>
   27133 
   27134         Reviewed by Hyatt
   27135 
   27136         Fix for this bug:
   27137         
   27138         <rdar://problem/3941203> REGRESSION (Mail): Paste inserts content in wrong place
   27139 
   27140         * khtml/editing/htmlediting.cpp:
   27141         (khtml::ReplaceSelectionCommand::doApply): Some cleanup and refinement of the concepts used to make
   27142         this operation work correctly, particularly in the logic to figure out whether to merge content, and
   27143         also performing merges.
   27144         * khtml/editing/visible_position.cpp:
   27145         (khtml::isFirstVisiblePositionInBlock): Simplification of test used to make this determination.
   27146         * khtml/editing/visible_units.cpp:
   27147         (khtml::isStartOfParagraph): New helper, used in khtml::ReplaceSelectionCommand::doApply().
   27148         (khtml::isEndOfParagraph): Ditto.
   27149         * khtml/editing/visible_units.h: Declare new functions.
   27150 
   27151 2005-01-04  Ken Kocienda  <kocienda (a] apple.com>
   27152 
   27153         Reviewed by John
   27154 
   27155         Fix for this bug:
   27156         
   27157         <rdar://problem/3926522> Pressing return in a quoted block inserts too many newlines
   27158 
   27159         * khtml/editing/htmlediting.cpp:
   27160         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Call to insertBlockPlaceholderIfNeeded()
   27161         for the block we are adding was being done at the wrong time, which led to the placeholder remaining
   27162         in the document when it was not needed. This resulted in the extra space reported in the bug.
   27163 
   27164 2005-01-04  Kevin Decker  <kdecker (a] apple.com>
   27165 
   27166         Reviewed by Hyatt.
   27167 
   27168 	Fixed: <rdar://problem/3936879> nil-deref, crash in InlineFlowBox::nodeAtPoint closing DHTML menus at hrweb.apple.com
   27169 
   27170         * khtml/rendering/render_block.cpp:
   27171         (khtml::RenderBlock::fillInlineSelectionGaps): Added a nil check. If there is no selection, don't try to get the selection's containing block. If we do, we'll crash. 
   27172 
   27173 2005-01-04  David Hyatt  <hyatt (a] apple.com>
   27174 
   27175 	Fix for 3937203, force an update of the dashboard regions when scrollbars are added/removed.
   27176 	
   27177         Reviewed by kevin
   27178 
   27179         * khtml/rendering/render_layer.cpp:
   27180         (RenderLayer::updateScrollInfoAfterLayout):
   27181 
   27182 2005-01-04  Ken Kocienda  <kocienda (a] apple.com>
   27183 
   27184         Reviewed by John
   27185 
   27186         Fix for these two bugs:
   27187         
   27188         <rdar://problem/3938935> REGRESSION (Mail): Pasting into an empty document mangles content
   27189         <rdar://problem/3939148> REGRESSION (Mail): Pasting mistakenly reverses lines
   27190 
   27191         * khtml/editing/htmlediting.cpp:
   27192         (khtml::ReplaceSelectionCommand::doApply): For 3938935, add one more case to handle an empty document; merge
   27193         neither start nor end. For 3939148, improve the code which adjusts the insertion point during 
   27194         the process of pasting. It formerly handled only one of the possible cases.
   27195         * layout-tests/editing/pasteboard/paste-text-015-expected.txt: Added.
   27196         * layout-tests/editing/pasteboard/paste-text-015.html: Added.
   27197 
   27198 2005-01-04  David Hyatt  <hyatt (a] apple.com>
   27199 
   27200 	Fix for 3936571, placeholder attribute should work for normal inputs for Dashboard.
   27201 	
   27202         Reviewed by john
   27203 
   27204         * khtml/rendering/render_form.cpp:
   27205         (RenderLineEdit::updateFromElement):
   27206         * kwq/KWQLineEdit.mm:
   27207         (QLineEdit::setPlaceholderString):
   27208 
   27209 2005-01-04  David Hyatt  <hyatt (a] apple.com>
   27210 
   27211 	Fix for 3830936, hang on changeforamerica.com.  Make sure to ignore the style not yet available option when
   27212 	returning pseudo-styles.
   27213 	
   27214         Reviewed by john
   27215 
   27216         * khtml/css/cssstyleselector.cpp:
   27217         (khtml::CSSStyleSelector::matchRulesForList):
   27218         (khtml::CSSStyleSelector::pseudoStyleForElement):
   27219         * khtml/rendering/render_style.cpp:
   27220         (RenderStyle::addPseudoStyle):
   27221 
   27222 2005-01-04  Darin Adler  <darin (a] apple.com>
   27223 
   27224         - rolled out my custom tag name change again -- it caused a 1 ms PLT regression
   27225 
   27226         * khtml/css/cssstyleselector.cpp:
   27227         * khtml/editing/htmlediting.cpp:
   27228         * khtml/editing/selection.cpp:
   27229         * khtml/editing/visible_position.cpp:
   27230         * khtml/html/dtd.cpp:
   27231         * khtml/html/htmlparser.cpp:
   27232         * khtml/html/htmlparser.h:
   27233         * khtml/html/htmltokenizer.cpp:
   27234         * khtml/misc/htmlhashes.cpp:
   27235         * khtml/misc/htmlhashes.h:
   27236         * khtml/misc/htmltags.c:
   27237         * khtml/misc/htmltags.h:
   27238         * khtml/misc/maketags:
   27239         * khtml/xml/dom_docimpl.cpp:
   27240         * khtml/xml/dom_docimpl.h:
   27241         * khtml/xml/dom_nodeimpl.cpp:
   27242         * khtml/xml/dom_position.cpp:
   27243         * kwq/KWQRenderTreeDebug.cpp:
   27244 
   27245 2005-01-04  Ken Kocienda  <kocienda (a] apple.com>
   27246 
   27247         Reviewed by John
   27248 
   27249         Fix for this bug:
   27250         
   27251         <rdar://problem/3927554> Style info applied to remainder of document after a newline is entered
   27252 
   27253         * khtml/editing/htmlediting.cpp:
   27254         (khtml::InsertParagraphSeparatorCommand::doApply): Clean up and simplification in code that inserts
   27255         a paragraph separator. The bug was all about applying styles to the new paragraph that did not need
   27256         to be applied. Now the code will detect when at the end of a style run and will not move and apply 
   27257         that ending style to the new paragraph, though it will place that style into the typing style. This
   27258         seems to match NSText behavior.
   27259         * layout-tests/editing/inserting/insert-div-021-expected.txt: This test result exhibited the bug fixed 
   27260         here. The only reason it was not noticed is that the erroneously copied inline was a span, and so did
   27261         not have any visible effect on the document.
   27262         * layout-tests/editing/inserting/insert-div-022-expected.txt: Added.
   27263         * layout-tests/editing/inserting/insert-div-022.html: Added.
   27264 
   27265 2005-01-04  David Hyatt  <hyatt (a] apple.com>
   27266 
   27267 	Fix for 3904562, make sure to clear the outline dictionary when drawing so that random focus rings dont get drawn
   27268 	all over the place.
   27269 	
   27270         Reviewed by john
   27271 
   27272         * khtml/rendering/render_flow.cpp:
   27273         (RenderFlow::paintLines):
   27274 
   27275 2005-01-03  David Hyatt  <hyatt (a] apple.com>
   27276 
   27277 	Fix for float painting regressions 3932524, 3931664, and 3933068.  Make the noPaint flag setting more
   27278 	robust and make it work regardless of which objects get a layout or not.
   27279 	
   27280         Reviewed by mjs
   27281 
   27282         * khtml/rendering/render_block.cpp:
   27283         (khtml::RenderBlock::insertFloatingObject):
   27284         (khtml::RenderBlock::addOverhangingFloats):
   27285         (khtml::RenderBlock::addIntrudingFloats):
   27286         * khtml/rendering/render_block.h:
   27287         (khtml::RenderBlock::FloatingObject::FloatingObject):
   27288 
   27289 2005-01-03  Maciej Stachowiak  <mjs (a] apple.com>
   27290 
   27291         Reviewed by Kevin.
   27292 
   27293 	<rdar://problem/3935390> Tiger 8A341: nil deref crash in DOM::NodeImpl::traverseNextNode
   27294         
   27295 	* khtml/html/html_miscimpl.cpp:
   27296         (HTMLCollectionImpl::traverseNextItem): Assert that the starting point is not nil,
   27297 	it should not ever be (now).
   27298         (HTMLCollectionImpl::item): When traversing items stop when we hit
   27299 	nil, meaning the end to avoid triggering above assert (formerly crash).
   27300 
   27301 2005-01-03  Maciej Stachowiak  <mjs (a] apple.com>
   27302 
   27303         Reviewed by John and Kevin.
   27304 
   27305 	<rdar://problem/3870317> REGRESSION(125.9-125.11) broken behavior at test.profoundlearning.com - used to
   27306         
   27307 	* khtml/ecma/kjs_window.cpp:
   27308         (Window::get): Look up frame names before buitin window properties
   27309 	to match other browsers. This regressed because we added a builtin
   27310 	"toolbar" property but this site had a frame with that name.
   27311 
   27312 2004-12-21  Maciej Stachowiak  <mjs (a] apple.com>
   27313 
   27314         Reviewed by Darin.
   27315 
   27316 	<rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another
   27317         
   27318 	Added opener bridge method to help WebKit implement security check
   27319 	for named frame visibility.
   27320 	
   27321 	* khtml/khtml_part.h:
   27322         * kwq/WebCoreBridge.h:
   27323         * kwq/WebCoreBridge.mm:
   27324         (-[WebCoreBridge opener]):
   27325 
   27326 2005-01-03  Ken Kocienda  <kocienda (a] apple.com>
   27327 
   27328         Reviewed by John
   27329 
   27330         Fix for this bug:
   27331         
   27332         <rdar://problem/3933926> Tiger8A341: Mail crashes while forwarding embedded HTML message in -[WebCoreBridge ensureSelectionVisible]
   27333 
   27334         * kwq/WebCoreBridge.mm:
   27335         (-[WebCoreBridge ensureSelectionVisible]): Put in some null checks to prevent crash experienced in bug.
   27336 
   27337 2005-01-03  David Hyatt  <hyatt (a] apple.com>
   27338 
   27339 	Fix for 3936881, make sure positioned objects prooperly update y-position.
   27340 	
   27341         Reviewed by john
   27342 
   27343         * khtml/rendering/render_block.cpp:
   27344         (khtml::RenderBlock::layoutPositionedObjects):
   27345 
   27346 2005-01-03  Ken Kocienda  <kocienda (a] apple.com>
   27347 
   27348         Reviewed by Harrison
   27349         
   27350         Fix for this bug:
   27351         
   27352         <rdar://problem/3928250> REGRESSION (Mail): Typing style lost after hitting return key
   27353 
   27354         * khtml/editing/htmlediting.cpp:
   27355         (khtml::InsertLineBreakCommand::preservesTypingStyle): Now implemented, returning yes for this command.
   27356         (khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): Initialize new typing style member variable.
   27357         (khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand): Deref new typing style member variable.
   27358         (khtml::InsertParagraphSeparatorCommand::preservesTypingStyle): Now implemented, returning yes for this command.
   27359         (khtml::InsertParagraphSeparatorCommand::setFullTypingStyleBeforeInsertion): New function to set the typing style
   27360         (khtml::InsertParagraphSeparatorCommand::calculateAndSetTypingStyleAfterInsertion): Function called after the <p>
   27361         insertion is done. This function diffs the style created in setFullTypingStyleBeforeInsertion() with the style
   27362         of the new <p> and only sets those styles needed to preserve the style in effect before the insertion.
   27363         (khtml::InsertParagraphSeparatorCommand::doApply): Call new functions.
   27364         (khtml::TypingCommand::preservesTypingStyle): Now yes for inserting line breaks and paragraphs.
   27365          * khtml/editing/htmlediting.h: Declare new functions.
   27366 
   27367 2004-12-25  Kevin Decker  <kdecker (a] apple.com>
   27368 
   27369         Reviewed by Hyatt.
   27370 
   27371 	Fixed: <rdar://problem/3505072> hang in KHTMLParser::parseToken (consulting.soroos.net)
   27372 	
   27373         * khtml/html/dtd.cpp: <label> needed a much higher priority such that it will close block elements.  Malformed HTML (ugh) is the only reason why we need to do this. 
   27374 
   27375 2004-12-23  Darin Adler  <darin (a] apple.com>
   27376 
   27377         Reviewed by Ken.
   27378 
   27379         - re-fixed <rdar://problem/3760910> Request to include support for custom tag names in HTML (they already work in XML)
   27380 
   27381         * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector): Changed
   27382         some code that used ID_LAST_TAG in a slightly wrong, but harmless, way.
   27383 
   27384         * khtml/editing/htmlediting.cpp:
   27385         (khtml::debugPosition): Use nodeName rather than getTagName, since the latter works for
   27386         per-document tags and is just better all around for things like the document.
   27387         (khtml::debugNode): Ditto.
   27388         * khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Ditto.
   27389         * khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
   27390         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Ditto.
   27391         * khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
   27392 
   27393         * khtml/html/dtd.cpp: (DOM::checkChild): Use ID_LAST_TAG rather than 1000 for the check that allows
   27394         non-HTML elements to be nested as desired.
   27395 
   27396         * khtml/html/htmlparser.h: Change forbidden tag array to be allocated in the object rather than on
   27397         the heap. Also use ID_LAST_TAG for the array size; the old code used ID_CLOSE_TAG which is now a
   27398         much larger number.
   27399         * khtml/html/htmlparser.cpp:
   27400         (KHTMLParser::KHTMLParser): Remove code that creates the forbidden tag array on the heap; makes more
   27401         sense to just have the array be a member so we don't have to use new and delete on it. Also needed
   27402         to eliminate code that used ID_CLOSE_TAG for an array size.
   27403         (KHTMLParser::~KHTMLParser): Remove code that deletes the forbidden tag array. Also changed the code
   27404         that manages isindex to use deref instead of delete.
   27405         (KHTMLParser::reset): Use safer sizeof for clearing the forbidden tag array. Old code had the
   27406         mistake of using ID_CLOSE_TAG for the array size too.
   27407         (KHTMLParser::parseToken): Removed code that checks for bogus tags; it's not clear why it was ever
   27408         there and it would prevent custom tags from working. Added range check before using the forbidden
   27409         tag array with the token ID since custom tags will use index values past the end of the array.
   27410         (KHTMLParser::getElement): Removed most of the code that makes an element by ID; now the work is done
   27411         inside the DocumentImpl createHTMLElement. Any code that needs to be different than a dynamic
   27412         createElement call is still here. Last time I left out a few form element types from this switch;
   27413         fixed now.
   27414         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): Call the tagId function in the
   27415         document if getTagID fails; this creates a unique per-document ID.
   27416 
   27417         * khtml/misc/htmlhashes.h: Changed return types to unsigned short.
   27418         * khtml/misc/htmlhashes.cpp:
   27419         (khtml::getTagID): Changed return type to unsigned short.
   27420         (khtml::getAttrID): Ditto.
   27421 
   27422         * khtml/misc/htmltags.c: Regenerated.
   27423         * khtml/misc/htmltags.h: Regenerated.
   27424 
   27425         * khtml/misc/maketags: Changed the generated constants to use "const unsigned short" instead of "#define".
   27426         Changed ID_CLOSE_TAG to be a fixed value of 32000 rather than being just past the IDs of the HTML tags.
   27427         Also rewrote getTagName to work with the new scheme.
   27428 
   27429         * khtml/xml/dom_docimpl.h: Added overload of createHTMLElement, made it non-virtual since it's not overriden.
   27430         * khtml/xml/dom_docimpl.cpp:
   27431         (DocumentImpl::createHTMLElement): Refactored into two separate functions, one that takes the tag ID.
   27432         Also updated for a few tags that the parser handled but this did not.
   27433 
   27434         * kwq/KWQRenderTreeDebug.cpp:
   27435         (getTagName): Added. Works for custom nodes, because it calls nodeName rather than using getTagName on
   27436         the tag ID directly, which only works for standard nodes.
   27437         (operator<<): Update to call getTagName.
   27438         (nodePositionRelativeToRoot): Ditto.
   27439         (writeSelection): Ditto.
   27440 
   27441 === Safari-177 ===
   27442 
   27443 2004-12-22  Darin Adler  <darin (a] apple.com>
   27444 
   27445         - rolled out my custom tag name change -- it broke amazon.com
   27446 
   27447         * khtml/css/cssstyleselector.cpp:
   27448         * khtml/editing/htmlediting.cpp:
   27449         * khtml/editing/selection.cpp:
   27450         * khtml/editing/visible_position.cpp:
   27451         * khtml/html/dtd.cpp:
   27452         * khtml/html/htmlparser.cpp:
   27453         * khtml/html/htmlparser.h:
   27454         * khtml/html/htmltokenizer.cpp:
   27455         * khtml/misc/htmlhashes.cpp:
   27456         * khtml/misc/htmlhashes.h:
   27457         * khtml/misc/htmltags.c:
   27458         * khtml/misc/htmltags.h:
   27459         * khtml/misc/maketags:
   27460         * khtml/xml/dom_docimpl.cpp:
   27461         * khtml/xml/dom_docimpl.h:
   27462         * khtml/xml/dom_nodeimpl.cpp:
   27463         * khtml/xml/dom_position.cpp:
   27464         * kwq/KWQRenderTreeDebug.cpp:
   27465 
   27466 2004-12-22  David Harrison  <harrison (a] apple.com>
   27467 
   27468         Reviewed by Darin Adler.
   27469 
   27470         * khtml/editing/selection.cpp:
   27471         (khtml::Selection::validate):
   27472         The selecting/deselecting bad behavior is because the Selection code that expands by words
   27473         had an inaccurate test for being at the end of the document (where double-clicking needs
   27474         to select the last word).  Fixed that check.
   27475 
   27476 2004-12-22  Adele Amchan  <adele (a] apple.com>
   27477 
   27478         Reviewed by Chris.
   27479 
   27480         Fix for <rdar://problem/3911650> tabs at safeway.com stop working after a while
   27481 
   27482         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::scrollToAnchor): removed call to cancelRedirection 
   27483           so that we match Firefox and WinIE behavior.
   27484 
   27485 2004-12-22  Darin Adler  <darin (a] apple.com>
   27486 
   27487         Reviewed by Ken.
   27488 
   27489         - fixed <rdar://problem/3760910> Request to include support for custom tag names in HTML (they already work in XML)
   27490 
   27491         * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector): Changed
   27492         some code that used ID_LAST_TAG in a slightly wrong, but harmless, way.
   27493 
   27494         * khtml/editing/htmlediting.cpp:
   27495         (khtml::debugPosition): Use nodeName rather than getTagName, since the latter works for
   27496         per-document tags and is just better all around for things like the document.
   27497         (khtml::debugNode): Ditto.
   27498         * khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Ditto.
   27499         * khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
   27500         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Ditto.
   27501         * khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
   27502 
   27503         * khtml/html/dtd.cpp: (DOM::checkChild): Use ID_LAST_TAG rather than 1000 for the check that allows
   27504         non-HTML elements to be nested as desired.
   27505 
   27506         * khtml/html/htmlparser.h: Change forbidden tag array to be allocated in the object rather than on
   27507         the heap. Also use ID_LAST_TAG for the array size; the old code used ID_CLOSE_TAG which is now a
   27508         much larger number.
   27509         * khtml/html/htmlparser.cpp:
   27510         (KHTMLParser::KHTMLParser): Remove code that creates the forbidden tag array on the heap; makes more
   27511         sense to just have the array be a member so we don't have to use new and delete on it. Also needed
   27512         to eliminate code that used ID_CLOSE_TAG for an array size.
   27513         (KHTMLParser::~KHTMLParser): Remove code that deletes the forbidden tag array. Also changed the code
   27514         that manages isindex to use deref instead of delete.
   27515         (KHTMLParser::reset): Use safer sizeof for clearing the forbidden tag array. Old code had the
   27516         mistake of using ID_CLOSE_TAG for the array size too.
   27517         (KHTMLParser::parseToken): Removed code that checks for bogus tags; it's not clear why it was ever
   27518         there and it would prevent custom tags from working. Added range check before using the forbidden
   27519         tag array with the token ID since custom tags will use index values past the end of the array.
   27520         (KHTMLParser::getElement): Removed most of the code that makes an element by ID; now the work is done
   27521         inside the DocumentImpl createHTMLElement. Any code that needs to be different than a dynamic
   27522         createElement call is still here.
   27523         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): Call the tagId function in the
   27524         document if getTagID fails; this creates a unique per-document ID.
   27525 
   27526         * khtml/misc/htmlhashes.h: Changed return types to unsigned short.
   27527         * khtml/misc/htmlhashes.cpp:
   27528         (khtml::getTagID): Changed return type to unsigned short.
   27529         (khtml::getAttrID): Ditto.
   27530 
   27531         * khtml/misc/htmltags.c: Regenerated.
   27532         * khtml/misc/htmltags.h: Regenerated.
   27533 
   27534         * khtml/misc/maketags: Changed the generated constants to use "const unsigned short" instead of "#define".
   27535         Changed ID_CLOSE_TAG to be a fixed value of 32000 rather than being just past the IDs of the HTML tags.
   27536         Also rewrote getTagName to work with the new scheme.
   27537 
   27538         * khtml/xml/dom_docimpl.h: Added overload of createHTMLElement, made it non-virtual since it's not overriden.
   27539         * khtml/xml/dom_docimpl.cpp:
   27540         (DocumentImpl::createHTMLElement): Refactored into two separate functions, one that takes the tag ID.
   27541         Also updated for a few tags that the parser handled but this did not.
   27542 
   27543         * kwq/KWQRenderTreeDebug.cpp:
   27544         (getTagName): Added. Works for custom nodes, because it calls nodeName rather than using getTagName on
   27545         the tag ID directly, which only works for standard nodes.
   27546         (operator<<): Update to call getTagName.
   27547         (nodePositionRelativeToRoot): Ditto.
   27548         (writeSelection): Ditto.
   27549 
   27550 2004-12-21  David Harrison  <harrison (a] apple.com>
   27551 
   27552         Reviewed by Ken Kocienda.
   27553 
   27554         <rdar://problem/3924934> REGRESSION: double click at end of line selects start of next line
   27555 
   27556         Problem was the TextIterator was not handling exitNode() from a P block properly.
   27557         
   27558         * khtml/editing/visible_text.cpp:
   27559         (khtml::TextIterator::TextIterator):
   27560         Add new param that specifies whether the iterator is for content or for searching.
   27561         Search iterators do not prevent newlines at the beginning.
   27562         (khtml::TextIterator::advance):
   27563         Added some comments.
   27564         (khtml::TextIterator::handleTextNode):
   27565         Added some comments.
   27566         (khtml::TextIterator::exitNode):
   27567         Emit newline for P (and other) blocks with position following the block, instead of the m_lastTextNode.
   27568         (khtml::TextIterator::emitCharacter):
   27569         Added some comments.
   27570         (khtml::TextIterator::range):
   27571         Added some comments.
   27572         (khtml::CharacterIterator::CharacterIterator):
   27573         Specify search type TextIterator.
   27574         (khtml::CharacterIterator::advance):
   27575         * khtml/editing/visible_text.h:
   27576         (khtml::):
   27577         Add new TextIterator::TextIterator param that specifies whether the iterator is for content or for searching.
   27578         * khtml/editing/visible_units.cpp:
   27579         (khtml::nextWordBoundary):
   27580         Specify search type TextIterator.
   27581 
   27582 2004-12-21  David Harrison  <harrison (a] apple.com>
   27583 
   27584         Reviewed by Ken Kocienda.
   27585 
   27586         <rdar://problem/3924695> REGRESSION (Mail): double-clicking past end of line shows no selection, should select to EOL
   27587         
   27588         Problem was that RenderText::setSelectionState did not handle the SelectionStart case where start and end are the end of the line.
   27589         Fixed by pretending the start == end-1 in that situation, as long as end > 0.
   27590         
   27591         * khtml/rendering/render_text.cpp:
   27592         (RenderText::setSelectionState)
   27593 
   27594 2004-12-21  Maciej Stachowiak  <mjs (a] apple.com>
   27595 
   27596         Reviewed by John.
   27597 
   27598 	<rdar://problem/3929187> WebKit needs to restrict access to certain window operations by domain
   27599         
   27600 	* khtml/ecma/kjs_window.cpp:
   27601         (Window::get): Change most window functions to be restricted by
   27602 	XSS domain check.
   27603 
   27604 2004-12-21  Ken Kocienda  <kocienda (a] apple.com>
   27605 
   27606         Reviewed by John
   27607 
   27608         Fix for this bug:
   27609         
   27610         <rdar://problem/3928305> selecting an entire line and typing over causes new inserted text at top of document
   27611 
   27612         * khtml/editing/htmlediting.cpp:
   27613         (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent): New function to detect case
   27614         formerly undetected and unhandled. This is the crux of the bug fix.
   27615         (khtml::DeleteSelectionCommand::doApply): Call insertPlaceholderForAncestorBlockContent() during
   27616         execution of command.
   27617         * khtml/editing/htmlediting.h: Declare new function.
   27618         * layout-tests/editing/deleting/delete-3928305-fix-expected.txt: Added.
   27619         * layout-tests/editing/deleting/delete-3928305-fix.html: Added.
   27620 
   27621 2004-12-21  Ken Kocienda  <kocienda (a] apple.com>
   27622 
   27623         Reviewed by me
   27624 
   27625         * khtml/editing/htmlediting.cpp:
   27626         (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Note to self: Must compile code before
   27627         checking in (aka must return false from function returning bool).
   27628 
   27629 2004-12-21  Ken Kocienda  <kocienda (a] apple.com>
   27630 
   27631         Reviewed by John
   27632         
   27633         Fix for this bug:
   27634         
   27635         <rdar://problem/3927752> Crash in khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded(DOM::NodeImpl*)
   27636 
   27637         * khtml/editing/htmlediting.cpp:
   27638         (khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Added some null checks.
   27639         (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Ditto.
   27640 
   27641 2004-12-21  Ken Kocienda  <kocienda (a] apple.com>
   27642 
   27643         Reviewed by Darin
   27644 
   27645         * khtml/editing/htmlediting.cpp:
   27646         (khtml::ReplacementFragment::mergeStartNode): Refine concept of how this node is found based on
   27647         further experiements.
   27648         (khtml::ReplaceSelectionCommand::doApply): Add a special case for determining merges that need to
   27649         be done if the insertion point is in an empty block.
   27650         * layout-tests/editing/pasteboard/paste-text-012-expected.txt: Added.
   27651         * layout-tests/editing/pasteboard/paste-text-012.html: Added.
   27652         * layout-tests/editing/pasteboard/paste-text-013-expected.txt: Added.
   27653         * layout-tests/editing/pasteboard/paste-text-013.html: Added.
   27654         * layout-tests/editing/pasteboard/paste-text-014-expected.txt: Added.
   27655         * layout-tests/editing/pasteboard/paste-text-014.html: Added.
   27656 
   27657 2004-12-21  Darin Adler  <darin (a] apple.com>
   27658 
   27659         Reviewed by Ken.
   27660 
   27661         - fixed <rdar://problem/3899133> text search in a Safari window takes a very long time on Tiger updates page (and some other pages)
   27662 
   27663         * khtml/editing/visible_text.h: Add an "offset base node" parameter to emitCharacter, and also
   27664         add a field to track it. Must make a few things mutable so we can update them in the range accessor.
   27665         * khtml/editing/visible_text.cpp:
   27666         (khtml::TextIterator::advance): Pass in base node and offsets rather than computing actual offsets
   27667         using the node's index. We only compute the node index if actually asked for the range.
   27668         (khtml::TextIterator::handleTextNode): Pass 0 for base node and set base node to 0 when setting
   27669         up the offsets.
   27670         (khtml::TextIterator::handleTextBox): Ditto.
   27671         (khtml::TextIterator::handleReplacedElement): Pass base node and set base node instead of calling
   27672         nodeIndex.
   27673         (khtml::TextIterator::handleNonTextNode): Pass 0 for offset.
   27674         (khtml::TextIterator::exitNode): More of the same.
   27675         (khtml::TextIterator::emitCharacter): Ditto.
   27676         (khtml::TextIterator::range): If an offset base node is stored, then get its node index, and then
   27677         add that in to the offsets. Doing the work here guarantees it's done only once when doing a text search.
   27678 
   27679         - another small fix
   27680 
   27681         * khtml/khtml_part.cpp: Removed SPEED_DEBUG define. Not sure why it was on.
   27682 
   27683 === Safari-176 ===
   27684 
   27685 2004-12-20  Ken Kocienda  <kocienda (a] apple.com>
   27686 
   27687         Reviewed by Darin
   27688 
   27689         * khtml/editing/htmlediting.cpp:
   27690         (khtml::DeleteSelectionCommand::moveNodesAfterNode): My one-liner for this bug introduced layout test
   27691         regressions: <rdar://problem/3926142> REGRESSION (Mail): Deleting text decreases quote level
   27692         Rolling out until I can develop a real fix.
   27693 
   27694 2004-12-20  David Harrison  <harrison (a] apple.com>
   27695 
   27696         Reviewed by Dave Hyatt.
   27697         
   27698         Initial checkin of AXTextMarkerRef support.
   27699 
   27700         * khtml/xml/dom_docimpl.cpp:
   27701         (DocumentImpl::updateSelection):
   27702         (DocumentImpl::setFocusNode):
   27703         * kwq/KWQAccObject.h:
   27704         * kwq/KWQAccObject.mm:
   27705         (-[KWQAccObject detach]):
   27706         (-[KWQAccObject anchorElement]):
   27707         (-[KWQAccObject addChildrenToArray:]):
   27708         (-[KWQAccObject accessibilityAttributeNames]):
   27709         (-[KWQAccObject accessibilityActionDescription:]):
   27710         (-[KWQAccObject accessibilityPerformAction:]):
   27711         (-[KWQAccObject textMarkerRangeFromMarkers:andEndMarker:]):
   27712         (-[KWQAccObject textMarkerForVisiblePosition:]):
   27713         (-[KWQAccObject visiblePositionForTextMarker:]):
   27714         (-[KWQAccObject AXTextMarkerRangeCopyStartMarkerWrapper:]):
   27715         (-[KWQAccObject AXTextMarkerRangeCopyEndMarkerWrapper:]):
   27716         (-[KWQAccObject visiblePositionForStartOfTextMarkerRange:]):
   27717         (-[KWQAccObject visiblePositionForEndOfTextMarkerRange:]):
   27718         (-[KWQAccObject accessibilityAttributeValue:]):
   27719         (-[KWQAccObject accessibilityParameterizedAttributeNames]):
   27720         (-[KWQAccObject textMarkerRangeFromVisiblePositions:andEndPos:]):
   27721         (-[KWQAccObject getSelectedTextMarkerRange]):
   27722         (-[KWQAccObject doAXLineForTextMarker:]):
   27723         (-[KWQAccObject doAXTextMarkerRangeForLine:]):
   27724         (-[KWQAccObject doAXStringForTextMarkerRange:]):
   27725         (-[KWQAccObject doAXNextTextMarkerForTextMarker:]):
   27726         (-[KWQAccObject doAXPreviousTextMarkerForTextMarker:]):
   27727         (-[KWQAccObject doAXLeftWordTextMarkerRangeForTextMarker:]):
   27728         (-[KWQAccObject doAXRightWordTextMarkerRangeForTextMarker:]):
   27729         (-[KWQAccObject doAXLeftLineTextMarkerRangeForTextMarker:]):
   27730         (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
   27731         (-[KWQAccObject accessibilityAttributeValue:forParameter:]):
   27732         (-[KWQAccObject accessibilityFocusedUIElement]):
   27733         (-[KWQAccObject clearChildren]):
   27734         (-[KWQAccObject accObjectID]):
   27735         (-[KWQAccObject setAccObjectID:]):
   27736         (-[KWQAccObject removeAccObjectID]):
   27737         * kwq/KWQAccObjectCache.h:
   27738         * kwq/KWQAccObjectCache.mm:
   27739         (KWQAccObjectCache::KWQAccObjectCache):
   27740         (KWQAccObjectCache::~KWQAccObjectCache):
   27741         (KWQAccObjectCache::getAccObjectID):
   27742         (KWQAccObjectCache::removeAccObjectID):
   27743         (KWQAccObjectCache::textMarkerForVisiblePosition):
   27744         (KWQAccObjectCache::visiblePositionForTextMarker):
   27745 
   27746 2004-12-19  Darin Adler  <darin (a] apple.com>
   27747 
   27748         * kwq/KWQFoundationExtras.h: (KWQCFAutorelease): Added nil check.
   27749 
   27750 2004-12-19  Darin Adler  <darin (a] apple.com>
   27751 
   27752         Reviewed by Kevin.
   27753 
   27754         - a garbage collection fix
   27755 
   27756         * kwq/KWQFoundationExtras.h: (KWQCFAutorelease): Added a more-extensive comment and fixed the BUILDING_ON_PANTHER
   27757         #ifndef to use #if (in practice, either is OK).
   27758         * kwq/KWQKURL.mm: (KURL::getNSURL): Use KWQCFAutorelease instead of autorelease.
   27759 
   27760 2004-12-17  David Hyatt  <hyatt (a] apple.com>
   27761 
   27762 	Fix for 3923255, specified percentage heights of divs with overflow auto inside tables not honored.
   27763 	
   27764         Reviewed by kocienda
   27765 
   27766         * khtml/rendering/render_box.cpp:
   27767         (RenderBox::calcPercentageHeight):
   27768         * khtml/rendering/render_table.cpp:
   27769         (RenderTableSection::layoutRows):
   27770 
   27771 2004-12-17  David Harrison  <harrison (a] apple.com>
   27772 
   27773         Reviewed by Ken Kocienda.
   27774 
   27775         <rdar://problem/3924930> REGRESSION: triple click does not select to end of line
   27776         
   27777         * khtml/editing/visible_units.cpp:
   27778         (khtml::endOfParagraph):
   27779         When includeLineBreak is true, allow traversal to next node after enclosingBlockFlowElement.
   27780 
   27781 2004-12-17  Ken Kocienda  <kocienda (a] apple.com>
   27782 
   27783         Reviewed by Vicki
   27784 
   27785         * khtml/editing/htmlediting.cpp:
   27786         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Missed deleting some now-obsolete expcetion
   27787         codes when I added the createBreakElement() function.
   27788 
   27789 2004-12-17  Richard Williamson   <rjw (a] apple.com>
   27790 
   27791 	Set the floor of max cacheable object size to 40K.  This restores
   27792 	the long standing floor.  Lower floor deleteriously impacts the PLT.
   27793         Reviewed by Hyatt.
   27794 
   27795         * khtml/khtml_part.cpp:
   27796         (KHTMLPart::checkCompleted):
   27797         * khtml/misc/loader.cpp:
   27798         (Cache::setSize):
   27799 
   27800 2004-12-17  Ken Kocienda  <kocienda (a] apple.com>
   27801 
   27802         Reviewed by Hyatt
   27803 
   27804         Fix for this bug:
   27805         
   27806         <rdar://problem/3926142> REGRESSION (Mail): Deleting text decreases quote level
   27807 
   27808         * khtml/editing/htmlediting.cpp:
   27809         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Stop merging nodes when a <br> is hit.
   27810         Formerly checked only for block boundary.
   27811 
   27812 2004-12-17  David Harrison  <harrison (a] apple.com>
   27813 
   27814         Reviewed by Darin.
   27815 
   27816 		Add KWQCFAutorelease for autoreleasing CF objects.
   27817         * kwq/KWQFoundationExtras.h:
   27818         (KWQCFAutorelease):
   27819         New.
   27820 
   27821 2004-12-17  David Harrison  <harrison (a] apple.com>
   27822 
   27823         Reviewed by Darin.
   27824 
   27825 		Fix GC compatibility in getNSString.
   27826 
   27827         * kwq/KWQString.mm:
   27828         (QString::getNSString):
   27829 		Use NSString allocator instead of CFString, so that autorelease works under GC.
   27830 
   27831 2004-12-17  Ken Kocienda  <kocienda (a] apple.com>
   27832 
   27833         Reviewed by Hyatt
   27834 
   27835         Fix for this bug:
   27836         
   27837         <rdar://problem/3890973> REGRESSION (Mail): Deleting reorders remaining text
   27838 
   27839         * khtml/editing/htmlediting.cpp:
   27840         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Added check to ensure that moving content will not
   27841         move it after the <body> element.
   27842 
   27843 2004-12-17  Ken Kocienda  <kocienda (a] apple.com>
   27844 
   27845         Reviewed by me
   27846         
   27847         Added new layout tests covering cases from recent bug fixes.
   27848 
   27849         * layout-tests/editing/inserting/insert-div-018-expected.txt: Added.
   27850         * layout-tests/editing/inserting/insert-div-018.html: Added.
   27851         * layout-tests/editing/inserting/insert-div-019-expected.txt: Added.
   27852         * layout-tests/editing/inserting/insert-div-019.html: Added.
   27853         * layout-tests/editing/inserting/insert-div-020-expected.txt: Added.
   27854         * layout-tests/editing/inserting/insert-div-020.html: Added.
   27855         * layout-tests/editing/inserting/insert-div-021-expected.txt: Added.
   27856         * layout-tests/editing/inserting/insert-div-021.html: Added.
   27857 
   27858 2004-12-17  Ken Kocienda  <kocienda (a] apple.com>
   27859 
   27860         Reviewed by me
   27861 
   27862         Changes in layout resulting from giving <p> elements no margin rather than 0.1em margin.
   27863 
   27864         * layout-tests/editing/inserting/insert-div-013-expected.txt
   27865         * layout-tests/editing/inserting/insert-div-014-expected.txt
   27866 
   27867 2004-12-17  Ken Kocienda  <kocienda (a] apple.com>
   27868 
   27869         Reviewed by John
   27870 
   27871         Fix for this bug:
   27872         
   27873         <rdar://problem/3925317> Increase quote in email and with cursor below the quote the new line appears above the quote
   27874 
   27875         * khtml/editing/htmlediting.cpp:
   27876         (khtml::InsertParagraphSeparatorCommand::doApply):
   27877         * khtml/editing/visible_position.cpp: Refine rules for whether to use the starting node or the starting
   27878         block as the reference node for the insertion of the new block.
   27879         (khtml::isLastVisiblePositionInBlock): Tweak rules again. Descendants of following blocks should answer true.
   27880         I worked this all out on the whiteboard this time. This should be the last tweak.
   27881 
   27882 2004-12-17  Kevin Decker  <kdecker (a] apple.com>
   27883 
   27884         Reviewed by Ken.
   27885 
   27886 	Fixed <rdar://problem/3824438> Need a clean way for Dashboard to detect when an XML parsing error occurs
   27887 
   27888         * khtml/xml/xml_tokenizer.cpp:
   27889         (khtml::XMLTokenizer::insertErrorMessageBlock): In the xml error report, instead of a generic <div>, use <parsererror> to match Mozilla.
   27890 
   27891 2004-12-16  Ken Kocienda  <kocienda (a] apple.com>
   27892 
   27893         Reviewed by Chris
   27894 
   27895         Fix for this bug:
   27896         
   27897         <rdar://problem/3924888> REGRESSION (Mail): Hitting return key at end of line does not insert visible newline
   27898 
   27899         * khtml/editing/htmlediting.cpp:
   27900         (khtml::InsertParagraphSeparatorCommand::doApply): Tweaked code I added just before to fix 3924486, so that
   27901         it checks the downstream node for the starting position.
   27902 
   27903 2004-12-16  Ken Kocienda  <kocienda (a] apple.com>
   27904 
   27905         Reviewed by Chris
   27906 
   27907         Added new createBreakElement() function that makes creating a <br> element a one-liner.
   27908         Converted all the code that used to call the DocumentImpl, and dealt with the exceptionCode,
   27909         over to this new helper.
   27910 
   27911         * khtml/editing/htmlediting.cpp:
   27912         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Now uses new helper function.
   27913         (khtml::InsertLineBreakCommand::doApply): Ditto.
   27914         (khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
   27915         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Ditto.
   27916         (khtml::ReplaceSelectionCommand::doApply): Ditto.
   27917         (khtml::createBreakElement): New helper.
   27918         * khtml/editing/htmlediting.h: Ditto.
   27919 
   27920 2004-12-16  David Hyatt  <hyatt (a] apple.com>
   27921 
   27922 	Fix a bug where vertical-align values that depended on their parent's value went crazy if the parent was
   27923 	vertical-align top or bottom.  The bug is 3771007, bankofamerica's ebills page.
   27924 	
   27925         Reviewed by kocienda
   27926 
   27927         * khtml/rendering/render_object.cpp:
   27928         (RenderObject::getVerticalPosition):
   27929 
   27930 2004-12-16  Ken Kocienda  <kocienda (a] apple.com>
   27931 
   27932         Reviewed by John
   27933 
   27934         Fix for these bugs:
   27935         
   27936         <rdar://problem/3924486> REGRESSION (Mail): Hitting return key does not insert visible newline
   27937         <rdar://problem/3924579> REGRESSION (Mail): After deleting, hitting return key does not insert visible newline
   27938 
   27939         * khtml/editing/htmlediting.cpp:
   27940         (khtml::InsertParagraphSeparatorCommand::doApply): For the first bug, detect when inserting a <p> will
   27941         make a visible <br> collapse. For the second bug, move the code that inserts the new <p> after
   27942         a check which may move the node used as the reference node for the insertion. Also change this code to
   27943         insert the <p> after the last sibling of the starting position, to move it past the nodes we're going
   27944         to want to shift into the new <p>.
   27945 
   27946 2004-12-16  Darin Adler  <darin (a] apple.com>
   27947 
   27948         Reviewed by Ken.
   27949 
   27950         - use <p> elements rather than <br> when pasting plain text; also use margin of 0 rather than 0.1 em
   27951           after talking this over with Dave and Ken
   27952 
   27953         * khtml/editing/htmlediting.h: Added createDefaultParagraphElement and createBlockPlaceholderElement.
   27954         * khtml/editing/htmlediting.cpp:
   27955         (khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Use new createBlockPlaceholderElement
   27956         helper so this can share code with the plain-text conversion code.
   27957         (khtml::InsertParagraphSeparatorCommand::createParagraphElement): Use new createDefaultParagraphElement
   27958         helper so this can share code with the plain-text conversion code.
   27959         (khtml::createDefaultParagraphElement): Added.
   27960         (khtml::createBlockPlaceholderElement): Added.
   27961 
   27962         * khtml/editing/markup.cpp: (khtml::createFragmentFromText): Use paragraphs rather than
   27963         <br> elements for pasting plain text.
   27964 
   27965         - regenerated these files with the newer gperf
   27966 
   27967         * khtml/css/cssproperties.c: Regenerated.
   27968         * khtml/css/cssvalues.c: Regenerated.
   27969         * khtml/misc/htmlattrs.c: Regenerated.
   27970         * khtml/misc/htmltags.c: Regenerated.
   27971 
   27972 2004-12-16  Ken Kocienda  <kocienda (a] apple.com>
   27973 
   27974         Reviewed by Hyatt
   27975 
   27976         Fix for this bug:
   27977         
   27978         <rdar://problem/3924291> REGRESSION (Mail): Crash deleting content following a <p> element
   27979 
   27980         * khtml/xml/dom_nodeimpl.cpp:
   27981         (NodeImpl::enclosingInlineElement): Fixed problem in this function where recursive search for
   27982         parent that is not an inline would skip past previous siblings of nodes which were blocks. Now
   27983         it stops looking in this situation. This problem eventually caused the delete code to try to 
   27984         merge a node under a descendent.
   27985 
   27986 2004-12-16  Adele Amchan  <adele (a] apple.com>
   27987 
   27988         Change by Richard, reviewed by me.
   27989 
   27990 	Fix for: <rdar://problem/3923983> background image decoding prevents page with 0Kb image from finishing to load
   27991 
   27992         * khtml/misc/loader.cpp: (CachedImage::data): Added call to notifyFinished so the 0Kb image case finishes loading.
   27993 
   27994 2004-12-16  Adele Amchan  <adele (a] apple.com>
   27995 
   27996         Reviewed by Chris.
   27997 
   27998         Fix for: <rdar://problem/3534824> VIP: some navigation links on safeway.com don't work due to a JavaScript quirk
   27999 
   28000         Added a call to ObjectImp::get before Window::get just returns Undefined.  
   28001         This was preventing us from getting the toString function from a Window object.
   28002 
   28003         * khtml/ecma/kjs_window.cpp: (Window::get):
   28004 
   28005 2004-12-16  Ken Kocienda  <kocienda (a] apple.com>
   28006 
   28007         Reviewed by John
   28008         
   28009         Fix for this bug:
   28010         
   28011         <rdar://problem/3918351> REGRESSION (Mail, 173-175+): Return before first char of line leaves insertion point in wrong place
   28012         
   28013         * khtml/editing/htmlediting.cpp:
   28014         (khtml::InsertParagraphSeparatorCommand::doApply): Basically, did a rewrite of this function
   28015         to do a better job than it was doing before. Added several test cases to prove I am on a 
   28016         better track.
   28017         * khtml/editing/visible_position.cpp:
   28018         (khtml::isFirstVisiblePositionInBlock): Tweaked the rules a bit to fix an issue very similar to the
   28019         leaving-the-bar-node case problem I just fixed in a recent checkin (relevant markup: <p>foo</p>bar).
   28020         This function was returning true for the first position in "bar". Wrong. Also tightened up other 
   28021         rule: Should not report true when relationship between blocks cannot be determined.
   28022         (khtml::isLastVisiblePositionInBlock): Tightened up rule as above: Should not report true 
   28023         when relationship between blocks cannot be determined.
   28024         * layout-tests/editing/inserting/insert-div-010-expected.txt: Added.
   28025         * layout-tests/editing/inserting/insert-div-010.html: Added.
   28026         * layout-tests/editing/inserting/insert-div-011-expected.txt: Added.
   28027         * layout-tests/editing/inserting/insert-div-011.html: Added.
   28028         * layout-tests/editing/inserting/insert-div-012-expected.txt: Added.
   28029         * layout-tests/editing/inserting/insert-div-012.html: Added.
   28030         * layout-tests/editing/inserting/insert-div-013-expected.txt: Added.
   28031         * layout-tests/editing/inserting/insert-div-013.html: Added.
   28032         * layout-tests/editing/inserting/insert-div-014-expected.txt: Added.
   28033         * layout-tests/editing/inserting/insert-div-014.html: Added.
   28034         * layout-tests/editing/inserting/insert-div-015-expected.txt: Added.
   28035         * layout-tests/editing/inserting/insert-div-015.html: Added.
   28036         * layout-tests/editing/inserting/insert-div-016-expected.txt: Added.
   28037         * layout-tests/editing/inserting/insert-div-016.html: Added.
   28038         * layout-tests/editing/inserting/insert-div-017-expected.txt: Added.
   28039         * layout-tests/editing/inserting/insert-div-017.html: Added.
   28040             
   28041 2004-12-16  Ken Kocienda  <kocienda (a] apple.com>
   28042 
   28043         Reviewed by me
   28044         
   28045         Added a layout test based on my last checkin.
   28046 
   28047         * layout-tests/editing/selection/move-by-word-001-expected.txt: Added.
   28048         * layout-tests/editing/selection/move-by-word-001.html: Added.
   28049 
   28050 2004-12-16  Ken Kocienda  <kocienda (a] apple.com>
   28051 
   28052         Reviewed by John
   28053 
   28054         Fix for this bug:
   28055         
   28056         <rdar://problem/3917929> REGRESSION (Mail): Command-left-arrow leaves insertion point too high after specific steps
   28057 
   28058         * khtml/editing/visible_text.cpp:
   28059         (khtml::SimplifiedBackwardsTextIterator::advance): Add new check for leaving a text node and iterating
   28060         backwards into a different block that is an descendent of the block containing the text node (as in leaving 
   28061         the "bar" node in this example: <p>foo</p>bar).
   28062         (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode): Call new emitNewlineForBROrText helper.
   28063         (khtml::SimplifiedBackwardsTextIterator::emitNewlineForBROrText): Factor out code from handleNonTextNode, since
   28064         it is called from there, and now also from advance().
   28065 
   28066 2004-12-15  Darin Adler  <darin (a] apple.com>
   28067 
   28068         Reviewed by Ken.
   28069         
   28070         - fixed problem where plain-text would put a blank line between each <p> even when they have no margins
   28071 
   28072         * khtml/editing/visible_text.cpp: (khtml::TextIterator::exitNode): Add more checks and only set the
   28073         "add one more newline" flag if the margin is sufficient. A more complete fix would ignore the node
   28074         type altogether and use the render tree instead.
   28075 
   28076 2004-12-14  John Sullivan  <sullivan (a] apple.com>
   28077 
   28078         Reviewed by Ken.
   28079         
   28080         - rest of WebCore fix for <rdar://problem/3790011> undoable operations all say "Undo" 
   28081         in the menu, no specific action names
   28082 
   28083         * khtml/editing/edit_actions.h: new header, contains EditAction enum
   28084         (renamed from HTMLEditAction, formerly in htmlediting.h)
   28085 
   28086         * ForwardingHeaders/editing/edit_actions.h: new forwarding header
   28087         
   28088         * khtml/editing/htmlediting.h:
   28089         removed HTMLEditAction enum in favor of including edit_actions.h; added khtml::
   28090         namespace to EditAction usages; added m_editingAction ivar to ApplyStyleCommand
   28091 
   28092         * khtml/editing/htmlediting.cpp:
   28093         (khtml::EditCommandPtr::editingAction):
   28094         update for enum name change
   28095         (khtml::EditCommand::editingAction):
   28096         ditto
   28097         (khtml::ApplyStyleCommand::ApplyStyleCommand):
   28098         added editingAction parameter to this constructor
   28099         (khtml::ApplyStyleCommand::editingAction):
   28100         return new ivar
   28101         (khtml::DeleteSelectionCommand::editingAction):
   28102         update for enum name change
   28103         (khtml::MoveSelectionCommand::editingAction):
   28104         ditto
   28105         (khtml::TypingCommand::editingAction):
   28106         ditto
   28107         (khtml::ReplaceSelectionCommand::editingAction):
   28108         ditto
   28109         
   28110         * khtml/khtml_part.h:
   28111         added EditAction parameter to applyStyle and computeAndSetTypingStyle
   28112         * khtml/khtml_part.cpp:
   28113         (KHTMLPart::computeAndSetTypingStyle):
   28114         added EditAction parameter
   28115         (KHTMLPart::applyStyle):
   28116         ditto
   28117 
   28118         * kwq/KWQKHTMLPart.mm:
   28119         (KWQKHTMLPart::registerCommandForUndoOrRedo):
   28120         do the cast from EditAction to WebUndoAction a different way to match other code
   28121         
   28122         * kwq/WebCoreBridge.h:
   28123         * kwq/WebCoreBridge.mm:
   28124         (-[WebCoreBridge setTypingStyle:withUndoAction:]):
   28125         added WebUndoAction parameter, passed into ApplyStyleCommand constructor
   28126         (-[WebCoreBridge applyStyle:withUndoAction:]):
   28127         ditto
   28128 
   28129         * WebCore.pbproj/project.pbxproj:
   28130         updated for new files
   28131 
   28132 2004-12-14  David Hyatt  <hyatt (a] apple.com>
   28133 
   28134 	Fix for 3562458, rowspan and colspan converted to ints so that large values will work for them.  Remove
   28135 	the ridiculous 1024 limit on the span values.
   28136 
   28137         * khtml/html/html_tableimpl.cpp:
   28138         (HTMLTableCellElementImpl::parseHTMLAttribute):
   28139         * khtml/rendering/render_table.cpp:
   28140         (RenderTableCell::collapsedBottomBorder):
   28141         * khtml/rendering/render_table.h:
   28142         (khtml::RenderTableCell::colSpan):
   28143         (khtml::RenderTableCell::setColSpan):
   28144         (khtml::RenderTableCell::rowSpan):
   28145         (khtml::RenderTableCell::setRowSpan):
   28146         (khtml::RenderTableCol::span):
   28147         (khtml::RenderTableCol::setSpan):
   28148 
   28149 2004-12-14  David Hyatt  <hyatt (a] apple.com>
   28150 
   28151 	Make sure <col> and <colgroup> can have spans updated dynamically as well.
   28152 	
   28153         Reviewed by rjw
   28154 
   28155         * khtml/html/html_tableimpl.cpp:
   28156         (HTMLTableColElementImpl::parseHTMLAttribute):
   28157         * khtml/rendering/render_table.cpp:
   28158         (RenderTableCell::updateFromElement):
   28159         (RenderTableCol::updateFromElement):
   28160 
   28161 2004-12-14  David Hyatt  <hyatt (a] apple.com>
   28162 
   28163 	Fix for 3833123, setting a cell's colspan does not update rendering like it should.
   28164 	
   28165         Reviewed by rjw
   28166 
   28167         * khtml/html/html_tableimpl.cpp:
   28168         (HTMLTableCellElementImpl::parseHTMLAttribute):
   28169         * khtml/rendering/render_table.cpp:
   28170         (RenderTableCell::RenderTableCell):
   28171         (RenderTableCell::updateFromElement):
   28172 
   28173 2004-12-14  Chris Blumenberg  <cblu (a] apple.com>
   28174 
   28175 	Fixed: <rdar://problem/3864536> crash copying text from other apps and pasting in a sticky in dashboard
   28176 
   28177         Reviewed by hyatt.
   28178 
   28179         * khtml/editing/markup.cpp:
   28180         (khtml::createFragmentFromText): ref and deref the fragment since calling appendChild can completely deref it
   28181 
   28182 2004-12-14  David Hyatt  <hyatt (a] apple.com>
   28183 
   28184 	Fix for 3785211. Make sure to do a layout with the old position before doing a layout after changing to the new position.
   28185 	This is actually a regression from my positioned object DHTML optimization.
   28186 	
   28187         Reviewed by kocienda
   28188 
   28189         * khtml/rendering/render_object.cpp:
   28190         (RenderObject::setStyle):
   28191 
   28192 2004-12-14  David Hyatt  <hyatt (a] apple.com>
   28193 
   28194 	Make sure the class attribute works when newlines are present in the attribute.
   28195 
   28196         Reviewed by kocienda
   28197 
   28198         * khtml/html/html_elementimpl.cpp:
   28199         (HTMLNamedAttrMapImpl::parseClassAttribute):
   28200 
   28201 2004-12-14  David Hyatt  <hyatt (a] apple.com>
   28202 
   28203 	Fix for 3724938, float element is duplicated and paints twice.  The logic for when to paint floats was
   28204 	actually fairly screwed up.  This patch simplifies the logic and makes addOverhangingFloats easier to
   28205 	read by splitting it into two separate functions.
   28206 	
   28207         Reviewed by kocienda
   28208 
   28209         * khtml/rendering/render_block.cpp:
   28210         (khtml::RenderBlock::layoutBlockChildren):
   28211         (khtml::RenderBlock::clearFloats):
   28212         (khtml::RenderBlock::addOverhangingFloats):
   28213         (khtml::RenderBlock::addIntrudingFloats):
   28214         * khtml/rendering/render_block.h:
   28215 
   28216 2004-12-14  John Sullivan  <sullivan (a] apple.com>
   28217 
   28218         Reviewed by Ken.
   28219         
   28220         - added Undo action names for Cut, Paste, and Drag
   28221 
   28222         * khtml/editing/htmlediting.h:
   28223         * khtml/editing/htmlediting.cpp:
   28224         (khtml::DeleteSelectionCommand::editingAction):
   28225         overridden to return HTMLEditActionCut
   28226         (khtml::MoveSelectionCommand::editingAction):
   28227         overridden to return HTMLEditActionDrag
   28228         (khtml::ReplaceSelectionCommand::editingAction):
   28229         overridden to return HTMLEditActionPaste
   28230 
   28231 2004-12-14  John Sullivan  <sullivan (a] apple.com>
   28232 
   28233         Reviewed by Ken.
   28234         
   28235         - architecture for WebCore part of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu, 
   28236         no specific action names
   28237           
   28238         The remaining step is to make each EditCommand subclass override editingAction() to return an
   28239         appropriate value. (Unfortunately the mapping between subclass and user-distinguishable action
   28240         is not completely straightforward, so this next step isn't trivial.)
   28241 
   28242         * khtml/editing/htmlediting.h:
   28243         new enum for HTMLEditAction
   28244 
   28245         * khtml/editing/htmlediting.cpp:
   28246         (khtml::EditCommandPtr::editingAction):
   28247         new method, calls through to EditCommand
   28248         (khtml::EditCommand::editingAction):
   28249         new method for subclasses to override, returns HTMLEditActionUnspecified at this level
   28250         (khtml::TypingCommand::editingAction):
   28251         proof of concept override, returns HTMLEditActionTyping
   28252                 
   28253         * kwq/KWQKHTMLPart.h:
   28254         declare new private bottleneck method registerCommandForUndoOrRedo
   28255         * kwq/KWQKHTMLPart.mm:
   28256         (KWQKHTMLPart::registerCommandForUndoOrRedo):
   28257         new bottleneck method to reduce code duplication; now calls over the bridge
   28258         to get the localized string to use for the Undo action name
   28259         (KWQKHTMLPart::registerCommandForUndo):
   28260         now calls new bottleneck method
   28261         (KWQKHTMLPart::registerCommandForRedo):
   28262         now calls new bottleneck method
   28263         
   28264         * kwq/WebCoreBridge.h:
   28265         new enum for WebUndoAction, maps directly to HTMLEditAction.
   28266         Declaration of nameForUndoAction:
   28267 
   28268 2004-12-14  Darin Adler  <darin (a] apple.com>
   28269 
   28270         Reviewed by John.
   28271 
   28272         - added a bunch of missing nil checks; our old version of inherits used to work for nil (by accident)
   28273 
   28274         * khtml/rendering/render_frames.cpp:
   28275         (RenderPart::~RenderPart): Check widget for nil.
   28276         (RenderPart::setWidget): Ditto.
   28277         (RenderFrame::slotViewCleared): Ditto.
   28278         (RenderPartObject::slotViewCleared): Ditto.
   28279 
   28280 2004-12-13  Darin Adler  <darin (a] apple.com>
   28281 
   28282         Reviewed by Ken.
   28283 
   28284         - moved markup-related functions into new sources files in the editing directory
   28285         - removed all of the uses of dynamic_cast, preparing to turn off RTTI to make our code smaller and slightly faster
   28286 
   28287         * ForwardingHeaders/editing/markup.h: Added.
   28288         * khtml/editing/markup.h: Added.
   28289         * khtml/editing/markup.cpp: Added.
   28290 
   28291         * WebCore.pbproj/project.pbxproj: Added markup.h/cpp.
   28292 
   28293         * khtml/dom/dom_node.cpp: (Node::toHTML): Call createMarkup since there's no toHTML in NodeImpl any more.
   28294         * khtml/html/html_elementimpl.cpp:
   28295         (HTMLElementImpl::innerHTML): Changed to call createMarkup.
   28296         (HTMLElementImpl::outerHTML): Ditto.
   28297 
   28298         * khtml/ecma/kjs_window.cpp:
   28299         (Window::retrieveWindow): Comment out assert that uses dynamic_cast.
   28300         (Window::retrieveActive): Ditto.
   28301 
   28302         * khtml/editing/htmlediting.h: Added forward class declaration needed now that I removed one elsewhere.
   28303         * khtml/xml/dom_docimpl.h: Ditto.
   28304 
   28305         * khtml/khtml_part.cpp:
   28306         (KHTMLPart::slotDebugDOMTree): Use createMarkup instead of toHTML.
   28307         (KHTMLPart::processObjectRequest): Use inherits instead of dynamic_cast.
   28308 
   28309         * khtml/rendering/render_image.cpp: (RenderImage::paint): Add an explicit QChar conversion so this code
   28310         still works even with the additional replace overloads added to QString.
   28311         * kwq/KWQTextCodec.mm: (QTextCodec::fromUnicode): Ditto.
   28312 
   28313         * khtml/rendering/render_object.h: Removed the version of arenaDelete that does not take an object
   28314         base pointer, because it used dynamic_cast in its implementation. Made the other version public.
   28315         * khtml/rendering/render_object.cpp: Ditto.
   28316         * khtml/rendering/render_replaced.cpp: (RenderWidget::deref): Pass object base pointer to arenaDelete.
   28317 
   28318         * khtml/xml/dom2_rangeimpl.h: Removed extra parameters from toHTML, and unneeded includes and declarations.
   28319         * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::toHTML): Changed to call createMarkup, and moved all
   28320         the support code into markup.cpp.
   28321 
   28322         * khtml/xml/dom_nodeimpl.h: Moved toHTML and related functions into markup.cpp.
   28323         * khtml/xml/dom_nodeimpl.cpp: Ditto.
   28324 
   28325         * khtml/xml/dom_position.cpp:
   28326         (DOM::startPosition): Implemented the version of this that takes a RangeImpl. Also added null checks
   28327         so these return null positions rather than raising exceptions.
   28328         (DOM::endPosition): Ditto.
   28329 
   28330         * khtml/khtmlview.h: Added an APPLE_CHANGES function so inherits can detect this class without dynamic_cast.
   28331         * kwq/KWQFrame.h: Ditto.
   28332         * kwq/KWQFrame.mm: (QFrame::isQFrame): Ditto.
   28333         * kwq/KWQKPartsPart.h: Ditto.
   28334         * kwq/KWQKPartsPart.mm: (KParts::ReadOnlyPart::isKPartsReadOnlyPart): Ditto.
   28335         * kwq/KWQScrollView.h: Ditto.
   28336         * kwq/KWQScrollView.mm: (QScrollView::isQScrollView): Ditto.
   28337         * kwq/KWQKHTMLPart.h: Ditto.
   28338         * kwq/KWQKHTMLPart.mm:
   28339         (KHTMLView::isKHTMLView): Ditto.
   28340         (KWQKHTMLPart::setTitle): Added an explicit QChar conversion so this code still works even with the additional
   28341         replace overloads added to QString.
   28342         (KWQKHTMLPart::setStatusBarText): Ditto.
   28343         (KWQKHTMLPart::runJavaScriptAlert): Ditto.
   28344         (KWQKHTMLPart::runJavaScriptConfirm): Ditto.
   28345         (KWQKHTMLPart::runJavaScriptPrompt): Ditto.
   28346         (KWQKHTMLPart::attributedString): Ditto.
   28347         (KWQKHTMLPart::isCharacterSmartReplaceExempt): Ditto.
   28348         (KWQKHTMLPart::isKHTMLPart): That dynamic_cast thing (see above).
   28349 
   28350         * kwq/KWQObject.h: Added virtual methods for the few cases where we need dynamic_cast-like behavior.
   28351         * kwq/KWQObject.mm:
   28352         (QObject::inherits): Changed to not use dynamic cast.
   28353         (QObject::isKHTMLPart): Added. Returns false.
   28354         (QObject::isKHTMLView): Ditto.
   28355         (QObject::isKPartsReadOnlyPart): Ditto.
   28356         (QObject::isQFrame): Ditto.
   28357         (QObject::isQScrollView): Ditto.
   28358 
   28359         * kwq/KWQRenderTreeDebug.cpp:
   28360         (write): Changed to use inherits rather than dynamic_cast.
   28361         (writeSelection): Ditto.
   28362 
   28363         * kwq/KWQSlot.mm: (KWQSlot::call): Call through to the version with just a job pointer parameter rather
   28364         than going straight on to the "no parameters at all" version.
   28365 
   28366         * kwq/KWQString.h:
   28367         * kwq/KWQString.mm: (QString::replace): Added overloads.
   28368         * kwq/WebCoreBridge.mm:
   28369         (-[WebCoreBridge markupStringFromNode:nodes:]): Changed to call functions in markup.h.
   28370         (-[WebCoreBridge markupStringFromRange:nodes:]): Ditto.
   28371         (-[WebCoreBridge selectedString]): Added an explicit QChar conversion so this code still works even with
   28372         the additional replace overloads added to QString.
   28373         (-[WebCoreBridge stringForRange:]): Ditto.
   28374         (-[WebCoreBridge copyDOMNode:copier:]): Changed to call functions in markup.h.
   28375         (-[WebCoreBridge elementAtPoint:]): QChar conversion.
   28376         (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): Changed to call functions in markup.h.
   28377         (-[WebCoreBridge documentFragmentWithText:]): Changed to call functions in markup.h.
   28378 
   28379 2004-12-13  Ken Kocienda  <kocienda (a] apple.com>
   28380 
   28381         Reviewed by John
   28382 
   28383         Fix for this bug:
   28384         
   28385         <rdar://problem/3917956> REGRESSION (Mail): pasting can leave insertion point inside pasted text
   28386 
   28387         * khtml/editing/htmlediting.cpp:
   28388         (khtml::ReplaceSelectionCommand::doApply): Fix coding mistake. Calculations of bool flag based on 
   28389         leading and trailing whitespace positions was reversed! I must have introduced this error recently
   28390         when changing around this code.
   28391 
   28392 2004-12-13  David Hyatt  <hyatt (a] apple.com>
   28393 
   28394 	Fix for 3915787, macobserver doesn't paint.  floatRect() needed to be const in the base class.  Also hit-testing
   28395 	and painting was using the wrong rect when setting up the x/y of the rect.
   28396 	
   28397         Reviewed by mjs
   28398 
   28399         * khtml/rendering/render_block.cpp:
   28400         (khtml::RenderBlock::paint):
   28401         (khtml::RenderBlock::nodeAtPoint):
   28402         * khtml/rendering/render_object.h:
   28403         (khtml::RenderObject::floatRect):
   28404 
   28405 2004-12-13  Ken Kocienda  <kocienda (a] apple.com>
   28406 
   28407         Reviewed by John
   28408 
   28409         Fix for this bug:
   28410         
   28411         <rdar://problem/3917863> REGRESSION (Mail): pasting two lines of plain text copied from an RTF document results in two styles
   28412 
   28413         Code to figuire out the end node to merge was missing the font tag in the second paragraph
   28414         written out by AppKit convert-to-HTML function. I refined the algorithm to be smarter.
   28415 
   28416         * khtml/editing/htmlediting.cpp:
   28417         (khtml::ReplacementFragment::mergeEndNode): Refine algorithm used to walk through the fragment being pasted
   28418         looking for the node that is the last inline in the last block of the fragment. The old algorithm was 
   28419         insufficiently powerful.
   28420         (khtml::ReplacementFragment::enclosingBlock): New helper function.
   28421         * khtml/editing/htmlediting.h: Add declaration for new helper function.
   28422         * layout-tests/editing/pasteboard/paste-text-011-expected.txt: Added.
   28423         * layout-tests/editing/pasteboard/paste-text-011.html: Added.
   28424 
   28425 2004-12-13  Ken Kocienda  <kocienda (a] apple.com>
   28426 
   28427         Reviewed by John
   28428 
   28429         WebCore side of fix for this bug:
   28430         
   28431         <rdar://problem/3768372> REGRESSION (Mail): paste of text ending in whitespace loses whitespace
   28432 
   28433         Note that we are coordinating with Doug Davidson on the AppKit team to make a complete fix for this
   28434         bug. This change involves our half of the needed changes.
   28435         
   28436         Note that a lot of this change has to do with changing code to use a <br> element instead of
   28437         a comment node as the mechanism to annotate HTML with information used to fix the bug. In some
   28438         other places, code to handle comments in markup can be removed since we do not use comments for
   28439         such annotations after this change.
   28440 
   28441         * khtml/editing/htmlediting.cpp: Remove isComment() helper; no longer needed.
   28442         (khtml::ReplacementFragment::ReplacementFragment): Change m_hasInterchangeNewlineComment name to m_hasInterchangeNewline.
   28443         (khtml::ReplacementFragment::isInterchangeNewlineNode): Name changed from isInterchangeNewlineComment.
   28444         (khtml::ReplacementFragment::isInterchangeConvertedSpaceSpan): Local variable name convertedSpaceSpanClass changed to
   28445         convertedSpaceSpanClassString to match other uses of the idiom used here.
   28446         (khtml::ReplaceSelectionCommand::doApply): Change hasInterchangeNewlineComment() name to hasInterchangeNewline().
   28447         * khtml/editing/htmlediting.h: Change names as noted in .cpp file. Remove isComment() helper; no longer needed.
   28448         (khtml::ReplacementFragment::hasInterchangeNewline):  Change hasInterchangeNewlineComment() name to hasInterchangeNewline().
   28449         * khtml/html/html_elementimpl.cpp:
   28450         (HTMLElementImpl::createContextualFragment): No longer has includeCommentsInDOM flag; no longer needed as we do not
   28451         annotate fragments with comments any longer.
   28452         * khtml/html/html_elementimpl.h: Ditto.
   28453         * khtml/xml/dom2_rangeimpl.cpp: Remove addCommentToHTMLMarkup() helper. No longer needed.
   28454         (DOM::interchangeNewlineMarkupString): New helper to return <br> element markup we use to annotate content for interchange.
   28455         (DOM::RangeImpl::toHTML): No longer uses addCommentToHTMLMarkup; now calls interchangeNewlineMarkupString(). Remove
   28456         spurious semi-colon.
   28457         * khtml/xml/dom2_rangeimpl.h: Remove obsolete addCommentToHTMLMarkup() function and EAddToMarkup enum.
   28458         * kwq/WebCoreBridge.mm:
   28459         (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): No longer pass bool to ask for including comments
   28460         in DOM when calling createContextualFragment().
   28461 
   28462 2004-12-10  John Sullivan  <sullivan (a] apple.com>
   28463 
   28464         fixed deployment build bustage that John Louch ran into
   28465 
   28466         * kwq/KWQTextEdit.mm:
   28467         (QTextEdit::setScrollBarModes):
   28468         move bool declaration inside exception-handling block to avoid obscure
   28469         compiler error
   28470 
   28471 2004-12-10  Maciej Stachowiak  <mjs (a] apple.com>
   28472 
   28473         Reviewed by Richard.
   28474 
   28475 	<rdar://problem/3907484> REGRESSION (125-173): crash when KWQTextField is dealloc'ed while setting focus (profoundlearning.com)
   28476 	
   28477         * kwq/KWQWidget.mm:
   28478         (QWidget::setFocus): Handle the case where setting focus removed
   28479 	us from the superview - this can happen due to style changes on
   28480 	focus change.
   28481 
   28482 2004-12-10  Ken Kocienda  <kocienda (a] apple.com>
   28483 
   28484         Reviewed by Hyatt
   28485 
   28486         Fix for this bug:
   28487         
   28488         <rdar://problem/3915008> REGRESSION (Mail): Too much white space between lines separated by carriage returns
   28489 
   28490         There are a number of interesting things we could do to fix this bug, including SPI and involving
   28491         the WebKit delegate, etc., however it seems reasonable to start with a hard-coded default that
   28492         will fix the bug in the general case until such time as we can come up with more specific
   28493         solutions. 
   28494         
   28495         So, I added a helper method to create <p> elements with an inline style that sets top and bottom margins
   28496         to 0.1em.
   28497 
   28498         * khtml/editing/htmlediting.cpp:
   28499         (khtml::InsertParagraphSeparatorCommand::createParagraphElement): New factory method to create
   28500         paragraph elements to insert. Also adds style information to keep the <p> from having "too-big" margins.
   28501         (khtml::InsertParagraphSeparatorCommand::doApply): Call new factory method.
   28502         * khtml/editing/htmlediting.h: Add createParagraphElement() declaration.
   28503 
   28504 2004-12-10  Darin Adler  <darin (a] apple.com>
   28505 
   28506         Reviewed by Hyatt.
   28507 
   28508         - fixed <rdar://problem/3910419> setting style={overflow:hidden} for <textarea> does not prevent appearance of scrollbars
   28509 
   28510         * khtml/rendering/render_form.h: Remove now-unneeded wrap parameter.
   28511         * khtml/rendering/render_form.cpp:
   28512         (RenderSubmitButton::rawText): Convert to QChar explicitly.
   28513         (RenderLineEdit::updateFromElement): Ditto.
   28514         (RenderLineEdit::slotTextChanged): Ditto.
   28515         (RenderSelect::updateFromElement): Ditto.
   28516         (TextAreaWidget::TextAreaWidget): Moved out most of the initialization since it's not something
   28517         that requires a derived class. Now we don't use this class at all for WebCore, but they still
   28518         have it for KDE.
   28519         (TextAreaWidget::event): Moved out the ifdefs.
   28520         (RenderTextArea::RenderTextArea): Moved setting code from TextAreaWidget here. Put a bunch that
   28521         we don't need at all inside !APPLE_CHANGES, and removed the setting for scroll bars, since that's
   28522         now done in setStyle.
   28523         (RenderTextArea::handleFocusOut): Use type QTextEdit instead of TextAreaWidget since that's all
   28524         that's needed and WebCore no longer has TextAreaWidget.
   28525         (RenderTextArea::calcMinMaxWidth): Ditto.
   28526         (RenderTextArea::setStyle): Add code to set scroll bar modes based on wrap setting combined with
   28527         overflow style.
   28528         (RenderTextArea::updateFromElement): Use type QTextEdit.
   28529         (RenderTextArea::text): Ditto.
   28530         (RenderTextArea::select): Ditto.
   28531 
   28532         * kwq/KWQTextArea.mm:
   28533         (-[KWQTextArea _configureTextViewForWordWrapMode]): Don't set horizontal scroller visibility here,
   28534         since it's now handled by QTextEdit.
   28535         (-[KWQTextArea initWithFrame:]): Don't set vertical scroller visibility or scroller auto-hiding.
   28536 
   28537         * kwq/KWQTextEdit.h: Add setScrollBarModes function to be used instead of separate setter for
   28538         the horizontal and vertical mode; needed because AppKit switches "autohide" for both at once.
   28539         * kwq/KWQTextEdit.mm: (QTextEdit::setScrollBarModes): Added.
   28540 
   28541 2004-12-10  Ken Kocienda  <kocienda (a] apple.com>
   28542 
   28543         Reviewed by Darin
   28544 
   28545         Fix for this bug:
   28546         
   28547         <rdar://problem/3915047> HItting return in empty document inserts <p> but 
   28548         insertion point does not move
   28549 
   28550         * khtml/editing/htmlediting.cpp:
   28551         (khtml::InsertParagraphSeparatorCommand::doApply): The issue is that the
   28552         code to insert the <p> element for the return is not detecting the fact
   28553         that the document is empty. Inserting a <p> into an empty body will not
   28554         "add a new line" as the user expects. With this change, we'll add a second 
   28555         <p> when the root editable element has no rendered kids.
   28556 
   28557 2004-12-10  Maciej Stachowiak  <mjs (a] apple.com>
   28558 
   28559         Reviewed by John.
   28560 
   28561 	<rdar://problem/3912979> REGRESSION (125-173): repro crash in HTMLCollectionImpl code (www.clubtravel.ie)
   28562 
   28563         * khtml/html/html_miscimpl.cpp:
   28564         (HTMLCollectionImpl::traverseNextItem): Pass base when traversing
   28565 	the initial one step, otherwise we might inadvertantly step
   28566 	outside the collection base, thereby causing assertion failures or
   28567 	other badness later.
   28568 
   28569 2004-12-10  Ken Kocienda  <kocienda (a] apple.com>
   28570 
   28571         Reviewed by Chris
   28572 
   28573         * khtml/editing/htmlediting.cpp:
   28574         (khtml::InsertParagraphSeparatorCommand::doApply): There is a starting block which is supposed to 
   28575         act as the root node for this operation. However, a loop was incorrectly coded, and a parent node
   28576         search could escape this node. Also, one other piece to code to move nodes to the new <p> element
   28577         should do nothing if the starting point for the selection is itself the starting block.
   28578         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Similar changes, in spirit, to the above
   28579         function, though the names and concepts are slightly different.
   28580 
   28581 2004-12-10  Maciej Stachowiak  <mjs (a] apple.com>
   28582 
   28583         Reviewed by Ken.
   28584 
   28585 	<rdar://problem/3907705> REGRESSION (172-173): DHTML menus are broken at hrweb.apple.com
   28586         
   28587 	* khtml/dom/html_document.cpp:
   28588         (HTMLDocument::nameableItems): New method, wrapper for HTMLCollection creation.
   28589         * khtml/dom/html_document.h:
   28590         * khtml/ecma/kjs_html.cpp:
   28591         (KJS::HTMLDocument::tryGet): use doc.nameableItems(), not doc.all()!
   28592         * khtml/html/html_miscimpl.cpp:
   28593         (HTMLCollectionImpl::traverseNextItem): Added new DOC_NAMEABLE_ITEMS type, this represents
   28594 	the items that can be accessed directly as a document propery, in particular forms, images,
   28595 	objects, applets and embeds.
   28596         (HTMLCollectionImpl::updateNameCache): Fix some nameCache/idCache confusion.
   28597         (HTMLFormCollectionImpl::updateNameCache): Ditto.
   28598         * khtml/html/html_miscimpl.h:
   28599         (DOM::HTMLCollectionImpl::): Added new type.
   28600 
   28601 2004-12-10  Ken Kocienda  <kocienda (a] apple.com>
   28602 
   28603         Reviewed by John
   28604 
   28605         Fix for this bug:
   28606         
   28607         <rdar://problem/3914779> REGRESSION (Mail): Cannot arrow navigate to position before last character on text-wrapped line
   28608 
   28609         * khtml/rendering/render_text.cpp:
   28610         (RenderText::caretRect): Code was not detecting space at the end of a line correctly. Now it does.
   28611 
   28612 2004-12-10  Ken Kocienda  <kocienda (a] apple.com>
   28613 
   28614         Reviewed by John
   28615 
   28616         Fix for this bug:
   28617 
   28618         <rdar://problem/3914755> REGRESSION (Mail): Insertion point disappears after pasting paragraph
   28619 
   28620         * khtml/editing/htmlediting.cpp:
   28621         (khtml::ReplaceSelectionCommand::doApply): Selection could end up in a "placeholder" node
   28622         that was removed from the document when pasting. This caused the disappearance. Now this
   28623         is detected, and the selection is shifted to a node that is in the document.
   28624 
   28625 2004-12-09  Richard Williamson   <rjw (a] apple.com>
   28626 
   28627 	Check to disable threaded decoding during
   28628 	layout tests wasn't invoking function, just checking address of 
   28629 	function, which would always return true.
   28630 	
   28631         * kwq/WebCoreImageRendererFactory.m:
   28632         (+[WebCoreImageRendererFactory shouldUseThreadedDecoding]):
   28633 
   28634 2004-12-09  David Hyatt  <hyatt (a] apple.com>
   28635 
   28636 	Fix for 3892686, left/top overflow was not being propagated properly up to containing blocks because of a math
   28637 	error.
   28638 
   28639 	Also fix a bug I noticed on the same page where relative position offsets were not being added in properly for
   28640 	all inlines when repainting.
   28641 	
   28642         Reviewed by rjw
   28643 
   28644         * khtml/rendering/render_block.cpp:
   28645         (khtml::RenderBlock::layoutBlockChildren):
   28646         * khtml/rendering/render_flow.cpp:
   28647         (RenderFlow::getAbsoluteRepaintRect):
   28648 
   28649 2004-12-09  David Hyatt  <hyatt (a] apple.com>
   28650 
   28651 	Fix for 3867545, finance.yahoo.com lays out incorrectly.  Add a quirk that will prevent tables from moving
   28652 	down below floats when there is insufficient space.  Instead we will match Gecko and just spill out of the
   28653 	containing block to the right.  This appears to be the more common desired behavior, despite being wrong.
   28654 	WinIE sometimes wraps and sometimes doesn't, but it's really hard for us to match its inconsistency.
   28655 	
   28656         Reviewed by john
   28657 
   28658         * khtml/rendering/render_block.cpp:
   28659         (khtml::RenderBlock::getClearDelta):
   28660         * layout-tests/apple-only/base/www.cnn.com/index-expected.txt:
   28661         * layout-tests/apple-only/base/www.ebay.com/index-expected.txt:
   28662         * layout-tests/apple-only/base/www.excite.com/index-expected.txt:
   28663         * layout-tests/fast/block/margin-collapse/102-expected.txt:
   28664         * layout-tests/fast/block/margin-collapse/102.html:
   28665 
   28666 2004-12-09  Richard Williamson   <rjw (a] apple.com>
   28667 
   28668 	Fixed <rdar://problem/3914078> worldclock crashing gc related
   28669 
   28670 	Use ProtectedValue for Context2D instance members.
   28671 
   28672         Reviewed by Maciej.
   28673 
   28674         * khtml/ecma/kjs_html.h:
   28675 
   28676 2004-12-09  John Sullivan  <sullivan (a] apple.com>
   28677 
   28678         Reviewed by Dave.
   28679         
   28680         - fixed <rdar://problem/3731099> Move AXTitle string for image elements to AXDescription
   28681 
   28682         * kwq/KWQAccObject.mm:
   28683         (-[KWQAccObject title]): moved image alt tag code out of here
   28684         (-[KWQAccObject accessibilityDescription]): moved image alt tag code into this new method
   28685         (-[KWQAccObject accessibilityAttributeNames]): include AXDescription in the set of attributes
   28686         that ordinary elements return; this means that ordinary elements that aren't images will return
   28687         a nil description, which isn't ideal, but is in keeping with the way the rest of these attributes
   28688         work here.
   28689         (-[KWQAccObject accessibilityAttributeValue:]):
   28690         call accessibilityDescription when asked for AXDescription
   28691 
   28692 2004-12-09  Ken Kocienda  <kocienda (a] apple.com>
   28693 
   28694         Reviewed by Harrison
   28695 
   28696         Fix for this bug:
   28697         
   28698         <rdar://problem/3910425> REGRESSION (Mail): Crash in ReplaceSelectionCommand; selection is empty, leading to null deref
   28699 
   28700         * khtml/editing/htmlediting.cpp:
   28701         (khtml::MoveSelectionCommand::doApply): The node representing the destination for the move may have
   28702         been deleted. If this is the case, set the destination to the node the delete command provides in
   28703         its ending selection.
   28704 
   28705 === Safari-175 ===
   28706 
   28707 2004-12-09  Ken Kocienda  <kocienda (a] apple.com>
   28708 
   28709         Reviewed by John
   28710         
   28711         Fix for this bug:
   28712         
   28713         <rdar://problem/3912841> REGRESSION (173-TOT): Some images report 0x0 dimensions on layout tests, causes spurious test failures
   28714 
   28715         The new threaded image decoding capability can throw off layout tests. The issue is that the decoding
   28716         callback may not be delivered before the program asks for the dimensions of an image in order to
   28717         wrote the layout dimensions. More generally, I think we need to ensure that there are no races in
   28718         layout tests, so I have added a flag to the render tree debug code that we can set when debugging.
   28719 
   28720         * kwq/KWQRenderTreeDebug.cpp:
   28721         (debuggingRenderTree): New function. Returns flag which tells whether the program is debugging the render tree.
   28722         (externalRepresentation): Sets debuggingRenderTree flag to true;
   28723         * kwq/KWQRenderTreeDebug.h:
   28724         * kwq/WebCoreImageRendererFactory.m:
   28725         (+[WebCoreImageRendererFactory shouldUseThreadedDecoding]): Checks debuggingRenderTree flag and will not
   28726         do threaded decoding in any case if the flag is set.
   28727 
   28728 2004-12-09  Chris Blumenberg  <cblu (a] apple.com>
   28729 
   28730 	Fix for busting XMLHTTPRequest.
   28731 
   28732         Reviewed by kocienda.
   28733 
   28734         * khtml/misc/loader.cpp:
   28735         (Loader::servePendingRequests): pass true for deliverAllData
   28736         * kwq/KWQKJob.h:
   28737         (KIO::get): take deliverAllData param
   28738         (KIO::http_post): ditto
   28739         * kwq/KWQKJobClasses.h:
   28740         * kwq/KWQKJobClasses.mm:
   28741         (KIO::TransferJob::TransferJob): if deliverAllData, create signal with data param
   28742         (KIO::TransferJob::emitResult): if deliverAllData, call signal with data param
   28743 
   28744 2004-12-09  Ken Kocienda  <kocienda (a] apple.com>
   28745 
   28746         Reviewed by John
   28747 
   28748         <rdar://problem/3911011> REGRESSION (Mail): Spaces at end of line causing word wrap lost when copied/pasted
   28749 
   28750         * khtml/xml/dom_nodeimpl.cpp:
   28751         (NodeImpl::renderedText): Fixed the code so that spaces at the end of lines are not skipped.
   28752 
   28753 2004-12-07  Richard Williamson   <rjw (a] apple.com>
   28754 
   28755 	Support threaded image decoding on machines w/ > 2 CPUs.
   28756 
   28757         Reviewed by Maciej and Chris.
   28758 
   28759         * khtml/misc/loader.cpp:
   28760         (CachedImageCallback::notifyUpdate):
   28761         (CachedImageCallback::notifyFinished):
   28762         (CachedImageCallback::notifyDecodingError):
   28763         (CachedImageCallback::handleError):
   28764         (CachedImageCallback::clear):
   28765         (CachedImage::CachedImage):
   28766         (CachedImage::clear):
   28767         (CachedImage::data):
   28768         (CachedImage::checkNotify):
   28769         (Loader::servePendingRequests):
   28770         (Loader::slotFinished):
   28771         (Loader::numRequests):
   28772         (Loader::cancelRequests):
   28773         (Loader::removeBackgroundDecodingRequest):
   28774         * khtml/misc/loader.h:
   28775         (khtml::CachedImageCallback::CachedImageCallback):
   28776         (khtml::CachedImageCallback::ref):
   28777         (khtml::CachedImageCallback::deref):
   28778         (khtml::CachedImage::decoderCallback):
   28779         * khtml/rendering/render_object.cpp:
   28780         (RenderObject::setPixmap):
   28781         * kwq/KWQPixmap.h:
   28782         * kwq/KWQPixmap.mm:
   28783         (-[WebImageCallback initWithCallback:khtml::]):
   28784         (-[WebImageCallback _commonTermination]):
   28785         (-[WebImageCallback dealloc]):
   28786         (-[WebImageCallback finalize]):
   28787         (-[WebImageCallback notify]):
   28788         (-[WebImageCallback setImageSourceStatus:]):
   28789         (-[WebImageCallback status]):
   28790         (QPixmap::shouldUseThreadedDecoding):
   28791         (QPixmap::receivedData):
   28792         * kwq/WebCoreImageRenderer.h:
   28793         * kwq/WebCoreImageRendererFactory.h:
   28794         * kwq/WebCoreImageRendererFactory.m:
   28795         (+[WebCoreImageRendererFactory shouldUseThreadedDecoding]):
   28796         (+[WebCoreImageRendererFactory setShouldUseThreadedDecoding:]):
   28797 
   28798 2004-12-07  Ken Kocienda  <kocienda (a] apple.com>
   28799 
   28800         Reviewed by John
   28801 
   28802         * khtml/editing/htmlediting.cpp:
   28803         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Fix a problem with my
   28804         change in thei code yesterday. Call to insertBlockPlaceholderIfNeeded() must be done
   28805         after new block has been inserted, otherwise a crash can result. Shuffle down call 
   28806         to insertBlockPlaceholderIfNeeded() a couple of lines (where the node is inserted), 
   28807         and all is good.
   28808 
   28809 2004-12-07  Ken Kocienda  <kocienda (a] apple.com>
   28810 
   28811         Reviewed by John
   28812 
   28813         Fix for this bug:
   28814         
   28815         <rdar://problem/3907422> REGRESSION (Mail): Pasting quoted content can place content after body element
   28816 
   28817         * khtml/editing/htmlediting.cpp:
   28818         (khtml::ReplaceSelectionCommand::doApply): Detect when the body element is the "reference block" used
   28819         for determining the location for inserting content. Do not allow an insert before or after if the
   28820         reference block is the body. Perform insertNodeAt(0) and appendNode, respectively, in the block-is-body case.
   28821         * layout-tests/editing/inserting/insert-3907422-fix-expected.txt: Added.
   28822         * layout-tests/editing/inserting/insert-3907422-fix.html: Added.
   28823 
   28824 2004-12-07  Darin Adler  <darin (a] apple.com>
   28825 
   28826         Reviewed by Don.
   28827 
   28828         - fixed <rdar://problem/3908701> REGRESSION: Cursor does not change to "hand" over active links
   28829 
   28830         * kwq/KWQEvent.mm: (positionForEvent): Add NSMouseMoved to list of events that have mouse location.
   28831 
   28832 2004-12-07  Ken Kocienda  <kocienda (a] apple.com>
   28833 
   28834         Reviewed by John
   28835 
   28836         Changed name of constant from KHTMLInterchangeNewline to AppleInterchangeNewline.
   28837         I discussed this with Hyatt and he agreed that going with "Apple" names was OK.
   28838 
   28839         * khtml/editing/html_interchange.h: Name change, as described above.
   28840         * khtml/editing/htmlediting.cpp:
   28841         (khtml::ReplacementFragment::isInterchangeNewlineComment): Ditto.
   28842         * khtml/xml/dom2_rangeimpl.cpp:
   28843         (DOM::RangeImpl::toHTML): Ditto.
   28844 
   28845 2004-12-07  Ken Kocienda  <kocienda (a] apple.com>
   28846 
   28847         Reviewed by me
   28848         
   28849         Added a couple more layout tests.
   28850 
   28851         * layout-tests/editing/deleting/delete-line-013-expected.txt: Added.
   28852         * layout-tests/editing/deleting/delete-line-013.html: Added.
   28853         * layout-tests/editing/deleting/delete-line-014-expected.txt: Added.
   28854         * layout-tests/editing/deleting/delete-line-014.html: Added.
   28855 
   28856 2004-12-06  Maciej Stachowiak  <mjs (a] apple.com>
   28857 
   28858         Reviewed by Hyatt.
   28859 
   28860 	- fixed <rdar://problem/3906974> assertion failure in QWidget::beforeMouseDown clicking on <select multiple>
   28861         
   28862 	* kwq/KWQListBox.mm:
   28863         (QListBox::QListBox): Initialize KWQListBoxScrollView with this.
   28864         (-[KWQListBoxScrollView initWithListBox:]): Make this class a KWQWidgetHolder.
   28865         (-[KWQListBoxScrollView widget]): See above.
   28866         (-[KWQTableView mouseDown:]): Pass outerView rather than self to beforeMouseDown and
   28867 	afterMouseDown, to avoid triggering an assertion failure.
   28868 
   28869 2004-12-06  David Hyatt  <hyatt (a] apple.com>
   28870 
   28871 	Fix for 3615411, the linesAppended optimization was old and broken, and it's easier with the new code fixes
   28872 	made by me, kocienda and harrison to just remove it.
   28873 	
   28874         Reviewed by mjs
   28875 
   28876         * khtml/rendering/bidi.cpp:
   28877         (khtml::RenderBlock::layoutInlineChildren):
   28878         * khtml/rendering/render_block.cpp:
   28879         (khtml:::RenderFlow):
   28880         * khtml/rendering/render_block.h:
   28881         * khtml/rendering/render_flow.cpp:
   28882         (RenderFlow::dirtyLinesFromChangedChild):
   28883 
   28884 2004-12-06  David Hyatt  <hyatt (a] apple.com>
   28885 
   28886 	Fix for 3787133, some web pages print with many blank pages.  Make sure to use the real page print rect and
   28887 	not a damage rect that can be changed when intersected with the clip regions of the web page.
   28888 	
   28889         Reviewed by john
   28890 
   28891         * khtml/rendering/render_canvas.h:
   28892         (khtml::RenderCanvas::printRect):
   28893         (khtml::RenderCanvas::setPrintRect):
   28894         * khtml/rendering/render_flow.cpp:
   28895         (RenderFlow::paintLines):
   28896         * khtml/rendering/render_list.cpp:
   28897         (RenderListMarker::paint):
   28898         * kwq/KWQKHTMLPart.mm:
   28899         (KWQKHTMLPart::adjustPageHeight):
   28900 
   28901 2004-12-06  David Harrison  <harrison (a] apple.com>
   28902 
   28903         Reviewed by Ken Kocienda and Dave Hyatt (OOPS!).
   28904 
   28905 		<rdar://problem/3849947> Typing after pasting line does not appear until after window resize.
   28906 		
   28907 		
   28908         * khtml/rendering/render_flow.cpp:
   28909         (RenderFlow::dirtyLinesFromChangedChild):
   28910 		Dirty the line above because new child can inval the cached line break position of previous line.
   28911 
   28912 2004-12-06  David Hyatt  <hyatt (a] apple.com>
   28913 
   28914 	Fix for 3254464, radio buttons do not work for quiz on netscape.com.  Left/top overflow needed to be implemented.
   28915 	This also fixes 3106907, link hover color only partially set on rollover and the more general architecture bug
   28916 	3126929, handle top/left overflow.
   28917 
   28918 	This patch also fixes 3902891, scroll bar of position:fixed content moves when a page is scrolled.
   28919 
   28920 	Finally, the Emerson regression 3869718 (error involving computing the rightmost/lowest position of overflow:auto
   28921 	regions and web pages) has been fixed.
   28922 	
   28923         Reviewed by mjs
   28924 
   28925         * khtml/rendering/bidi.cpp:
   28926         (khtml::RenderBlock::computeHorizontalPositionsForLine):
   28927         (khtml::RenderBlock::checkLinesForOverflow):
   28928         * khtml/rendering/render_block.cpp:
   28929         (khtml:::RenderFlow):
   28930         (khtml::RenderBlock::overflowHeight):
   28931         (khtml::RenderBlock::overflowWidth):
   28932         (khtml::RenderBlock::overflowLeft):
   28933         (khtml::RenderBlock::overflowTop):
   28934         (khtml::RenderBlock::overflowRect):
   28935         (khtml::RenderBlock::layoutBlock):
   28936         (khtml::RenderBlock::layoutBlockChildren):
   28937         (khtml::RenderBlock::paint):
   28938         (khtml::RenderBlock::floatRect):
   28939         (khtml::RenderBlock::lowestPosition):
   28940         (khtml::RenderBlock::rightmostPosition):
   28941         (khtml::RenderBlock::leftmostPosition):
   28942         (khtml::RenderBlock::nodeAtPoint):
   28943         * khtml/rendering/render_block.h:
   28944         * khtml/rendering/render_box.h:
   28945         (khtml::RenderBox::borderBox):
   28946         (khtml::RenderBox::borderTopExtra):
   28947         (khtml::RenderBox::borderBottomExtra):
   28948         * khtml/rendering/render_layer.cpp:
   28949         (RenderLayer::paintScrollbars):
   28950         (mustExamineRenderer):
   28951         (RenderLayer::intersectsDamageRect):
   28952         (RenderLayer::containsPoint):
   28953         * khtml/rendering/render_line.cpp:
   28954         (khtml::InlineFlowBox::placeBoxesHorizontally):
   28955         (khtml::InlineFlowBox::verticallyAlignBoxes):
   28956         * khtml/rendering/render_line.h:
   28957         (khtml::InlineBox::leftOverflow):
   28958         (khtml::InlineBox::rightOverflow):
   28959         (khtml::InlineFlowBox::setVerticalOverflowPositions):
   28960         (khtml::RootInlineBox::RootInlineBox):
   28961         (khtml::RootInlineBox::leftOverflow):
   28962         (khtml::RootInlineBox::rightOverflow):
   28963         (khtml::RootInlineBox::setVerticalOverflowPositions):
   28964         (khtml::RootInlineBox::setHorizontalOverflowPositions):
   28965         * khtml/rendering/render_object.h:
   28966         (khtml::RenderObject::borderBox):
   28967         (khtml::RenderObject::overflowLeft):
   28968         (khtml::RenderObject::overflowTop):
   28969         (khtml::RenderObject::overflowRect):
   28970         (khtml::RenderObject::floatRect):
   28971         * khtml/rendering/render_table.cpp:
   28972         (RenderTable::layout):
   28973         (RenderTable::paint):
   28974         (RenderTable::paintBoxDecorations):
   28975         (RenderTable::calcMinMaxWidth):
   28976         * khtml/rendering/render_table.h:
   28977         (khtml::RenderTableCell::borderTopExtra):
   28978         (khtml::RenderTableCell::borderBottomExtra):
   28979         * kwq/KWQRect.h:
   28980         * kwq/KWQRect.mm:
   28981         (QRect::inflate):
   28982 
   28983 2004-12-06  Maciej Stachowiak  <mjs (a] apple.com>
   28984 
   28985         Reviewed by John.
   28986 
   28987 	- fixed <rdar://problem/3903797> scripts can cause other frames/windows to execute arbitrary script using javascript: URLs
   28988         
   28989 	I changed all unprotected places that can navigate a different
   28990 	window or frame from script to check for a javascript: URL, and if
   28991 	found, to check for safety using cross-site-script rules. 
   28992 
   28993 	I considered a few other possible exploits and made no change:
   28994 
   28995 	- document.location is already protected because the document
   28996 	object itself is protected
   28997 
   28998 	- frame.src, frame.location, iframe.src and targetted links are
   28999 	all safe because setting the URL of a frame to a javascript: URL
   29000 	executes the script in the context of the parent
   29001 
   29002 	* khtml/ecma/kjs_window.cpp:
   29003         (WindowFunc::tryCall):
   29004         (Location::put):
   29005         (LocationFunc::tryCall):
   29006 
   29007 2004-12-06  Ken Kocienda  <kocienda (a] apple.com>
   29008 
   29009         Reviewed by Maciej
   29010 
   29011         Fix for this bug:
   29012         
   29013         <rdar://problem/3890955> 8A314: Forward delete sometimes fails to delete the selected quoted text
   29014 
   29015         * khtml/editing/htmlediting.cpp:
   29016         (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete): Fixed bonehead coding mistake in the
   29017         check for one of the special cases being checked for in this function. The specific case 
   29018         intends to check for a selection that is only a <br> after a block ends (as in </div><br>). If it
   29019         sees such markup, it deletes only the <br> and bails. However, this code would run in *any*
   29020         case where a selection ended in a <br> after a block and would not delete any part of the
   29021         selection preceding the <br>. Bad. I have tightened the check to see that only a <br> is
   29022         selected.
   29023 
   29024         Fixing the bug above was accomplished with an additional call to DOM::Position::downstream. This
   29025         new use of the function exposed this bug:
   29026         
   29027         <rdar://problem/3907666> Incorrectly coded loop in Position::downstream can lead to infinite loop
   29028 
   29029         * khtml/xml/dom_position.cpp:
   29030         (DOM::Position::downstream): I am ashamed of my first cut at this. Rewrote the loop so it does 
   29031         not have this fatal flaw. It is a much better design as well.
   29032         
   29033         * layout-tests/editing/deleting/delete-3800834-fix-expected.txt: Changes made this test
   29034         have what I consider to be a better result. Going with it.
   29035 
   29036 2004-12-06  Chris Blumenberg  <cblu (a] apple.com>
   29037 
   29038 	Fixed: <rdar://problem/3871718> REGRESSION (125-168): text marked bold with font that does not have bold variant copies as non-bold
   29039 
   29040         Reviewed by hyatt.
   29041 
   29042         * kwq/DOM.mm:
   29043         (-[DOMElement _font]): new SPI for AppKit
   29044         * kwq/DOMPrivate.h:
   29045 
   29046 2004-12-06  Darin Adler  <darin (a] apple.com>
   29047 
   29048         Reviewed by Maciej.
   29049 
   29050         - fixed <rdar://problem/3906327> Select All of a large document is slow (>15 secs on my machine for attached specimen)
   29051 
   29052         * kwq/KWQScrollView.mm: (QScrollView::updateContents): Intersect with visibleRect before calling through
   29053         to NSView to dirty; NSView could also be more efficient in this case (I filed 3906343).
   29054 
   29055 2004-12-06  John Sullivan  <sullivan (a] apple.com>
   29056 
   29057         Darin found what appears to be the real leak that we were falsely blaming
   29058         on the 'leaks' tool (3880245). I made the change, and ran layout tests and PLT to make
   29059         sure nothing barfed.
   29060 
   29061         * khtml/css/cssparser.cpp:
   29062         (CSSParser::parseValue):
   29063         call clearProperties() instead of just setting numParsedProperties to 0
   29064         (CSSParser::parseDeclaration):
   29065         ditto
   29066         (CSSParser::createStyleDeclaration):
   29067         ditto
   29068 
   29069 2004-12-06  Ken Kocienda  <kocienda (a] apple.com>
   29070 
   29071         Reviewed by me
   29072         
   29073         New layout tests.
   29074 
   29075         * layout-tests/editing/inserting/insert-div-001-expected.txt: Added.
   29076         * layout-tests/editing/inserting/insert-div-001.html: Added.
   29077         * layout-tests/editing/inserting/insert-div-002-expected.txt: Added.
   29078         * layout-tests/editing/inserting/insert-div-002.html: Added.
   29079         * layout-tests/editing/inserting/insert-div-003-expected.txt: Added.
   29080         * layout-tests/editing/inserting/insert-div-003.html: Added.
   29081         * layout-tests/editing/inserting/insert-div-004-expected.txt: Added.
   29082         * layout-tests/editing/inserting/insert-div-004.html: Added.
   29083         * layout-tests/editing/inserting/insert-div-005-expected.txt: Added.
   29084         * layout-tests/editing/inserting/insert-div-005.html: Added.
   29085         * layout-tests/editing/inserting/insert-div-006-expected.txt: Added.
   29086         * layout-tests/editing/inserting/insert-div-006.html: Added.
   29087         * layout-tests/editing/inserting/insert-div-007-expected.txt: Added.
   29088         * layout-tests/editing/inserting/insert-div-007.html: Added.
   29089         * layout-tests/editing/inserting/insert-div-008-expected.txt: Added.
   29090         * layout-tests/editing/inserting/insert-div-008.html: Added.
   29091         * layout-tests/editing/inserting/insert-div-009-expected.txt: Added.
   29092         * layout-tests/editing/inserting/insert-div-009.html: Added.
   29093 
   29094 2004-12-06  Ken Kocienda  <kocienda (a] apple.com>
   29095 
   29096         Reviewed by Harrison
   29097 
   29098         Fix for this bug:
   29099         
   29100         <rdar://problem/3906948> REGRESSION (Mail): Insert paragraph code can make the insertion point "stick" in place.
   29101 
   29102         * khtml/editing/htmlediting.cpp:
   29103         (khtml::InsertParagraphSeparatorCommand::doApply): Call insertBlockPlaceholderIfNeeded(), passing block
   29104         being added to this function. This ensures that the added block has a height.
   29105         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Ditto.
   29106 
   29107 2004-12-06  Ken Kocienda  <kocienda (a] apple.com>
   29108  
   29109         Reviewed by John
   29110         
   29111         * khtml/dom/dom_string.cpp:
   29112         (DOM::DOMString::substring): Expose method already on DOMStrimgImpl.
   29113         * khtml/dom/dom_string.h: Ditto.
   29114         * khtml/editing/htmlediting.cpp:
   29115         (khtml::CompositeEditCommand::rebalanceWhitespace): New helper to create and execute a
   29116         RebalanceWhitespaceCommand instance.
   29117         (khtml::DeleteSelectionCommand::doApply): Call rebalanceWhitespace() after running command.
   29118         (khtml::InsertLineBreakCommand::doApply): Ditto.
   29119         (khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
   29120         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Ditto.
   29121         (khtml::InsertTextCommand::input): Ditto.
   29122         (khtml::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): New command.
   29123         (khtml::RebalanceWhitespaceCommand::~RebalanceWhitespaceCommand): Ditto.
   29124         (khtml::RebalanceWhitespaceCommand::doApply): Ditto.
   29125         (khtml::RebalanceWhitespaceCommand::doUnapply): Ditto.
   29126         (khtml::RebalanceWhitespaceCommand::preservesTypingStyle): Ditto.
   29127         (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
   29128         * khtml/editing/htmlediting.h: Ditto.
   29129         (khtml::RebalanceWhitespaceCommand::): Ditto.
   29130 
   29131 2004-12-05  Darin Adler  <darin (a] apple.com>
   29132 
   29133         - fixed small problem in my check-in from yesterday
   29134 
   29135         * kwq/KWQEvent.mm:
   29136         (positionForEvent): Get location from event without raising exception if it's the wrong type.
   29137         (clickCountForEvent): Same, for clickCount.
   29138         (QMouseEvent::QMouseEvent): Use the new helper functions so this can be constructed even with
   29139         the wrong type of NSEvent. Required for cases where a keyboard event causes a "click" and we need
   29140         to synthesize a QMouseEvent for KHTML internal use, using the key down NSEvent.
   29141 
   29142 2004-12-04  Darin Adler  <darin (a] apple.com>
   29143 
   29144         Reviewed by John.
   29145 
   29146         - fixed <rdar://problem/3878329> REGRESSION (169-170): colors are wrong for my.yahoo.com due to CSS background parsing changes
   29147 
   29148         * khtml/css/cssparser.cpp: (CSSParser::parseBackgroundShorthand): Changed function so it doesn't rely on the position
   29149         attribute being at the end of the array and then moved position attribute before color attribute so it takes precedence.
   29150         Since "0" can be both the X coordinate of a position and a legal color (meaning black), we need to do position first.
   29151 
   29152         - fixed <rdar://problem/3760869> click events for input type=button or type=checkbox don't have flags like shiftKey set
   29153 
   29154         * khtml/rendering/render_form.h: Remove unused RenderFormElement fields.
   29155         * khtml/rendering/render_form.cpp:
   29156         (RenderFormElement::RenderFormElement): Take out code to set a bunch of unused fields.
   29157         (RenderFormElement::slotClicked): Change to create the QMouseEvent from the actual mouse event rather than
   29158         creating it with all the flags set to 0, using the new QMouseEvent constructor that does so.
   29159 
   29160         * kwq/KWQEvent.h: Added constructor that takes no parameters which uses the current event from AppKit.
   29161         Made the click count getter const and added an isDoubleClick that matches the logic used elsewhere.
   29162         Added a fixState helper method so the constructors can save code.
   29163         * kwq/KWQEvent.mm:
   29164         (QMouseEvent::QMouseEvent): Factored out the state-fixing code that was in the two existing constructors
   29165         and added a third constructor that uses the "current event" from AppKit (used above).
   29166         (QMouseEvent::fixState): Compute state and click count based on event type.
   29167 
   29168         - fixed first symptom of <rdar://problem/3830936> REGRESSION (125-165): crash due to null font family, hang at changeforamerica.com
   29169 
   29170         * kwq/KWQFontFamily.mm: (KWQFontFamily::getNSFamily): Handle empty strings specially so we don't run into trouble when
   29171         the family name is a null string. This prevents the crash, but there are still other problems that may have the same
   29172         underlying cause in CSS.
   29173 
   29174         - fixed <rdar://problem/3829808> Safari crashes when adding a DOM node that was removed from an XMLHTTP request result
   29175 
   29176         * khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::insertedIntoDocument):
   29177         Added nil check before calling scheduleRelayout. This is new code so the nil-dereference is a recent regression.
   29178 
   29179 2004-12-03  Chris Blumenberg  <cblu (a] apple.com>
   29180 
   29181 	New fixes for:
   29182 	<rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
   29183 	<rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
   29184 	<rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
   29185 	<rdar://problem/3902749> REGRESSION (Tiger): missing image symbol does not appear
   29186 
   29187         Reviewed by darin, rjw, kocienda.
   29188 
   29189         * khtml/misc/loader.cpp:
   29190         (CachedObject::~CachedObject):
   29191         (CachedCSSStyleSheet::checkNotify):
   29192         (Loader::servePendingRequests):
   29193         (Loader::slotFinished):
   29194         (Loader::slotReceivedResponse):
   29195         (Cache::requestImage):
   29196         (Cache::requestScript):
   29197         * khtml/misc/loader.h:
   29198         (khtml::CachedObject::CachedObject):
   29199         (khtml::CachedObject::response):
   29200         (khtml::CachedObject::allData):
   29201         * kwq/KWQKJobClasses.h:
   29202         * kwq/KWQKJobClasses.mm:
   29203         (KIO::TransferJobPrivate::TransferJobPrivate):
   29204         (KIO::TransferJobPrivate::~TransferJobPrivate):
   29205         (KIO::TransferJob::TransferJob):
   29206         (KIO::TransferJob::assembleResponseHeaders):
   29207         (KIO::TransferJob::retrieveCharset):
   29208         (KIO::TransferJob::emitResult):
   29209         (KIO::TransferJob::emitReceivedResponse):
   29210         * kwq/KWQLoader.h:
   29211         * kwq/KWQLoader.mm:
   29212         (KWQHeaderStringFromDictionary):
   29213         (KWQCheckCacheObjectStatus):
   29214         (KWQIsResponseURLEqualToURL):
   29215         (KWQResponseURL):
   29216         (KWQResponseMIMEType):
   29217         (KWQCacheObjectExpiresTime):
   29218         (khtml::CachedObject::setResponse):
   29219         (khtml::CachedObject::setAllData):
   29220         * kwq/KWQPixmap.h:
   29221         * kwq/KWQPixmap.mm:
   29222         (QPixmap::QPixmap):
   29223         * kwq/KWQResourceLoader.mm:
   29224         (-[KWQResourceLoader finishJobAndHandle:]):
   29225         (-[KWQResourceLoader cancel]):
   29226         (-[KWQResourceLoader reportError]):
   29227         (-[KWQResourceLoader finishWithData:]):
   29228         * kwq/KWQSignal.h:
   29229         * kwq/KWQSignal.mm:
   29230         (KWQSignal::call):
   29231         * kwq/KWQSlot.h:
   29232         * kwq/KWQSlot.mm:
   29233         (KWQSlot::KWQSlot):
   29234         (KWQSlot::call):
   29235         * kwq/WebCoreBridge.h:
   29236         * kwq/WebCoreResourceLoader.h:
   29237 
   29238 2004-12-04  Darin Adler  <darin (a] apple.com>
   29239 
   29240         Reviewed by John.
   29241 
   29242         - fixed <rdar://problem/3876093> REGRESSION (166-167): Setting slider control's value from JavaScript has no effect (breaks RSS)
   29243 
   29244         * khtml/rendering/render_form.cpp:
   29245         (RenderSlider::updateFromElement): Call setValue to update the value of the DOM element rather than
   29246         modifying the m_value data member directly. We don't use m_value at all for sliders now, and in fact
   29247         the code relies on the fact that m_value is null. Setting m_value to a non-null value was causing the bug.
   29248         (RenderSlider::slotSliderValueChanged): Ditto.
   29249 
   29250 2004-12-03  John Sullivan  <sullivan (a] apple.com>
   29251 
   29252         Reviewed by Ken.
   29253         
   29254         - fixed <rdar://problem/3889411> REGRESSION (125-172): repro crash in 
   29255         khtml::BackgroundLayer::cullEmptyLayers
   29256 
   29257         * khtml/rendering/render_style.cpp:
   29258         (BackgroundLayer::cullEmptyLayers):
   29259         added missing nil check
   29260 
   29261 === Safari-173 ===
   29262 
   29263 2004-12-03  Ken Kocienda  <kocienda (a] apple.com>
   29264 
   29265         Reviewed by me
   29266 
   29267         Roll out some recent changes by Chris that caused a performance regression.
   29268         Fix is in hand, but it is a little risky this close to a submission. So,
   29269         we have decided to roll back the change with the regression and roll in
   29270         the new code after we submit.
   29271 
   29272         * khtml/css/cssproperties.c:
   29273         (hash_prop):
   29274         (findProp):
   29275         * khtml/css/cssvalues.c:
   29276         (hash_val):
   29277         (findValue):
   29278         * khtml/misc/htmlattrs.c:
   29279         (hash_attr):
   29280         (findAttr):
   29281         * khtml/misc/htmltags.c:
   29282         (hash_tag):
   29283         (findTag):
   29284         * khtml/misc/loader.cpp:
   29285         (CachedObject::~CachedObject):
   29286         (CachedObject::setResponse):
   29287         (CachedCSSStyleSheet::checkNotify):
   29288         (Loader::servePendingRequests):
   29289         (Loader::slotFinished):
   29290         (Loader::slotReceivedResponse):
   29291         (Cache::requestImage):
   29292         (Cache::requestScript):
   29293         * khtml/misc/loader.h:
   29294         (khtml::CachedObject::CachedObject):
   29295         (khtml::CachedObject::response):
   29296         * kwq/KWQKJobClasses.h:
   29297         * kwq/KWQKJobClasses.mm:
   29298         (KIO::TransferJobPrivate::TransferJobPrivate):
   29299         (KIO::TransferJobPrivate::~TransferJobPrivate):
   29300         (KIO::TransferJob::TransferJob):
   29301         (KIO::TransferJob::assembleResponseHeaders):
   29302         (KIO::TransferJob::retrieveCharset):
   29303         (KIO::TransferJob::emitResult):
   29304         (KIO::TransferJob::emitReceivedResponse):
   29305         * kwq/KWQLoader.h:
   29306         * kwq/KWQLoader.mm:
   29307         (KWQHeaderStringFromDictionary):
   29308         (KWQCheckCacheObjectStatus):
   29309         (KWQRetainResponse):
   29310         (KWQReleaseResponse):
   29311         (KWQIsResponseURLEqualToURL):
   29312         (KWQResponseURL):
   29313         (KWQResponseMIMEType):
   29314         (KWQResponseTextEncodingName):
   29315         (KWQResponseHeaderString):
   29316         (KWQCacheObjectExpiresTime):
   29317         (KWQLoader::KWQLoader):
   29318         * kwq/KWQPixmap.h:
   29319         * kwq/KWQPixmap.mm:
   29320         (QPixmap::QPixmap):
   29321         * kwq/KWQResourceLoader.mm:
   29322         (-[KWQResourceLoader finishJobAndHandle]):
   29323         (-[KWQResourceLoader cancel]):
   29324         (-[KWQResourceLoader reportError]):
   29325         (-[KWQResourceLoader finish]):
   29326         * kwq/KWQSignal.h:
   29327         * kwq/KWQSignal.mm:
   29328         (KWQSignal::call):
   29329         * kwq/KWQSlot.h:
   29330         * kwq/KWQSlot.mm:
   29331         (KWQSlot::KWQSlot):
   29332         (KWQSlot::call):
   29333         * kwq/WebCoreBridge.h:
   29334         * kwq/WebCoreResourceLoader.h:
   29335 
   29336 2004-12-03  John Sullivan  <sullivan (a] apple.com>
   29337 
   29338         Reviewed by Chris.
   29339         
   29340         - fixed <rdar://problem/3903990> can't tab to all items on www.google.com any more (other pages too?)
   29341 
   29342         * kwq/KWQKHTMLPart.mm:
   29343         (KWQKHTMLPart::nextKeyViewInFrameHierarchy):
   29344         when checking whether we moved the focus to another view, make sure we didn't "move" it to
   29345         our documentView, because that's no move at all.
   29346 
   29347 2004-12-03  Darin Adler  <darin (a] apple.com>
   29348 
   29349         Reviewed by Vicki.
   29350 
   29351         - fixed <rdar://problem/3901109> REGRESSION (171-172): repro crash in DOM::NodeImpl::setChanged at chick-fil-a.com
   29352 
   29353         * khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::CSSMutableStyleDeclarationImpl):
   29354         Added missing initialization for base class and node pointer.
   29355 
   29356         - fixed a few places that could leave dangling node pointers
   29357 
   29358         * khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::~HTMLBodyElementImpl):
   29359         Clear out the node pointer when the node is destroyed.
   29360         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::~HTMLElementImpl): Ditto.
   29361 
   29362 2004-12-03  Chris Blumenberg  <cblu (a] apple.com>
   29363 
   29364 	Fix for performance regression. My original patch added a signal for passing the data of a resource to its WebCore cache object. This patch passes the data with the preexisting "finished" symbol so we make less calls. 
   29365 	Fixed: <rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
   29366 
   29367         Reviewed by rjw.
   29368 
   29369         * khtml/misc/loader.cpp:
   29370         (Loader::servePendingRequests): pass data param to slotFinished, removed allData signal
   29371         (Loader::slotFinished): take data param
   29372         * khtml/misc/loader.h:
   29373         * kwq/KWQKJobClasses.h:
   29374         * kwq/KWQKJobClasses.mm:
   29375         (KIO::TransferJob::TransferJob): have m_result take a data param, removed m_allData
   29376         (KIO::TransferJob::emitResult): take data param and pass it
   29377         * kwq/KWQResourceLoader.mm:
   29378         (-[KWQResourceLoader finishJobAndHandle:]): take data param and pass it
   29379         (-[KWQResourceLoader cancel]): pass nil for data
   29380         (-[KWQResourceLoader reportError]): ditto
   29381         (-[KWQResourceLoader finishWithData:]): pass data
   29382         * kwq/KWQSlot.mm:
   29383         (KWQSlot::KWQSlot): pass data param to slotFinished
   29384         (KWQSlot::call): added support for slotFinished_Loader, removed slotAllData
   29385 
   29386 2004-12-03  Ken Kocienda  <kocienda (a] apple.com>
   29387 
   29388         Reviewed by John
   29389 
   29390         Did some clean up in the Position class as a result of trying to write some new layout
   29391         tests and discovering a bug along the way.
   29392 
   29393         I removed these three functions from the Position class:
   29394         
   29395         1. bool isFirstRenderedPositionOnLine() const;
   29396         2. bool isLastRenderedPositionOnLine() const;
   29397         3. static bool renderersOnDifferentLine(RenderObject *r1, long o1, RenderObject *r2, long o2);
   29398         4. bool inFirstEditableInRootEditableElement() const;
   29399 
   29400         The first two have replacements in the VisiblePosition class, and some code has been
   29401         moved to use these new variants. The third function was a helper used only by these
   29402         first two function, and can be removed as well. The fourth function was not used by anyone.
   29403 
   29404         * khtml/editing/htmlediting.cpp:
   29405         (khtml::InsertTextCommand::input): Change over to use VisiblePosition isFirstVisiblePositionOnLine().
   29406         * khtml/editing/visible_position.cpp:
   29407         (khtml::visiblePositionsOnDifferentLines): Added an additional check for blocks to this function.
   29408         Incorrect results were being returned when asking about positions at the starts of blocks.
   29409         * khtml/xml/dom_position.cpp:
   29410         (DOM::Position::previousCharacterPosition): Change over to use VisiblePosition isFirstVisiblePositionOnLine().
   29411         (DOM::Position::nextCharacterPosition): Change over to use VisiblePosition isLastVisiblePositionOnLine().
   29412         (DOM::Position::rendersInDifferentPosition): Removed use of #3 helper in a log message. We can live without it.
   29413         * khtml/xml/dom_position.h: Update header for deletions.
   29414 
   29415 2004-12-03  Ken Kocienda  <kocienda (a] apple.com>
   29416 
   29417         Reviewed by John
   29418 
   29419         Terminology change in execCommand command identifiers. Specifically, the name of 
   29420         "InsertNewline" command has been changed to "InsertLineBreak". This matches the 
   29421         terminology used by AppKit. It is also more accurate, since the insertion of a
   29422         "br" element is what the command does. The inspiration for this change is so the 
   29423         -insertNewline AppKit method can be mapped to insert a new "div" element in 
   29424         a document and avoid ambiguity with what the javascript editing command does.
   29425         
   29426         * khtml/editing/jsediting.cpp
   29427         * layout-tests/editing/deleting/delete-tab-004.html
   29428         * layout-tests/editing/editing.js
   29429         * layout-tests/editing/inserting/insert-3654864-fix.html
   29430         * layout-tests/editing/inserting/insert-3659587-fix.html
   29431         * layout-tests/editing/inserting/insert-3775316-fix.html
   29432         * layout-tests/editing/inserting/insert-3800346-fix.html
   29433         * layout-tests/editing/inserting/insert-br-001.html
   29434         * layout-tests/editing/inserting/insert-br-002.html
   29435         * layout-tests/editing/inserting/insert-br-003.html
   29436         * layout-tests/editing/inserting/insert-br-004.html
   29437         * layout-tests/editing/inserting/insert-br-005.html
   29438         * layout-tests/editing/inserting/insert-br-006.html
   29439         * layout-tests/editing/inserting/insert-br-007.html
   29440         * layout-tests/editing/inserting/insert-br-008.html
   29441         * layout-tests/editing/inserting/insert-tab-004.html
   29442         * layout-tests/editing/inserting/insert-text-with-newlines.html
   29443         * layout-tests/editing/pasteboard/paste-text-010.html
   29444 
   29445 2004-12-02  Ken Kocienda  <kocienda (a] apple.com>
   29446 
   29447         Reviewed by John
   29448 
   29449         Fix for this bug:
   29450         
   29451         <rdar://problem/3786362> REGRESSION (Mail): pasted text loses one newline
   29452 
   29453         * khtml/editing/htmlediting.cpp:
   29454         (khtml::InsertLineBreakCommand::doApply): Added check for strict mode before adding an extra br element
   29455         at the end of a block. This is only necessary in quirks mode. Also, lower-case "br" used to make element.
   29456         (khtml::ReplaceSelectionCommand::doApply): If the replacement adds a br element as the last element
   29457         in a block and the document is in quirks mode, add an additional br to make the one in the 
   29458         replacement content show up. This turns out to be much the same logic as is done in InsertLineBreakCommand.
   29459         * layout-tests/editing/inserting/insert-3786362-fix-expected.txt: Added.
   29460         * layout-tests/editing/inserting/insert-3786362-fix.html: Added.
   29461 
   29462 2004-12-02  Richard Williamson   <rjw (a] apple.com>
   29463 
   29464 	Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images
   29465 
   29466 	Ensure that the document is cleared when leaving a non-HTML page.  This ensures that
   29467 	the b/f cache won't incorrectly trash the previous state when restoring.
   29468 
   29469         Reviewed by John.
   29470 
   29471         * kwq/WebCoreBridge.h:
   29472         * kwq/WebCoreBridge.mm:
   29473         (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
   29474         (-[WebCoreBridge canCachePage]):
   29475         (-[WebCoreBridge clear]):
   29476 
   29477 2004-12-02  Ken Kocienda  <kocienda (a] apple.com>
   29478 
   29479         Reviewed by Richard
   29480 
   29481         Fix for this bug:
   29482         
   29483         <rdar://problem/3857775> 8A293: Mail.app crashes converting copy-pasted text into plain text
   29484 
   29485         * khtml/xml/dom2_rangeimpl.cpp:
   29486         (DOM::RangeImpl::commonAncestorContainer): Return the document element if no common ancestor container
   29487         was found. This can happen in cases where the DOM was built from malformed markup (as in the case
   29488         of this bug where there is content after the body tag). Did a little code clean up as well.
   29489         (DOM::RangeImpl::compareBoundaryPoints): Made code more robust by adding some null checks.
   29490 
   29491 2004-12-02  Ken Kocienda  <kocienda (a] apple.com>
   29492 
   29493         Reviewed by Chris
   29494 
   29495         Fix for this bug:
   29496         
   29497         <rdar://problem/3668157> REGRESSION (Mail): shift-click deselects when selection was created right-to-left
   29498 
   29499         * khtml/khtml_part.cpp:
   29500         (KHTMLPart::handleMousePressEventSingleClick): Use RangeImpl::compareBoundaryPoints
   29501         to figure out which end of the selection to extend.
   29502 
   29503 2004-12-02  David Harrison  <harrison (a] apple.com>
   29504 
   29505         Reviewed by Ken Kocienda.
   29506 
   29507 		<rdar://problem/3834917> REGRESSION (Mail): double-clicking blank line selects end of previous line
   29508 		Fixed originally reported bug plus the case of double-clicking whitespace at the beginning of a line, which has a similar result.
   29509 
   29510         * khtml/editing/visible_text.cpp:
   29511         (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
   29512         (khtml::SimplifiedBackwardsTextIterator::handleTextNode):
   29513         (khtml::SimplifiedBackwardsTextIterator::handleReplacedElement):
   29514         (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode):
   29515         (khtml::SimplifiedBackwardsTextIterator::emitCharacter):
   29516         Distinguish BR from whitespace.
   29517         * khtml/editing/visible_text.h:
   29518         Distinguish BR from whitespace.
   29519         * khtml/editing/visible_units.cpp:
   29520         (khtml::previousWordBoundary):
   29521         Use UPSTREAM visible position now that SimplifiedBackwardsTextIterator distinguishes BR from whitespace.  Otherwise, double-clicking at end of line would result in caret selection at start of next line. 
   29522 
   29523 2004-12-02  Ken Kocienda  <kocienda (a] apple.com>
   29524 
   29525         Reviewed by John
   29526 
   29527         Fix for this bug:
   29528         
   29529         <rdar://problem/3900996> Crash dragging past end of contentEditable DIV, at DOM::RangeImpl::pastEndNode() const + 24
   29530 
   29531         * khtml/xml/dom_position.cpp:
   29532         (DOM::Position::equivalentRangeCompliantPosition): Fixed this function so that it constrains the offset
   29533         of the position to be >= 0 and <= number of kids of its node. Not doing this constraining led to a DOM
   29534         exception trying to use a Position returned from this function to set the boundary point of a Range (which
   29535         eventually led to the crash). Since this crash happened, it seems like this function was failing in its
   29536         contract to return a range-compliant position, hence the need for this fix.
   29537 
   29538 2004-12-01  Ken Kocienda  <kocienda (a] apple.com>
   29539 
   29540         Reviewed by me
   29541 
   29542         Moving code only.
   29543 
   29544         * khtml/editing/htmlediting.cpp: Move ReplaceSelectionCommand into alphabetical order with
   29545         regard to other editing commands. The class had a name change ages ago, and it was never
   29546         moved.
   29547         * khtml/editing/htmlediting.h: Ditto.
   29548 
   29549 2004-12-01  Ken Kocienda  <kocienda (a] apple.com>
   29550 
   29551         Reviewed by Hyatt
   29552         
   29553         Some improvements for paste, including some new code to annotate
   29554         whitespace when writing to the pasteboard to ensure that the meaning
   29555         of the markup on the pasteboard is unambiguous.
   29556         
   29557         There is also new code for reading this annotated markup from the pasteboard,
   29558         removing the nodes that were added only to prevent ambiguity.
   29559 
   29560         * WebCore.pbproj/project.pbxproj: Added html_interchange.h and html_interchange.cpp files.
   29561         The header should have been added earlier, but I did not do so.
   29562         * khtml/editing/html_interchange.cpp: Added.
   29563         (convertHTMLTextToInterchangeFormat):
   29564         * khtml/editing/html_interchange.h: Added some new constants for use with whitespace annotations.
   29565         * khtml/editing/htmlediting.cpp:
   29566         (khtml::ReplacementFragment::ReplacementFragment): Now looks for and removes annotations added for whitespace.
   29567         Also fixed a bug in the code that counts blocks in a fragment.
   29568         (khtml::ReplacementFragment::isInterchangeConvertedSpaceSpan): New helper. Recognizes annotation spans.
   29569         (khtml::ReplacementFragment::insertNodeBefore): New helper.
   29570         (khtml::ReplaceSelectionCommand::doApply): Fixed a bug in the code that sets the start position
   29571         for the replacement after deleting. This was causing a bug when pasting at the end of a block.
   29572         * khtml/editing/htmlediting.h: Add some new declarations.
   29573         * khtml/xml/dom2_rangeimpl.cpp:
   29574         (DOM::RangeImpl::toHTML): Calls to startMarkup now pass true for the new annotate flag.
   29575         * khtml/xml/dom_nodeimpl.cpp:
   29576         (NodeImpl::stringValueForRange): New helper.
   29577         (NodeImpl::renderedText): New helper to return only the rendered text in a node.
   29578         (NodeImpl::startMarkup): Now takes an additional flag to control whether interchange annotations
   29579         should be added. Called by the paste code.
   29580         * khtml/xml/dom_nodeimpl.h: Added and modified function declarations.
   29581 
   29582         New test to check the khtml::ReplaceSelectionCommand::doApply fix.
   29583         * layout-tests/editing/pasteboard/paste-text-010-expected.txt: Added.
   29584         * layout-tests/editing/pasteboard/paste-text-010.html: Added.
   29585 
   29586 2004-11-30  Chris Blumenberg  <cblu (a] apple.com>
   29587 
   29588         * ChangeLog: removed conflict marker
   29589 
   29590 2004-11-30  Chris Blumenberg  <cblu (a] apple.com>
   29591 
   29592 	Fixed:
   29593 	<rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
   29594 	<rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
   29595 
   29596         Reviewed by darin.
   29597 
   29598         * khtml/misc/loader.cpp:
   29599         (CachedObject::~CachedObject): release m_allData
   29600         (CachedObject::setAllData): new
   29601         (Loader::servePendingRequests): connect slotAllData
   29602         (Loader::slotAllData): new
   29603         (Cache::requestImage): tweak
   29604         * khtml/misc/loader.h:
   29605         (khtml::CachedObject::CachedObject): set allData to 0
   29606         (khtml::CachedObject::allData): new
   29607         * kwq/KWQKJobClasses.h:
   29608         * kwq/KWQKJobClasses.mm:
   29609         (KIO::TransferJob::TransferJob): set m_allData
   29610         (KIO::TransferJob::emitAllData): new
   29611         * kwq/KWQLoader.mm:
   29612         (KWQCheckCacheObjectStatus): pass WebKit the data instead of the length of the resource
   29613         * kwq/KWQResourceLoader.mm:
   29614         (-[KWQResourceLoader finishWithData:]): renamed to pass all data for the resource
   29615         * kwq/KWQSlot.mm:
   29616         (KWQSlot::KWQSlot): support for slotAllData
   29617         (KWQSlot::call):
   29618         * kwq/WebCoreBridge.h:
   29619         * kwq/WebCoreResourceLoader.h:
   29620 
   29621 2004-11-30  Maciej Stachowiak  <mjs (a] apple.com>
   29622 
   29623         Reviewed by John.
   29624 
   29625 2004-11-30  Maciej Stachowiak  <mjs (a] apple.com>
   29626 
   29627         Reviewed by John.
   29628 
   29629 	<rdar://problem/3805311> REGRESSION (159-163): onload in dynamically written document not called (causes blank search page at Japanese EPP site, many others)
   29630 
   29631         * khtml/khtml_part.cpp:
   29632 	(KHTMLPart::begin): call setParsing on document here after opening
   29633 	- from now on we'll only set parsing to true for a document open
   29634 	caused by page loading, not a programmatic one.
   29635 	* khtml/xml/dom_docimpl.cpp:
   29636         (DocumentImpl::open): don't setParsing to true here any more.
   29637 
   29638 2004-11-30  Maciej Stachowiak  <mjs (a] apple.com>
   29639 
   29640         Reviewed by John.
   29641 
   29642 	- fix recent regression from collection perf fixes.
   29643 	
   29644         * khtml/html/html_miscimpl.cpp:
   29645         (HTMLFormCollectionImpl::updateNameCache): Look up the name
   29646 	attribute in the name cache, not the id cache (d'oh!)
   29647 
   29648 2004-11-30  Darin Adler  <darin (a] apple.com>
   29649 
   29650         Reviewed by Ken.
   29651 
   29652         - rolled in a KDE fix for a problem that may underlie a number of crashes
   29653 
   29654         * khtml/xml/dom2_rangeimpl.cpp: (RangeImpl::compareBoundaryPoints): Rolled in a change from
   29655         the KDE guys to fix a subtle problem. Code said "n = n =".
   29656 
   29657         - rolled in a KDE fix for a containingBlock crash
   29658 
   29659         * khtml/rendering/render_object.cpp: Roll in a change from KDE that adds frameset to the list of
   29660         elements that can not be a containingBlock. They said this fixes a crash, although I did not look
   29661         into that further.
   29662 
   29663         - fixed <rdar://problem/3884660> 8A305: Repro crash in QScrollBar::setValue (affects Safari RSS)
   29664 
   29665         * kwq/KWQButton.mm:
   29666         (-[KWQButton initWithQButton:]): Set up target and action here instead of in caller.
   29667         (-[KWQButton detachQButton]): Added.
   29668         (-[KWQButton sendConsumedMouseUpIfNeeded]): Check button for nil instead of checking target.
   29669         (-[KWQButton mouseDown:]): Add calls to QWidget::beforeMouseDown/afterMouseDown.
   29670         (-[KWQButton widget]): Added.
   29671         (-[KWQButton becomeFirstResponder]): Added check to handle when button is 0.
   29672         (-[KWQButton resignFirstResponder]): Ditto.
   29673         (-[KWQButton canBecomeKeyView]): Ditto.
   29674         (QButton::QButton): Remove target and action setup; handled in KWQButton now.
   29675         (QButton::~QButton): Call detachQButton instead of setTarget:nil.
   29676 
   29677         * kwq/KWQComboBox.mm:
   29678         (QComboBox::~QComboBox): Call detachQComboBox.
   29679         (-[KWQPopUpButtonCell detachQComboBox]): Added.
   29680         (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): Handle case where box is 0.
   29681         (-[KWQPopUpButtonCell setHighlighted:]): Ditto.
   29682         (-[KWQPopUpButton action:]): Ditto.
   29683         (-[KWQPopUpButton widget]): Tweaked.
   29684         (-[KWQPopUpButton mouseDown:]): Added. Calls QWidget::beforeMouseDown/afterMouseDown.
   29685         (-[KWQPopUpButton becomeFirstResponder]): Handle case where widget is 0.
   29686         (-[KWQPopUpButton resignFirstResponder]): Ditto.
   29687         (-[KWQPopUpButton canBecomeKeyView]): Ditto.
   29688 
   29689         * kwq/KWQLineEdit.mm: (QLineEdit::~QLineEdit): Updated to use new detachQLineEdit name.
   29690 
   29691         * kwq/KWQListBox.mm:
   29692         (-[KWQTableView mouseDown:]): Added. Calls QWidget::beforeMouseDown/afterMouseDown.
   29693 
   29694         * kwq/KWQScrollBar.h: Removed m_scroller field.
   29695         * kwq/KWQScrollBar.mm:
   29696         (-[KWQScrollBar initWithQScrollBar:]): Rearranged a little bit.
   29697         (-[KWQScrollBar detachQScrollBar]): Added.
   29698         (-[KWQScrollBar widget]): Added.
   29699         (-[KWQScrollBar mouseDown:]): Added.  Calls QWidget::beforeMouseDown and afterMouseDown.
   29700         (QScrollBar::QScrollBar): Changed to no longer set m_scroller.
   29701         (QScrollBar::~QScrollBar): Changed to call detachQScrollBar. No longer calls removeFromSuperview.
   29702         (QScrollBar::setValue): Chagned to use getView instad of m_scrollBar.
   29703         (QScrollBar::setKnobProportion): Ditto.
   29704         (QScrollBar::scrollbarHit): Ditto.
   29705 
   29706         * kwq/KWQScrollView.mm:
   29707         (QScrollView::addChild): Changed to call QWidget to add to superview to accomodate the
   29708         hack where we don't remove right away when doing mouse tracking.
   29709         (QScrollView::removeChild): Changed to call QWidget to remove from superview to accomodate
   29710         the hack where we don't add right away when doing mouse tracking.
   29711 
   29712         * kwq/KWQSlider.h: Added destructor.
   29713         * kwq/KWQSlider.mm:
   29714         (-[KWQSlider initWithQSlider:]): Tweaked a little.
   29715         (-[KWQSlider detachQSlider]): Added.
   29716         (-[KWQSlider mouseDown:]): Added call to QWidget::beforeMouseDown/afterMouseDown.
   29717         (-[KWQSlider widget]): Added.
   29718         (QSlider::~QSlider): Added. Calls detachQSlider.
   29719 
   29720         * kwq/KWQTextArea.h: Added detachQTextEdit method.
   29721         * kwq/KWQTextArea.mm:
   29722         (-[KWQTextArea detachQTextEdit]): Added.
   29723         (-[KWQTextArea textDidChange:]): Added check for widget of 0.
   29724         (-[KWQTextArea becomeFirstResponder]): Ditto.
   29725         (-[KWQTextArea nextKeyView]): Ditto.
   29726         (-[KWQTextArea previousKeyView]): Ditto.
   29727         (-[KWQTextArea drawRect:]): Ditto.
   29728         (-[KWQTextAreaTextView insertTab:]): Ditto.
   29729         (-[KWQTextAreaTextView insertBacktab:]): Ditto.
   29730         (-[KWQTextAreaTextView shouldDrawInsertionPoint]): Ditto.
   29731         (-[KWQTextAreaTextView selectedTextAttributes]): Ditto.
   29732         (-[KWQTextAreaTextView mouseDown:]): Ditto.
   29733         (-[KWQTextAreaTextView keyDown:]): Ditto.
   29734         (-[KWQTextAreaTextView keyUp:]): Ditto.
   29735 
   29736         * kwq/KWQTextEdit.h: Added ~QTextEdit.
   29737         * kwq/KWQTextEdit.mm: (QTextEdit::~QTextEdit): Added. Calls detachQTextEdit.
   29738 
   29739         * kwq/KWQTextField.h: Changed invalidate to detachQLineEdit.
   29740         * kwq/KWQTextField.mm: (-[KWQTextFieldController detachQLineEdit]): Changed.
   29741 
   29742         * kwq/KWQWidget.h: Added addToSuperview/removeFromSuperview for use from QScrollView.
   29743         Added beforeMouseDown and afterMouseDown for use in widget implementations.
   29744         Removed unused hasMouseTracking function.
   29745         * kwq/KWQWidget.mm:
   29746         (QWidget::QWidget): Initialize two new fields.
   29747         (QWidget::~QWidget): Added code to remove view when widget is destroyed.
   29748         (QWidget::getOuterView): Remove unneeded exception blocking since we're just caling superview.
   29749         (QWidget::addToSuperview): Added.
   29750         (QWidget::removeFromSuperview): Added.
   29751         (QWidget::beforeMouseDown): Added.
   29752         (QWidget::afterMouseDown): Added.
   29753 
   29754         * khtml/rendering/render_layer.cpp:
   29755         (RenderLayer::setHasHorizontalScrollbar): Remove parent parameter; let addChild call addSubview:.
   29756         (RenderLayer::setHasVerticalScrollbar): Ditto.
   29757 
   29758 2004-11-30  Ken Kocienda  <kocienda (a] apple.com>
   29759 
   29760         Reviewed by John
   29761 
   29762         Fix for this bug:
   29763         
   29764         <rdar://problem/3863031> REGRESSION (Mail): caret continues flashing while mouse is down
   29765 
   29766         * khtml/khtml_part.cpp:
   29767         (KHTMLPart::timerEvent): Add a check for whether the mouse is down. Keep the caret drawn
   29768         with no blink if it is.
   29769 
   29770 2004-11-30  Ken Kocienda  <kocienda (a] apple.com>
   29771 
   29772         Reviewed by John
   29773 
   29774         Fix for this bug:
   29775         
   29776         <rdar://problem/3861602> cursor gets lost trying to backspace to delete a form control
   29777 
   29778         * khtml/khtml_part.cpp:
   29779         (KHTMLPart::setFocusNodeIfNeeded): This function would clear the selection if a <button>
   29780         or <input type=image> was checked for focus since these elements are keyboard-focusable,
   29781         but not mouse focusable. Also, this function did not work hard enough to set the focused
   29782         node, and was content to clear it if the first element checked failed the test, rather
   29783         than looking more at parents. This would have the effect of clearing, then resetting the
   29784         focus on a DIV containing a button or image with content on either side of it in the
   29785         process of arrowing over such content.
   29786 
   29787 2004-11-30  Ken Kocienda  <kocienda (a] apple.com>
   29788 
   29789         Reviewed by John
   29790 
   29791         * khtml/editing/htmlediting.cpp:
   29792         (khtml::ReplaceSelectionCommand::doApply): Fix smart replace, which I (knowingly) broke with yesterday's checkin.
   29793         Also, call updateLayout() in one more place to prevent stale information being returned from caretMaxOffset().
   29794         * khtml/khtml_part.cpp:
   29795         (KHTMLPart::isCharacterSmartReplaceExempt): Make this virtual and always return true. This gets rid of an
   29796         ugly APPLE_CHANGES block and use of KWQ(part) in ReplaceSelectionCommand.
   29797         * khtml/khtml_part.h: To help out with the isCharacterSmartReplaceExempt cleanup, add declaration.
   29798         * kwq/KWQKHTMLPart.h: To help out with the isCharacterSmartReplaceExempt cleanup, make 
   29799         isCharacterSmartReplaceExempt virtual.
   29800 
   29801 2004-11-30  Ken Kocienda  <kocienda (a] apple.com>
   29802 
   29803         Reviewed by me
   29804 
   29805         * khtml/editing/htmlediting.cpp:
   29806         (khtml::ReplacementFragment::mergeEndNode): Fixed one-line coding mistake that created an endless loop.
   29807         Seemed simple enough to land without review.
   29808 
   29809 2004-11-29  Ken Kocienda  <kocienda (a] apple.com>
   29810 
   29811         Reviewed by Chris
   29812     
   29813         Rewrite of paste code (specifically the ReplaceSelectionCommand class). Many more cases
   29814         are handled correctly now, including selections that span multiple blocks, and cases
   29815         where content on the pasteboard ends in newlines (or what appear to be newlines to a
   29816         user, really block ends or BRs). I also made one small, but important change in the 
   29817         copy code to annotate the markup written to the pasteboard to support these selections 
   29818         ending in newlines.
   29819 
   29820         New header that defines a couple of constants used in copying and pasting.
   29821 
   29822         * ForwardingHeaders/editing/html_interchange.h: Added.
   29823         * khtml/editing/html_interchange.h: Added.
   29824         
   29825         Rewrite of the ReplaceSelectionCommand. There are several new helper functions, as well
   29826         as a new helper class, ReplacementFragment, which encapsulates information and functions
   29827         pertaining to a document fragment that is being inserted into a document.
   29828         
   29829         * khtml/editing/htmlediting.cpp:
   29830         (khtml::ReplacementFragment::ReplacementFragment):
   29831         (khtml::ReplacementFragment::~ReplacementFragment):
   29832         (khtml::ReplacementFragment::firstChild): Simple accessor.
   29833         (khtml::ReplacementFragment::lastChild): Ditto.
   29834         (khtml::ReplacementFragment::mergeStartNode): Looks at the nodes in a fragment and determines
   29835         the starting node to use for merging into the block containing the start of the selection.
   29836         (khtml::ReplacementFragment::mergeEndNode): Same as above, but for the end of the selection.
   29837         (khtml::ReplacementFragment::pruneEmptyNodes): Simple helper.
   29838         (khtml::ReplacementFragment::isInterchangeNewlineComment): Determines if a node is the
   29839         special annotation comment added in by the copy code.
   29840         (khtml::ReplacementFragment::removeNode): Simple helper.
   29841         (khtml::isComment): Simple helper.
   29842         (khtml::isProbablyBlock): Determines if a node is of a type that is usually rendered as a block.
   29843         I would like to do better than this some day, but this check will hold us until I can do better.
   29844         (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand):
   29845         (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand):
   29846         (khtml::ReplaceSelectionCommand::doApply):
   29847         (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Figures out the right ending selection.
   29848         * khtml/editing/htmlediting.h: Declarations for the new ReplacementFragment class.
   29849         (khtml::ReplacementFragment::root):
   29850         (khtml::ReplacementFragment::type):
   29851         (khtml::ReplacementFragment::isEmpty):
   29852         (khtml::ReplacementFragment::isSingleTextNode):
   29853         (khtml::ReplacementFragment::isTreeFragment):
   29854         (khtml::ReplacementFragment::hasMoreThanOneBlock):
   29855         (khtml::ReplacementFragment::hasLogicalNewlineAtEnd):
   29856         
   29857         This smaller set of changes markup generation to add the newline annotation described in the
   29858         comment at the start of this entry.
   29859         
   29860         * khtml/xml/dom2_rangeimpl.cpp:
   29861         (DOM::RangeImpl::addCommentToHTMLMarkup): Simple helper.
   29862         (DOM::RangeImpl::toHTML): Added new EAnnotateForInterchange default argument to control whether
   29863         comment annotations are added to the markup generated.
   29864         * khtml/xml/dom2_rangeimpl.h: Add some new declarations.
   29865         * kwq/WebCoreBridge.mm:
   29866         (-[WebCoreBridge markupStringFromRange:nodes:]): Request that markup resulting from call to 
   29867         DOM::RangeImpl::toHTML uses annotations when generating.
   29868         
   29869         New tests.        
   29870 
   29871         * layout-tests/editing/pasteboard/paste-text-001-expected.txt: Added.
   29872         * layout-tests/editing/pasteboard/paste-text-001.html: Added.
   29873         * layout-tests/editing/pasteboard/paste-text-002-expected.txt: Added.
   29874         * layout-tests/editing/pasteboard/paste-text-002.html: Added.
   29875         * layout-tests/editing/pasteboard/paste-text-003-expected.txt: Added.
   29876         * layout-tests/editing/pasteboard/paste-text-003.html: Added.
   29877         * layout-tests/editing/pasteboard/paste-text-004-expected.txt: Added.
   29878         * layout-tests/editing/pasteboard/paste-text-004.html: Added.
   29879         * layout-tests/editing/pasteboard/paste-text-005-expected.txt: Added.
   29880         * layout-tests/editing/pasteboard/paste-text-005.html: Added.
   29881         * layout-tests/editing/pasteboard/paste-text-006-expected.txt: Added.
   29882         * layout-tests/editing/pasteboard/paste-text-006.html: Added.
   29883         * layout-tests/editing/pasteboard/paste-text-007-expected.txt: Added.
   29884         * layout-tests/editing/pasteboard/paste-text-007.html: Added.
   29885         * layout-tests/editing/pasteboard/paste-text-008-expected.txt: Added.
   29886         * layout-tests/editing/pasteboard/paste-text-008.html: Added.
   29887         * layout-tests/editing/pasteboard/paste-text-009-expected.txt: Added.
   29888         * layout-tests/editing/pasteboard/paste-text-009.html: Added.
   29889 
   29890 2004-11-29  Ken Kocienda  <kocienda (a] apple.com>
   29891 
   29892         Reviewed by Harrison
   29893 
   29894         Made two small changes that make it possible for comments to have DOM nodes made for them
   29895         when pasting. This relies on some earlier work I did some days ago.
   29896 
   29897         * khtml/xml/dom_nodeimpl.cpp:
   29898         (NodeImpl::startMarkup): Get the string from the comment.
   29899         * kwq/WebCoreBridge.mm:
   29900         (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): Did some very minor
   29901         rearranging. Now passes a flag when creating a contextual fragment, requesting that comments
   29902         be included in the DOM.
   29903 
   29904 2004-11-29  Ken Kocienda  <kocienda (a] apple.com>
   29905 
   29906         Reviewed by Harrison
   29907 
   29908         Added some new helpers to the VisiblePosition class. I will begin to use these when I check in
   29909         my improved paste code.
   29910 
   29911         * khtml/editing/visible_position.cpp:
   29912         (khtml::blockRelationship)
   29913         (khtml::visiblePositionsInDifferentBlocks)
   29914         (khtml::isFirstVisiblePositionInBlock)
   29915         (khtml::isFirstVisiblePositionInNode)
   29916         (khtml::isLastVisiblePositionInBlock)
   29917         * khtml/editing/visible_position.h
   29918 
   29919 2004-11-29  Ken Kocienda  <kocienda (a] apple.com>
   29920 
   29921         Reviewed by Harrison
   29922 
   29923         * khtml/xml/dom_position.cpp:
   29924         (DOM::Position::downstream): Fix a bug in downstream that prevented a call with DoNotStayInBlock
   29925         specified from obeying that directive. The old code would stop at an outer block boundary in
   29926         the case where that block had a block as its first child. The correct behavior is to drill into
   29927         that inner block (and continue on drilling down, if possible), to find the correct position.
   29928 
   29929 2004-11-29  Ken Kocienda  <kocienda (a] apple.com>
   29930 
   29931         Reviewed by Harrison
   29932 
   29933         Small improvements to the node-display debugging helpers.
   29934 
   29935         * khtml/xml/dom_nodeimpl.cpp:
   29936         (NodeImpl::displayTree): Make the rootNode be this if there is no rootEditableElement.
   29937         * khtml/xml/dom_nodeimpl.h: Make displayNode take a default argument of "" for its string.
   29938 
   29939 2004-11-29  Ken Kocienda  <kocienda (a] apple.com>
   29940 
   29941         Reviewed by Harrison
   29942 
   29943         * khtml/editing/htmlediting.cpp:
   29944         (khtml::DeleteSelectionCommand::handleGeneralDelete): The downstream position in this function 
   29945         may need to be adjusted when deleting text off the front part of a text node. This fixes a problem 
   29946         I discovered while improving the paste command, where the insertion poitn wound up in the wrong
   29947         place after the delete. 
   29948 
   29949 2004-11-29  Ken Kocienda  <kocienda (a] apple.com>
   29950 
   29951         Reviewed by Harrison
   29952 
   29953         Add a new helper function to insert a paragraph separator. Will be used in my
   29954         upcoming paste improvments.
   29955 
   29956         * khtml/editing/htmlediting.cpp: Added function
   29957         (khtml::CompositeEditCommand::insertParagraphSeparator)
   29958         * khtml/editing/htmlediting.h: Ditto.
   29959 
   29960 2004-11-23  David Harrison  <harrison (a] apple.com>
   29961 
   29962         Added various comments.
   29963 
   29964         * khtml/editing/htmlediting.cpp:
   29965         (khtml::StyleChange::init):
   29966         (khtml::ApplyStyleCommand::doApply):
   29967         (khtml::ApplyStyleCommand::applyBlockStyle):
   29968         (khtml::ApplyStyleCommand::applyInlineStyle):
   29969 
   29970 2004-11-23  David Hyatt  <hyatt (a] apple.com>
   29971 
   29972 	Hit testing in table cells with top/bottom space from vertical alignment didn't work.  I forgot about the
   29973 	super-secret yPos() lie that table cells do.  Use m_y instead of yPos().
   29974 
   29975         * khtml/rendering/render_block.cpp:
   29976         (khtml::RenderBlock::nodeAtPoint):
   29977 
   29978 2004-11-22  David Hyatt  <hyatt (a] apple.com>
   29979 
   29980 	Make sure you can use document.createElement to make a <canvas> element.
   29981 
   29982         * khtml/xml/dom_docimpl.cpp:
   29983         (DocumentImpl::createHTMLElement):
   29984 
   29985 2004-11-22  Maciej Stachowiak  <mjs (a] apple.com>
   29986 
   29987         Reviewed by Dave.
   29988 
   29989 	<rdar://problem/3492044> performing JavaScript operations on form elements is slower than WinIE (HTMLFormCollection)
   29990 	<rdar://problem/3489679> selecting an item on the Apache bugzilla query page is very slow (HTMLFormCollection)
   29991 	<rdar://problem/3477810> checking 80 check boxes with JavaScript is 10x slower than in IE (HTMLFormCollection)
   29992 	<rdar://problem/3760962> JavaScript that toggles checkboxes is slow (HTMLCollection,HTMLFormCollection)
   29993         
   29994 	* khtml/ecma/kjs_html.cpp:
   29995         (KJS::HTMLDocument::tryGet):
   29996         * khtml/html/html_formimpl.cpp:
   29997         (DOM::HTMLFormElementImpl::HTMLFormElementImpl):
   29998         (DOM::HTMLFormElementImpl::~HTMLFormElementImpl):
   29999         * khtml/html/html_formimpl.h:
   30000         * khtml/html/html_miscimpl.cpp:
   30001         (HTMLCollectionImpl::HTMLCollectionImpl):
   30002         (HTMLCollectionImpl::~HTMLCollectionImpl):
   30003         (HTMLCollectionImpl::CollectionInfo::CollectionInfo):
   30004         (HTMLCollectionImpl::CollectionInfo::reset):
   30005         (HTMLCollectionImpl::resetCollectionInfo):
   30006         (HTMLCollectionImpl::checkForNameMatch):
   30007         (appendToVector):
   30008         (HTMLCollectionImpl::updateNameCache):
   30009         (HTMLCollectionImpl::namedItems):
   30010         (HTMLFormCollectionImpl::HTMLFormCollectionImpl):
   30011         (HTMLFormCollectionImpl::~HTMLFormCollectionImpl):
   30012         (HTMLFormCollectionImpl::item):
   30013         (HTMLFormCollectionImpl::updateNameCache):
   30014         * khtml/html/html_miscimpl.h:
   30015 
   30016 2004-11-22  David Hyatt  <hyatt (a] apple.com>
   30017 
   30018 	Improve the WebCore cache so that the maximum cacheable object size is scaled based off the total cache
   30019 	size.
   30020 	
   30021         Reviewed by mjs
   30022 
   30023         * khtml/misc/loader.cpp:
   30024         (CachedObject::finish):
   30025         (Cache::flush):
   30026         (Cache::setSize):
   30027         * khtml/misc/loader.h:
   30028         (khtml::Cache::maxCacheableObjectSize):
   30029 
   30030 2004-11-22  David Hyatt  <hyatt (a] apple.com>
   30031 
   30032 	Fix for 3673381, huge directory listing so slow it seems like a hang.  Rework painting and hit testing so that
   30033 	it crawls the line box tree instead of the render tree.  This allows more precise intersection/containment testing
   30034 	that lets us short circuit earlier when painting and hit testing.
   30035 	
   30036         Reviewed by mjs
   30037 
   30038         * khtml/khtml_part.cpp:
   30039         (KHTMLPart::isPointInsideSelection):
   30040         * khtml/rendering/render_block.cpp:
   30041         (khtml::RenderBlock::paint):
   30042         (khtml::RenderBlock::paintChildren):
   30043         (khtml::RenderBlock::paintObject):
   30044         (khtml::RenderBlock::paintFloats):
   30045         (khtml::RenderBlock::nodeAtPoint):
   30046         * khtml/rendering/render_block.h:
   30047         * khtml/rendering/render_box.cpp:
   30048         (RenderBox::nodeAtPoint):
   30049         * khtml/rendering/render_box.h:
   30050         * khtml/rendering/render_br.h:
   30051         * khtml/rendering/render_canvas.cpp:
   30052         (RenderCanvas::paint):
   30053         * khtml/rendering/render_flow.cpp:
   30054         (RenderFlow::paintLines):
   30055         (RenderFlow::hitTestLines):
   30056         (RenderFlow::caretRect):
   30057         (RenderFlow::addFocusRingRects):
   30058         (RenderFlow::paintFocusRing):
   30059         (RenderFlow::paintOutlines):
   30060         (RenderFlow::paintOutlineForLine):
   30061         * khtml/rendering/render_flow.h:
   30062         * khtml/rendering/render_frames.cpp:
   30063         (RenderFrameSet::nodeAtPoint):
   30064         * khtml/rendering/render_frames.h:
   30065         * khtml/rendering/render_image.cpp:
   30066         (RenderImage::nodeAtPoint):
   30067         * khtml/rendering/render_image.h:
   30068         * khtml/rendering/render_inline.cpp:
   30069         (RenderInline::paint):
   30070         (RenderInline::nodeAtPoint):
   30071         * khtml/rendering/render_inline.h:
   30072         * khtml/rendering/render_layer.cpp:
   30073         (RenderLayer::paintLayer):
   30074         (RenderLayer::hitTest):
   30075         (RenderLayer::hitTestLayer):
   30076         * khtml/rendering/render_layer.h:
   30077         * khtml/rendering/render_line.cpp:
   30078         (khtml::InlineBox::paint):
   30079         (khtml::InlineBox::nodeAtPoint):
   30080         (khtml::InlineFlowBox::flowObject):
   30081         (khtml::InlineFlowBox::nodeAtPoint):
   30082         (khtml::InlineFlowBox::paint):
   30083         (khtml::InlineFlowBox::paintBackgrounds):
   30084         (khtml::InlineFlowBox::paintBackground):
   30085         (khtml::InlineFlowBox::paintBackgroundAndBorder):
   30086         (khtml::InlineFlowBox::paintDecorations):
   30087         (khtml::EllipsisBox::paint):
   30088         (khtml::EllipsisBox::nodeAtPoint):
   30089         (khtml::RootInlineBox::paintEllipsisBox):
   30090         (khtml::RootInlineBox::paint):
   30091         (khtml::RootInlineBox::nodeAtPoint):
   30092         * khtml/rendering/render_line.h:
   30093         (khtml::InlineRunBox::paintBackgroundAndBorder):
   30094         * khtml/rendering/render_object.cpp:
   30095         (RenderObject::hitTest):
   30096         (RenderObject::setInnerNode):
   30097         (RenderObject::nodeAtPoint):
   30098         * khtml/rendering/render_object.h:
   30099         (khtml::RenderObject::PaintInfo::PaintInfo):
   30100         (khtml::RenderObject::PaintInfo::~PaintInfo):
   30101         (khtml::RenderObject::paintingRootForChildren):
   30102         (khtml::RenderObject::shouldPaintWithinRoot):
   30103         * khtml/rendering/render_table.cpp:
   30104         (RenderTable::layout):
   30105         (RenderTable::paint):
   30106         * khtml/rendering/render_text.cpp:
   30107         (simpleDifferenceBetweenColors):
   30108         (correctedTextColor):
   30109         (InlineTextBox::nodeAtPoint):
   30110         (InlineTextBox::paint):
   30111         (InlineTextBox::selectionStartEnd):
   30112         (InlineTextBox::paintSelection):
   30113         (InlineTextBox::paintMarkedTextBackground):
   30114         (InlineTextBox::paintDecoration):
   30115         (RenderText::posOfChar):
   30116         * khtml/rendering/render_text.h:
   30117         (khtml::RenderText::paint):
   30118         (khtml::RenderText::layout):
   30119         (khtml::RenderText::nodeAtPoint):
   30120         * khtml/xml/dom2_eventsimpl.cpp:
   30121         (MouseEventImpl::computeLayerPos):
   30122         * khtml/xml/dom_docimpl.cpp:
   30123         (DocumentImpl::prepareMouseEvent):
   30124         * kwq/KWQAccObject.mm:
   30125         (-[KWQAccObject accessibilityHitTest:]):
   30126         * kwq/KWQKHTMLPart.mm:
   30127         (KWQKHTMLPart::scrollOverflowWithScrollWheelEvent):
   30128         (KWQKHTMLPart::eventMayStartDrag):
   30129         (KWQKHTMLPart::khtmlMouseMoveEvent):
   30130         * kwq/WebCoreBridge.mm:
   30131         (-[WebCoreBridge elementAtPoint:]):
   30132         (-[WebCoreBridge _positionForPoint:]):
   30133 
   30134 2004-11-22  Maciej Stachowiak  <mjs (a] apple.com>
   30135 
   30136         Reviewed by Dave.
   30137 
   30138 	<rdar://problem/3890961> selecting an item on the Apache bugzilla query page can be sped up 10% (HTMLFormCollection)
   30139 	<rdar://problem/3890958> JavaScript that toggles checkboxes can be improved 73% (HTMLCollection,HTMLFormCollection)
   30140 
   30141 	This avoids the O(N^2) penalty for named item traversal for form collections.
   30142 
   30143 	It also combines the item traversal logic for all non-form
   30144 	collection operations into a single traverseNextItem
   30145 	function. This avoids having 5 copies of the big switch statement
   30146 	for this.
   30147 
   30148 	Also fixed a bug that prevented the last form element from being removed properly.
   30149         
   30150         * khtml/html/html_formimpl.cpp:
   30151         (DOM::removeFromVector):
   30152 	* khtml/dom/html_misc.cpp:
   30153         (HTMLCollection::namedItems):
   30154         * khtml/dom/html_misc.h:
   30155         * khtml/ecma/kjs_html.cpp:
   30156         (KJS::HTMLCollection::getNamedItems):
   30157         * khtml/html/html_miscimpl.cpp:
   30158         (HTMLCollectionImpl::traverseNextItem):
   30159         (HTMLCollectionImpl::calcLength):
   30160         (HTMLCollectionImpl::length):
   30161         (HTMLCollectionImpl::item):
   30162         (HTMLCollectionImpl::nextItem):
   30163         (HTMLCollectionImpl::checkForNameMatch):
   30164         (HTMLCollectionImpl::namedItem):
   30165         (HTMLCollectionImpl::namedItems):
   30166         (HTMLCollectionImpl::nextNamedItem):
   30167         (HTMLFormCollectionImpl::calcLength):
   30168         (HTMLFormCollectionImpl::namedItem):
   30169         (HTMLFormCollectionImpl::nextNamedItem):
   30170         (HTMLFormCollectionImpl::namedItems):
   30171         * khtml/html/html_miscimpl.h:
   30172 
   30173 2004-11-22  Ken Kocienda  <kocienda (a] apple.com>
   30174 
   30175         Reviewed by Harrison
   30176 
   30177         Change around the way we block the Javascript "Paste" command identifier from
   30178         being available. Formerly, this was done with an ifdef we never compiled in.
   30179         Now, this is done with a couple of cheap runtime checks. The advantage is that
   30180         we can now compile this command into development builds, and still yet switch
   30181         on the command in deployment builds through the use of WebCore SPI so we can
   30182         write and run layout tests with all of our builds.
   30183 
   30184         * khtml/editing/jsediting.cpp:
   30185         (DOM::JSEditor::queryCommandSupported): Checks state of paste command in case
   30186         command being queried is the paste command. 
   30187         (DOM::JSEditor::setSupportsPasteCommand): New SPI to turn on paste command.
   30188         * khtml/editing/jsediting.h: Ditto.
   30189         * khtml/khtml_part.cpp:
   30190         (KHTMLPart::pasteFromPasteboard): Added.
   30191         (KHTMLPart::canPaste): Added.
   30192         * kwq/KWQKHTMLPart.mm:
   30193         (KHTMLPart::canPaste): Added.
   30194         * kwq/KWQRenderTreeDebug.cpp:
   30195         (externalRepresentation): Turn on paste command.
   30196         * kwq/WebCoreBridge.h: Add canPaste call so WebKit can fill in the answer.
   30197 
   30198 2004-11-21  Maciej Stachowiak  <mjs (a] apple.com>
   30199 
   30200         Reviewed by Richard.
   30201 
   30202 	<rdar://problem/3889655> HTMLCollectionImpl should use traverseNextNode to improve speed and save recursion
   30203         
   30204 	* khtml/html/html_miscimpl.cpp:
   30205         (HTMLCollectionImpl::calcLength):
   30206         (HTMLCollectionImpl::getItem):
   30207         (HTMLCollectionImpl::item):
   30208         (HTMLCollectionImpl::nextItem):
   30209         (HTMLCollectionImpl::getNamedItem):
   30210         (HTMLCollectionImpl::namedItem):
   30211         (HTMLCollectionImpl::nextNamedItemInternal):
   30212         (HTMLFormCollectionImpl::nextNamedItemInternal):
   30213 
   30214 2004-11-19  Maciej Stachowiak  <mjs (a] apple.com>
   30215 
   30216         Reviewed by Darin.
   30217 
   30218 	<rdar://problem/3482935> JavaScript so slow it seems like a hang (hrweb.apple.com) (HTMLCollection?)
   30219 	<rdar://problem/3759149> PeopleSoft page in Safari twice as slow as Mozilla engine (HTMLFormCollection)
   30220 	<rdar://problem/3888368> selecting an item on the Apache bugzilla query page can be improved 95% (HTMLFormCollection)
   30221 
   30222 	Many optimizations to HTMLFormCollection. Iterating it should not
   30223 	be N^2 any more, though finding items by name could still be.
   30224 	
   30225         * khtml/html/html_formimpl.cpp:
   30226         (DOM::HTMLFormElementImpl::~HTMLFormElementImpl):
   30227         (DOM::HTMLFormElementImpl::length):
   30228         (DOM::HTMLFormElementImpl::submitClick):
   30229         (DOM::HTMLFormElementImpl::formData):
   30230         (DOM::HTMLFormElementImpl::submit):
   30231         (DOM::HTMLFormElementImpl::reset):
   30232         (DOM::HTMLFormElementImpl::radioClicked):
   30233         (DOM::appendToVector):
   30234         (DOM::removeFromVector):
   30235         (DOM::HTMLFormElementImpl::registerFormElement):
   30236         (DOM::HTMLFormElementImpl::removeFormElement):
   30237         (DOM::HTMLFormElementImpl::makeFormElementDormant):
   30238         (DOM::HTMLFormElementImpl::registerImgElement):
   30239         (DOM::HTMLFormElementImpl::removeImgElement):
   30240         * khtml/html/html_formimpl.h:
   30241         * khtml/html/html_miscimpl.cpp:
   30242         (HTMLFormCollectionImpl::FormCollectionInfo::FormCollectionInfo):
   30243         (void::HTMLFormCollectionImpl::FormCollectionInfo::reset):
   30244         (HTMLFormCollectionImpl::resetCollectionInfo):
   30245         (HTMLFormCollectionImpl::calcLength):
   30246         (HTMLFormCollectionImpl::item):
   30247         (HTMLFormCollectionImpl::getNamedItem):
   30248         (HTMLFormCollectionImpl::getNamedFormItem):
   30249         (HTMLFormCollectionImpl::firstItem):
   30250         (HTMLFormCollectionImpl::nextItem):
   30251         * khtml/html/html_miscimpl.h:
   30252         (DOM::HTMLFormCollectionImpl::~HTMLFormCollectionImpl):
   30253         * khtml/xml/dom_elementimpl.cpp:
   30254         (ElementImpl::setAttribute):
   30255         (ElementImpl::setAttributeMap):
   30256         * kwq/KWQPtrVector.h:
   30257         (QPtrVector::findRef):
   30258         * kwq/KWQVectorImpl.h:
   30259         * kwq/KWQVectorImpl.mm:
   30260         (KWQVectorImpl::findRef):
   30261         * kwq/WebCoreBridge.mm:
   30262         (-[WebCoreBridge elementWithName:inForm:]):
   30263         (-[WebCoreBridge controlsInForm:]):
   30264 
   30265 2004-11-19  David Harrison  <harrison (a] apple.com>
   30266 
   30267         Reviewed by Ken and Darin.
   30268 
   30269         <rdar://problem/3856215> Cannot remove bold from the beginning of a message
   30270 
   30271         Problem is that KHTMLPart::computeAndSetTypingStyle always looked upstream
   30272         for the existing style, but in this case (hitting cmd-B with caret at top of
   30273         file) there is nothing upstream.  Changed this to use the VisiblePosition
   30274         deepEquivalent instead.
   30275         
   30276         * khtml/khtml_part.cpp:
   30277         (KHTMLPart::computeAndSetTypingStyle):
   30278 
   30279 === Safari-172 ===
   30280 
   30281 2004-11-19  Maciej Stachowiak  <mjs (a] apple.com>
   30282 
   30283         Reviewed by Darin.
   30284 
   30285 	<rdar://problem/3864151> REGRESSION (125-167): Chrysler.com never stops loading
   30286 	
   30287         * khtml/xml/dom_docimpl.cpp:
   30288         (DocumentImpl::close): Don't fire the onload handler if there is a
   30289 	redirect pending. This is a very long-standing bug that was masked
   30290 	by our previously incorrect redirect logic. It used to be that an
   30291 	older redirect would always win. Recently we changed things so
   30292 	that a newer redirect would win, but a script that causes a
   30293 	redirect would stop parsing once complete (so if there are two
   30294 	redirects in the same script, the latter wins). However, we should
   30295 	have also prevented onload in this case. Testing with other
   30296 	browsers shows that onload handlers do not run at all when there
   30297 	is a pending redirect.
   30298 
   30299 2004-11-19  Ken Kocienda  <kocienda (a] apple.com>
   30300 
   30301         Reviewed by Harrison
   30302 
   30303         Fix some object lifetime issues in these two commands. This fixes some crashes
   30304         I am seeing in some new code I am working on, but have not yet reproduced otherwise.
   30305 
   30306         * khtml/editing/htmlediting.cpp:
   30307         (khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand): No longer deref nodes
   30308         in the ancestor list. They are not ref'ed when put on list. D'uh.
   30309         (khtml::InsertParagraphSeparatorCommand::doApply): Ref all cloned nodes that are created by the command
   30310         before putting them on the cloned nodes list. This are still deref'ed in the destructor.
   30311         (khtml::InsertParagraphSeparatorInQuotedContentCommand::~InsertParagraphSeparatorInQuotedContentCommand): Ditto
   30312         destructor comment.
   30313         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Ditto doApply comment.
   30314 
   30315 2004-11-19  Ken Kocienda  <kocienda (a] apple.com>
   30316 
   30317         Reviewed by Harrison
   30318 
   30319         Fix for this bug:
   30320         
   30321         <rdar://problem/3655241> setTypingStyle: does not set the real typing style, and typingStyle does not return it
   30322 
   30323         * khtml/khtml_part.cpp:
   30324         (KHTMLPart::computeAndSetTypingStyle): New helper that does the work of reducing a passed-in style
   30325         declaration given the current selection, and then sets the minimum necessary style as the typing
   30326         style on the part.
   30327         (KHTMLPart::applyStyle): Call new computeAndSetTypingStyle. The guts of computeAndSetTypingStyle used
   30328         to be here in the selection-as-caret case. But now [WebCoreBridge setTypingStyle:] needs this code
   30329         as well.
   30330         * khtml/khtml_part.h: Declare new computeAndSetTypingStyle() function.
   30331         * kwq/WebCoreBridge.h: Declare new typingStyle and setTypingStyle: methods.
   30332         * kwq/WebCoreBridge.mm: 
   30333         (-[WebCoreBridge typingStyle]): Calls through to the part to retrieve the typing style.
   30334         (-[WebCoreBridge setTypingStyle:]): Calls through to the part to set the typing style.
   30335 
   30336 2004-11-18  David Harrison  <harrison (a] apple.com>
   30337 
   30338         Reviewed by Darin.
   30339         
   30340         Back out part of Darin's fix for <rdar://problem/3885729>, because the new exception gets triggered
   30341         by Mail.app. Filed <rdar://problem/3886832> against Mail.app.
   30342 
   30343         * kwq/DOM-CSS.mm:
   30344         (-[DOMCSSStyleDeclaration setProperty:::]):
   30345 
   30346 2004-11-18  Chris Blumenberg  <cblu (a] apple.com>
   30347 
   30348 	Fixed: <rdar://problem/3587481> Bug Reporter Login Page: Password AutoFill does not work reliably
   30349 
   30350         Reviewed by john.
   30351 
   30352         * kwq/KWQKHTMLPart.mm:
   30353         (KWQKHTMLPart::currentForm): just return the current form, don't scan the entire document looking for a form if there is no current form
   30354 
   30355 2004-11-18  Maciej Stachowiak  <mjs (a] apple.com>
   30356 
   30357         Reviewed by Chris.
   30358 
   30359 	- fix recursive item traversal, use traverseNextNode() instead of
   30360 	the buggy hand-rolled traversal.
   30361 
   30362         * khtml/xml/dom_nodeimpl.cpp:
   30363         (NodeListImpl::recursiveItem):
   30364 
   30365 2004-11-17  Darin Adler  <darin (a] apple.com>
   30366 
   30367         Reviewed by Ken.
   30368 
   30369         - fixed <rdar://problem/3885744> crash with XMLHttpRequest test page (reported by KDE folks)
   30370 
   30371         * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::slotFinished):
   30372         Rolled in fix from KDE; make sure to set job to 0 before calling changeState.
   30373 
   30374         - fixed <rdar://problem/3885729> attempting to modify a computed style does nothing, but should raise a DOM exception
   30375         - fixed <rdar://problem/3885731> style declarations use too many malloc blocks; switch to QValueList
   30376         - fixed <rdar://problem/3885739> DOM::NodeImpl accessor in DOM::Node class is hot; should be inlined
   30377         - changed NodeImpl calls like replaceChild to always ref/deref the parameter; this is a better way to fix
   30378           an entire category of leaks we have been fixing one by one recently
   30379         - changed computed styles so they hold a reference to the DOM node; the old code could end up with a
   30380           stale RenderObject pointer, although I never saw it do that in practice
   30381         - implemented the length and item methods for computed styles
   30382         - implemented querying additional properties in computed styles (29 more)
   30383 
   30384         * khtml/khtml_part.h: Update forward declaration of CSSMutableStyleDeclarationImpl since it's
   30385         now a separate class rather than a typedef. Changed the parameter type of setTypingStyle to
   30386         take a mutable style.
   30387         * khtml/khtml_part.cpp:
   30388         (KHTMLPart::setTypingStyle): Change parameter to take a mutable style.
   30389         (KHTMLPart::applyStyle): Add code to make a mutable style in case we are passed
   30390         a computed style; also change some types to mutable style.
   30391         (updateState): Update iteration of CSSProperty objects in a style declaration to use
   30392         the new valuesIterator interface.
   30393         (KHTMLPart::selectionHasStyle): Add a call to makeMutable.
   30394         (KHTMLPart::selectionStartHasStyle): Add call to makeMutable and update iteration.
   30395         (editingStyle): Change type to mutable style, and simplify the style-creation calls,
   30396         including accomodating the exception code that setCssText has now.
   30397         (KHTMLPart::applyEditingStyleToElement): Change types to mutable style.
   30398         (KHTMLPart::removeEditingStyleFromElement): Change code to call setChanged only if removing
   30399         the style attributes really was a change, although it's not an important optimization it's
   30400         good to do it right.
   30401 
   30402         * khtml/css/css_base.h: Remove unneeded setParsedValue method.
   30403         * khtml/css/css_base.cpp: Remove unneeded setParsedValue method. All the places that were
   30404         calling it were already removing the old property explicitly, so the code in here to remove
   30405         the property again was redundant.
   30406 
   30407         * khtml/css/css_computedstyle.h: Updated virtual functions for changes to parameters in base class.
   30408         Moved all the "set"-type functions so they are private. Store a node pointer instead of a renderer.
   30409         * khtml/css/css_computedstyle.cpp:
   30410         (DOM::CSSComputedStyleDeclarationImpl::CSSComputedStyleDeclarationImpl): Hold a reference to
   30411         the node we compute style for, so we don't end up with a pointer to a deallocated RenderObject.
   30412         Before we had no guarantee the object would outlast us.
   30413         (DOM::CSSComputedStyleDeclarationImpl::setCssText): Add exception parameter, and set the
   30414         exception to NO_MODIFICATION_ALLOWED_ERR.
   30415         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Update to use node pointer rather
   30416         than renderer pointer. Added implementation for box-align, box-direction, box-flex, box-flex-group,
   30417         box-lines, box-ordinal-group, box-orient, box-pack, caption-side, clear, cursor, direction,
   30418         list-style-image, list-style-position, list-style-type, marquee-direction, marquee-repetition,
   30419         marquee-style, user-modify, opacity, orphans, outline-style, page-break-after, page-break-before,
   30420         page-break-inside, position, unicode-bidi, widows, z-index.
   30421         (DOM::CSSComputedStyleDeclarationImpl::removeProperty): Add exception parameter, and set the
   30422         exception to NO_MODIFICATION_ALLOWED_ERR.
   30423         (DOM::CSSComputedStyleDeclarationImpl::setProperty): Ditto.
   30424         (DOM::CSSComputedStyleDeclarationImpl::length): Implemented.
   30425         (DOM::CSSComputedStyleDeclarationImpl::item): Implemented, calls getPropertyValue.
   30426         (DOM::CSSComputedStyleDeclarationImpl::copyInheritableProperties): Changed return type to
   30427         CSSMutableStyleDeclarationImpl.
   30428         (DOM::CSSComputedStyleDeclarationImpl::copy): Added.
   30429         (DOM::CSSComputedStyleDeclarationImpl::makeMutable): Added.
   30430 
   30431         * khtml/css/css_ruleimpl.h: Update forward declaration of CSSMutableStyleDeclarationImpl since it's
   30432         now a separate class rather than a typedef.
   30433         * khtml/css/cssparser.h: Ditto.
   30434 
   30435         * khtml/css/css_valueimpl.h: Refactor CSSStyleDeclarationImpl into two classes. New derived class
   30436         CSSMutableStyleDeclarationImpl has the guts, and the base class has only some virtual functions.
   30437         Removed a bunch of redundant stuff from other classes in this file too.
   30438         (DOM::DashboardRegionImpl::setNext): Ref new before deref'ing old to handle the set-to-same case.
   30439         (DOM::CSSProperty::CSSProperty): Added new overload so you can create a CSSProperty with initial values.
   30440         (DOM::CSSProperty::operator=): Added.
   30441         (DOM::CSSProperty::setValue): Use ref-before-deref pattern to simplify slightly.
   30442 
   30443         * khtml/css/css_valueimpl.cpp:
   30444         (DOM::CSSStyleDeclarationImpl::CSSStyleDeclarationImpl): Remove uneeded things.
   30445         (DOM::CSSStyleDeclarationImpl::isStyleDeclaration): Put here now that it's no longer inline.
   30446         (DOM::CSSMutableStyleDeclarationImpl::CSSMutableStyleDeclarationImpl): Added.
   30447         (DOM::CSSMutableStyleDeclarationImpl::operator=): Added.
   30448         (DOM::CSSMutableStyleDeclarationImpl::~CSSMutableStyleDeclarationImpl): Updated.
   30449         (DOM::CSSMutableStyleDeclarationImpl::getPropertyValue): Removed now-uneeded check.
   30450         (DOM::CSSMutableStyleDeclarationImpl::get4Values): Moved here from base class.
   30451         (DOM::CSSMutableStyleDeclarationImpl::getShortHandValue): Ditto.
   30452         (DOM::CSSMutableStyleDeclarationImpl::getPropertyCSSValue): Update to use QValueList instead of QPtrList.
   30453         (DOM::CSSMutableStyleDeclarationImpl::removeProperty): Added exception parameter, updated for QValueList.
   30454         (DOM::CSSMutableStyleDeclarationImpl::setChanged): Moved here from base class.
   30455         (DOM::CSSMutableStyleDeclarationImpl::getPropertyPriority): Update to use QValueList.
   30456         (DOM::CSSMutableStyleDeclarationImpl::setProperty): Added more overloads to match new parameters.
   30457         (DOM::CSSMutableStyleDeclarationImpl::setStringProperty): Update to use QValueList.
   30458         (DOM::CSSMutableStyleDeclarationImpl::setImageProperty): Ditto.
   30459         (DOM::CSSMutableStyleDeclarationImpl::parseProperty): Remove unneeded initialization code due to QValueList.
   30460         (DOM::CSSMutableStyleDeclarationImpl::addParsedProperties): Added.
   30461         (DOM::CSSMutableStyleDeclarationImpl::setLengthProperty): Moved here from base class.
   30462         (DOM::CSSMutableStyleDeclarationImpl::length): Update to use QValueList.
   30463         (DOM::CSSMutableStyleDeclarationImpl::item): Moved here from base class.
   30464         (DOM::CSSMutableStyleDeclarationImpl::cssText): Return empty string rather than null string when there are
   30465         no styles in the list. Update to use QValueList.
   30466         (DOM::CSSMutableStyleDeclarationImpl::setCssText): Update to use QValueList and to take an exceptionCode
   30467         parameter and set it.
   30468         (DOM::CSSMutableStyleDeclarationImpl::merge): Update to use QValueList.
   30469         (DOM::CSSStyleDeclarationImpl::diff): Update to use QValueList.
   30470         (DOM::CSSMutableStyleDeclarationImpl::copyBlockProperties): Moved here from base class. Change return type.
   30471         (DOM::CSSStyleDeclarationImpl::copyPropertiesInSet): Update to use QValueList and use stack, not new/delete.
   30472         (DOM::CSSMutableStyleDeclarationImpl::makeMutable): Added.
   30473         (DOM::CSSMutableStyleDeclarationImpl::copy): Added.
   30474 
   30475         * khtml/css/cssparser.cpp:
   30476         (CSSParser::parseValue): Changed to use addParsedProperties.
   30477         (CSSParser::parseDeclaration): Ditto.
   30478         (CSSParser::createStyleDeclaration): Use new constructor to create declaration in a more efficient manner.
   30479 
   30480         * khtml/css/cssproperties.in: Removed unused font-size-adjust and -khtml-flow-mode.
   30481         * khtml/css/cssproperties.c: Regenerated.
   30482         * khtml/css/cssproperties.h: Regenerated.
   30483 
   30484         * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyDeclarations):
   30485         Updated to use QValueList interface to CSSMutableStyleDeclarationImpl.
   30486 
   30487         * khtml/dom/css_value.cpp:
   30488         (DOM::CSSStyleDeclaration::cssText): Removed unneeded cast.
   30489         (DOM::CSSStyleDeclaration::setCssText): Added exception code handling.
   30490         (DOM::CSSStyleDeclaration::getPropertyValue): Changed to call getPropertyValue directly instead of
   30491         first doing getPropertyCSSValue and then doing cssText.
   30492         (DOM::CSSStyleDeclaration::getPropertyCSSValue): Removed unneeded cast.
   30493         (DOM::CSSStyleDeclaration::removeProperty): Added exception code handling. 
   30494         (DOM::CSSStyleDeclaration::setProperty): Added exception code handling.
   30495         (DOM::CSSStyleDeclaration::length): Removed unneeded cast.
   30496         (DOM::CSSStyleDeclaration::item): Removed unneeded cast.
   30497         (DOM::CSSStyleDeclaration::parentRule): Removed unneeded cast.
   30498         (DOM::CSSValue::setCssText): Removed strange non-implementation (still not implemented).
   30499 
   30500         * khtml/dom/dom_node.h: Made isNull and handle functions inline.
   30501         * khtml/dom/dom_node.cpp: Ditto.
   30502 
   30503         * khtml/editing/htmlediting.h: Change some types to mutable style.
   30504         * khtml/editing/htmlediting.cpp:
   30505         (khtml::EditCommandPtr::typingStyle): Change return type to mutable style.
   30506         (khtml::EditCommandPtr::setTypingStyle): Change parameter to mutable style.
   30507         (khtml::StyleChange::init): Convert parameter to mutable style. Update to use QValueList.
   30508         (khtml::EditCommand::assignTypingStyle): Change parameter to mutable type.
   30509         (khtml::EditCommand::setTypingStyle): Ditto.
   30510         (khtml::ApplyStyleCommand::ApplyStyleCommand): Convert parameter to mutable style.
   30511         (khtml::ApplyStyleCommand::doApply): Change local variables to mutable style.
   30512         (khtml::ApplyStyleCommand::applyBlockStyle): Change parameter to mutable style.
   30513         (khtml::ApplyStyleCommand::applyInlineStyle): Ditto.
   30514         (khtml::ApplyStyleCommand::isHTMLStyleNode): Ditto.
   30515         (khtml::ApplyStyleCommand::removeCSSStyle): Ditto. Also update to use QValueList.
   30516         (khtml::ApplyStyleCommand::removeBlockStyle): Change parameter to mutable style.
   30517         (khtml::ApplyStyleCommand::removeInlineStyle): Ditto.
   30518         (khtml::ApplyStyleCommand::addBlockStyleIfNeeded): Ditto.
   30519         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
   30520         (khtml::InsertLineBreakCommand::doApply): Convert locals to mutable style.
   30521         (khtml::InsertTextCommand::prepareForTextInsertion): Ditto.
   30522         (khtml::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Convert parameter to mutable style.
   30523 
   30524         * khtml/editing/jsediting.cpp: Convert types to mutable styles where we create styles.
   30525         * khtml/html/html_baseimpl.h: Change type to mutable style.
   30526         * khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::createLinkDecl): Ditto.
   30527 
   30528         * khtml/html/html_elementimpl.h: Make CSSMappedAttributeDeclarationImpl use the mutable style
   30529         class as a base class, and change types to mutable style as needed.
   30530         * khtml/html/html_elementimpl.cpp:
   30531         (HTMLElementImpl::createInlineStyleDecl): Change type to mutable style.
   30532         (HTMLElementImpl::parseHTMLAttribute): Call parseProperty method.
   30533         (HTMLElementImpl::getInlineStyleDecl): Change type to mutable style.
   30534         (HTMLElementImpl::additionalAttributeStyleDecl): Ditto.
   30535         (HTMLElementImpl::createContextualFragment): Add ref/deref to fix potential node leak.
   30536         (HTMLElementImpl::setInnerHTML): Remove ref/deref pair because this leak is now fixed by changes
   30537         to appendChild.
   30538         (HTMLElementImpl::setOuterHTML): Remove ref/deref pair because this leak is now fixed by changes
   30539         to replaceChild.
   30540 
   30541         * khtml/html/html_tableimpl.h: Change types to mutable style.
   30542         * khtml/html/html_tableimpl.cpp:
   30543         (HTMLTableElementImpl::additionalAttributeStyleDecl): Change type to mutable style.
   30544         (HTMLTableElementImpl::getSharedCellDecl): Change type to mutable style.
   30545         (HTMLTableCellElementImpl::additionalAttributeStyleDecl): Change type to mutable style.
   30546 
   30547         * khtml/html/htmlparser.cpp:
   30548         (KHTMLParser::parseToken): Use a local variable to protect the node by ref'ing it. This is better
   30549         than using an explicit delete to make the node go away, and is required for compatibility with the
   30550         changes to the NodeImpl functions.
   30551         (KHTMLParser::insertNode): Ditto.
   30552         (KHTMLParser::createHead): Get rid of explicit delete, no longer needed because of changes to
   30553         the NodeImpl functions.
   30554 
   30555         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::createCSSStyleDeclaration): Call simpler constructor
   30556         now that there's no need to make the property list explictly.
   30557 
   30558         * kwq/DOM-CSS.mm:
   30559         (-[DOMCSSStyleDeclaration setCssText:]): Raise exception when appropriate.
   30560         (-[DOMCSSStyleDeclaration removeProperty:]): Ditto.
   30561         (-[DOMCSSStyleDeclaration setProperty:::]): Dito.
   30562 
   30563         * khtml/xml/dom_nodeimpl.cpp:
   30564         (NodeImpl::insertBefore): Always do a ref/deref, so callers don't have to worry about whether the
   30565         function succeeded or not for ownership purposes.
   30566         (NodeImpl::replaceChild): Ditto.
   30567         (NodeImpl::appendChild): Ditto.
   30568         (NodeBaseImpl::insertBefore): Ditto.
   30569         (NodeBaseImpl::replaceChild): Ditto.
   30570         (NodeBaseImpl::appendChild): Ditto.
   30571         (NodeBaseImpl::addChild): Ditto.
   30572 
   30573         * WebCore-tests.exp: Removed CSSStyleDeclaration::length; not sure why it was in here.
   30574         * WebCore-combined.exp: Regenerated.
   30575 
   30576 2004-11-18  Maciej Stachowiak  <mjs (a] apple.com>
   30577 
   30578         still even more build fixing
   30579 
   30580         * khtml/html/html_miscimpl.cpp:
   30581         (HTMLCollectionImpl::resetCollectionInfo):
   30582 
   30583 2004-11-18  Maciej Stachowiak  <mjs (a] apple.com>
   30584 
   30585         more build fixing
   30586 
   30587         * khtml/html/html_miscimpl.cpp:
   30588         (HTMLCollectionImpl::resetCollectionInfo):
   30589 
   30590 2004-11-18  Maciej Stachowiak  <mjs (a] apple.com>
   30591 
   30592         Fixed build problem.
   30593 
   30594         * khtml/html/html_miscimpl.h:
   30595         (DOM::HTMLCollectionImpl::CollectionInfo::CollectionInfo): it's haslength, not hasLenght.
   30596 
   30597 2004-11-18  Maciej Stachowiak  <mjs (a] apple.com>
   30598 
   30599         Reviewed by Ken.
   30600 
   30601 	- merged and cleaned up HTMLCollection and HTMLFormCollection speedups from konqueror
   30602 
   30603 	<rdar://problem/3822992> VIP: Program listings pages at directv.com take a really long time to load [HTMLCollection]
   30604 	<rdar://problem/3701991> Safari unresponsive loading (www.maxim-ic.com) (HTMLCollection)
   30605 
   30606 	This is also a start on fixing 5 other bugs, but those need additional work to make
   30607 	HTMLFormCollection fast.
   30608 
   30609         * khtml/html/html_documentimpl.h:
   30610         (DOM::HTMLDocumentImpl::collectionInfo):
   30611         * khtml/html/html_formimpl.cpp:
   30612         (DOM::HTMLFormElementImpl::~HTMLFormElementImpl):
   30613         (DOM::HTMLFormElementImpl::isURLAttribute):
   30614         (DOM::HTMLFormElementImpl::registerImgElement):
   30615         (DOM::HTMLFormElementImpl::removeImgElement):
   30616         * khtml/html/html_formimpl.h:
   30617         * khtml/html/html_imageimpl.cpp:
   30618         (HTMLImageElementImpl::HTMLImageElementImpl):
   30619         (HTMLImageElementImpl::~HTMLImageElementImpl):
   30620         * khtml/html/html_imageimpl.h:
   30621         * khtml/html/html_miscimpl.cpp:
   30622         (HTMLCollectionImpl::HTMLCollectionImpl):
   30623         (HTMLCollectionImpl::~HTMLCollectionImpl):
   30624         (HTMLCollectionImpl::updateCollectionInfo):
   30625         (HTMLCollectionImpl::length):
   30626         (HTMLCollectionImpl::item):
   30627         (HTMLCollectionImpl::firstItem):
   30628         (HTMLCollectionImpl::nextItem):
   30629         (HTMLCollectionImpl::namedItem):
   30630         (HTMLCollectionImpl::nextNamedItemInternal):
   30631         (HTMLFormCollectionImpl::getNamedFormItem):
   30632         * khtml/html/html_miscimpl.h:
   30633         (DOM::HTMLCollectionImpl::):
   30634         (DOM::HTMLCollectionImpl::CollectionInfo::CollectionInfo):
   30635         * khtml/html/htmlparser.cpp:
   30636         (KHTMLParser::getElement):
   30637         * khtml/xml/dom_docimpl.cpp:
   30638         (DocumentImpl::DocumentImpl):
   30639         * khtml/xml/dom_docimpl.h:
   30640         (DOM::DocumentImpl::incDOMTreeVersion):
   30641         (DOM::DocumentImpl::domTreeVersion):
   30642         * khtml/xml/dom_nodeimpl.cpp:
   30643         (NodeImpl::attach):
   30644         (NodeImpl::detach):
   30645 
   30646 2004-11-18  Kevin Decker  <kdecker (a] apple.com>
   30647 
   30648         Reviewed by Chris.
   30649 
   30650 	fixed: <rdar://problem/3841842> getPropertyID expensive
   30651 
   30652         * kwq/DOM-CSS.mm:
   30653         (getPropertyID): avoid unnecessary memory allocations by using a fixed-sized stack based buffer.
   30654 
   30655 2004-11-17  David Hyatt  <hyatt (a] apple.com>
   30656 
   30657 	Improve responsiveness by being willing to break out of the tokenizer.  (This patch was landed already
   30658 	and subsequently backed out).
   30659 	
   30660         Reviewed by kocienda
   30661 
   30662         * khtml/html/html_baseimpl.cpp:
   30663         (HTMLBodyElementImpl::insertedIntoDocument):
   30664         * khtml/html/htmltokenizer.cpp:
   30665         (khtml::HTMLTokenizer::reset):
   30666         (khtml::HTMLTokenizer::scriptHandler):
   30667         (khtml::HTMLTokenizer::scriptExecution):
   30668         (khtml::HTMLTokenizer::write):
   30669         (khtml::HTMLTokenizer::continueProcessing):
   30670         (khtml::HTMLTokenizer::timerEvent):
   30671         (khtml::HTMLTokenizer::notifyFinished):
   30672         * khtml/html/htmltokenizer.h:
   30673         * khtml/khtmlview.cpp:
   30674         (KHTMLViewPrivate::KHTMLViewPrivate):
   30675         (KHTMLViewPrivate::reset):
   30676         (KHTMLView::clear):
   30677         (KHTMLView::layout):
   30678         (KHTMLView::timerEvent):
   30679         (KHTMLView::scheduleRelayout):
   30680         (KHTMLView::layoutPending):
   30681         (KHTMLView::haveDelayedLayoutScheduled):
   30682         (KHTMLView::unscheduleRelayout):
   30683         * khtml/khtmlview.h:
   30684         * khtml/xml/dom_docimpl.cpp:
   30685         (DocumentImpl::DocumentImpl):
   30686         (DocumentImpl::close):
   30687         (DocumentImpl::setParsing):
   30688         (DocumentImpl::shouldScheduleLayout):
   30689         (DocumentImpl::minimumLayoutDelay):
   30690         (DocumentImpl::write):
   30691         (DocumentImpl::finishParsing):
   30692         (DocumentImpl::stylesheetLoaded):
   30693         (DocumentImpl::updateStyleSelector):
   30694         * khtml/xml/dom_docimpl.h:
   30695         (DOM::DocumentImpl::parsing):
   30696         * kwq/KWQDateTime.mm:
   30697         (KWQUIEventTime::uiEventPending):
   30698 
   30699 2004-11-17  David Harrison  <harrison (a] apple.com>
   30700 
   30701         Reviewed by Ken Kocienda.
   30702         
   30703         Make sure previousLineStart is non-null before calling compareBoundaryPoints.
   30704         Treat null case as meaning no post-move merge is needed.
   30705 
   30706         * khtml/editing/htmlediting.cpp:
   30707         (khtml::DeleteSelectionCommand::initializePositionData):
   30708 
   30709 2004-11-17  David Harrison  <harrison (a] apple.com>
   30710         
   30711         Added displayNode and displayTree methods for debugging.  Fixed comment typo in dispatchChildRemovalEvents.
   30712         * khtml/xml/dom_nodeimpl.cpp:
   30713         (NodeImpl::displayNode):
   30714         (NodeImpl::displayTree):
   30715         (NodeBaseImpl::dispatchChildRemovalEvents):
   30716         * khtml/xml/dom_nodeimpl.h:
   30717 
   30718 2004-11-16  John Sullivan  <sullivan (a] apple.com>
   30719 
   30720         Reviewed by Richard.
   30721         
   30722         - fixed <rdar://problem/3881929> 32 byte leak in editingStyle() in KHTMLPart (one-time only)
   30723 
   30724         * khtml/khtml_part.cpp:
   30725         (editingStyle):
   30726         delete the list we created when we're done with it
   30727 
   30728 2004-11-16  Ken Kocienda  <kocienda (a] apple.com>
   30729 
   30730         Reviewed by John
   30731         
   30732         It is unwise to use the QPtrList autodelete feature on shared objects like DOM nodes.
   30733         Instead, I replaced this with a helper function that derefs DOM nodes stored in a 
   30734         QPtrList when the list goes out of scope.
   30735 
   30736         * khtml/editing/htmlediting.cpp:
   30737         (khtml::derefNodesInList): New helper to deref DOM nodes stored in a QPtrList.
   30738         (khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): No longer set lists to autodelete.
   30739         (khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand): Call new derefNodesInList helper.
   30740         (khtml::InsertParagraphSeparatorInQuotedContentCommand::InsertParagraphSeparatorInQuotedContentCommand):  
   30741         No longer set lists to autodelete.
   30742         (khtml::InsertParagraphSeparatorInQuotedContentCommand::~InsertParagraphSeparatorInQuotedContentCommand):
   30743          Call new derefNodesInList helper.
   30744         * khtml/editing/htmlediting.h: Add virtual destructor for InsertParagraphSeparatorCommand. It had no need
   30745         of one before, but now it does.
   30746 
   30747 2004-11-15  David Harrison  <harrison (a] apple.com>
   30748 
   30749         Reviewed by Chris and Darin.
   30750         
   30751         <rdar://problem/3880304> Non-linear performance hit for style changes
   30752 
   30753         * khtml/xml/dom_nodeimpl.cpp:
   30754         (NodeImpl::traverseNextNode):
   30755         (NodeImpl::traverseNextSibling):
   30756         (NodeImpl::traversePreviousNodePostOrder):
   30757         Return 0 rather than traversing beyond stayWithin when this == stayWithin.
   30758         Add asserts that stayWithin is an ancestor of the returned node.
   30759 
   30760 2004-11-15  Darin Adler  <darin (a] apple.com>
   30761 
   30762         Reviewed by Ken.
   30763 
   30764         - fixed <rdar://problem/3880036> Many leaks from CSSComputedStyleDeclarationImpl::getPropertyCSSValue, seen in Mail and Blot
   30765 
   30766         * khtml/css/css_computedstyle.cpp:
   30767         (DOM::CSSComputedStyleDeclarationImpl::getPropertyValue): Ref and deref the value returned from getPropertyCSSValue,
   30768         since there's no guarantee it's already ref'd.
   30769         * khtml/css/css_valueimpl.cpp:
   30770         (CSSStyleDeclarationImpl::getPropertyValue): Wrap result in a CSSValue to ref/deref.
   30771         (CSSStyleDeclarationImpl::get4Values): Ref/deref explicitly.
   30772         (CSSStyleDeclarationImpl::getShortHandValue): Ditto.
   30773         (CSSStyleDeclarationImpl::merge): Ditto.
   30774         (CSSStyleDeclarationImpl::diff): Ditto.
   30775         * khtml/editing/htmlediting.cpp:
   30776         (khtml::StyleChange::currentlyHasStyle): Ditto.
   30777         (khtml::ApplyStyleCommand::removeCSSStyle): Ditto.
   30778         * khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseHTMLAttribute): Ditto.
   30779         * khtml/html/html_tableimpl.cpp: (HTMLTableElementImpl::parseHTMLAttribute): Ditto.
   30780 
   30781 2004-11-15  Darin Adler  <darin (a] apple.com>
   30782 
   30783         Reviewed by Ken.
   30784 
   30785         Use separate mutable style and computed style types as appropriate.
   30786         For now this should have no effect, but it prepares us for refactoring later.
   30787         Also remove some unnecessary "DOM::" prefixes and in one case factor out
   30788         some shared code.
   30789 
   30790         * khtml/khtml_part.cpp:
   30791         (KHTMLPart::typingStyle):
   30792         (KHTMLPart::setTypingStyle):
   30793         (updateState):
   30794         (KHTMLPart::selectionHasStyle):
   30795         (KHTMLPart::selectionStartHasStyle):
   30796         (KHTMLPart::selectionComputedStyle):
   30797         * khtml/khtml_part.h:
   30798         * khtml/khtmlpart_p.h:
   30799 
   30800         * khtml/css/css_base.h:
   30801         * khtml/css/css_ruleimpl.cpp:
   30802         (CSSStyleRuleImpl::setDeclaration):
   30803         * khtml/css/css_ruleimpl.h:
   30804         (DOM::CSSFontFaceRuleImpl::style):
   30805         (DOM::CSSPageRuleImpl::style):
   30806         (DOM::CSSStyleRuleImpl::style):
   30807         (DOM::CSSStyleRuleImpl::declaration):
   30808         * khtml/css/css_valueimpl.h:
   30809         (DOM::CSSPrimitiveValueImpl::):
   30810         * khtml/css/cssparser.cpp:
   30811         (CSSParser::parseValue):
   30812         (CSSParser::parseColor):
   30813         (CSSParser::parseDeclaration):
   30814         (CSSParser::createStyleDeclaration):
   30815         * khtml/css/cssparser.h:
   30816         * khtml/css/cssstyleselector.cpp:
   30817         (khtml::CSSStyleSelector::addMatchedDeclaration):
   30818         (khtml::CSSStyleSelector::matchRulesForList):
   30819         (khtml::CSSStyleSelector::styleForElement):
   30820         (khtml::CSSStyleSelector::applyDeclarations):
   30821         * khtml/css/cssstyleselector.h:
   30822         * khtml/css/parser.cpp:
   30823         * khtml/css/parser.y:
   30824         * khtml/dom/css_rule.h:
   30825         * khtml/dom/css_stylesheet.h:
   30826         * khtml/dom/css_value.h:
   30827         * khtml/dom/dom2_views.cpp:
   30828         * khtml/xml/dom2_viewsimpl.cpp:
   30829         (DOM::AbstractViewImpl::getComputedStyle):
   30830         * khtml/xml/dom_docimpl.cpp:
   30831         (DocumentImpl::importNode):
   30832         (DocumentImpl::setStyleSheet):
   30833         * khtml/xml/dom_docimpl.h:
   30834         * khtml/xml/dom_xmlimpl.cpp:
   30835         (DOM::ProcessingInstructionImpl::setStyleSheet):
   30836         * khtml/xml/dom_xmlimpl.h:
   30837 
   30838         * khtml/dom/css_value.cpp:
   30839         (DOM::throwException): Added.
   30840         (DOM::CSSStyleDeclaration::setCssText): Call throwException, but always on 0 for now.
   30841         The real thing is coming with the next change to refactor.
   30842         (DOM::CSSPrimitiveValue::setFloatValue): Call throwException.
   30843         (DOM::CSSPrimitiveValue::setStringValue): Ditto.
   30844 
   30845 2004-11-15  Darin Adler  <darin (a] apple.com>
   30846 
   30847         Reviewed by Ken.
   30848 
   30849         - fixed <rdar://problem/3878489> REGRESSION: modifying attribute of <textarea> blows away edited text (breaks simplemachines.org forum)
   30850 
   30851         * khtml/xml/dom_nodeimpl.h: Added boolean "children changed" parameter to
   30852         dispatchSubtreeModifiedEvent, so it can be called in cases where only the
   30853         node's attributes changed without sending a misleading childrenChanged call,
   30854         but the childrenChanged call can happen at the exact right moment.
   30855         * khtml/xml/dom_nodeimpl.cpp: Removed some uneeded "DOM::".
   30856         (NodeImpl::dispatchSubtreeModifiedEvent): Only call "children changed" if
   30857         the boolean true is passed in.
   30858 
   30859         * khtml/xml/dom_elementimpl.cpp:
   30860         (NamedAttrMapImpl::addAttribute): Pass false for "children changed".
   30861         (NamedAttrMapImpl::removeAttribute): Ditto.
   30862 
   30863 2004-11-15  John Sullivan  <sullivan (a] apple.com>
   30864 
   30865         Reviewed by Ken.
   30866         
   30867         - fixed <rdar://problem/3880075> leak in CSSStyleDeclarationImpl::copyPropertiesInSet, 
   30868         seen often in Mail and Blot
   30869 
   30870         * khtml/css/css_valueimpl.cpp:
   30871         (CSSStyleDeclarationImpl::copyPropertiesInSet):
   30872         delete temporary list after we're done using it
   30873 
   30874 2004-11-15  Richard Williamson   <rjw (a] apple.com>
   30875 
   30876 	Fixed leak (3879883) that John found.  Early return leaked
   30877 	allocated instance.
   30878 
   30879         Reviewed by John.
   30880 
   30881         * khtml/css/css_computedstyle.cpp:
   30882         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   30883 
   30884 2004-11-15  Ken Kocienda  <kocienda (a] apple.com>
   30885 
   30886         Reviewed by John
   30887 
   30888         Fix for this bug:
   30889         
   30890         <rdar://problem/3879569> Many leaks in EditCommand mechanism, seen in Mail
   30891 
   30892         Fixed a couple of object lifetime issues. The EditCommand class used to hold an
   30893         EditCommandPtr to its parent, but this caused a a reference cycle in composite 
   30894         commands as the children held a ref to their parent. Now, the parent variable
   30895         is a non-retained reference to an EditCommand *. It would be nice to have a 
   30896         weak reference to the parent or even override deref in composite commands (but I
   30897         can't since deref() is not virtual). However, this should be OK since any
   30898         dangling parent pointer is a sign of a bigger object lifetime problem that
   30899         would need to be addressed anyway.
   30900 
   30901         * khtml/css/css_valueimpl.cpp:
   30902         (CSSStyleDeclarationImpl::CSSStyleDeclarationImpl): Fix bug in constructor that takes a 
   30903         QPtrList<CSSProperty> *. List values must be copied into newly-allocated list, rather than
   30904         just assigning the list variable passed in to the local list variable, or the list will be 
   30905         double-deleted.
   30906         * khtml/editing/htmlediting.cpp:
   30907         (khtml::EditCommand::setStartingSelection): No longer call get(). m_parent is no longer a smart pointer.
   30908         (khtml::EditCommand::setEndingSelection): Ditto.
   30909         (khtml::EditCommand::assignTypingStyle): Short-circuit if passed in style is identical to current style.
   30910         Unrelated to the change, but saves some ref's and deref's.
   30911         (khtml::EditCommand::setTypingStyle): No longer call get(). m_parent is no longer a smart pointer.
   30912         * khtml/editing/htmlediting.h: Change m_parent to a EditCommand *. Was an EditCommandPtr. Using an
   30913         EditCommandPtr caused a reference cycle in composite commands as the children held a ref to their parent.
   30914         (khtml::EditCommand::parent): No longer call get(). m_parent is no longer a smart pointer.
   30915 
   30916 2004-11-15  Maciej Stachowiak  <mjs (a] apple.com>
   30917 
   30918         Reviewed by Kevin.
   30919 
   30920 	<rdar://problem/3807080> Safari so slow it seems like a hang accessing a page on an IBM website
   30921 	
   30922         * khtml/xml/dom_nodeimpl.cpp:
   30923         (NodeListImpl::NodeListImpl): Initialize isItemCacheValid, renamed isCacheValid to
   30924 	isLengthCacheValid.
   30925         (NodeListImpl::recursiveLength): Adjusted for rename.
   30926         (NodeListImpl::recursiveItem): Cache the last item accessed and its offset.
   30927 	If the same offset is looked up again, just return it, otherwise, if looking up
   30928 	a later offset, start at the last item and proceed from there.
   30929         (NodeListImpl::itemById): Apply the special document optimization to all
   30930 	nodes that are either a document or in a document - just walk up to make
   30931 	sure the node found by ID has the root node as an ancestor.
   30932         (NodeListImpl::rootNodeSubtreeModified): Adjust both cache bits.
   30933         * khtml/xml/dom_nodeimpl.h: Prototype new stuff.
   30934 
   30935 2004-11-15  John Sullivan  <sullivan (a] apple.com>
   30936 
   30937         Reviewed by Ken.
   30938         
   30939         - fixed <rdar://problem/3879539> leak of NSString after pasting into editable HTML (e.g. Mail)
   30940 
   30941         * kwq/KWQKHTMLPart.mm:
   30942         (KWQKHTMLPart::documentFragmentWithText):
   30943         release mutable copy of string after we're done using it
   30944 
   30945 2004-11-14  Kevin Decker  <kdecker (a] apple.com>
   30946 
   30947         Reviewed by mjs.
   30948 
   30949 	fixed: <rdar://problem/3823038> LEAK: huge leak in DOM::HTMLElementImpl::createContextualFragment(DOM::DOMString const&, bool)
   30950 
   30951         * khtml/html/html_elementimpl.cpp:
   30952         (HTMLElementImpl::setInnerHTML): uses the ref counting system to deallocate fragments instead of explicitly invoking a destructor.
   30953         (HTMLElementImpl::setOuterHTML): function is responsible for derefing the fragment prior to returning. Now it does.
   30954 
   30955 2004-11-13  Maciej Stachowiak  <mjs (a] apple.com>
   30956 
   30957         Reviewed by Kevin.
   30958 
   30959 	<rdar://problem/3878766> VIP: Program listings pages at directv.com takes 75% of time traversing NodeLists
   30960 
   30961         * khtml/dom/dom_node.cpp:
   30962         (NodeList::itemById): New method, just forward to impl.
   30963         * khtml/dom/dom_node.h: Prototype it.
   30964         * khtml/ecma/kjs_dom.cpp:
   30965         (DOMNodeList::tryGet): Instead of looping over the whole list to do by-id access,
   30966 	let the NodeList do it. The NodeList might be able to do it more efficiently.
   30967         * khtml/xml/dom_nodeimpl.cpp:
   30968 	(NodeListImpl::itemById): Optimize for the case where the NodeList
   30969 	covers the whole document. In this case, just use getElementById,
   30970 	then check that the element satisfies the list criteria.
   30971         (ChildNodeListImpl::nodeMatches): Return true only if the node is our child.
   30972         (TagNodeListImpl::TagNodeListImpl): Irrelevant change to reformat initializers.
   30973         * khtml/xml/dom_nodeimpl.h:
   30974 
   30975 2004-11-12  Maciej Stachowiak  <mjs (a] apple.com>
   30976 
   30977         Reviewed by Gramps.
   30978 
   30979 	- fixed another bug in the last checkin, isCacheValid was unitialized, resulting in
   30980 	sometimes using a huge bogus length value.
   30981 	
   30982         * khtml/xml/dom_nodeimpl.cpp:
   30983         (NodeListImpl::NodeListImpl): Initialize isCacheValid.
   30984 
   30985 2004-11-12  Darin Adler  <darin (a] apple.com>
   30986 
   30987         Reviewed by Maciej.
   30988 
   30989         - fixed an infinite loop in that last check-in
   30990 
   30991         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::notifyLocalNodeListsSubtreeModified):
   30992         Added a ++i to the loop so it won't get stuck on the first element in the list.
   30993 
   30994 2004-11-12  Maciej Stachowiak  <mjs (a] apple.com>
   30995 
   30996         Reviewed by Kevin.
   30997 
   30998 	- fixed <rdar://problem/3878183> Safari is 77% slower than it should be on a page on an IBM website due to NodeListImpl length
   30999         
   31000 	I fixed this by changing NodeLists to cache their length, but
   31001 	invalidate it whenever there is a change in the DOM subtree at
   31002 	which they are rooted. This makes NodeListImpl::recursiveLength()
   31003 	drop completely off the profile, since we were repeatedly getting
   31004 	a length for the same NodeList over and over.
   31005 	
   31006         * khtml/xml/dom_nodeimpl.cpp:
   31007         (NodeImpl::NodeImpl):
   31008         (NodeImpl::~NodeImpl):
   31009         (NodeImpl::registerNodeList):
   31010         (NodeImpl::unregisterNodeList):
   31011         (NodeImpl::notifyLocalNodeListsSubtreeModified):
   31012         (NodeImpl::notifyNodeListsSubtreeModified):
   31013         (NodeImpl::dispatchSubtreeModifiedEvent):
   31014         (NodeListImpl::NodeListImpl):
   31015         (NodeListImpl::~NodeListImpl):
   31016         (NodeListImpl::recursiveLength):
   31017         (NodeListImpl::recursiveItem):
   31018         (NodeListImpl::rootNodeSubtreeModified):
   31019         (ChildNodeListImpl::ChildNodeListImpl):
   31020         (ChildNodeListImpl::length):
   31021         (ChildNodeListImpl::item):
   31022         (TagNodeListImpl::TagNodeListImpl):
   31023         (TagNodeListImpl::length):
   31024         (TagNodeListImpl::item):
   31025         (NameNodeListImpl::NameNodeListImpl):
   31026         (NameNodeListImpl::length):
   31027         (NameNodeListImpl::item):
   31028         * khtml/xml/dom_nodeimpl.h:
   31029 
   31030 2004-11-12  Darin Adler  <darin (a] apple.com>
   31031 
   31032         Reviewed by Maciej.
   31033 
   31034         - various small cleanups
   31035 
   31036         * khtml/xml/dom_docimpl.h: Added policyBaseURL and setPolicyBaseURL.
   31037         * khtml/html/html_documentimpl.h: Removed policyBaseURL and setPolicyBaseURL.
   31038 
   31039         * khtml/xml/xml_tokenizer.h: Marked isWaitingForScripts const.
   31040         * khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::isWaitingForScripts): Marked const.
   31041         * khtml/html/htmltokenizer.h: Marked isWaitingForScripts const.
   31042         * khtml/html/htmltokenizer.cpp:
   31043         (khtml::HTMLTokenizer::isWaitingForScripts): Marked const.
   31044         (khtml::HTMLTokenizer::setOnHold): Took out extraneous line of code.
   31045 
   31046         * khtml/khtml_part.h: Removed docImpl function.
   31047         * khtml/khtml_part.cpp: Ditto.
   31048 
   31049         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::close): Simplified code that implements
   31050         the "redirect during onload" optimization. Now uses isScheduledLocationChangePending.
   31051 
   31052         * kwq/KWQKHTMLPart.h: Removed now-unused _firstResponderAtMouseDownTime.
   31053         * kwq/KWQKHTMLPart.mm: Removed _firstResponderAtMouseDownTime (forgot to land this
   31054         part of the change last time, which is why the build broke).
   31055         (KWQKHTMLPart::updatePolicyBaseURL): Use xmlDocImpl instead of docImpl.
   31056         (KWQKHTMLPart::setPolicyBaseURL): Ditto.
   31057         (KWQKHTMLPart::keyEvent): Ditto.
   31058         (KWQKHTMLPart::dispatchCPPEvent): Ditto.
   31059         (KWQKHTMLPart::bodyBackgroundColor): Ditto.
   31060 
   31061 2004-11-12  Chris Blumenberg  <cblu (a] apple.com>
   31062 
   31063 	<rdar://problem/3843312> REGRESSION: Tabbing into content area puts insertion point at start, should go to where it last was
   31064 
   31065         Reviewed by rjw.
   31066 
   31067         * kwq/KWQKHTMLPart.mm:
   31068         (KWQKHTMLPart::nextKeyViewInFrameHierarchy): only blow away selection when another view is focused
   31069 
   31070 === Safari-171 ===
   31071 
   31072 2004-11-12  Darin Adler  <darin (a] apple.com>
   31073 
   31074         Reviewed by Kevin.
   31075 
   31076         - fixed a couple places that would not work for XML documents
   31077 
   31078         * khtml/ecma/kjs_window.cpp:
   31079         (Window::isSafeScript): Use xmlDocImpl instead of docImpl, since the function we're using
   31080         is present on the base class.
   31081         (WindowFunc::tryCall): More of the same.
   31082 
   31083 2004-11-12  Darin Adler  <darin (a] apple.com>
   31084 
   31085         - land versions of these files generated by the newer gperf
   31086 
   31087         People building on Panther will continue to see these files modified.
   31088         A workaround would be to install the newer gperf on our Tiger build machines.
   31089 
   31090         * khtml/css/cssproperties.c: Regenerated.
   31091         * khtml/css/cssvalues.c: Regenerated.
   31092         * khtml/html/doctypes.cpp: Regenerated.
   31093         * khtml/html/kentities.c: Regenerated.
   31094         * khtml/misc/htmlattrs.c: Regenerated.
   31095         * khtml/misc/htmltags.c: Regenerated.
   31096         * kwq/KWQColorData.c: Regenerated.
   31097 
   31098 2004-11-11  Richard Williamson   <rjw (a] apple.com>
   31099 	
   31100         Fix build horkage from previous checkin.
   31101 		
   31102         * kwq/KWQKHTMLPart.h:
   31103 
   31104 2004-11-11  Darin Adler  <darin (a] apple.com>
   31105 
   31106         Reviewed by John.
   31107 
   31108         - fixed <rdar://problem/3846152> REGRESSION (125-166): can't drag text out of <input type=text> fields
   31109 
   31110         * kwq/WebCoreBridge.h: Added wasFirstResponderAtMouseDownTime: method.
   31111 
   31112         * kwq/KWQKHTMLPart.h: Removed _firstResponderAtMouseDownTime.
   31113         * kwq/KWQKHTMLPart.mm:
   31114         (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Use the new wasFirstResponderAtMouseDownTime:
   31115         method on the bridge instead of _firstResponderAtMouseDownTime. This will return YES for the case where
   31116         we started with the NSTextField as first responder, and then took focus away and gave it back, which
   31117         makes dragging text work again.
   31118         (KWQKHTMLPart::mouseDown): Removed code to set _firstResponderAtMouseDownTime.
   31119 
   31120 2004-11-11  David Hyatt  <hyatt (a] apple.com>
   31121 
   31122 	Disable the tokenizer deferral, since it hurts the PLT by 3% or so.
   31123 	
   31124         Reviewed by vicki
   31125 
   31126         * khtml/html/htmltokenizer.cpp:
   31127         (khtml::HTMLTokenizer::continueProcessing):
   31128 
   31129 2004-11-11  Ken Kocienda  <kocienda (a] apple.com>
   31130 
   31131         Reviewed by Maciej
   31132 
   31133         * khtml/editing/htmlediting.cpp:
   31134         (khtml::InsertLineBreakCommand::doApply): Use new isLastVisiblePositionInBlock() helper instead
   31135         of old isLastInBlock() member function on VisiblePosition. This is a cosmetic change in keeping
   31136         with the prevailing style for the VisiblePosition class.
   31137         * khtml/editing/htmlediting.h: Move isLastVisiblePositionInNode() function to visible_position.[cpp|h] files. 
   31138         * khtml/editing/visible_position.cpp: Removed isLastInBlock() helper. Renamed to isLastVisiblePositionInBlock().
   31139         (khtml::visiblePositionsInDifferentBlocks): New helper method.
   31140         (khtml::isLastVisiblePositionInBlock): Ditto.
   31141         (khtml::isLastVisiblePositionInNode): Ditto.
   31142         * khtml/editing/visible_position.h: Add declarations for new functions.
   31143 
   31144 2004-11-11  Ken Kocienda  <kocienda (a] apple.com>
   31145 
   31146         Reviewed by Hyatt
   31147 
   31148         * khtml/editing/htmlediting.cpp:
   31149         (khtml::CompositeEditCommand::deleteInsignificantText): Call new compareBoundaryPoints convenience.
   31150         (khtml::ApplyStyleCommand::removeBlockStyle): Ditto.
   31151         (khtml::ApplyStyleCommand::removeInlineStyle): Ditto.
   31152         (khtml::ApplyStyleCommand::nodeFullySelected): Ditto.
   31153         (khtml::DeleteSelectionCommand::initializePositionData): Ditto.
   31154         * khtml/xml/dom2_rangeimpl.cpp:
   31155         (DOM::RangeImpl::compareBoundaryPoints): New convenience variant of this function which takes two Position objects.
   31156         * khtml/xml/dom2_rangeimpl.h: Ditto.
   31157 
   31158 2004-11-11  Ken Kocienda  <kocienda (a] apple.com>
   31159 
   31160         Reviewed by Harrison
   31161 
   31162         Some improvements to deleting when complete lines are selected.
   31163 
   31164         * khtml/editing/htmlediting.cpp:
   31165         (khtml::DeleteSelectionCommand::initializePositionData): Detect when the line containing
   31166         the end of a selection is fully selected. Turn off block merging in this case.
   31167         (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete): Fix a bug in the check for
   31168         whether a BR immediately followed a block. The old code could erroneously skip nodes.
   31169         (khtml::DeleteSelectionCommand::handleGeneralDelete): Add a case for when the entire
   31170         start block is selected. This new code will now delete this block in one call, rather
   31171         than iterating over each child.
   31172         * khtml/editing/visible_position.cpp:
   31173         (khtml::visiblePositionsOnDifferentLines): New helper called in initializePositionData()
   31174         to do the work mentioned above in the comment for that function.
   31175         (khtml::isFirstVisiblePositionOnLine): Ditto.
   31176         (khtml::isLastVisiblePositionOnLine): Ditto.
   31177         * khtml/editing/visible_position.h: Add new functions.
   31178         * layout-tests/editing/deleting/delete-line-001-expected.txt: Added.
   31179         * layout-tests/editing/deleting/delete-line-001.html: Added.
   31180         * layout-tests/editing/deleting/delete-line-002-expected.txt: Added.
   31181         * layout-tests/editing/deleting/delete-line-002.html: Added.
   31182         * layout-tests/editing/deleting/delete-line-003-expected.txt: Added.
   31183         * layout-tests/editing/deleting/delete-line-003.html: Added.
   31184         * layout-tests/editing/deleting/delete-line-004-expected.txt: Added.
   31185         * layout-tests/editing/deleting/delete-line-004.html: Added.
   31186         * layout-tests/editing/deleting/delete-line-005-expected.txt: Added.
   31187         * layout-tests/editing/deleting/delete-line-005.html: Added.
   31188         * layout-tests/editing/deleting/delete-line-006-expected.txt: Added.
   31189         * layout-tests/editing/deleting/delete-line-006.html: Added.
   31190         * layout-tests/editing/deleting/delete-line-007-expected.txt: Added.
   31191         * layout-tests/editing/deleting/delete-line-007.html: Added.
   31192         * layout-tests/editing/deleting/delete-line-008-expected.txt: Added.
   31193         * layout-tests/editing/deleting/delete-line-008.html: Added.
   31194         * layout-tests/editing/deleting/delete-line-009-expected.txt: Added.
   31195         * layout-tests/editing/deleting/delete-line-009.html: Added.
   31196         * layout-tests/editing/deleting/delete-line-010-expected.txt: Added.
   31197         * layout-tests/editing/deleting/delete-line-010.html: Added.
   31198         * layout-tests/editing/deleting/delete-line-011-expected.txt: Added.
   31199         * layout-tests/editing/deleting/delete-line-011.html: Added.
   31200         * layout-tests/editing/deleting/delete-line-012-expected.txt: Added.
   31201         * layout-tests/editing/deleting/delete-line-012.html: Added.
   31202 
   31203 2004-11-11  Ken Kocienda  <kocienda (a] apple.com>
   31204 
   31205         Reviewed by Adele
   31206 
   31207         * khtml/editing/htmlediting.cpp:
   31208         (khtml::DeleteSelectionCommand::initializePositionData): Add some comments and a new piece of debugging output.
   31209 
   31210 2004-11-11  Ken Kocienda  <kocienda (a] apple.com>
   31211 
   31212         Reviewed by John
   31213 
   31214         Fix for these bugs:
   31215 
   31216         <rdar://problem/3875618> REGRESSION (Mail): Hitting down arrow with full line selected skips line (br case)
   31217         <rdar://problem/3875641> REGRESSION (Mail): Hitting down arrow with full line selected skips line (div case)
   31218 
   31219         * khtml/editing/selection.cpp:
   31220         (khtml::Selection::modifyMovingRightForward): Fixed by juggling the position as the starting point for
   31221         the next line position when necessary.
   31222         * layout-tests/editing/selection/move-3875618-fix-expected.txt: Added.
   31223         * layout-tests/editing/selection/move-3875618-fix.html: Added.
   31224         * layout-tests/editing/selection/move-3875641-fix-expected.txt: Added.
   31225         * layout-tests/editing/selection/move-3875641-fix.html: Added.
   31226 
   31227 2004-11-11  Ken Kocienda  <kocienda (a] apple.com>
   31228 
   31229         Reviewed by John
   31230 
   31231         Improved some function names, at John's urging. No changes to the
   31232         functions themselves.
   31233         
   31234         canPerformSpecialCaseAllContentDelete() --> handleSpecialCaseAllContentDelete()
   31235         canPerformSpecialCaseBRDelete() --> handleSpecialCaseBRDelete()
   31236         performGeneralDelete() --> handleGeneralDelete()
   31237 
   31238         * khtml/editing/htmlediting.cpp:
   31239         (khtml::DeleteSelectionCommand::handleSpecialCaseAllContentDelete)
   31240         (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete)
   31241         (khtml::DeleteSelectionCommand::handleGeneralDelete)
   31242         (khtml::DeleteSelectionCommand::doApply)
   31243         * khtml/editing/htmlediting.h
   31244 
   31245 2004-11-11  Ken Kocienda  <kocienda (a] apple.com>
   31246 
   31247         Reviewed by John
   31248         
   31249         Updated some layout test results that changed as a result of my last checking.
   31250         Added a new test that has been in my tree for a few days.
   31251 
   31252         * layout-tests/editing/deleting/delete-3775172-fix-expected.txt:
   31253         * layout-tests/editing/deleting/delete-3800834-fix-expected.txt:
   31254         * layout-tests/editing/inserting/insert-3851164-fix-expected.txt: Added.
   31255         * layout-tests/editing/inserting/insert-3851164-fix.html: Added.
   31256 
   31257 2004-11-11  Ken Kocienda  <kocienda (a] apple.com>
   31258 
   31259         Reviewed by John
   31260 
   31261         * khtml/editing/htmlediting.cpp:
   31262         (khtml::debugNode): New debugging helper.
   31263         (khtml::DeleteSelectionCommand::initializePositionData): No longer call obsoleted
   31264         startPositionForDelete() and endPositionForDelete() functions. Just use the 
   31265         m_selectionToDelete object to determine start and end positions for the delete.
   31266         (khtml::DeleteSelectionCommand::canPerformSpecialCaseAllContentDelete): New
   31267         function that creates a special case for deleting all the content in a root
   31268         editable element.
   31269         (khtml::DeleteSelectionCommand::doApply): Call canPerformSpecialCaseAllContentDelete()
   31270         function before BR special case and the general case delete functions.
   31271         * khtml/editing/htmlediting.h: Updated for changed functions.
   31272 
   31273 2004-11-10  Kevin Decker  <kdecker (a] apple.com>
   31274 
   31275         Reviewed by mjs.
   31276 	
   31277         Fixed <rdar://problem/3875011> DOMNodeList::tryGet() performs unnecessary (and expensive) dom tree traversals. Improved a loop from 2-n-squared to just n-squared.  
   31278 
   31279         * khtml/ecma/kjs_dom.cpp:
   31280         (DOMNodeList::tryGet): Got rid of an unnecessary node traversal. 
   31281 
   31282 2004-11-10  Ken Kocienda  <kocienda (a] apple.com>
   31283 
   31284         Reviewed by Chris
   31285 
   31286         * khtml/editing/htmlediting.cpp:
   31287         (khtml::DeleteSelectionCommand::initializePositionData): Move position adjustments for
   31288         smart delete from the two functions below to here. There was an unnecessary double 
   31289         calculation of the leading and trailing whitespace positions. Also refined the trailing
   31290         case so it only acts when the leading position is null (which seems to match TextEdit in
   31291         my tests). Also removed some unnecessary copying of Position objects.
   31292         (khtml::DeleteSelectionCommand::startPositionForDelete): Move out smart delete adjustment
   31293         from here.
   31294         (khtml::DeleteSelectionCommand::endPositionForDelete): Ditto.
   31295 
   31296 2004-11-10  Ken Kocienda  <kocienda (a] apple.com>
   31297 
   31298         Reviewed by Harrison
   31299 
   31300         (khtml::DeleteSelectionCommand::performGeneralDelete): Add some more comments to
   31301         make things more clear.
   31302         * khtml/editing/selection.cpp:
   31303         (khtml::Selection::toRange): Fixed the upstream and downstream calls so that the 
   31304         resulting positions do not cross block boundaries. This was a bug and caused some
   31305         delete problems when whole blocks were selected. I will be addressing that issue
   31306         more fully in upcoming changes.
   31307 
   31308 2004-11-10  Ken Kocienda  <kocienda (a] apple.com>
   31309 
   31310         Reviewed by Harrison
   31311 
   31312         Some cleanups and fixes in upstream and downstream functions. 
   31313         
   31314         Removed redundant checks for isBlockFlow() when calling enclosingBlockFlowElement(). 
   31315         Blocks do not need to skip the call to enclosingBlockFlowElement() for fear that the 
   31316         block's enclosing block will be returned. 
   31317         
   31318         Remove code from upstream that confined the serach to block boundaries outside of
   31319         the code which runs in the StayInBlock case. This code was redundant, and caused
   31320         incorrect results to be returned in the DoNotStayInBlock case.
   31321         
   31322         In downstream, the check for crossing into a new block should use the equivalentDeepPosition()
   31323         node, not the the this pointer's node.
   31324 
   31325         * khtml/xml/dom_position.cpp:
   31326         (DOM::Position::upstream)
   31327         (DOM::Position::downstream)
   31328 
   31329 2004-11-09  David Hyatt  <hyatt (a] apple.com>
   31330 
   31331 	Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when
   31332         loading large local files.
   31333 	
   31334         Reviewed by mjs
   31335 
   31336         * khtml/html/htmltokenizer.cpp:
   31337         (khtml::HTMLTokenizer::HTMLTokenizer):
   31338         (khtml::HTMLTokenizer::reset):
   31339         (khtml::HTMLTokenizer::write):
   31340         (khtml::HTMLTokenizer::stopped):
   31341         (khtml::HTMLTokenizer::processingData):
   31342         (khtml::HTMLTokenizer::continueProcessing):
   31343         (khtml::HTMLTokenizer::timerEvent):
   31344         (khtml::HTMLTokenizer::allDataProcessed):
   31345         (khtml::HTMLTokenizer::end):
   31346         (khtml::HTMLTokenizer::finish):
   31347         (khtml::HTMLTokenizer::notifyFinished):
   31348         * khtml/html/htmltokenizer.h:
   31349         * khtml/khtml_part.cpp:
   31350         (KHTMLPart::slotFinished):
   31351         (KHTMLPart::end):
   31352         (KHTMLPart::stop):
   31353         * khtml/khtml_part.h:
   31354         (KHTMLPart::tokenizerProcessedData):
   31355         * khtml/khtmlview.cpp:
   31356         * khtml/xml/dom_docimpl.cpp:
   31357         * khtml/xml/xml_tokenizer.h:
   31358         (khtml::Tokenizer::stopped):
   31359         (khtml::Tokenizer::processingData):
   31360         * kwq/KWQDateTime.h:
   31361         * kwq/KWQDateTime.mm:
   31362         (QDateTime::secsTo):
   31363         (KWQUIEventTime::uiEventPending):
   31364         * kwq/KWQKHTMLPart.h:
   31365         * kwq/KWQKHTMLPart.mm:
   31366         (KWQKHTMLPart::tokenizerProcessedData):
   31367         * kwq/WebCoreBridge.h:
   31368         * kwq/WebCoreBridge.mm:
   31369         (-[WebCoreBridge stop]):
   31370         (-[WebCoreBridge numPendingOrLoadingRequests]):
   31371         (-[WebCoreBridge doneProcessingData]):
   31372 
   31373 2004-11-09  David Harrison  <harrison (a] apple.com>
   31374 
   31375         Reviewed by Ken Kocienda.
   31376 
   31377 		<rdar://problem/3865837> Wrong text style after delete to start of document
   31378 		
   31379         * khtml/editing/htmlediting.cpp:
   31380         (khtml::DeleteSelectionCommand::saveTypingStyleState):
   31381         Sample computedStyle of m_selectionToDelete.start instead of m_downstreamStart.
   31382 
   31383 2004-11-09  Richard Williamson   <rjw (a] apple.com>
   31384 
   31385         Fixed <rdar://problem/3872440> NSTimer prematurely released.
   31386 
   31387         Reviewed by Darin.
   31388 
   31389         * kwq/KWQTimer.mm:
   31390         (QTimer::fire):
   31391         * kwq/KWQWidget.mm:
   31392         (QWidget::paint):
   31393 
   31394 2004-11-09  Chris Blumenberg  <cblu (a] apple.com>
   31395 
   31396         Reviewed by vicki.
   31397 
   31398         * WebCore.pbproj/project.pbxproj: explicitly link against libxml2.2.6.14.dylib since the version number has been bumped
   31399 
   31400 2004-11-08  David Harrison  <harrison (a] apple.com>
   31401 
   31402         Reviewed by Ken Kocienda.
   31403 
   31404 		<rdar://problem/3865854> Deleting first line deletes all lines
   31405 		
   31406         * khtml/editing/htmlediting.cpp:
   31407         (khtml::DeleteSelectionCommand::performGeneralDelete):
   31408         Problem was that the code that deletes fully selected m_downstreamEnd.node() by deleting one
   31409         of its ancestors, failed to end the loop that deletes all fully selected nodes.  Also,
   31410         fixed this code to clear m_trailingWhitespaceValid.  Also removed dead m_endingPosition
   31411         update because it is handled in calculateEndingPosition now.
   31412         * layout-tests/editing/deleting/delete-3865854-fix-expected.txt: Added.
   31413         * layout-tests/editing/deleting/delete-3865854-fix.html: Added.
   31414 
   31415 2004-11-08  Ken Kocienda  <kocienda (a] apple.com>
   31416 
   31417         Reviewed by Hyatt
   31418 
   31419         * khtml/html/html_elementimpl.cpp:
   31420         (HTMLElementImpl::createContextualFragment): Now takes flag to control whether comments
   31421         are added to the DOM.
   31422         * khtml/html/html_elementimpl.h: Ditto.
   31423         * khtml/html/htmlparser.cpp:
   31424         (KHTMLParser::KHTMLParser): Ditto.
   31425         (KHTMLParser::getElement): Remove ifdef for comment processing. Replace with flag check.
   31426         * khtml/html/htmlparser.h: Add flag to constructor so callers can request comment nodes.
   31427         * khtml/html/htmltokenizer.cpp:
   31428         (khtml::HTMLTokenizer::HTMLTokenizer): Add flag to constructor so callers can request comment nodes.
   31429         (khtml::HTMLTokenizer::parseComment): Fix code to handle parsing out comment text correctly.
   31430         There were a couple of indexing errors that resulted in the comment text containing part of the 
   31431         comment markers.
   31432         (khtml::HTMLTokenizer::processToken): Don't let token id be reset to ID_TEXT if token is a comment.
   31433         * khtml/html/htmltokenizer.h:  Add flag to constructor so callers can request comment nodes.
   31434 
   31435 2004-11-08  Chris Blumenberg  <cblu (a] apple.com>
   31436 
   31437 	Fixed: <rdar://problem/3870907> WebCore unnecessary links against JavaVM and Security
   31438 
   31439         Reviewed by darin.
   31440 
   31441         * WebCore.pbproj/project.pbxproj: stop unnecessary linking
   31442         * khtml/html/html_objectimpl.h: don't unnecessarily include JavaVM header
   31443         * kwq/KWQKHTMLPart.h: ditto
   31444 
   31445 2004-11-08  Darin Adler  <darin (a] apple.com>
   31446 
   31447         Reviewed by John.
   31448 
   31449         - fixed <rdar://problem/3825966> 8A274 Safari crashes closing window: QTimer::fire() with MallocStackLogging and MallocScribble enabled
   31450 
   31451         * kwq/KWQTimer.mm: (QTimer::fire): Rearrange so we don't access the QTimer object after calling code
   31452         that possibly deletes the QTimer.
   31453 
   31454 2004-11-08  Chris Blumenberg  <cblu (a] apple.com>
   31455 
   31456 	Fixed: <rdar://problem/3783904> Return key behavior is confusingly different between popup menus and autofill menus
   31457 
   31458         Reviewed by john.
   31459 
   31460         * kwq/KWQTextField.mm:
   31461         (-[KWQTextFieldController textView:shouldHandleEvent:]): let the bridge have a crack at the event so that it can swallow the newline if it wants to
   31462         * kwq/WebCoreBridge.h:
   31463 
   31464 2004-11-08  David Harrison  <harrison (a] apple.com>
   31465 
   31466         Reviewed by Darin.
   31467         
   31468         Renamed NodeImpl::enclosingNonBlockFlowElement to NodeImpl::enclosingInlineElement, per Hyatt.
   31469 
   31470         * khtml/editing/htmlediting.cpp:
   31471         (khtml::DeleteSelectionCommand::moveNodesAfterNode):
   31472         * khtml/xml/dom_nodeimpl.cpp:
   31473         (NodeImpl::enclosingInlineElement):
   31474         * khtml/xml/dom_nodeimpl.h:
   31475 
   31476 2004-11-05  Chris Blumenberg  <cblu (a] apple.com>
   31477 
   31478 	Fixed: <rdar://problem/3838413> REGRESSION (Mail): "Smart" word paste adds spaces before/after special characters
   31479 
   31480         Reviewed by rjw.
   31481 
   31482         * khtml/editing/htmlediting.cpp:
   31483         (khtml::ReplaceSelectionCommand::doApply): call isCharacterSmartReplaceExempt on the part to see if a space should be inserted
   31484         * khtml/editing/visible_position.cpp:
   31485         (khtml::VisiblePosition::character): new, returns the character for the position
   31486         * khtml/editing/visible_position.h:
   31487         * kwq/KWQKHTMLPart.h:
   31488         * kwq/KWQKHTMLPart.mm:
   31489         (KWQKHTMLPart::isCharacterSmartReplaceExempt): new, calls the bridge
   31490         * kwq/WebCoreBridge.h:
   31491 
   31492 === Safari-170 ===
   31493 
   31494 2004-11-05  Adele Amchan  <adele (a] apple.com>
   31495 
   31496         Reviewed by Darin
   31497 
   31498 	Fix for <rdar://problem/3854383> REGRESSION(166-168) input fields show black background when background color is set to transparent
   31499 	and a workaround for displaying transparent backgrounds for textareas.
   31500 
   31501         * kwq/KWQLineEdit.mm: (QLineEdit::setPalette): If the background color is transparent (we check the alpha value) then we set the background to white
   31502         * kwq/KWQTextEdit.mm: (QTextEdit::setPalette): If the background color is transparent, then we don't draw the background
   31503         * kwq/KWQTextArea.mm: (-[KWQTextArea setDrawsBackground:]): added setDrawsBackground function which calls setDrawsBackground on the super class, 
   31504           on the contentView, and on the textView.
   31505 
   31506 2004-11-04  David Hyatt  <hyatt (a] apple.com>
   31507 
   31508 	Fix for relpositioned inlines.  This was reviewed a long time ago, but I can't recall who reviewed it (either
   31509 	darin or ken).
   31510 	
   31511         Reviewed by darin or ken
   31512 
   31513         * khtml/rendering/bidi.cpp:
   31514         (khtml::appendRunsForObject):
   31515         (khtml::RenderBlock::skipWhitespace):
   31516         (khtml::RenderBlock::findNextLineBreak):
   31517         * khtml/rendering/render_block.cpp:
   31518         (khtml::RenderBlock::lowestPosition):
   31519         (khtml::RenderBlock::rightmostPosition):
   31520         (khtml::RenderBlock::leftmostPosition):
   31521         * khtml/rendering/render_box.cpp:
   31522         (RenderBox::position):
   31523         * khtml/rendering/render_box.h:
   31524         (khtml::RenderBox::staticX):
   31525         (khtml::RenderBox::staticY):
   31526         * khtml/rendering/render_layer.cpp:
   31527         (RenderLayer::updateLayerPosition):
   31528         (RenderLayer::convertToLayerCoords):
   31529         * khtml/rendering/render_line.cpp:
   31530         (khtml::InlineFlowBox::placeBoxesHorizontally):
   31531         * khtml/rendering/render_object.h:
   31532         (khtml::RenderObject::staticX):
   31533         (khtml::RenderObject::staticY):
   31534 
   31535 	Finish turning on XSLT.  Make sure child stylesheets can load.
   31536 	
   31537         * khtml/xsl/xslt_processorimpl.cpp:
   31538         (DOM::stylesheetLoadFunc):
   31539         (DOM::XSLTProcessorImpl::transformDocument):
   31540 
   31541 2004-11-04  David Hyatt  <hyatt (a] apple.com>
   31542 
   31543 	Implement CSS3 support for multiple backgrounds.  Also fix a bug with background propagation so that it only
   31544 	happens (from the <body> to the root) for HTML documents.  Fixed background-position to handle a mixture of
   31545 	keyword and length values.
   31546 
   31547         Reviewed by darin
   31548 
   31549         * khtml/css/cssparser.cpp:
   31550         (CSSParser::parseValue):
   31551         (CSSParser::addBackgroundValue):
   31552         (CSSParser::parseBackgroundShorthand):
   31553         (CSSParser::parseBackgroundColor):
   31554         (CSSParser::parseBackgroundImage):
   31555         (CSSParser::parseBackgroundPositionXY):
   31556         (CSSParser::parseBackgroundPosition):
   31557         (CSSParser::parseBackgroundProperty):
   31558         (CSSParser::parseColorFromValue):
   31559         * khtml/css/cssparser.h:
   31560         * khtml/css/cssstyleselector.cpp:
   31561         (khtml::CSSStyleSelector::adjustRenderStyle):
   31562         (khtml::CSSStyleSelector::applyProperty):
   31563         (khtml::CSSStyleSelector::mapBackgroundAttachment):
   31564         (khtml::CSSStyleSelector::mapBackgroundImage):
   31565         (khtml::CSSStyleSelector::mapBackgroundRepeat):
   31566         (khtml::CSSStyleSelector::mapBackgroundXPosition):
   31567         (khtml::CSSStyleSelector::mapBackgroundYPosition):
   31568         * khtml/css/cssstyleselector.h:
   31569         * khtml/rendering/render_box.cpp:
   31570         (RenderBox::paintRootBoxDecorations):
   31571         (RenderBox::paintBoxDecorations):
   31572         (RenderBox::paintBackgrounds):
   31573         (RenderBox::paintBackground):
   31574         (RenderBox::paintBackgroundExtended):
   31575         * khtml/rendering/render_box.h:
   31576         * khtml/rendering/render_form.cpp:
   31577         (RenderFieldset::paintBoxDecorations):
   31578         * khtml/rendering/render_line.cpp:
   31579         (khtml::InlineFlowBox::paintBackgrounds):
   31580         (khtml::InlineFlowBox::paintBackground):
   31581         (khtml::InlineFlowBox::paintBackgroundAndBorder):
   31582         * khtml/rendering/render_line.h:
   31583         * khtml/rendering/render_object.cpp:
   31584         (RenderObject::setStyle):
   31585         (RenderObject::updateBackgroundImages):
   31586         (RenderObject::getVerticalPosition):
   31587         * khtml/rendering/render_object.h:
   31588         (khtml::RenderObject::paintBackgroundExtended):
   31589         * khtml/rendering/render_style.cpp:
   31590         (m_next):
   31591         (BackgroundLayer::BackgroundLayer):
   31592         (BackgroundLayer::~BackgroundLayer):
   31593         (BackgroundLayer::operator=):
   31594         (BackgroundLayer::operator==):
   31595         (BackgroundLayer::fillUnsetProperties):
   31596         (BackgroundLayer::cullEmptyLayers):
   31597         (StyleBackgroundData::StyleBackgroundData):
   31598         (StyleBackgroundData::operator==):
   31599         (RenderStyle::diff):
   31600         (RenderStyle::adjustBackgroundLayers):
   31601         * khtml/rendering/render_style.h:
   31602         (khtml::OutlineValue::operator==):
   31603         (khtml::OutlineValue::operator!=):
   31604         (khtml::BackgroundLayer::backgroundImage):
   31605         (khtml::BackgroundLayer::backgroundXPosition):
   31606         (khtml::BackgroundLayer::backgroundYPosition):
   31607         (khtml::BackgroundLayer::backgroundAttachment):
   31608         (khtml::BackgroundLayer::backgroundRepeat):
   31609         (khtml::BackgroundLayer::next):
   31610         (khtml::BackgroundLayer::isBackgroundImageSet):
   31611         (khtml::BackgroundLayer::isBackgroundXPositionSet):
   31612         (khtml::BackgroundLayer::isBackgroundYPositionSet):
   31613         (khtml::BackgroundLayer::isBackgroundAttachmentSet):
   31614         (khtml::BackgroundLayer::isBackgroundRepeatSet):
   31615         (khtml::BackgroundLayer::setBackgroundImage):
   31616         (khtml::BackgroundLayer::setBackgroundXPosition):
   31617         (khtml::BackgroundLayer::setBackgroundYPosition):
   31618         (khtml::BackgroundLayer::setBackgroundAttachment):
   31619         (khtml::BackgroundLayer::setBackgroundRepeat):
   31620         (khtml::BackgroundLayer::clearBackgroundImage):
   31621         (khtml::BackgroundLayer::clearBackgroundXPosition):
   31622         (khtml::BackgroundLayer::clearBackgroundYPosition):
   31623         (khtml::BackgroundLayer::clearBackgroundAttachment):
   31624         (khtml::BackgroundLayer::clearBackgroundRepeat):
   31625         (khtml::BackgroundLayer::setNext):
   31626         (khtml::BackgroundLayer::operator!=):
   31627         (khtml::BackgroundLayer::containsImage):
   31628         (khtml::BackgroundLayer::hasImage):
   31629         (khtml::BackgroundLayer::hasFixedImage):
   31630         (khtml::RenderStyle::setBitDefaults):
   31631         (khtml::RenderStyle::hasBackground):
   31632         (khtml::RenderStyle::hasFixedBackgroundImage):
   31633         (khtml::RenderStyle::outlineWidth):
   31634         (khtml::RenderStyle::outlineStyle):
   31635         (khtml::RenderStyle::outlineStyleIsAuto):
   31636         (khtml::RenderStyle::outlineColor):
   31637         (khtml::RenderStyle::backgroundColor):
   31638         (khtml::RenderStyle::backgroundImage):
   31639         (khtml::RenderStyle::backgroundRepeat):
   31640         (khtml::RenderStyle::backgroundAttachment):
   31641         (khtml::RenderStyle::backgroundXPosition):
   31642         (khtml::RenderStyle::backgroundYPosition):
   31643         (khtml::RenderStyle::accessBackgroundLayers):
   31644         (khtml::RenderStyle::backgroundLayers):
   31645         (khtml::RenderStyle::outlineOffset):
   31646         (khtml::RenderStyle::resetOutline):
   31647         (khtml::RenderStyle::setBackgroundColor):
   31648         (khtml::RenderStyle::setOutlineWidth):
   31649         (khtml::RenderStyle::setOutlineStyle):
   31650         (khtml::RenderStyle::setOutlineColor):
   31651         (khtml::RenderStyle::clearBackgroundLayers):
   31652         (khtml::RenderStyle::inheritBackgroundLayers):
   31653         (khtml::RenderStyle::setOutlineOffset):
   31654         * khtml/rendering/render_table.cpp:
   31655         (RenderTable::paintBoxDecorations):
   31656         (RenderTableCell::paintBoxDecorations):
   31657 
   31658 2004-11-04  David Hyatt  <hyatt (a] apple.com>
   31659 
   31660 	Make sure the text decoder returns empty strings rather than null strings when the utf8 char ptr is non-null.
   31661 	Ensures that <a href=""> works with libxml (which returns data in utf-8 buffers).
   31662 
   31663         Reviewed by darin
   31664 
   31665         * kwq/KWQTextCodec.mm:
   31666         (KWQTextDecoder::convertLatin1):
   31667         (KWQTextDecoder::convertUTF16):
   31668         (KWQTextDecoder::convertUsingTEC):
   31669         (KWQTextDecoder::toUnicode):
   31670 
   31671 2004-11-04  David Hyatt  <hyatt (a] apple.com>
   31672 
   31673 	Make sure line-height returns the correct value for normal.
   31674 	
   31675         Reviewed by darin
   31676 
   31677         * khtml/css/css_computedstyle.cpp:
   31678         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   31679 
   31680 2004-11-04  David Harrison  <harrison (a] apple.com>
   31681 
   31682         Reviewed by Ken Kocienda.
   31683 
   31684 		<rdar://problem/3857753> REGRESSION (Mail): Delete incorrectly causes text to take on new style
   31685 		
   31686         * khtml/editing/htmlediting.cpp:
   31687         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Fixed to move entire source subtree (up
   31688         to, but not including, the enclosingBlockFlowElement) rather than just the source element.
   31689         Fixed to insert after the destination subtree, rather than the destination element.  Handles
   31690         edge case of deleting back to the top of the tree, where there is nothing left to insert after.
   31691         * khtml/xml/dom_nodeimpl.cpp:
   31692         (NodeImpl::enclosingNonBlockFlowElement): New method to support moveNodesAfterNode changes.
   31693         * khtml/xml/dom_nodeimpl.h: Declare NodeImpl::enclosingNonBlockFlowElement
   31694         * layout-tests/editing/deleting/delete-3857753-fix-expected.txt: Added.
   31695         * layout-tests/editing/deleting/delete-3857753-fix.html: Added.
   31696 
   31697 2004-11-03  Ken Kocienda  <kocienda (a] apple.com>
   31698 
   31699         Reviewed by me
   31700         
   31701         More layout tests.
   31702 
   31703         * layout-tests/editing/deleting/delete-br-008-expected.txt: Added.
   31704         * layout-tests/editing/deleting/delete-br-008.html: Added.
   31705         * layout-tests/editing/deleting/delete-br-009-expected.txt: Added.
   31706         * layout-tests/editing/deleting/delete-br-009.html: Added.
   31707         * layout-tests/editing/deleting/delete-br-010-expected.txt: Added.
   31708         * layout-tests/editing/deleting/delete-br-010.html: Added.
   31709 
   31710 2004-11-03  Maciej Stachowiak  <mjs (a] apple.com>
   31711 
   31712         Fix by Yasuo Kida, reviewed by me.
   31713 
   31714 	<rdar://problem/3819004> REGRESSION (Mail): Can't move cursor / delete character after deleting the active input area
   31715         
   31716 	* kwq/KWQKHTMLPart.mm:
   31717         (KWQKHTMLPart::setMarkedTextRange): Treat a collapsed range the
   31718 	same as a nil range - setting an empty marked range should clear
   31719 	the marked range entirely.
   31720 
   31721 2004-11-02  Maciej Stachowiak  <mjs (a] apple.com>
   31722 
   31723         Reviewed by Dave Hyatt (when I originally coded it).
   31724 
   31725 	WebCore part of fix for:
   31726 
   31727 	<rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
   31728 	
   31729         * kwq/WebCoreBridge.h:
   31730         * kwq/WebCoreBridge.mm:
   31731         (-[WebCoreBridge firstRectForDOMRange:]): New method to compute the rect for a
   31732 	DOMRange, or if the range is split into multiple lines, the rect for the part on
   31733 	the first line only.
   31734 	
   31735         * khtml/rendering/render_object.cpp:
   31736         (RenderObject::caretRect): Added extraWidthToEndOfLine parameter and ditto
   31737 	for the overrides below.
   31738         * khtml/rendering/render_object.h:
   31739         * khtml/rendering/render_box.cpp:
   31740         (RenderBox::caretRect):
   31741         * khtml/rendering/render_box.h:
   31742         * khtml/rendering/render_br.cpp:
   31743         (RenderBR::caretRect):
   31744         * khtml/rendering/render_br.h:
   31745         * khtml/rendering/render_flow.cpp:
   31746         (RenderFlow::caretRect):
   31747         * khtml/rendering/render_flow.h:
   31748         * khtml/rendering/render_text.cpp:
   31749         (RenderText::caretRect):
   31750 
   31751 2004-11-02  Ken Kocienda  <kocienda (a] apple.com>
   31752 
   31753         Reviewed by Hyatt
   31754 
   31755         Implemented command to insert a block in response to typing a return key (even though
   31756         I am not turning that on by default with this patch....that will come later). 
   31757         
   31758         This new command is called InsertParagraphSeparatorCommand.
   31759         
   31760         Reworked the command and function names associated with inserting content into a 
   31761         document. Before this patch, there were inputXXX and insertXXX variants, with the
   31762         former used for more high-level actions and the latter used for lower-level stuff.
   31763         However, this was confusing as the AppKit uses insertXXX for everything. This resulted
   31764         in an insertXXX command going through an inputXXX WebCore step and then finally to an
   31765         insertXXX WebCore step. To make this less confusing, I have changes all the names to
   31766         be insertXXX, and modified the lower-level operations so that it is clear what they do.
   31767         
   31768         * khtml/editing/htmlediting.cpp:
   31769         (khtml::EditCommandPtr::isInsertTextCommand): Name change.
   31770         (khtml::EditCommand::isInsertTextCommand): Ditto.
   31771         (khtml::CompositeEditCommand::inputText): Ditto.
   31772         (khtml::CompositeEditCommand::insertTextIntoNode): Ditto.
   31773         (khtml::CompositeEditCommand::deleteTextFromNode): Ditto.
   31774         (khtml::CompositeEditCommand::replaceTextInNode): Ditto.
   31775         (khtml::CompositeEditCommand::deleteInsignificantText): Name changes in implementation.
   31776         (khtml::CompositeEditCommand::isLastVisiblePositionInNode): Ditto.
   31777         (khtml::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Class name change, was DeleteTextCommand.
   31778         (khtml::DeleteFromTextNodeCommand::~DeleteFromTextNodeCommand): Ditto.
   31779         (khtml::DeleteFromTextNodeCommand::doApply): Ditto.
   31780         (khtml::DeleteFromTextNodeCommand::doUnapply): Ditto.
   31781         (khtml::DeleteSelectionCommand::performGeneralDelete): Ditto.
   31782         (khtml::DeleteSelectionCommand::fixupWhitespace): Ditto.
   31783         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Ditto.
   31784         (khtml::InsertIntoTextNode::InsertIntoTextNode): Class name change.
   31785         (khtml::InsertIntoTextNode::~InsertIntoTextNode): Ditto.
   31786         (khtml::InsertIntoTextNode::doApply): Ditto.
   31787         (khtml::InsertIntoTextNode::doUnapply): Ditto.
   31788         (khtml::InsertLineBreakCommand::InsertLineBreakCommand): Class name change, was InsertNewlineCommand.
   31789         (khtml::InsertLineBreakCommand::insertNodeAfterPosition):
   31790         (khtml::InsertLineBreakCommand::insertNodeBeforePosition):
   31791         (khtml::InsertLineBreakCommand::doApply):
   31792         (khtml::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Code moved. No changes.
   31793         (khtml::InsertNodeBeforeCommand::~InsertNodeBeforeCommand): Ditto.
   31794         (khtml::InsertNodeBeforeCommand::doApply): Ditto.
   31795         (khtml::InsertNodeBeforeCommand::doUnapply): Ditto.
   31796         (khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): New command.
   31797         (khtml::InsertParagraphSeparatorCommand::doApply):
   31798         (khtml::InsertParagraphSeparatorInQuotedContentCommand::InsertParagraphSeparatorInQuotedContentCommand):
   31799         Class name change, was InsertNewlineCommandInQuotedContentCommand.
   31800         (khtml::InsertParagraphSeparatorInQuotedContentCommand::~InsertParagraphSeparatorInQuotedContentCommand): Ditto.
   31801         (khtml::InsertParagraphSeparatorInQuotedContentCommand::isMailBlockquote): Ditto.
   31802         (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): Ditto.
   31803         (khtml::InsertTextCommand::InsertTextCommand): Class name change, was InputTextCommand.
   31804         (khtml::InsertTextCommand::doApply): Ditto.
   31805         (khtml::InsertTextCommand::deleteCharacter): Ditto.
   31806         (khtml::InsertTextCommand::prepareForTextInsertion): Ditto.
   31807         (khtml::InsertTextCommand::input): Ditto.
   31808         (khtml::InsertTextCommand::insertSpace): Ditto.
   31809         (khtml::InsertTextCommand::isInsertTextCommand): Ditto.
   31810         (khtml::TypingCommand::insertLineBreak): Name change, was insertNewline.
   31811         (khtml::TypingCommand::insertParagraphSeparatorInQuotedContent): Name change, was insertNewlineInQuotedContent.
   31812         (khtml::TypingCommand::insertParagraphSeparator): New function.
   31813         (khtml::TypingCommand::doApply): Name changes, as above.
   31814         (khtml::TypingCommand::insertText): Ditto.
   31815         (khtml::TypingCommand::deleteKeyPressed): Ditto.
   31816         (khtml::TypingCommand::preservesTypingStyle): Ditto.
   31817         * khtml/editing/htmlediting.h:
   31818         (khtml::DeleteFromTextNodeCommand::node): Name change.
   31819         (khtml::DeleteFromTextNodeCommand::offset): Ditto.
   31820         (khtml::DeleteFromTextNodeCommand::count): Ditto.
   31821         (khtml::InsertIntoTextNode::text): Ditto.
   31822         (khtml::InsertNodeBeforeCommand::insertChild): Ditto.
   31823         (khtml::InsertNodeBeforeCommand::refChild): Ditto.
   31824         (khtml::TypingCommand::): Ditto.
   31825         * khtml/editing/jsediting.cpp: Name changes, as above.
   31826         * kwq/WebCoreBridge.h:
   31827         * kwq/WebCoreBridge.mm:
   31828         (-[WebCoreBridge insertLineBreak]): Name change, was insertNewline.
   31829         (-[WebCoreBridge insertParagraphSeparator]): New function.
   31830         (-[WebCoreBridge insertParagraphSeparatorInQuotedContent]): Name change, was insertNewlineInQuotedContent.
   31831 
   31832 2004-11-01  Kevin Decker  <kdecker (a] apple.com>
   31833 
   31834         Reviewed by rjw.
   31835 
   31836 	fixed <rdar://problem/3681094> Crash in KJS::WindowFunc::tryCall with application/xhtml+xml Content-Type
   31837 	once and for all. 
   31838 
   31839         * khtml/ecma/kjs_window.cpp:
   31840         (WindowFunc::tryCall): Added a nil check in the case of an empty document lacking a baseURL().
   31841 
   31842 2004-11-01  Darin Adler  <darin (a] apple.com>
   31843 
   31844         Reviewed by Hyatt.
   31845 
   31846         - fixed <rdar://problem/3859381> REGRESSION (167-168): text in form fields should not use body's text color
   31847 
   31848         * khtml/css/html4.css: Use color: initial for textarea and related ones.
   31849 
   31850 2004-11-01  Ken Kocienda  <kocienda (a] apple.com>
   31851 
   31852         Reviewed by John
   31853 
   31854         Fix for this bug:
   31855         
   31856         <rdar://problem/3775920> REGRESSION (Mail): Centering doesn't work in HTML mail
   31857 
   31858         * khtml/css/css_computedstyle.cpp:
   31859         (DOM::CSSComputedStyleDeclarationImpl::copyInheritableProperties): Factor out the 
   31860         implementation here into new copyPropertiesInSet helper. This now calls the
   31861         generalized copyPropertiesInSet function with the arguments needed to make copying
   31862         inheritable work.
   31863         * khtml/css/css_computedstyle.h:
   31864         * khtml/css/css_valueimpl.cpp:
   31865         (CSSStyleDeclarationImpl::diff): Move this function here from css_computedstyle.cpp.
   31866         In order to do apply block properties, "regular" style declarations need to do style
   31867         diffs as well.
   31868         (CSSStyleDeclarationImpl::copyBlockProperties): New helper. Just like copyInheritableProperties
   31869         except that it uses a different set of properties that apply only to blocks.
   31870         (CSSStyleDeclarationImpl::copyPropertiesInSet): New helper that looks at a style declaration
   31871         and copies out those properties listed in a pre-defined set.
   31872         * khtml/css/css_valueimpl.h:
   31873         * khtml/editing/htmlediting.cpp:
   31874         (khtml::StyleChange::StyleChange): Modified to work with style changes that apply to a whole
   31875         block, factoring out some of the special case code that should now only run in the inline case.
   31876         (khtml::StyleChange::init): Factored out the code that now is in checkForLegacyHTMLStyleChange.
   31877         (khtml::StyleChange::checkForLegacyHTMLStyleChange): New helper for case where we want
   31878         special handling for "legacy" HTML styles like <B> and <I>.
   31879         (khtml::ApplyStyleCommand::doApply): Much refactoring in this class to divide up the work of
   31880         style changes into different kinds. CSS specifies certain properties only apply to certain
   31881         element types. This set of changes now recognizes two such separate cases: styles that apply
   31882         to blocks, and styles that apply to inlines.
   31883         (khtml::ApplyStyleCommand::applyBlockStyle): New function to handle apply styles to whole blocks.
   31884         (khtml::ApplyStyleCommand::applyInlineStyle): New function to handle apply styles to inlines.
   31885         (khtml::ApplyStyleCommand::isHTMLStyleNode): Is now passed a CSSStyleDeclarationImpl to work
   31886         with rather than working on the CSSStyleDeclarationImpl member variable of the class. This is
   31887         done so that the function can be passed a portion of the styles being applied so that block styles
   31888         and inline styles can be handled separately.
   31889         (khtml::ApplyStyleCommand::removeCSSStyle): Ditto.
   31890         (khtml::ApplyStyleCommand::removeBlockStyle): New function to handle removing styles from whole blocks.
   31891         (khtml::ApplyStyleCommand::removeInlineStyle): New function to removing styles from inlines.
   31892         (khtml::ApplyStyleCommand::addBlockStyleIfNeeded): New function to handle applying style to whole blocks.
   31893         (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): New function to handle applying style to inlines.
   31894         * khtml/editing/htmlediting.h:
   31895         (khtml::StyleChange::): Changed as described above.
   31896         (khtml::StyleChange::usesLegacyStyles):
   31897         (khtml::EditCommand::setEndingSelectionNeedsLayout): New function to that tells the ending selection
   31898         it needs to layout, even though it has not changed position in the DOM. For instance, this is needed 
   31899         when text align changes.
   31900         * khtml/khtml_part.cpp:
   31901         (KHTMLPart::setTypingStyle): Put in an early bail-out in the case where the current style matches
   31902         the passed-in argument.
   31903         (KHTMLPart::applyStyle): Modify this function so that block styles are applied when the selection
   31904         is a caret. Formerly, this just set typing style and made no visible changes to the document.
   31905 
   31906         New tests.
   31907 
   31908         * layout-tests/editing/editing.js: Added some glue to change text align.
   31909         * layout-tests/editing/style/block-style-001-expected.txt: Added.
   31910         * layout-tests/editing/style/block-style-001.html: Added.
   31911         * layout-tests/editing/style/block-style-002-expected.txt: Added.
   31912         * layout-tests/editing/style/block-style-002.html: Added.
   31913         * layout-tests/editing/style/block-style-003-expected.txt: Added.
   31914         * layout-tests/editing/style/block-style-003.html: Added.
   31915 
   31916 === Safari-169 ===
   31917 
   31918 2004-10-29  Darin Adler  <darin (a] apple.com>
   31919 
   31920         Reviewed by Kevin.
   31921 
   31922         - fixed <rdar://problem/3751619> Safari crash in khtml::CircularSearchBuffer::append(QChar const&)
   31923 
   31924         * khtml/editing/visible_text.cpp: (khtml::findPlainText): Fix exit condition to check for break
   31925         before advancing one character; before it did it backwards.
   31926 
   31927 2004-10-29  Chris Blumenberg  <cblu (a] apple.com>
   31928 
   31929 	Fixed: <rdar://problem/3853262> REGRESSION(166-168) gmail gets blank page when loading
   31930 
   31931         Reviewed by kocienda, adele.
   31932 
   31933         * khtml/rendering/render_frames.cpp:
   31934         (RenderPartObject::updateWidget): remove infinite frame recursion check for iframes
   31935 
   31936 2004-10-29  Darin Adler  <darin (a] apple.com>
   31937 
   31938         Reviewed by Chris.
   31939 
   31940         - fixed <rdar://problem/3857395> clicking on calendar in Apple Travel site crashes Safari in invalidateClick (getthere.net)
   31941 
   31942         * khtml/khtmlview.cpp:
   31943         (KHTMLView::viewportMousePressEvent): Use a SharedPtr<KHTMLView> to make sure the KHTMLView is not
   31944         deleted before this function finishes running.
   31945         (KHTMLView::viewportMouseDoubleClickEvent): Ditto.
   31946         (KHTMLView::viewportMouseReleaseEvent): Ditto.
   31947         (KHTMLView::dispatchMouseEvent): Removed ref/deref pairs that aren't needed since dispatchEvent
   31948         is guaranteed to do ref/deref as needed.
   31949 
   31950         * kwq/KWQObject.mm: (QObject::startTimer): Fixed a comment.
   31951 
   31952 2004-10-28  Chris Blumenberg  <cblu (a] apple.com>
   31953 
   31954 	Enabled XSLT on Panther. See intrigue mail for compiling instructions.
   31955 
   31956         Reviewed by darin.
   31957 
   31958         * WebCore.pbproj/project.pbxproj: link against xslt unconditionally, link against specific version of libxml on Panther
   31959         * WebCorePrefix.h: always use XSLT
   31960 
   31961 2004-10-28  Ken Kocienda  <kocienda (a] apple.com>
   31962 
   31963         Reviewed by Chris
   31964 
   31965         Fix for these bugs:
   31966         
   31967         <rdar://problem/3854848> Tiger Mail Crash in WebCore - khtml::CompositeEditCommand::insertNodeAfter
   31968         <rdar://problem/3803832> REGRESSION (Mail): incorrect behavior after Return + Delete in quoted text
   31969         
   31970         * khtml/editing/htmlediting.cpp:
   31971         (khtml::DeleteSelectionCommand::DeleteSelectionCommand): Added node pointer class members 
   31972         to initialization list, zeroing them out.
   31973         (khtml::DeleteSelectionCommand::canPerformSpecialCaseBRDelete): New special-case helper to
   31974         handle a delete of content in special cases where the only thing selected is a BR. This
   31975         code path is much simpler than the newly-named performGeneralDelete, and detects when no
   31976         content merging should be done between blocks. This aspect of the change fixes 3854848.
   31977         One of the special cases added fixes 3803832.
   31978         (khtml::DeleteSelectionCommand::performGeneralDelete): Renamed, from performDelete.
   31979         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Made this helper be a no-arg function, just
   31980         like the other helpers in this class.
   31981         (khtml::DeleteSelectionCommand::clearTransientState): Fix cut and paste error in deref code.
   31982         (khtml::DeleteSelectionCommand::doApply): Updated for changed helpers.
   31983         * khtml/editing/htmlediting.h: Added new helper and changed an old one.
   31984 
   31985 2004-10-28  Chris Blumenberg  <cblu (a] apple.com>
   31986 
   31987 	Fixed: <rdar://problem/3856913> Panther-only crash in QString code copying front page of store.apple.com
   31988 
   31989         Reviewed by darin.
   31990 
   31991         * kwq/KWQKHTMLPart.mm:
   31992         (KWQKHTMLPart::attributedString): check that the renderer is a list item before making list item calls on it
   31993 
   31994 2004-10-28  Ken Kocienda  <kocienda (a] apple.com>
   31995 
   31996         Reviewed by Harrison
   31997 
   31998         Reorganization of delete command functionality so that doApply is not
   31999         several hundred lines long. This is not a squeaky-clean cleanup, but
   32000         it is a step in the right direction. No functionality changes.
   32001 
   32002         * khtml/editing/htmlediting.cpp:
   32003         (khtml::DeleteSelectionCommand::DeleteSelectionCommand):
   32004         (khtml::DeleteSelectionCommand::initializePositionData): New helper.
   32005         (khtml::DeleteSelectionCommand::saveTypingStyleState): Ditto.
   32006         (khtml::DeleteSelectionCommand::performDelete): Ditto.
   32007         (khtml::DeleteSelectionCommand::fixupWhitespace): Ditto.
   32008         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Ditto.
   32009         (khtml::DeleteSelectionCommand::calculateEndingPosition): Ditto.
   32010         (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
   32011         (khtml::DeleteSelectionCommand::clearTransientState): Ditto.
   32012         (khtml::DeleteSelectionCommand::doApply): Factor out code into new helpers.
   32013         * khtml/editing/htmlediting.h:
   32014 
   32015 2004-10-28  Ken Kocienda  <kocienda (a] apple.com>
   32016 
   32017         Reviewed by me
   32018 
   32019         * khtml/editing/htmlediting.cpp:
   32020         (khtml::DeleteSelectionCommand::DeleteSelectionCommand): Typo in initializer caused
   32021         new mergeBlocksAfterDelete flag to be set improperly, causing layout regressions.
   32022 
   32023 2004-10-27  Ken Kocienda  <kocienda (a] apple.com>
   32024 
   32025         Reviewed by Chris
   32026 
   32027         * khtml/editing/htmlediting.cpp:
   32028         (khtml::CompositeEditCommand::deleteSelection): Added new mergeBlocksAfterDelete flag to control
   32029         whether content not in the block containing the start of the selection is moved to that block
   32030         after the selection is deleted.
   32031         (khtml::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
   32032         (khtml::DeleteSelectionCommand::doApply): Ditto.
   32033         (khtml::InputNewlineInQuotedContentCommand::InputNewlineInQuotedContentCommand): New command
   32034         to handle the case of inserting a newline when in quoted content in Mail.
   32035         (khtml::InputNewlineInQuotedContentCommand::~InputNewlineInQuotedContentCommand): Ditto.
   32036         (khtml::InputNewlineInQuotedContentCommand::isMailBlockquote): Ditto.
   32037         (khtml::InputNewlineInQuotedContentCommand::isLastVisiblePositionInBlockquote): Ditto.
   32038         (khtml::InputNewlineInQuotedContentCommand::doApply): Ditto.
   32039         (khtml::TypingCommand::insertNewlineInQuotedContent): Support for new newline command.
   32040         (khtml::TypingCommand::doApply): Ditto.
   32041         (khtml::TypingCommand::preservesTypingStyle): Ditto.
   32042         * khtml/editing/htmlediting.h: Add new delclarations.
   32043         (khtml::TypingCommand::): Ditto.
   32044         * kwq/WebCoreBridge.h: Added new bridge method called from WebKit.
   32045         * kwq/WebCoreBridge.mm:
   32046         (-[WebCoreBridge insertNewlineInQuotedContent]): Ditto.
   32047 
   32048 2004-10-26  Chris Blumenberg  <cblu (a] apple.com>
   32049 
   32050 	Fixed: <rdar://problem/3774243> page up/down, arrow up/down, etc in Safari RSS should scroll main content
   32051 
   32052         Reviewed by dave.
   32053 
   32054         * khtml/ecma/kjs_dom.cpp:
   32055         (DOMElementProtoFunc::tryCall): added scrollByLines and scrollByPages to HTML element for Safari RSS
   32056         * khtml/ecma/kjs_dom.h:
   32057         (KJS::DOMElement::):
   32058         * khtml/ecma/kjs_dom.lut.h:
   32059         (KJS::):
   32060 
   32061 2004-10-26  David Hyatt  <hyatt (a] apple.com>
   32062 
   32063 	Fix for 3848214, deleting a partial word left a repaint artifact if the partial word was pulled back onto
   32064 	the previous line.
   32065 	
   32066         Reviewed by kocienda
   32067 
   32068         * khtml/rendering/bidi.cpp:
   32069         (khtml::RenderBlock::layoutInlineChildren):
   32070 
   32071 2004-10-26  David Hyatt  <hyatt (a] apple.com>
   32072 
   32073 	Convert selectionRect() from using a list to a dict and patch it to be like setSelection.  It was still trying
   32074 	to use the old dirty bit optimization (which had been removed), and so it was pathologically slow on large documents.
   32075 	
   32076         Reviewed by kocienda
   32077 
   32078         * khtml/rendering/render_canvas.cpp:
   32079         (RenderCanvas::selectionRect):
   32080         * khtml/rendering/render_object.h:
   32081         (khtml::RenderObject::hasSelectedChildren):
   32082 
   32083 2004-10-26  Ken Kocienda  <kocienda (a] apple.com>
   32084 
   32085         Reviewed by Hyatt
   32086         
   32087         Fix for this bug::
   32088         
   32089         <rdar://problem/3851164> mail crashed when I pasted a large amount of text into a reply
   32090 
   32091         * khtml/editing/htmlediting.cpp:
   32092         (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): This now returns bool to
   32093         let the caller know if a placeholder was removed.
   32094         (khtml::ReplaceSelectionCommand::doApply): Use the bool return value from the call to
   32095         removeBlockPlaceholderIfNeeded. If true, shift the selection to the now-empty block. In
   32096         some cases, the selection was still set on the removed BR, and this was the cause of the
   32097         crash.
   32098         * khtml/editing/htmlediting.h: Change removeBlockPlaceholderIfNeeded return type.
   32099 
   32100 2004-10-26  Darin Adler  <darin (a] apple.com>
   32101 
   32102         Reviewed by Chris.
   32103 
   32104         - fixed <rdar://problem/3851301> leak of one NSCFDictionary for each XMLHttpRequest issued
   32105 
   32106         * kwq/KWQLoader.mm: (KWQServeSynchronousRequest): Add a release.
   32107 
   32108 2004-10-26  Ken Kocienda  <kocienda (a] apple.com>
   32109 
   32110         Reviewed by John
   32111 
   32112         * khtml/editing/htmlediting.cpp:
   32113         (khtml::CompositeEditCommand::deleteInsignificantText): Do not call replaceText
   32114         with a zero-length string. That triggers an assert. Call deleteText instead, 
   32115         using the same indices that are passed to replaceText.
   32116         
   32117         Cleaned up the asserts in these three functions below, making them
   32118         more consistent. This is not needed for the fix, but I tripped over
   32119         these in the course of debugging.
   32120         
   32121         (khtml::InsertTextCommand::InsertTextCommand):
   32122         (khtml::InsertTextCommand::doApply):
   32123         (khtml::InsertTextCommand::doUnapply):
   32124 
   32125 2004-10-25  Adele Amchan <adele (a] apple.com>
   32126 
   32127         Reviewed by Darin.
   32128 
   32129         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::inDesignMode): made inDesignMode const
   32130         * khtml/xml/dom_docimpl.h:
   32131 
   32132 2004-10-25  Adele Amchan  <adele (a] apple.com>
   32133 
   32134         Reviewed by me, code change by Darin.
   32135 
   32136         * khtml/xml/dom_docimpl.cpp: Moved design mode code outside the XSLT ifdef.
   32137 
   32138 2004-10-25  Ken Kocienda  <kocienda (a] apple.com>
   32139 
   32140         Oops. These two test results changed with my last checkin, for the better.
   32141 
   32142         * layout-tests/editing/deleting/delete-3800834-fix-expected.txt
   32143         * layout-tests/editing/inserting/insert-3775316-fix-expected.txt
   32144 
   32145 2004-10-25  Ken Kocienda  <kocienda (a] apple.com>
   32146 
   32147         Reviewed by Chris
   32148 
   32149         Fix for this bug:
   32150         
   32151         <rdar://problem/3820349> REGRESSION (Mail): select all, delete does not always delete everything
   32152 
   32153         * khtml/editing/htmlediting.cpp:
   32154         (khtml::DeleteSelectionCommand::startPositionForDelete): New helper that determines when to
   32155         expand the selection outwards when the selection is on the visible boundary of a root
   32156         editable element. This fixes the bug. Note that this function also contains a little code
   32157         I factored out of doApply: it also takes care of adjusting the selection in the smart delete case.
   32158         (khtml::DeleteSelectionCommand::endPositionForDelete): Ditto.
   32159         (khtml::DeleteSelectionCommand::doApply): Call new helpers. Refactored out the code as described.
   32160         * khtml/editing/htmlediting.h: Declare new helpers.
   32161         * layout-tests/editing/deleting/delete-select-all-001-expected.txt: Added.
   32162         * layout-tests/editing/deleting/delete-select-all-001.html: Added.
   32163         * layout-tests/editing/deleting/delete-select-all-002-expected.txt: Added.
   32164         * layout-tests/editing/deleting/delete-select-all-002.html: Added.
   32165         * layout-tests/editing/deleting/delete-select-all-003-expected.txt: Added.
   32166         * layout-tests/editing/deleting/delete-select-all-003.html: Added.
   32167 
   32168 2004-10-25  Ken Kocienda  <kocienda (a] apple.com>
   32169 
   32170         Added some more editing layout tests.
   32171 
   32172         * layout-tests/editing/deleting/delete-ws-fixup-001-expected.txt: Added.
   32173         * layout-tests/editing/deleting/delete-ws-fixup-001.html: Added.
   32174         * layout-tests/editing/deleting/delete-ws-fixup-002-expected.txt: Added.
   32175         * layout-tests/editing/deleting/delete-ws-fixup-002.html: Added.
   32176         * layout-tests/editing/deleting/delete-ws-fixup-003-expected.txt: Added.
   32177         * layout-tests/editing/deleting/delete-ws-fixup-003.html: Added.
   32178         * layout-tests/editing/deleting/delete-ws-fixup-004-expected.txt: Added.
   32179         * layout-tests/editing/deleting/delete-ws-fixup-004.html: Added.
   32180         * layout-tests/editing/inserting/typing-003-expected.txt: Added.
   32181         * layout-tests/editing/inserting/typing-003.html: Added.
   32182 
   32183 2004-10-25  Ken Kocienda  <kocienda (a] apple.com>
   32184 
   32185         Reviewed by John
   32186 
   32187         * khtml/rendering/bidi.cpp:
   32188         (khtml::RenderBlock::findNextLineBreak): I did not get my fix for 3848343 and 3848224
   32189         yesterday quite right: words that should have been placed on the next line were instead
   32190         appearing on the line before, beyond the right margin. This was a one-word only error
   32191         based on moving the line break object when it should have stayed put. Here is the rule:
   32192         The line break object only moves to after the whitespace on the end of a line if that 
   32193         whitespace caused line overflow when its width is added in.
   32194 
   32195 2004-10-25  Adele Amchan  <adele (a] apple.com>
   32196 
   32197         Reviewed by Darin.
   32198  
   32199         Fix for <rdar://problem/3619890> Feature request: designMode        
   32200 
   32201         This change implements the designMode property of a document.  This is an IE property that is also supported by Mozilla.  
   32202         This will enable more JS editing compatibility.
   32203 
   32204         * khtml/ecma/kjs_html.cpp:
   32205         (KJS::HTMLDocument::tryGet): added case for designMode
   32206         (KJS::HTMLDocument::putValue): added case for designMode
   32207         * khtml/ecma/kjs_html.lut.h: (KJS::): regenerated
   32208         * khtml/khtml_part.cpp: (KHTMLPart::isContentEditable): Now returns designMode value
   32209         * khtml/xml/dom_docimpl.cpp:
   32210         (DocumentImpl::DocumentImpl): initialize m_designMode member variable
   32211         (DocumentImpl::setDesignMode): added function to assign m_designMode value
   32212         (DocumentImpl::getDesignMode): return m_designMode value
   32213         (DocumentImpl::inDesignMode): if designMode is inherited, this will find the appropriate parent document designMode and return that value. 
   32214             Otherwise, it will just return the m_designMode value.
   32215         (DocumentImpl::parentDocument):
   32216         * khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::): added InheritedBool enum, prototypes, and m_designMode member variable.
   32217         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::isContentEditable): added check for isContentEditable function in KHTMLPart
   32218 
   32219 2004-10-22  Ken Kocienda  <kocienda (a] apple.com>
   32220 
   32221         Reviewed by Hyatt
   32222 
   32223         Fix for this bug:
   32224         
   32225         <rdar://problem/3844662> REGRESSION (Mail): Style changes can affect adjacent, unselected text
   32226 
   32227         * khtml/editing/htmlediting.cpp:
   32228         (khtml::ApplyStyleCommand::doApply): Move end position downstream to be sure we remove style from
   32229         everything that could be affected.
   32230         (khtml::ApplyStyleCommand::removeCSSStyle): Comma in intended function call was outside the
   32231         braces, making it act as a comma operator, with a zero value as the right value!!! This made
   32232         an important check always fail!!! It turns out that we do not want the constant at all, since
   32233         that constant is only needed when checking a computed style, not an inline style as is being
   32234         done here.
   32235         (khtml::ApplyStyleCommand::removeStyle): Call nodeFullySelected with new interface.
   32236         (khtml::ApplyStyleCommand::nodeFullySelected): Change interface and implementation to rely on
   32237         RangeImpl::compareBoundaryPoints to perform the required check.
   32238         * khtml/editing/htmlediting.h: Changed nodeFullySelected function interface.
   32239 
   32240 2004-10-22  Ken Kocienda  <kocienda (a] apple.com>
   32241 
   32242         Reviewed by Hyatt
   32243         
   32244         Fix for this bugs:
   32245         
   32246         <rdar://problem/3848343> REGRESSION (Mail, 166-168u): Typed text after space at end of line before block quote does not appear
   32247         <rdar://problem/3848224> REGRESSION (Mail): space typed at end of line vanishes after typing next character
   32248     
   32249         * khtml/rendering/bidi.cpp:
   32250         (khtml::RenderBlock::findNextLineBreak): When the khtmlLineBreak is in AFTER_WHITE_SPACE mode, as
   32251         it is when we are editing, add in the space of the current character when calculating the width
   32252         of committed plus uncommitted characters. If this value exceeds the width of the line, move up
   32253         the line break object and call skipWhitespace to move past the end of the whitespace.
   32254 
   32255 === Safari-168 ===
   32256 
   32257 2004-10-22  Ken Kocienda  <kocienda (a] apple.com>
   32258 
   32259         * WebCore.pbproj/project.pbxproj:
   32260          Add GCC_ENABLE_OBJC_GC and GCC_FAST_OBJC_DISPATCH flags.
   32261 
   32262 2004-10-21  David Hyatt  <hyatt (a] apple.com>
   32263 
   32264         Reviewed by darin
   32265 	
   32266 	Clean up the inline run function so that it doesn't return incorrect answers when making children non-inline.
   32267 	
   32268 	<rdar://problem/3848724> REGRESSION (166-168u): RenderText::layout called, firing assertion that kills Mail
   32269 	<rdar://problem/3848357> RenderText::layout called, firing assertion that kills Safari (www.apple.com/downloads/macosx)
   32270 	
   32271         * khtml/rendering/render_block.cpp:
   32272         (khtml::getInlineRun):
   32273         (khtml::RenderBlock::makeChildrenNonInline):
   32274 
   32275 2004-10-21  David Hyatt  <hyatt (a] apple.com>
   32276 
   32277 	Fix for 3810389, crash because of continuation() craziness.  Revert back to the old behavior of
   32278 	making sure that all line boxes get deleted and recreated when inlines are split because of a block.
   32279 	
   32280         Reviewed darin
   32281 
   32282         * khtml/rendering/render_inline.cpp:
   32283         (RenderInline::splitFlow):
   32284 
   32285 2004-10-21  Ken Kocienda  <kocienda (a] apple.com>
   32286 
   32287         Reviewed by Darin
   32288         
   32289         Significant improvement to the way that whitespace is handled during editing.
   32290 
   32291         * khtml/editing/htmlediting.cpp:
   32292         (khtml::CompositeEditCommand::deleteInsignificantText): New functions (there are actually
   32293         two being added with this name) that delete "insignificant" unrendered text.
   32294         (khtml::CompositeEditCommand::deleteInsignificantTextDownstream): Takes a position,
   32295         calculates the downstream position to use as the endpoint for the deletion, and
   32296         then calls deleteInsignificantText with this start and end.
   32297         (khtml::DeleteSelectionCommand::doApply): Call new deleteInsignificantTextDownstream function.
   32298         (khtml::InputNewlineCommand::doApply): Ditto.
   32299         (khtml::InputTextCommand::input): Ditto.
   32300         * khtml/editing/htmlediting.h: Add new declarations.
   32301         
   32302         Modified layout test results:
   32303         * layout-tests/editing/deleting/delete-block-merge-contents-016-expected.txt:
   32304         * layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt:
   32305         * layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt:
   32306         * layout-tests/editing/deleting/delete-selection-001-expected.txt:
   32307         * layout-tests/editing/deleting/delete-tab-001-expected.txt:
   32308         * layout-tests/editing/deleting/delete-tab-004-expected.txt:
   32309         * layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt:
   32310         * layout-tests/editing/inserting/insert-3659587-fix-expected.txt:
   32311         * layout-tests/editing/inserting/insert-3775316-fix-expected.txt:
   32312         * layout-tests/editing/inserting/insert-3778059-fix-expected.txt:
   32313         * layout-tests/editing/inserting/insert-br-001-expected.txt:
   32314         * layout-tests/editing/inserting/insert-br-004-expected.txt:
   32315         * layout-tests/editing/inserting/insert-br-005-expected.txt:
   32316         * layout-tests/editing/inserting/insert-br-006-expected.txt:
   32317         * layout-tests/editing/inserting/insert-tab-001-expected.txt:
   32318         * layout-tests/editing/inserting/insert-tab-002-expected.txt:
   32319         * layout-tests/editing/inserting/insert-tab-004-expected.txt:
   32320         * layout-tests/editing/inserting/insert-text-with-newlines-expected.txt:
   32321         * layout-tests/editing/inserting/typing-001-expected.txt:
   32322         * layout-tests/editing/inserting/typing-around-br-001-expected.txt:
   32323         * layout-tests/editing/inserting/typing-around-image-001-expected.txt:
   32324         * layout-tests/editing/style/typing-style-003-expected.txt:
   32325         * layout-tests/editing/undo/redo-typing-001-expected.txt:
   32326         * layout-tests/editing/undo/undo-typing-001-expected.txt:
   32327 
   32328 2004-10-21  David Hyatt  <hyatt (a] apple.com>
   32329 
   32330 	Fix for 3847054, assertion failure in RenderText::layout() on news.com page.  Fix getInlineRun so that
   32331 	it no longer breaks early (thus causing some children not to get properly wrapped by anonymous blocks).
   32332 	
   32333         Reviewed by darin
   32334 
   32335         * khtml/rendering/render_block.cpp:
   32336         (khtml::getInlineRun):
   32337 
   32338 2004-10-20  David Hyatt  <hyatt (a] apple.com>
   32339 
   32340 	Add better dumping of overflow information for scrolling regions.
   32341 
   32342 	Fix for 3726524, crash in updateLayerPosition.  Make sure anonymous elements properly remove themselves
   32343 	from the render tree so that layers and so forth are cleaned up.
   32344 	
   32345         Reviewed by darin
   32346 
   32347         * khtml/rendering/render_container.cpp:
   32348         (RenderContainer::detach):
   32349         * khtml/rendering/render_layer.h:
   32350         (khtml::RenderLayer::scrollXOffset):
   32351         (khtml::RenderLayer::scrollYOffset):
   32352         * kwq/KWQRenderTreeDebug.cpp:
   32353         (write):
   32354 
   32355 2004-10-20  David Hyatt  <hyatt (a] apple.com>
   32356 
   32357 	Fix for 3791146, make sure all lines are checked when computing overflow.
   32358 	
   32359         Reviewed by kocienda
   32360 
   32361         * khtml/rendering/bidi.cpp:
   32362         (khtml::RenderBlock::computeHorizontalPositionsForLine):
   32363         (khtml::RenderBlock::layoutInlineChildren):
   32364         (khtml::RenderBlock::findNextLineBreak):
   32365         (khtml::RenderBlock::checkLinesForOverflow):
   32366         * khtml/rendering/render_block.h:
   32367 
   32368 2004-10-20  David Hyatt  <hyatt (a] apple.com>
   32369 
   32370 	Fix for 3790936, make the unicode-breaking on the layout tests match Panther.
   32371 	
   32372         Reviewed by kocienda
   32373 
   32374         * khtml/rendering/break_lines.cpp:
   32375         (khtml::isBreakable):
   32376 
   32377 2004-10-20  Darin Adler  <darin (a] apple.com>
   32378 
   32379         Reviewed by John.
   32380 
   32381         - fixed <rdar://problem/3317107> text input fields and text areas don't respect background color and text color CSS properties
   32382 
   32383         * khtml/rendering/render_form.cpp: (RenderFormElement::updateFromElement):
   32384         Create a palette with the background and foreground colors in it and set it on the widget.
   32385 
   32386         * khtml/rendering/render_style.h: (khtml::StyleVisualData::operator==): No palette to compare
   32387         with APPLE_CHANGES. Removed palette and palette-related function members.
   32388         * khtml/rendering/render_style.cpp:
   32389         (StyleVisualData::StyleVisualData): No palette to initialize with APPLE_CHANGES.
   32390         (RenderStyle::diff): No palette to compare.
   32391 
   32392         * kwq/KWQLineEdit.h: Added setPalette override. Made text function const.
   32393         * kwq/KWQLineEdit.mm:
   32394         (QLineEdit::setPalette): Added. Sets foreground and background color based on palette.
   32395         (QLineEdit::text): Made const.
   32396 
   32397         * kwq/KWQTextEdit.h: Added setPalette override.
   32398         * kwq/KWQTextEdit.mm: (QTextEdit::setPalette): Added. Sets foreground and background color
   32399         based on palette.
   32400 
   32401         * kwq/KWQPalette.h: Removed most things, leaving only background and foreground colors
   32402         per color group, and only a single color group per palette.
   32403         * kwq/KWQColorGroup.mm: Removed.
   32404         * kwq/KWQPalette.mm: Removed.
   32405         * WebCore.pbproj/project.pbxproj: Removed KWQColorGroup.mm and KWQPalette.mm.
   32406 
   32407         * kwq/KWQApplication.h: Removed unused palette function.
   32408         * kwq/KWQApplication.mm: Ditto.
   32409 
   32410         * kwq/KWQWidget.h: Removed unsetPalette.
   32411         * kwq/KWQWidget.mm: Ditto.
   32412 
   32413         - fixed storage leak
   32414 
   32415         * khtml/html/html_formimpl.cpp: (DOM::HTMLGenericFormElementImpl::~HTMLGenericFormElementImpl):
   32416         Roll in storage leak fix from KDE guys.
   32417 
   32418 2004-10-19  David Hyatt  <hyatt (a] apple.com>
   32419 
   32420         Reviewed by kocienda
   32421 
   32422 	More cleanup of block layout.  Eliminates the separate step for tables that dont fit on a line with a float
   32423 	and consolidates it with clearing.
   32424 
   32425 	Also patch dom_textimpl.cpp to reduce further the # of RenderTexts created.
   32426 	
   32427         * khtml/rendering/render_block.cpp:
   32428         (khtml::getInlineRun):
   32429         (khtml::RenderBlock::layoutBlock):
   32430         (khtml::RenderBlock::adjustFloatingBlock):
   32431         (khtml::RenderBlock::collapseMargins):
   32432         (khtml::RenderBlock::clearFloatsIfNeeded):
   32433         (khtml::RenderBlock::estimateVerticalPosition):
   32434         (khtml::RenderBlock::layoutBlockChildren):
   32435         (khtml::RenderBlock::markAllDescendantsWithFloatsForLayout):
   32436         (khtml::RenderBlock::getClearDelta):
   32437         (khtml::RenderBlock::calcBlockMinMaxWidth):
   32438         * khtml/rendering/render_block.h:
   32439         * khtml/rendering/render_frames.cpp:
   32440         (RenderFrameSet::layout):
   32441         * khtml/xml/dom_textimpl.cpp:
   32442         (TextImpl::rendererIsNeeded):
   32443 
   32444         Fix for 3841060, regression with * in frames.  Reviewed by kocienda.
   32445 	
   32446 	* layout-tests/fast/frames/002-expected.txt: Added.
   32447         * layout-tests/fast/frames/002.html: Added.
   32448 
   32449  2004-10-19  Darin Adler  <darin (a] apple.com>
   32450 
   32451         Reviewed by Maciej.
   32452 
   32453         - follow-on to my fix yesterday, which broke a layout test because I rolled out a fix that Maciej had done
   32454 
   32455         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): Need to check the actual queue of external
   32456         scripts being loaded here. If the current code being run is the external script itself, then we don't want
   32457         to defer parsing. But loadingExtScript has to stay true until after the script runs. The old code would
   32458         assume that any time we're running a script there's no need to look at loadingExtScript, but that was also
   32459         wrong since there can be a script loading in that case too. Layout tests check for both problems.
   32460 
   32461         * layout-tests/fast/tokenizer/external-script-document-write-expected.txt: Added.
   32462         * layout-tests/fast/tokenizer/external-script-document-write.html: Added.
   32463         * layout-tests/fast/tokenizer/resources/external-script-document-write.js: Added.
   32464 
   32465         * layout-tests/fast/tokenizer/004.html: Fixed line endings (were CR, should be LF).
   32466 
   32467 2004-10-18  Darin Adler  <darin (a] apple.com>
   32468 
   32469         Reviewed by Dave Hyatt.
   32470 
   32471         - fixed <rdar://problem/3807234> REGRESSION (152-153): can't get element by ID that was just written with document.write in separate JS file (lacoccinelle.net)
   32472 
   32473         * khtml/html/htmltokenizer.cpp:
   32474         (khtml::HTMLTokenizer::scriptHandler): Use !isEmpty instead of count != 0, since it's cheaper.
   32475         (khtml::HTMLTokenizer::write): Roll back to the old version of the check here. The fix is that
   32476         we only want to look at loadingExtScript if m_executingScript is 0.
   32477 
   32478 2004-10-18  Ken Kocienda  <kocienda (a] apple.com>
   32479 
   32480         Reviewed by Hyatt
   32481 
   32482         Fix for this bug:
   32483         
   32484         <rdar://problem/3840907> textedit doesn't render italic or bold text in html documents
   32485 
   32486         * khtml/css/css_valueimpl.cpp:
   32487         (CSSPrimitiveValueImpl::getStringValue): This function did not return string values for idents.
   32488         Also changed the return value to be DOMString, rather than DOMStringImpl, to deal with the 
   32489         lifecycle issues associated with creating a string to be returned in the ident case.
   32490         * khtml/css/css_valueimpl.h: Change getStringValue to return DOMString rather than DOMStringImpl.
   32491         * khtml/css/cssstyleselector.cpp:
   32492         (khtml::CSSStyleSelector::applyProperty): Two calls of getStringValue needed updating.
   32493 
   32494 2004-10-18  Chris Blumenberg  <cblu (a] apple.com>
   32495 
   32496 	Fixed: <rdar://problem/3770135> hang loading page with EMBED tag pointing to same page (tridentantennas.co.uk)
   32497 
   32498         Reviewed by kocienda.
   32499 
   32500         * khtml/rendering/render_frames.cpp:
   32501         (RenderPartObject::updateWidget): use completeURL before comparing the URL of the plug-in with the base URL of the document when avoiding frame recursion
   32502 
   32503 2004-10-15  Chris Blumenberg  <cblu (a] apple.com>
   32504 
   32505 	Fixed: <rdar://problem/3841774> would like to get NSColor from DOM-CSS
   32506 
   32507         Reviewed by john.
   32508 
   32509         * kwq/DOM-CSS.mm:
   32510         (-[DOMRGBColor _color]): new, returns getNSColor on KWQColor
   32511         * kwq/DOMPrivate.h:
   32512 
   32513 2004-10-15  Ken Kocienda  <kocienda (a] apple.com>
   32514 
   32515         Reviewed by Hyatt
   32516 
   32517         * khtml/rendering/bidi.cpp:
   32518         (khtml::RenderBlock::skipNonBreakingSpace): Also need to forego the
   32519         skipping after a clean line break, in addition to the cases already 
   32520         checked for.
   32521         * layout-tests/editing/inserting/insert-br-007-expected.txt: Added.
   32522         * layout-tests/editing/inserting/insert-br-007.html: Added.
   32523         * layout-tests/editing/inserting/insert-br-008-expected.txt: Added.
   32524         * layout-tests/editing/inserting/insert-br-008.html: Added.
   32525 
   32526 === Safari-167 ===
   32527 
   32528 2004-10-14  Ken Kocienda  <kocienda (a] apple.com>
   32529 
   32530         Reviewed by John
   32531 
   32532         Fix for this bug:
   32533         
   32534         <rdar://problem/3839989> REGRESSION (Mail): Left arrow does nothing after inserting attachment
   32535 
   32536         * khtml/editing/visible_position.cpp:
   32537         (khtml::VisiblePosition::deepEquivalent): Remove code that attempted to bridge old-style
   32538         position code to new-style VisiblePosition code. In retrospect, this code was misguided.
   32539         Since we do a good job of insulating external code from the internal workings of 
   32540         VisiblePosition, the "hop ahead" being done here was not doing anyone any real good, and
   32541         in the case of this bug, was doing harm. Simply removing this code makes the bug
   32542         go away and does not cause any editing layout test regresssions.
   32543 
   32544 2004-10-14  Ken Kocienda  <kocienda (a] apple.com>
   32545 
   32546         Reviewed by Hyatt
   32547 
   32548         * khtml/rendering/bidi.cpp:
   32549         (khtml::skipNonBreakingSpace): New helper.
   32550         (khtml::RenderBlock::skipWhitespace): Do not skip non-breaking spaces that are
   32551         at the start of a block. This was preventing users from typing spaces in empty
   32552         documents.
   32553         * layout-tests/editing/inserting/insert-space-in-empty-doc-expected.txt: Added.
   32554         * layout-tests/editing/inserting/insert-space-in-empty-doc.html: Added.
   32555 
   32556 2004-10-14  Adele Amchan  <adele (a] apple.com>
   32557 
   32558         Reviewed by Darin and Ken.
   32559 
   32560 	fix for <rdar://problem/3821070> null de-ref in DelectSelectionCommand::doApply()
   32561 
   32562         This change shifts some code around so that the code that determines what typing style
   32563         is in effect is called before deleteUnrenderedText is called.  Two asserts are also added
   32564         to ensure that start and end nodes of the selection are in the document.
   32565 
   32566         * khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::doApply):
   32567 
   32568 2004-10-14  Adele Amchan  <adele (a] apple.com>
   32569 
   32570         Reviewed by Ken
   32571 	
   32572 	This change makes these three functions virtual so that the work is being done in KWQHTMLPart 
   32573         instead of khtml_part, eliminating the need for the "#if APPLE_CHANGES" statements in the khtml code.
   32574 
   32575         * khtml/khtml_part.cpp:
   32576         (KHTMLPart::shouldBeginEditing):
   32577         (KHTMLPart::shouldEndEditing):
   32578         (KHTMLPart::isContentEditable):
   32579         * khtml/khtml_part.h:
   32580         * kwq/KWQKHTMLPart.h:
   32581 
   32582 2004-10-14  Ken Kocienda  <kocienda (a] apple.com>
   32583 
   32584         Reviewed by John
   32585 
   32586         Final fix for these bugs:
   32587         
   32588         <rdar://problem/3806306> HTML editing puts spaces at start of line
   32589         <rdar://problem/3814252> HTML editing groups space with word causing wrapping
   32590 
   32591         This change sets some new CSS properties that have been added to WebCore to 
   32592         enable whitespace-handling and line-breaking features that make WebView work
   32593         more like a text editor.
   32594 
   32595         * khtml/css/cssstyleselector.cpp:
   32596         (khtml::CSSStyleSelector::applyProperty): Add and remove special editing CSS properties 
   32597         based on property value.
   32598         * khtml/html/html_elementimpl.cpp:
   32599         (HTMLElementImpl::setContentEditable): Add and remove special editing CSS properties 
   32600         based on attribute value.
   32601         * khtml/khtml_part.cpp:
   32602         (KHTMLPart::applyEditingStyleToBodyElement): New helper. Calls applyEditingStyleToElement on
   32603         body element.
   32604         (KHTMLPart::removeEditingStyleFromBodyElement): New helper. Calls removeEditingStyleFromElement on
   32605         body element.
   32606         (KHTMLPart::applyEditingStyleToElement): Adds special editing CSS properties to passed in element.
   32607         (KHTMLPart::removeEditingStyleFromElement): Removes special editing CSS properties from passed in element.
   32608         * khtml/khtml_part.h: Add new declarations.
   32609         * kwq/WebCoreBridge.h: Ditto.
   32610         * kwq/WebCoreBridge.mm:
   32611         (-[WebCoreBridge applyEditingStyleToBodyElement]): Call through to similarly-named function on KHTMLPart.
   32612         (-[WebCoreBridge removeEditingStyleFromBodyElement]): Ditto.
   32613         (-[WebCoreBridge applyEditingStyleToElement:]): Ditto.
   32614         (-[WebCoreBridge removeEditingStyleFromElement:]): Ditto.
   32615 
   32616 2004-10-14  John Sullivan  <sullivan (a] apple.com>
   32617 
   32618         Reviewed by Ken.
   32619         
   32620         - fixed <rdar://problem/3840052> Crash in removeBlockPlaceholderIfNeeded attaching file to empty document
   32621 
   32622         * khtml/editing/htmlediting.cpp:
   32623         (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded):
   32624         needed a nil check to handle empty document case
   32625 
   32626 2004-10-13  Maciej Stachowiak  <mjs (a] apple.com>
   32627 
   32628         Reviewed by Ken.
   32629 
   32630 	<rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown
   32631         
   32632 	- I fixed this by turning off all colormatching for WebKit
   32633 	content. We might turn it back on later. For now, it's possible to
   32634 	turn it on temporarily by defining COLORMATCH_EVERYTHING.
   32635 	
   32636 	* WebCorePrefix.h:
   32637         * khtml/ecma/kjs_html.cpp:
   32638         (KJS::Context2DFunction::tryCall):
   32639         (Context2D::colorRefFromValue):
   32640         (Gradient::getShading):
   32641         * khtml/rendering/render_canvasimage.cpp:
   32642         (RenderCanvasImage::createDrawingContext):
   32643         * kwq/KWQColor.mm:
   32644         (QColor::getNSColor):
   32645         * kwq/KWQPainter.h:
   32646         * kwq/KWQPainter.mm:
   32647         (CGColorFromNSColor):
   32648         (QPainter::selectedTextBackgroundColor):
   32649         (QPainter::rgbColorSpace):
   32650         (QPainter::grayColorSpace):
   32651         (QPainter::cmykColorSpace):
   32652         * kwq/WebCoreGraphicsBridge.h:
   32653         * kwq/WebCoreGraphicsBridge.m:
   32654         (-[WebCoreGraphicsBridge createRGBColorSpace]):
   32655         (-[WebCoreGraphicsBridge createGrayColorSpace]):
   32656         (-[WebCoreGraphicsBridge createCMYKColorSpace]):
   32657 
   32658 2004-10-13  Ken Kocienda  <kocienda (a] apple.com>
   32659 
   32660         Reviewed by Hyatt
   32661 
   32662         * khtml/css/css_valueimpl.cpp:
   32663         (CSSStyleDeclarationImpl::merge): A little cleanup. Also, make sure m_lstValues
   32664         is non-null before appending.
   32665 
   32666 2004-10-13  Ken Kocienda  <kocienda (a] apple.com>
   32667 
   32668         Update expected results for improved behavior as a result of fix to 3816768.
   32669     
   32670         * layout-tests/editing/deleting/delete-3775172-fix-expected.txt
   32671         * layout-tests/editing/deleting/delete-3800834-fix-expected.txt
   32672         * layout-tests/editing/deleting/delete-block-merge-contents-002-expected.txt
   32673 
   32674 2004-10-13  Ken Kocienda  <kocienda (a] apple.com>
   32675 
   32676         Reviewed by Richard
   32677 
   32678         * khtml/css/css_computedstyle.cpp:
   32679         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support to computed style
   32680         for getting -khtml-line-break and -khml-nbsp-mode.
   32681 
   32682 2004-10-13  Ken Kocienda  <kocienda (a] apple.com>
   32683 
   32684         Reviewed by John
   32685 
   32686         Fix for this bug:
   32687         
   32688         <rdar://problem/3816768> REGRESSION (Mail): Deleting last character in block incorrectly 
   32689         moves caret out of block.
   32690 
   32691         The issue here is that an empty block with no explicit height set by style collapses
   32692         to zero height, and does so immediately after the last bit of content is removed from
   32693         it (as a result of deleting text with the delete key for instance). Since zero-height
   32694         blocks are not eligible caret positions, the caret jumped to the closest eligible spot.
   32695         
   32696         The fix is to detect when a block has not been removed itself, but has had all its 
   32697         contents removed. In this case, a BR element is placed in the block, one that is
   32698         specially marked as a placeholder. Later, if the block ever receives content, this
   32699         placeholder is removed.
   32700 
   32701         * khtml/editing/htmlediting.cpp:
   32702         (khtml::blockPlaceholerClassString): String which acts as a placeholder marker class.
   32703         (khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Adds a placeholder BR if needed.
   32704         (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Removes a placeholder BR if needed.
   32705         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Call removeBlockPlaceholderIfNeeded.
   32706         Also, do some cleanup on some old, crufty code in the move logic that is just so clearly wrong 
   32707         (it's very clear that we needs to be able to move more than just text nodes). This may expose
   32708         bugs, but these bugs needs to be filed and fixed, not ducked. Besides, undoing this silliness
   32709         made the test case in the bug work.
   32710         (khtml::DeleteSelectionCommand::doApply): Call insertBlockPlaceholderIfNeeded and
   32711         removeBlockPlaceholderIfNeeded.
   32712         (khtml::InputTextCommand::input): Call removeBlockPlaceholderIfNeeded.
   32713         (khtml::ReplaceSelectionCommand::doApply): Call removeBlockPlaceholderIfNeeded.
   32714         * khtml/editing/htmlediting.h: Declare new functions.
   32715 
   32716 2004-10-13  Richard Williamson   <rjw (a] apple.com>
   32717 
   32718         Added support for -apple-dashboard-region:none.  And fixed
   32719 	a few computed style problems.
   32720 
   32721         Fixed <rdar://problem/3833532> -apple-dashboard-region: none; is needed
   32722         Reviewed by Hyatt.
   32723 
   32724         * khtml/css/css_computedstyle.cpp:
   32725         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   32726         * khtml/css/css_valueimpl.cpp:
   32727         (CSSPrimitiveValueImpl::cssText):
   32728         * khtml/css/cssparser.cpp:
   32729         (CSSParser::parseValue):
   32730         (CSSParser::parseDashboardRegions):
   32731         * khtml/css/cssstyleselector.cpp:
   32732         (khtml::CSSStyleSelector::applyProperty):
   32733         * khtml/rendering/render_style.cpp:
   32734         (RenderStyle::noneDashboardRegions):
   32735         * khtml/rendering/render_style.h:
   32736         * kwq/KWQKHTMLPart.mm:
   32737         (KWQKHTMLPart::dashboardRegionsDictionary):
   32738 
   32739 2004-10-13  David Hyatt  <hyatt (a] apple.com>
   32740 
   32741 	Rework block layout to clean it up and simplify it (r=kocienda).  
   32742 
   32743 	Also fixing the style sharing bug (r=mjs).
   32744 	
   32745         * khtml/rendering/render_block.cpp:
   32746         (khtml::RenderBlock::MarginInfo::MarginInfo):
   32747         (khtml::RenderBlock::layoutBlock):
   32748         (khtml::RenderBlock::adjustPositionedBlock):
   32749         (khtml::RenderBlock::adjustFloatingBlock):
   32750         (khtml::RenderBlock::handleSpecialChild):
   32751         (khtml::RenderBlock::handleFloatingOrPositionedChild):
   32752         (khtml::RenderBlock::handleCompactChild):
   32753         (khtml::RenderBlock::insertCompactIfNeeded):
   32754         (khtml::RenderBlock::handleRunInChild):
   32755         (khtml::RenderBlock::collapseMargins):
   32756         (khtml::RenderBlock::clearFloatsIfNeeded):
   32757         (khtml::RenderBlock::estimateVerticalPosition):
   32758         (khtml::RenderBlock::determineHorizontalPosition):
   32759         (khtml::RenderBlock::setCollapsedBottomMargin):
   32760         (khtml::RenderBlock::adjustChildIfOverhangingFloatsExist):
   32761         (khtml::RenderBlock::handleBottomOfBlock):
   32762         (khtml::RenderBlock::layoutBlockChildren):
   32763         (khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats):
   32764         (khtml::RenderBlock::addOverHangingFloats):
   32765         * khtml/rendering/render_block.h:
   32766         (khtml::RenderBlock::maxTopMargin):
   32767         (khtml::RenderBlock::maxBottomMargin):
   32768         (khtml::RenderBlock::CompactInfo::compact):
   32769         (khtml::RenderBlock::CompactInfo::block):
   32770         (khtml::RenderBlock::CompactInfo::matches):
   32771         (khtml::RenderBlock::CompactInfo::clear):
   32772         (khtml::RenderBlock::CompactInfo::set):
   32773         (khtml::RenderBlock::CompactInfo::CompactInfo):
   32774         (khtml::RenderBlock::MarginInfo::setAtTopOfBlock):
   32775         (khtml::RenderBlock::MarginInfo::setAtBottomOfBlock):
   32776         (khtml::RenderBlock::MarginInfo::clearMargin):
   32777         (khtml::RenderBlock::MarginInfo::setSelfCollapsingBlockClearedFloat):
   32778         (khtml::RenderBlock::MarginInfo::setTopQuirk):
   32779         (khtml::RenderBlock::MarginInfo::setBottomQuirk):
   32780         (khtml::RenderBlock::MarginInfo::setDeterminedTopQuirk):
   32781         (khtml::RenderBlock::MarginInfo::setPosMargin):
   32782         (khtml::RenderBlock::MarginInfo::setNegMargin):
   32783         (khtml::RenderBlock::MarginInfo::setPosMarginIfLarger):
   32784         (khtml::RenderBlock::MarginInfo::setNegMarginIfLarger):
   32785         (khtml::RenderBlock::MarginInfo::setMargin):
   32786         (khtml::RenderBlock::MarginInfo::atTopOfBlock):
   32787         (khtml::RenderBlock::MarginInfo::canCollapseWithTop):
   32788         (khtml::RenderBlock::MarginInfo::canCollapseWithBottom):
   32789         (khtml::RenderBlock::MarginInfo::canCollapseTopWithChildren):
   32790         (khtml::RenderBlock::MarginInfo::canCollapseBottomWithChildren):
   32791         (khtml::RenderBlock::MarginInfo::selfCollapsingBlockClearedFloat):
   32792         (khtml::RenderBlock::MarginInfo::quirkContainer):
   32793         (khtml::RenderBlock::MarginInfo::determinedTopQuirk):
   32794         (khtml::RenderBlock::MarginInfo::topQuirk):
   32795         (khtml::RenderBlock::MarginInfo::bottomQuirk):
   32796         (khtml::RenderBlock::MarginInfo::posMargin):
   32797         (khtml::RenderBlock::MarginInfo::negMargin):
   32798         (khtml::RenderBlock::MarginInfo::margin):
   32799         * khtml/rendering/render_box.cpp:
   32800         (RenderBox::calcAbsoluteVertical):
   32801         * khtml/rendering/render_box.h:
   32802         (khtml::RenderBox::marginTop):
   32803         (khtml::RenderBox::marginBottom):
   32804         (khtml::RenderBox::marginLeft):
   32805         (khtml::RenderBox::marginRight):
   32806         * khtml/rendering/render_image.cpp:
   32807         (RenderImage::setImage):
   32808         * khtml/rendering/render_object.cpp:
   32809         (RenderObject::sizesToMaxWidth):
   32810         * khtml/rendering/render_object.h:
   32811         (khtml::RenderObject::collapsedMarginTop):
   32812         (khtml::RenderObject::collapsedMarginBottom):
   32813         (khtml::RenderObject::maxTopMargin):
   32814         (khtml::RenderObject::maxBottomMargin):
   32815         (khtml::RenderObject::marginTop):
   32816         (khtml::RenderObject::marginBottom):
   32817         (khtml::RenderObject::marginLeft):
   32818         (khtml::RenderObject::marginRight):
   32819         * khtml/rendering/render_text.h:
   32820         (khtml::RenderText::marginLeft):
   32821         (khtml::RenderText::marginRight):
   32822         * khtml/xml/dom_elementimpl.cpp:
   32823         (ElementImpl::recalcStyle):
   32824 
   32825 2004-10-12  Ken Kocienda  <kocienda (a] apple.com>
   32826 
   32827         Reviewed by John
   32828 
   32829         Fix for this bug:
   32830         
   32831         <rdar://problem/3836158> REGRESSION (Mail): command-right-arrow moves to beginning of next line
   32832 
   32833         * khtml/editing/selection.cpp:
   32834         (khtml::endOfLastRunAt): Do not let the end of the last run on a line be a BR.
   32835         This will make it seem like the run ends on the next line.
   32836 
   32837 2004-10-12  Ken Kocienda  <kocienda (a] apple.com>
   32838 
   32839         Reviewed by Hyatt
   32840 
   32841         Fix for this bug:
   32842         
   32843         <rdar://problem/3836986> Delete code removes elements of table structure; can result in very broken-looking web pages
   32844 
   32845         * khtml/editing/htmlediting.cpp:
   32846         (khtml::isTableStructureNode): New helper. Determines whether a node is a table cell,
   32847         row, section, or column.
   32848         (khtml::CompositeEditCommand::removeFullySelectedNode): New helper that recurses into elements
   32849         of table structure when doing deletes, rather than deleting the structure elements themselves.
   32850         (khtml::DeleteSelectionCommand::moveNodesAfterNode): Do not move content between elements
   32851         of table structure. We may want to revisit this some day, but this seems like the best behavior
   32852         to me now.
   32853         (khtml::DeleteSelectionCommand::doApply): Call removeFullySelectedNode instead of removeNode
   32854         where needed.
   32855         * khtml/editing/htmlediting.h: Add declarations for new functions.
   32856 
   32857 2004-10-12  Richard Williamson   <rjw (a] apple.com>
   32858 
   32859         Fixed access to DOM object via WebScriptObject API.
   32860         The execution context for DOM objects wasn't being found.	
   32861         <rdar://problem/3831372> The valueForKey method for @"offsetLeft" on a paragraph element causes a crash.
   32862         Reviewed by Chris
   32863 
   32864         Fixed <rdar://problem/3831063> regions use left offset instead of top offset
   32865 	Reviewed by John
   32866 
   32867         * khtml/khtml_part.h:
   32868         * khtml/rendering/render_object.cpp:
   32869         (RenderObject::addDashboardRegions):
   32870         * kwq/DOM.mm:
   32871         (-[DOMNode isContentEditable]):
   32872         (-[DOMNode KJS::Bindings::]):
   32873         * kwq/KWQKHTMLPart.h:
   32874         * kwq/KWQKHTMLPart.mm:
   32875         (KWQKHTMLPart::executionContextForDOM):
   32876 
   32877 2004-10-12  Ken Kocienda  <kocienda (a] apple.com>
   32878 
   32879         Reviewed by Hyatt
   32880 
   32881         Fix for this bug:
   32882 
   32883         <rdar://problem/3834779> Mail crashes when editing HTML message - khtml::Selection::layout()
   32884     
   32885         * kwq/KWQKHTMLPart.mm:
   32886         (KWQKHTMLPart::styleForSelectionStart): Table code seems to be more robust when the call to
   32887         insert our style-checking node is done with an appendChild rather than an insertBefore. Note 
   32888         that this table-related problem was exposed by fixing Selection::layout(), which I did
   32889         yesterday. This change simply improves things even more so that we do not crash in the
   32890         scenario described in the bug.
   32891 
   32892 2004-10-11  Ken Kocienda  <kocienda (a] apple.com>
   32893 
   32894         Reviewed by John
   32895 
   32896         This is a partial fix to this bug:
   32897         
   32898         <rdar://problem/3832886> increase quote level on new mail document leads to immediate 
   32899         crash in caret painting code
   32900         
   32901         To eliminate the bad behavior for good, I have done some investigations in Mail code,
   32902         and I have sent a suggested code change on to Grant. Basically, Mail can't add empty
   32903         blocks (like blockquote elements used for quoting) to documents without giving those 
   32904         blocks some content (so they have a height).
   32905 
   32906         I added some other crash protections below.
   32907 
   32908         * khtml/editing/selection.cpp:
   32909         (khtml::Selection::layout): Check for non-null position after calls to VisiblePosition, since
   32910         the VisiblePosition constructors may fail to find a visible spot in the document. Also, add
   32911         a couple position-has-renderer assertion checks.
   32912         * kwq/KWQKHTMLPart.mm:
   32913         (KWQKHTMLPart::styleForSelectionStart): Take out pos.isNotNull() assertion since VisiblePosition
   32914         may not yield a position. This assertion is a holdover from before we had VisiblePosition.
   32915         (KWQKHTMLPart::fontForSelection): Rearrange the code a little to deal with possible null results from
   32916         calls to helpers.
   32917 
   32918 2004-10-11  Darin Adler  <darin (a] apple.com>
   32919 
   32920         Reviewed by John.
   32921 
   32922         - fixed <rdar://problem/3834230> empty table can result in division by 0
   32923 
   32924         * khtml/rendering/render_table.cpp: (RenderTableSection::layoutRows):
   32925         Added 0 check; rolled in from KDE.
   32926 
   32927 2004-10-11  Darin Adler  <darin (a] apple.com>
   32928 
   32929         Reviewed by John.
   32930 
   32931         - fixed <rdar://problem/3818712> form checkbox value property is read only
   32932 
   32933         The underlying problem was that we were storing two separate values for all
   32934         form elements; one for the value property (JavaScript) and the other for the
   32935         value attribute (DOM). This is a good idea for text input, but not for other types.
   32936 
   32937         * khtml/html/html_formimpl.h: Changed setValue to take a const DOMString reference.
   32938         Added private storesValueSeparateFromAttribute function.
   32939         * khtml/html/html_formimpl.cpp:
   32940         (DOM::HTMLInputElementImpl::setType): Handle type changes, including detaching and re-attaching
   32941         if type changed, and moving value from m_value to ATTR_VALUE and vice versa.
   32942         (DOM::HTMLInputElementImpl::type): Added a case for ISINDEX and moved the default out of the
   32943         switch so that we will get a warning if a type is left out.
   32944         (DOM::HTMLInputElementImpl::parseHTMLAttribute): Tweaked comment format.
   32945         (DOM::HTMLInputElementImpl::reset): Changed to only nuke the value if the value property is stored
   32946         separately from the attribute. Otherwise, we just want to lave it alone
   32947         (DOM::HTMLInputElementImpl::value): Changed to always use m_value if it's not null, then fall back
   32948         on the attribute, and finally fall back to the "on" for the checkbox only if both are null.
   32949         (DOM::HTMLInputElementImpl::setValue): Changed to set the attribute unless the value property is
   32950         supposed to be stored separate from the attribute.
   32951         (DOM::HTMLInputElementImpl::storesValueSeparateFromAttribute): Added. Returns true for text-type
   32952         input elements, and false for the others.
   32953 
   32954 2004-10-11  Darin Adler  <darin (a] apple.com>
   32955 
   32956         Reviewed by John.
   32957 
   32958         - fixed <rdar://problem/3296652> checkbox input type does not respond to onchange
   32959 
   32960         * khtml/rendering/render_form.cpp:
   32961         (RenderFormElement::updateFromElement): Some new code, commented out, for form element colors.
   32962         (RenderCheckBox::slotStateChanged): Added call to onChange.
   32963 
   32964 2004-10-11  Ken Kocienda  <kocienda (a] apple.com>
   32965 
   32966         Reviewed by Darin
   32967 
   32968         Finish selection affinity implementation. This includes code to set the
   32969         affinity correctly when clicking with the mouse, and clearing the
   32970         affinity when altering the selection using any of the Selection object
   32971         mutation functions.
   32972 
   32973         Each instance of the positionForCoordinates, inlineBox and caretRect 
   32974         functions have been changed to include an EAffinity argument to give results
   32975         which take this bit into account.
   32976 
   32977         * khtml/editing/selection.cpp:
   32978         (khtml::Selection::init): Default affinity is now UPSTREAM, to match AppKit.
   32979         (khtml::Selection::modifyAffinity): New function to compute affinity based on
   32980         modification constants.
   32981         (khtml::Selection::moveTo): Reset affinity to UPSTREAM.
   32982         (khtml::Selection::modifyExtendingRightForward): Ditto.
   32983         (khtml::Selection::modifyMovingRightForward): Ditto.
   32984         (khtml::Selection::modifyExtendingLeftBackward): Ditto.
   32985         (khtml::Selection::modifyMovingLeftBackward): Ditto.
   32986         (khtml::Selection::modify): Support saving, restoring, and then calculating new
   32987         affinity value as needed. 
   32988         (khtml::Selection::xPosForVerticalArrowNavigation):
   32989         (khtml::Selection::clear): Reset affinity to UPSTREAM.
   32990         (khtml::Selection::setBase): Ditto.
   32991         (khtml::Selection::setExtent): Ditto.
   32992         (khtml::Selection::setBaseAndExtent): Ditto.
   32993         (khtml::Selection::layout): Pass affinity to caretRect().
   32994         (khtml::Selection::validate): Pass along affinity parameter to new functions that
   32995         require it.
   32996         (khtml::startOfFirstRunAt): Changed the way that the y-coordinate search is done, to
   32997         keep this code working with changes made in selectionForLine().
   32998         (khtml::endOfLastRunAt): Ditto.
   32999         (khtml::selectionForLine): Make this function work for all renderers, not just text
   33000         renderers.
   33001         * khtml/editing/selection.h:
   33002         (khtml::operator==): Consider affinity in equality check.
   33003         * khtml/editing/visible_units.cpp:
   33004         (khtml::previousLinePosition): Pass affinity argument to function so it can take this 
   33005         information into account while processing.
   33006         (khtml::nextLinePosition): Ditto.
   33007         (khtml::previousParagraphPosition): Ditto.
   33008         (khtml::nextParagraphPosition): Ditto.
   33009         * khtml/editing/visible_units.h: Ditto, for each of the functions listed.
   33010         * khtml/khtml_events.cpp:
   33011         (khtml::MouseEvent::offset): Rework code to remove dependence on NodeImpl::positionForCoordinates,
   33012         as this function is being removed.
   33013         * khtml/khtml_part.cpp:
   33014         (KHTMLPart::isPointInsideSelection): Ditto.
   33015         (KHTMLPart::selectClosestWordFromMouseEvent): Ditto.
   33016         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   33017         (KHTMLPart::handleMousePressEventSingleClick): Ditto. Plus, pass affinity argument in
   33018         call to positionForCoordinates, and set resulting affinity on the selection.
   33019         (KHTMLPart::handleMouseMoveEventSelection): Rework code to remove dependence on 
   33020         NodeImpl::positionForCoordinates, as this function is being removed.
   33021         (KHTMLPart::khtmlMouseReleaseEvent): Ditto.
   33022         * khtml/rendering/render_block.cpp:
   33023         (khtml::RenderBlock::positionForCoordinates): Now takes an affinity argument.
   33024         * khtml/rendering/render_block.h:
   33025         * khtml/rendering/render_box.cpp:
   33026         (RenderBox::caretRect): Ditto.
   33027         * khtml/rendering/render_box.h:
   33028         * khtml/rendering/render_br.cpp:
   33029         (RenderBR::positionForCoordinates): Ditto.
   33030         (RenderBR::caretRect): Ditto.
   33031         (RenderBR::inlineBox): Ditto.
   33032         * khtml/rendering/render_br.h:
   33033         * khtml/rendering/render_container.cpp:
   33034         (RenderContainer::positionForCoordinates): Ditto.
   33035         * khtml/rendering/render_container.h:
   33036         * khtml/rendering/render_flow.cpp:
   33037         (RenderFlow::caretRect): Ditto.
   33038         * khtml/rendering/render_flow.h:
   33039         * khtml/rendering/render_inline.cpp:
   33040         (RenderInline::positionForCoordinates): Ditto.
   33041         * khtml/rendering/render_inline.h:
   33042         * khtml/rendering/render_object.cpp:
   33043         (RenderObject::caretRect): Ditto.
   33044         (RenderObject::positionForCoordinates): Ditto.
   33045         (RenderObject::inlineBox): Ditto.
   33046         * khtml/rendering/render_object.h:
   33047         * khtml/rendering/render_replaced.cpp:
   33048         (RenderReplaced::positionForCoordinates): Ditto.
   33049         * khtml/rendering/render_replaced.h:
   33050         * khtml/rendering/render_text.cpp:
   33051         (RenderText::positionForCoordinates): Ditto.
   33052         (firstRendererOnNextLine): New helper used by caretRect().
   33053         (RenderText::caretRect): Now takes an affinity argument.
   33054         (RenderText::inlineBox): Ditto.
   33055         * khtml/rendering/render_text.h:
   33056         * khtml/xml/dom_nodeimpl.cpp: Remove positionForCoordinates helper.
   33057         * khtml/xml/dom_nodeimpl.h: Ditto.
   33058         * khtml/xml/dom_position.cpp:
   33059         (DOM::Position::previousLinePosition): Now takes an affinity argument.
   33060         (DOM::Position::nextLinePosition): Ditto.
   33061         * khtml/xml/dom_position.h:
   33062         * kwq/WebCoreBridge.h:
   33063         * kwq/WebCoreBridge.mm:
   33064         (-[WebCoreBridge caretRectAtNode:offset:affinity:]): Ditto.
   33065         (-[WebCoreBridge setSelectedDOMRange:affinity:]): Ditto.
   33066         (-[WebCoreBridge _positionForPoint:]): Rework code to remove dependence on 
   33067         NodeImpl::positionForCoordinates, as this function is being removed.
   33068 
   33069 2004-10-11  Darin Adler  <darin (a] apple.com>
   33070 
   33071         Reviewed by Ken.
   33072 
   33073         - fixed <rdar://problem/3670280> scroll position on overflowed textareas resets when leaving the tab
   33074 
   33075         * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]):
   33076         Scroll to reveal the text area, don't scroll to reveal the text view itself.
   33077         Scrolling the text view ended up putting it at the top left, regardless of
   33078         where the insertion point is.
   33079 
   33080 2004-10-11  Darin Adler  <darin (a] apple.com>
   33081 
   33082         Reviewed by Ken.
   33083 
   33084         - fixed <rdar://problem/3831546> More text is copied than is visually selected
   33085 
   33086         The bug here is that upstream was moving a position too far.
   33087 
   33088         * khtml/xml/dom_position.cpp:
   33089         (DOM::Position::upstream): Use the "deep equivalent" node rather than the original node passed
   33090         in for various checks. Also use local variables a bit more for slightly more efficiency.
   33091         (DOM::Position::downstream): Ditto.
   33092 
   33093 2004-10-11  Darin Adler  <darin (a] apple.com>
   33094 
   33095         Reviewed by Ken.
   33096 
   33097         - fixed <rdar://problem/3833841> adding an event listener for keypress events does not work
   33098 
   33099         * khtml/xml/dom2_eventsimpl.h: Added numEventIds and made typeToId take a const DOMString &.
   33100         * khtml/xml/dom2_eventsimpl.cpp:
   33101         (EventImpl::typeToId): Changed to use table. Added "keypress", otherwise, the same as before.
   33102         (EventImpl::idToType): Changed to use table.
   33103 
   33104 2004-10-10  John Sullivan  <sullivan (a] apple.com>
   33105 
   33106         - fixed <rdar://problem/3664375> repro crash in -[KWQAccObject accessibilityAttributeNames]
   33107 
   33108         (-[KWQAccObject accessibilityActionNames]):
   33109         check for nil m_renderer
   33110 
   33111 2004-10-09  Darin Adler  <darin (a] apple.com>
   33112 
   33113         Reviewed by Kevin.
   33114 
   33115         - fixed <rdar://problem/3828147> REGRESSION: textareas with wrap="off" show their contents in a thin vertical line of text
   33116 
   33117         * kwq/KWQTextArea.h: Added setTextColor and setBackgroundColor methods. This is really for another fix
   33118         I'm landing later, but it does no harm to add these now.
   33119         * kwq/KWQTextArea.mm:
   33120         (-[KWQTextArea _configureTextViewForWordWrapMode]): Set the container size after changing the flag that
   33121         determines if the width tracks the text view. Otherwise, we won't successfully set the width in the case
   33122         where we don't want it to track the text view. This caused the bug. 
   33123         (-[KWQTextArea _createTextView]): Remove unneeded call to setMaxSize. The above method already does that.
   33124         (-[KWQTextArea setTextColor:]): Added.
   33125         (-[KWQTextArea setBackgroundColor:]): Added.
   33126 
   33127 2004-10-09  Darin Adler  <darin (a] apple.com>
   33128 
   33129         Reviewed by Adele.
   33130 
   33131         - fixed <rdar://problem/3829452> REGRESSION (156-157): onload handler doesn't run on page with meta refresh of 0 duration (new Apple start page)
   33132 
   33133         The fix for <rdar://problem/3773150> made it so <meta> redirects prevent tokenizing the rest of the page.
   33134         This is incorrect; the reason the JavaScript-triggered loads prevent tokenizing is that they take place
   33135         "right away" in other browsers, but that is not true of <meta> redirect. We fixed this by using a separate
   33136         call for <meta> redirect and not preventing tokenizing when that's in effect.
   33137 
   33138         * khtml/khtml_part.h: Removed userGesture parameter from scheduleRedirection. Renamed
   33139         isImmediateRedirectPending to isScheduledLocationChangePending. Added scheduleLocationChange.
   33140         * khtml/khtml_part.cpp:
   33141         (KHTMLPart::openURL): Updated for new constant name.
   33142         (KHTMLPart::scheduleRedirection): Removed now-unneeded userGesture parameter, and removed code that
   33143         does the special case for redirection during load; a <meta> refresh can never be one of those special
   33144         redirects during a load because it redirects the frame itself, not another frame. Also tightened up
   33145         the logic by always stopping the redirect timer even if we aren't restarting it.
   33146         (KHTMLPart::scheduleLocationChange): Added. Like scheduleRedirection, but with a different constant
   33147         so we can tell it apart and always a delay of 0. The "redirection during load" case was moved in here
   33148         and renamed to locationChangeScheduledDuringLoad.
   33149         (KHTMLPart::isScheduledLocationChangePending): Renamed from isImmediateRedirectPending. This now
   33150         returns true only for location changes and history navigation, not <meta> redirects.
   33151         (KHTMLPart::scheduleHistoryNavigation): Tightened up logic to do the stop() outside the if as above,
   33152         and got rid of a silly timer delay computation that always resulted in 0.
   33153 
   33154         * khtml/khtmlpart_p.h: Added a new value to the RedirectionScheduled enum for scheduleLocationChange
   33155         and also renamed one of the existing values.
   33156 
   33157         * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::write): Changed to use isScheduledLocationChangePending instead
   33158         of isImmediateRedirectPending, because we do want to continue tokenizing if it's actually a redirect.
   33159 
   33160         * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Changed to call the new scheduleLocationChange
   33161         instead of calling scheduleRedirection with delay of 0.
   33162         * khtml/ecma/kjs_window.cpp:
   33163         (Window::put): Ditto.
   33164         (WindowFunc::tryCall): Ditto.
   33165         (Location::put): Ditto.
   33166         (LocationFunc::tryCall): Ditto.
   33167 
   33168 2004-10-09  Darin Adler  <darin (a] apple.com>
   33169 
   33170         Reviewed by Kevin.
   33171 
   33172         - fixed <rdar://problem/3658277> REGRESSION (1.1-1.2): form submission should either not simulate a click at all or use (0,0) the way Mozilla does
   33173 
   33174         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::click): Use 0,0 for the coordinates.
   33175 
   33176 2004-10-09  Darin Adler  <darin (a] apple.com>
   33177 
   33178         Reviewed by Kevin.
   33179 
   33180         - fixed <rdar://problem/3804665> REGRESSION: WebCore framework now has many init routines
   33181 
   33182         * khtml/xml/dom_nodeimpl.h: Changed anyQName declaration to not use the inline function
   33183         makeId. Surprisingly, the inline function was not "constant-folded" and we ended up with
   33184         a copy of the function in each file as an init routine for the framework.
   33185 
   33186         * khtml/ecma/kjs_html.cpp: (Gradient::colorStops): Get rid of initialized ColorStop
   33187         globals; their constructors were showing up as init routines for the framework.
   33188 
   33189         * khtml/rendering/render_style.h: Got rid of inline initialDashboardRegions function.
   33190         * khtml/rendering/render_style.cpp: (RenderStyle::initialDashboardRegions): Made this
   33191         a normal function. When it was an inline function, the constructors for the per-file
   33192         copies of the globals were showing up as init routines for the framework.
   33193 
   33194 2004-10-09  Chris Blumenberg  <cblu (a] apple.com>
   33195 
   33196 	Fixed: 
   33197 	<rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas
   33198 	<rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS)
   33199 	<rdar://problem/3822027> REGRESSION (Mail): When selection moves out of visible area, should center as NSText does
   33200 
   33201         Reviewed by hyatt, kocienda.
   33202 
   33203         * khtml/rendering/render_layer.cpp:
   33204         (RenderLayer::scroll): new
   33205         * khtml/rendering/render_layer.h:
   33206         * khtml/rendering/render_object.cpp:
   33207         (RenderObject::scroll): new
   33208         * khtml/rendering/render_object.h:
   33209         * kwq/KWQKHTMLPart.h:
   33210         * kwq/KWQKHTMLPart.mm:
   33211         (KWQKHTMLPart::scrollOverflow): new
   33212         (KWQKHTMLPart::scrollOverflowWithScrollWheelEvent): new
   33213         (KWQKHTMLPart::khtmlMousePressEvent): store pressed node so we know where the focus is
   33214         * kwq/KWQScrollBar.h:
   33215         * kwq/KWQScrollBar.mm:
   33216         (QScrollBar::setValue): return a bool
   33217         (QScrollBar::scrollbarHit): ditto
   33218         (QScrollBar::scroll): new
   33219         * kwq/WebCoreBridge.h:
   33220         * kwq/WebCoreBridge.mm:
   33221         (-[WebCoreBridge scrollOverflowInDirection:granularity:]): new
   33222         (-[WebCoreBridge scrollOverflowWithScrollWheelEvent:]): new
   33223         (-[WebCoreBridge ensureSelectionVisible]): visually center the extent of the selection
   33224 
   33225 2004-10-06  David Hyatt  <hyatt (a] apple.com>
   33226 
   33227 	Back out style sharing perf fix.
   33228 	
   33229         * khtml/css/cssstyleselector.cpp:
   33230         (khtml::CSSStyleSelector::locateCousinList):
   33231         (khtml::CSSStyleSelector::canShareStyleWithElement):
   33232         (khtml::CSSStyleSelector::locateSharedStyle):
   33233         * khtml/css/cssstyleselector.h:
   33234         * khtml/html/html_elementimpl.h:
   33235         (DOM::HTMLElementImpl::inlineStyleDecl):
   33236         * khtml/xml/dom_elementimpl.cpp:
   33237         (ElementImpl::recalcStyle):
   33238         * khtml/xml/dom_elementimpl.h:
   33239 
   33240 === Safari-166 ===
   33241 
   33242 2004-10-05  David Hyatt  <hyatt (a] apple.com>
   33243 
   33244 	Fix a bug in the iteration of locateCousinList and clean up the style sharing stats code.
   33245 
   33246         * khtml/css/cssstyleselector.cpp:
   33247         (khtml::CSSStyleSelector::locateCousinList):
   33248         (khtml::CSSStyleSelector::elementsCanShareStyle):
   33249         (khtml::CSSStyleSelector::locateSharedStyle):
   33250         (khtml::CSSStyleSelector::styleForElement):
   33251 
   33252 2004-10-05  Ken Kocienda  <kocienda (a] apple.com>
   33253 
   33254         Reviewed by Hyatt
   33255 
   33256         * khtml/rendering/bidi.cpp:
   33257         (khtml::RenderBlock::computeHorizontalPositionsForLine): Fix coding mistake that
   33258         broke layout tests involving compacts.
   33259 
   33260 2004-10-05  Ken Kocienda  <kocienda (a] apple.com>
   33261 
   33262         Reviewed by Darin
   33263 
   33264         Finish selection affinity implementation. This includes code to set the
   33265         affinity correctly when clicking with the mouse, and clearing the
   33266         affinity when altering the selection using any of the Selection object
   33267         mutation functions.
   33268 
   33269         Each instance of the positionForCoordinates function in the render tree
   33270         has been changed to include an EAffinity argument. It is now the job of this
   33271         function to set the selection affinity.
   33272 
   33273         * khtml/editing/selection.cpp:
   33274         (khtml::Selection::moveTo): Set affinity to DOWNSTREAM.
   33275         (khtml::Selection::modify): Ditto.
   33276         (khtml::Selection::clear): Ditto.
   33277         (khtml::Selection::setBase): Ditto.
   33278         (khtml::Selection::setExtent): Ditto.
   33279         (khtml::Selection::setBaseAndExtent): Ditto.
   33280         * khtml/editing/selection.h:
   33281         (khtml::operator==): Consider affinity in equality check.
   33282         * khtml/khtml_events.cpp:
   33283         (khtml::MouseEvent::offset): Rework code to remove dependence on NodeImpl::positionForCoordinates,
   33284         as this function is being removed.
   33285         * khtml/khtml_part.cpp: 
   33286         (KHTMLPart::isPointInsideSelection): Ditto.
   33287         (KHTMLPart::selectClosestWordFromMouseEvent): Ditto.
   33288         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   33289         (KHTMLPart::handleMousePressEventSingleClick): Ditto. Plus, pass affinity argument in
   33290         call to positionForCoordinates, and set resulting affinity on the selection.
   33291         (KHTMLPart::handleMouseMoveEventSelection): Rework code to remove dependence on 
   33292         NodeImpl::positionForCoordinates, as this function is being removed.
   33293         (KHTMLPart::khtmlMouseReleaseEvent):
   33294         * khtml/rendering/render_block.cpp:
   33295         (khtml::RenderBlock::positionForCoordinates): Changed, as described above.
   33296         * khtml/rendering/render_block.h:
   33297         * khtml/rendering/render_br.cpp:
   33298         (RenderBR::positionForCoordinates): Ditto.
   33299         * khtml/rendering/render_br.h:
   33300         * khtml/rendering/render_container.cpp:
   33301         (RenderContainer::positionForCoordinates): Ditto.
   33302         * khtml/rendering/render_container.h:
   33303         * khtml/rendering/render_inline.cpp:
   33304         (RenderInline::positionForCoordinates): Ditto.
   33305         * khtml/rendering/render_inline.h:
   33306         * khtml/rendering/render_object.cpp:
   33307         (RenderObject::positionForCoordinates): Ditto.
   33308         * khtml/rendering/render_object.h:
   33309         * khtml/rendering/render_replaced.cpp:
   33310         (RenderReplaced::positionForCoordinates): Ditto.
   33311         * khtml/rendering/render_replaced.h:
   33312         * khtml/rendering/render_text.cpp:
   33313         (RenderText::positionForCoordinates): Ditto.
   33314         * khtml/rendering/render_text.h:
   33315         * khtml/xml/dom_nodeimpl.cpp: Removed positionForCoordinates convenience.
   33316         * khtml/xml/dom_nodeimpl.h: Ditto.
   33317         * kwq/WebCoreBridge.mm:
   33318         (-[WebCoreBridge _positionForPoint:]): Rework code to remove dependence on 
   33319         NodeImpl::positionForCoordinates, as this function is being removed.
   33320 
   33321 2004-10-05  David Hyatt  <hyatt (a] apple.com>
   33322 
   33323 	Fix style sharing optimization to be fast again.  Go back to using pointer comparisons when looking for
   33324 	cousins to share.
   33325 	
   33326         Reviewed by darin
   33327 
   33328         * khtml/css/cssstyleselector.cpp:
   33329         (khtml::CSSStyleSelector::locateCousinList):
   33330         * khtml/rendering/render_object.cpp:
   33331         (RenderObject::setStyleInternal):
   33332         * khtml/rendering/render_object.h:
   33333         * khtml/xml/dom_elementimpl.cpp:
   33334         (ElementImpl::recalcStyle):
   33335 
   33336 2004-10-05  David Hyatt  <hyatt (a] apple.com>
   33337 
   33338 	Fix lists so that they properly participate in line layout as though they are text (when text bullets are
   33339 	used) and as images (when image bullets are used).
   33340 	
   33341         Reviewed by kocienda
   33342 
   33343         * khtml/rendering/render_list.cpp:
   33344         (RenderListMarker::createInlineBox):
   33345         * khtml/rendering/render_list.h:
   33346         (khtml::ListMarkerBox:::InlineBox):
   33347         (khtml::ListMarkerBox::isText):
   33348 
   33349 2004-10-05  Ken Kocienda  <kocienda (a] apple.com>
   33350 
   33351         Reviewed by Darin
   33352 
   33353         Recent checkin adding upstreamDeepEquivalent had it backwards. The helper
   33354         we want is downstreamDeepEquivalent, as the deepEquivalent function returns
   33355         an upstream position.
   33356 
   33357         * khtml/editing/selection.cpp:
   33358         (khtml::Selection::layout): DOWNSTREAM case now uses downstreamDeepEquivalent.
   33359         UPSTREAM uses deepEquivalent.
   33360         * khtml/editing/visible_position.cpp:
   33361         (khtml::VisiblePosition::downstreamDeepEquivalent): New helper, replacing 
   33362         upstreamDeepEquivalent.
   33363         * khtml/editing/visible_position.h
   33364 
   33365 2004-10-05  David Hyatt  <hyatt (a] apple.com>
   33366 
   33367 	New selection gap-filling architecture.  Makes the gap-filling much more like NSTextView and puts the responsibility
   33368 	for gap-filling in the block.  Fixes numerous bugs with selection drawing including bidi issues, incorrect old
   33369 	horizontal gap filling, and selection performance issues.
   33370 	
   33371         Reviewed by kocienda
   33372 
   33373         * khtml/html/html_imageimpl.cpp:
   33374         (HTMLImageLoader::notifyFinished):
   33375         * khtml/misc/khtmllayout.h:
   33376         (khtml::GapRects::left):
   33377         (khtml::GapRects::center):
   33378         (khtml::GapRects::right):
   33379         (khtml::GapRects::uniteLeft):
   33380         (khtml::GapRects::uniteCenter):
   33381         (khtml::GapRects::uniteRight):
   33382         (khtml::GapRects::unite):
   33383         (khtml::GapRects::operator QRect):
   33384         (khtml::GapRects::operator==):
   33385         (khtml::GapRects::operator!=):
   33386         * khtml/rendering/font.cpp:
   33387         (Font::drawHighlightForText):
   33388         * khtml/rendering/font.h:
   33389         * khtml/rendering/render_block.cpp:
   33390         (khtml:::RenderFlow):
   33391         (khtml::RenderBlock::removeChild):
   33392         (khtml::RenderBlock::paintObject):
   33393         (khtml::RenderBlock::paintEllipsisBoxes):
   33394         (khtml::RenderBlock::setSelectionState):
   33395         (khtml::RenderBlock::shouldPaintSelectionGaps):
   33396         (khtml::RenderBlock::isSelectionRoot):
   33397         (khtml::RenderBlock::selectionGapRects):
   33398         (khtml::RenderBlock::paintSelection):
   33399         (khtml::RenderBlock::fillSelectionGaps):
   33400         (khtml::RenderBlock::fillInlineSelectionGaps):
   33401         (khtml::RenderBlock::fillBlockSelectionGaps):
   33402         (khtml::RenderBlock::fillHorizontalSelectionGap):
   33403         (khtml::RenderBlock::fillVerticalSelectionGap):
   33404         (khtml::RenderBlock::fillLeftSelectionGap):
   33405         (khtml::RenderBlock::fillRightSelectionGap):
   33406         (khtml::RenderBlock::getHorizontalSelectionGapInfo):
   33407         (khtml::RenderBlock::leftSelectionOffset):
   33408         (khtml::RenderBlock::rightSelectionOffset):
   33409         * khtml/rendering/render_block.h:
   33410         (khtml::RenderBlock::hasSelectedChildren):
   33411         (khtml::RenderBlock::selectionState):
   33412         (khtml::RenderBlock::BlockSelectionInfo::BlockSelectionInfo):
   33413         (khtml::RenderBlock::BlockSelectionInfo::rects):
   33414         (khtml::RenderBlock::BlockSelectionInfo::state):
   33415         (khtml::RenderBlock::BlockSelectionInfo::block):
   33416         (khtml::RenderBlock::selectionRect):
   33417         * khtml/rendering/render_box.cpp:
   33418         (RenderBox::position):
   33419         * khtml/rendering/render_br.cpp:
   33420         (RenderBR::inlineBox):
   33421         * khtml/rendering/render_br.h:
   33422         (khtml::RenderBR::selectionRect):
   33423         (khtml::RenderBR::paint):
   33424         * khtml/rendering/render_canvas.cpp:
   33425         (RenderCanvas::selectionRect):
   33426         (RenderCanvas::setSelection):
   33427         * khtml/rendering/render_canvasimage.cpp:
   33428         (RenderCanvasImage::paint):
   33429         * khtml/rendering/render_image.cpp:
   33430         (RenderImage::paint):
   33431         * khtml/rendering/render_image.h:
   33432         * khtml/rendering/render_line.cpp:
   33433         (khtml::InlineBox::nextLeafChild):
   33434         (khtml::InlineBox::prevLeafChild):
   33435         (khtml::InlineBox::selectionState):
   33436         (khtml::InlineFlowBox::addToLine):
   33437         (khtml::InlineFlowBox::firstLeafChild):
   33438         (khtml::InlineFlowBox::lastLeafChild):
   33439         (khtml::InlineFlowBox::firstLeafChildAfterBox):
   33440         (khtml::InlineFlowBox::lastLeafChildBeforeBox):
   33441         (khtml::InlineFlowBox::selectionState):
   33442         (khtml::RootInlineBox::fillLineSelectionGap):
   33443         (khtml::RootInlineBox::setHasSelectedChildren):
   33444         (khtml::RootInlineBox::selectionState):
   33445         (khtml::RootInlineBox::firstSelectedBox):
   33446         (khtml::RootInlineBox::lastSelectedBox):
   33447         (khtml::RootInlineBox::selectionTop):
   33448         (khtml::RootInlineBox::block):
   33449         * khtml/rendering/render_line.h:
   33450         (khtml::RootInlineBox::RootInlineBox):
   33451         (khtml::RootInlineBox::hasSelectedChildren):
   33452         (khtml::RootInlineBox::selectionHeight):
   33453         * khtml/rendering/render_object.cpp:
   33454         (RenderObject::selectionColor):
   33455         * khtml/rendering/render_object.h:
   33456         (khtml::RenderObject::):
   33457         (khtml::RenderObject::selectionState):
   33458         (khtml::RenderObject::setSelectionState):
   33459         (khtml::RenderObject::selectionRect):
   33460         (khtml::RenderObject::canBeSelectionLeaf):
   33461         (khtml::RenderObject::hasSelectedChildren):
   33462         (khtml::RenderObject::hasDirtySelectionState):
   33463         (khtml::RenderObject::setHasDirtySelectionState):
   33464         (khtml::RenderObject::shouldPaintSelectionGaps):
   33465         (khtml::RenderObject::SelectionInfo::SelectionInfo):
   33466         * khtml/rendering/render_replaced.cpp:
   33467         (RenderReplaced::RenderReplaced):
   33468         (RenderReplaced::shouldPaint):
   33469         (RenderReplaced::selectionRect):
   33470         (RenderReplaced::setSelectionState):
   33471         (RenderReplaced::selectionColor):
   33472         (RenderWidget::paint):
   33473         (RenderWidget::setSelectionState):
   33474         * khtml/rendering/render_replaced.h:
   33475         (khtml::RenderReplaced::canBeSelectionLeaf):
   33476         (khtml::RenderReplaced::selectionState):
   33477         * khtml/rendering/render_text.cpp:
   33478         (InlineTextBox::checkVerticalPoint):
   33479         (InlineTextBox::isSelected):
   33480         (InlineTextBox::selectionState):
   33481         (InlineTextBox::selectionRect):
   33482         (InlineTextBox::paintSelection):
   33483         (InlineTextBox::paintMarkedTextBackground):
   33484         (RenderText::paint):
   33485         (RenderText::setSelectionState):
   33486         (RenderText::selectionRect):
   33487         * khtml/rendering/render_text.h:
   33488         (khtml::RenderText::canBeSelectionLeaf):
   33489         * kwq/KWQPainter.h:
   33490         * kwq/KWQPainter.mm:
   33491         (QPainter::drawHighlightForText):
   33492         * kwq/KWQPtrDict.h:
   33493         (QPtrDictIterator::toFirst):
   33494         * kwq/KWQRect.mm:
   33495         (QRect::unite):
   33496         * kwq/WebCoreTextRenderer.h:
   33497         * kwq/WebCoreTextRendererFactory.mm:
   33498         (WebCoreInitializeEmptyTextGeometry):
   33499 
   33500 2004-10-05  Ken Kocienda  <kocienda (a] apple.com>
   33501 
   33502         Reviewed by Darin
   33503         
   33504         Use the new CSS properties I added with my previous check-in. Also makes
   33505         some changes to caret positioning and drawing to make the proper editing
   33506         end-of-line behavior work correctly.
   33507 
   33508         * khtml/editing/selection.cpp:
   33509         (khtml::Selection::layout): Caret drawing now takes affinity into account
   33510         when deciding where to paint the caret (finally!).
   33511         * khtml/editing/visible_position.cpp:
   33512         (khtml::VisiblePosition::previousVisiblePosition): Move off Position::rendersInDifferentPosition
   33513         to determine the result. Use a simpler test involving comparisons between
   33514         downstream positions while iterating. This is cheaper to do and easier to understand.
   33515         (khtml::VisiblePosition::nextVisiblePosition): Ditto.
   33516         * khtml/rendering/bidi.cpp:
   33517         (khtml::BidiIterator::current): Do not return non-breaking spaces for empty
   33518         text renderers and for non-text renderers. Return a null Qchar instead. Returning
   33519         non-breaking spaces was causing errors when the new -khtml-nbsp-mode was set to "space".
   33520         (khtml::RenderBlock::computeHorizontalPositionsForLine): Shrink line boxes that 
   33521         contain with more spaces than can fit on the end of a line.
   33522         (khtml::RenderBlock::skipWhitespace): Factor this out from findNextLineBreak.
   33523         (khtml::RenderBlock::findNextLineBreak): Use new skipWhitespace function. Add
   33524         in code to check and use new CSS properties.
   33525         * khtml/rendering/break_lines.cpp:
   33526         (khtml::isBreakable): Consider a non-breaking space a breakable character based
   33527         on setting of new -khtml-nbsp-mode property.
   33528         * khtml/rendering/break_lines.h: Ditto.
   33529         * khtml/rendering/render_block.h: Declare skipWhitespace function.
   33530         * khtml/rendering/render_text.cpp: 
   33531         (RenderText::caretRect): Do not draw the caret beyond the right edge of the
   33532         window when in white-space normal mode.
   33533 
   33534 2004-10-05  Ken Kocienda  <kocienda (a] apple.com>
   33535 
   33536         Reviewed by Darin
   33537 
   33538         Fix for these bugs:
   33539         
   33540         In this patch, I add two new CSS properties and their associated behavior.
   33541         This is to support end-of-line and word-wrapping features that match the 
   33542         conventions of text editors.
   33543 
   33544         There are also some other small changes here which begin to lay the groundwork
   33545         for using these new properties to bring about the desired editing behavior.
   33546 
   33547         * khtml/css/cssparser.cpp:
   33548         (CSSParser::parseValue): Add support for new CSS properties.
   33549         * khtml/css/cssproperties.c: Generated file.
   33550         * khtml/css/cssproperties.h: Ditto.
   33551         * khtml/css/cssproperties.in: Add new properties.
   33552         * khtml/css/cssstyleselector.cpp:
   33553         (khtml::CSSStyleSelector::applyProperty): Add support for new CSS properties.
   33554         * khtml/css/cssvalues.c: Generated file.
   33555         * khtml/css/cssvalues.h: Ditto.
   33556         * khtml/css/cssvalues.in:  Add support for new CSS properties.
   33557         * khtml/editing/visible_position.cpp:
   33558         (khtml::VisiblePosition::upstreamDeepEquivalent): Added new helper.
   33559         * khtml/editing/visible_position.h:
   33560         * khtml/rendering/render_box.cpp:
   33561         (RenderBox::deleteLineBoxWrapper): Zero out inlineBoxWrapper.
   33562         * khtml/rendering/render_replaced.cpp:
   33563         (RenderWidget::detach): Zero out inlineBoxWrapper.
   33564         * khtml/rendering/render_style.cpp:
   33565         (StyleCSS3InheritedData):
   33566         (StyleCSS3InheritedData::operator==): Add support for new CSS properties.
   33567         (RenderStyle::diff): Ditto.
   33568         * khtml/rendering/render_style.h:
   33569         (khtml::RenderStyle::nbspMode): Ditto.
   33570         (khtml::RenderStyle::khtmlLineBreak): Ditto.
   33571         (khtml::RenderStyle::setNBSPMode): Ditto.
   33572         (khtml::RenderStyle::setKHTMLLineBreak): Ditto.
   33573         (khtml::RenderStyle::initialNBSPMode): Ditto.
   33574         (khtml::RenderStyle::initialKHTMLLineBreak): Ditto.
   33575 
   33576 2004-10-05  Darin Adler  <darin (a] apple.com>
   33577 
   33578         Reviewed by John.
   33579 
   33580         - fixed <rdar://problem/3673150> Pasting string from clipboard that is longer than input box will accept fails rather than truncating
   33581 
   33582         * kwq/KWQTextField.mm:
   33583         (-[KWQTextFieldFormatter isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:]):
   33584         Wrote a new version of this method that truncates incoming strings rather than rejecting them
   33585         out of hand.
   33586 
   33587 2004-10-04  Darin Adler  <darin (a] apple.com>
   33588 
   33589         Reviewed by Maciej.
   33590 
   33591         - fixed <rdar://problem/3826343> crash in KHTMLParser::setCurrent parsing document fragment (happens in Calendar widget)
   33592 
   33593         * khtml/html/htmlparser.cpp:
   33594         (KHTMLParser::KHTMLParser): Initialized currentIsReferenced to false (fixes bug).
   33595         (KHTMLParser::reset): Use doc() to make code easier to read.
   33596         (KHTMLParser::setCurrent): Ditto.
   33597         (KHTMLParser::parseToken): Ditto.
   33598         (KHTMLParser::insertNode): Ditto.
   33599         (KHTMLParser::getElement): Ditto.
   33600         (KHTMLParser::popOneBlock): Ditto.
   33601 
   33602         - fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
   33603 
   33604         * kwq/KWQKHTMLPart.h: Added fontAttributesForSelectionStart.
   33605         * kwq/KWQKHTMLPart.mm:
   33606         (KWQKHTMLPart::styleForSelectionStart): Factored out most of fontForSelection.
   33607         (KWQKHTMLPart::fontAttributesForSelectionStart): Added.
   33608         (KWQKHTMLPart::fontAttributesForSelectionStart): Added.
   33609         (KWQKHTMLPart::registerCommandForUndo): Updated for name change (see below).
   33610         (KWQKHTMLPart::registerCommandForRedo): Ditto.
   33611 
   33612         * kwq/WebCoreBridge.h: Added fontAttributesForSelectionStart.
   33613         * kwq/WebCoreBridge.mm:
   33614         (-[WebCoreBridge undoEditing:]): Updated for name change (see below).
   33615         (-[WebCoreBridge redoEditing:]): Ditto.
   33616         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): Got rid of named temporary
   33617         EditCommandPtr variable to make things slightly more terse.
   33618         (-[WebCoreBridge moveSelectionToDragCaret:smartMove:]): Ditto.
   33619         (-[WebCoreBridge deleteSelectionWithSmartDelete:]): Ditto.
   33620         (-[WebCoreBridge fontAttributesForSelectionStart]): Added.
   33621 
   33622         - fix compile on Panther and other cleanup
   33623 
   33624         * khtml/khtml_part.cpp: Removed unneeded include.
   33625         * kwq/KWQEditCommand.h: Got rid of use of "impl" when referring to EditCommand pointers.
   33626         * kwq/KWQEditCommand.mm: Added include so we compile on Panther.
   33627         (-[KWQEditCommand initWithEditCommand:]): Changed name.
   33628         (-[KWQEditCommand dealloc]): Updated for m_impl change to m_command.
   33629         (-[KWQEditCommand finalize]): Ditto.
   33630         (+[KWQEditCommand commandWithEditCommand:]): Changed name.
   33631         (-[KWQEditCommand command]): Changed name.
   33632 
   33633 2004-10-04  Darin Adler  <darin (a] apple.com>
   33634 
   33635         Reviewed by John.
   33636 
   33637         - did a more-robust version of the fix I just landed
   33638 
   33639         * khtml/html/htmlparser.h: Added currentIsReferenced boolean.
   33640         * khtml/html/htmlparser.cpp:
   33641         (KHTMLParser::KHTMLParser): Initializes currentIsReferenced.
   33642         (KHTMLParser::setCurrent): Changed to respect and set currentIsReferenced.
   33643 
   33644 2004-10-04  Darin Adler  <darin (a] apple.com>
   33645 
   33646         Reviewed by John.
   33647 
   33648         - fixed <rdar://problem/3824393> REGRESSION (165-TOT): Crash in KHTMLParser::popOneBlock closing window (bose.com)
   33649 
   33650         * khtml/html/htmlparser.cpp:
   33651         (KHTMLParser::~KHTMLParser): Move call to setCurrent(0) after the call to freeBlock, since freeBlock doesn't
   33652         work well when current is 0, and there's no reason we need to reset the current block first.
   33653         (KHTMLParser::setCurrent): Don't ever hold a reference to the document. This prevents a situation where there
   33654         would be a reference cycle. In the test case from the bug above, this cycle actually happened and resulted
   33655         in a double-delete of the document, tokenizer, and parser.
   33656 
   33657 2004-10-04  Darin Adler  <darin (a] apple.com>
   33658 
   33659         Reviewed by Maciej.
   33660 
   33661         - fixed <rdar://problem/3825429> onclick handler called when mouse down on another element (affects Dashboard Movies widget, test case enclosed)
   33662 
   33663         * khtml/khtmlview.cpp:
   33664         (KHTMLViewPrivate::KHTMLViewPrivate): Initialize the click node to 0.
   33665         (KHTMLViewPrivate::~KHTMLViewPrivate): Deref the click node.
   33666         (KHTMLViewPrivate::reset): Clear the click node.
   33667         (KHTMLView::viewportMousePressEvent): Call invalidateClick when we pass the event to a subframe to
   33668         reduce the chance that we'll hold on to an old click node for a long time. Set the click node to
   33669         the node we we are clicking on.
   33670         (KHTMLView::viewportMouseDoubleClickEvent): Only send a click even if the node is the same one from
   33671         the original click. Call invalidateClick when done to reduce the chance that we'll hold on to an
   33672         old click node for a long time.
   33673         (KHTMLView::invalidateClick): Clear the click node.
   33674         (KHTMLView::viewportMouseReleaseEvent): Only send a click even if the node is the same one from
   33675         the original click. Call invalidateClick when done to reduce the chance that we'll hold on to an
   33676         old click node for a long time.
   33677         (KHTMLView::keyPressEvent): Remove code that sets the originalNode field, which is never used.
   33678 
   33679 2004-10-04  Ken Kocienda  <kocienda (a] apple.com>
   33680 
   33681         Reviewed by Hyatt
   33682 
   33683         Fix for this bug:
   33684         
   33685         <rdar://problem/3825289> REGRESSION (Mail): Crash in fontForSelection in empty window
   33686 
   33687         * khtml/editing/visible_position.cpp:
   33688         (khtml::VisiblePosition::previousPosition): Switch to node iteration instead "leaf"
   33689         iteration. I have been wanting to make this change for a long time, but couldn't
   33690         since other code relied on the leaf behavior. That is no longer true. Plus, the
   33691         bug fix requires the new behavior.
   33692         (khtml::VisiblePosition::nextPosition): Ditto.
   33693         (khtml::VisiblePosition::isCandidate): Empty blocks needed a height to be a candidate,
   33694         but we make a special case for the body element. This fixes the bug.
   33695 
   33696 2004-10-04  Darin Adler  <darin (a] apple.com>
   33697 
   33698         Reviewed by Ken.
   33699 
   33700         - fixed <rdar://problem/3800667> REGRESSION (Mail): double-clicking multiple spaces only selects two spaces
   33701 
   33702         * kwq/KWQTextUtilities.mm: (KWQFindWordBoundary): Moved here from the .cpp file. Changed to use the
   33703         doubleClickAtIndex: method from NSAttributedString rather than using Unicode Utilities.
   33704         * kwq/KWQTextUtilities.cpp: Removed.
   33705         * WebCore.pbproj/project.pbxproj: Removed KWQTextUtilities.cpp.
   33706 
   33707         - fixed a problem that would show up using HTML editing under garbage collection
   33708 
   33709         * kwq/KWQEditCommand.mm: (-[KWQEditCommand finalize]): Fixed a [super dealloc] that should have been a
   33710         [super finalize].
   33711 
   33712         - another small change
   33713 
   33714         * khtml/editing/visible_units.cpp: (khtml::nextWordBoundary): Tweaked a comment.
   33715 
   33716 2004-10-01  Darin Adler  <darin (a] apple.com>
   33717 
   33718         Reviewed by Ken (or arguably done by Ken, reviewed by Darin).
   33719 
   33720         - fixed <rdar://problem/3823828> REGRESSION (Mail): Clicking past end of any line puts insertion point at beginning of next line
   33721 
   33722         * khtml/editing/visible_position.cpp: (khtml::VisiblePosition::VisiblePosition):
   33723         Check for an offset of 0 and a <br> and use UPSTREAM affinity in that case.
   33724         This is a short term fix for something that needs a better longer-term fix.
   33725 
   33726         - fixed <rdar://problem/3823816> REGRESSION (Mail): double-clicking first word on line also selects previous empty line
   33727 
   33728         * khtml/editing/visible_units.cpp: (khtml::previousWordBoundary): Added a special
   33729         case for <br>. While I'm not sure why this regressed, I'm sure this fix is good.
   33730 
   33731 2004-10-01  Darin Adler  <darin (a] apple.com>
   33732 
   33733         Reviewed by John.
   33734 
   33735         - fixed <rdar://problem/3782117> CrashTracer: ..722 crashes at com.apple.WebCore: DOM::HTMLBodyElementImpl::insertedIntoDocument + 0x2c (AOL website)
   33736 
   33737         * khtml/html/html_baseimpl.cpp:
   33738         (HTMLBodyElementImpl::insertedIntoDocument): Check for nil document case.
   33739         (HTMLFrameElementImpl::isURLAllowed): Ditto.
   33740         (HTMLFrameElementImpl::openURL): Ditto.
   33741 
   33742 2004-10-01  Darin Adler  <darin (a] apple.com>
   33743 
   33744         Reviewed by Maciej.
   33745 
   33746         - fixed <rdar://problem/3822218> REGRESSION (164-165): images don't update on rollover on directv.com page
   33747 
   33748         I introduced a major regression where various JavaScript window properties would not be found when I
   33749         fixed bug 3809600.
   33750 
   33751         * khtml/ecma/kjs_window.h: Added hasProperty.
   33752         * khtml/ecma/kjs_window.cpp: (Window::hasProperty): Return true in all the cases where get returns something.
   33753 
   33754 2004-09-30  Darin Adler  <darin (a] apple.com>
   33755 
   33756         Reviewed by Maciej.
   33757 
   33758         - fixed <rdar://problem/3461499> JavaScript function document.open() is buggy with 2nd argument "replace"
   33759 
   33760         Experiments with Firefox indicate that document.open() should not be treated as window.open() unless there
   33761         are more than two parameters. Also, Firefox does not implement the "replace" behavior, so we don't have
   33762         to worry about it either.
   33763 
   33764         * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall): Only forward to window if there are more than
   33765         two parameters, rather than if there are more than one.
   33766 
   33767         - fixed <rdar://problem/3672933> oninput is firing at page load time for <input type=range>
   33768 
   33769         * kwq/KWQSlider.mm: (QSlider::setValue): Don't emit a signal here. This follows the usual pattern, where
   33770         a signal is only emitted for changes that are not explicitly requested by the caller.
   33771 
   33772         - fixed <rdar://problem/3821167> leaks of something allocated by recalcStyle after loading altavista page from cvs-base
   33773 
   33774         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Ref and deref the style we allocate so it's
   33775         not left floating if setStyle decides not to ref it.
   33776 
   33777         - fixed <rdar://problem/3821172> leak of HTML attribute string after loading the ESPN page from cvs-base
   33778 
   33779         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Use the DOMString version of
   33780         the lower() operation so we don't end up leaving a DOMStringImpl * floating if AtomicString decides not
   33781         to ref it.
   33782 
   33783 2004-09-30  Richard Williamson   <rjw (a] apple.com>
   33784 
   33785 	Fixed <rdar://problem/3822330> REGRESSION: crash on launch when homepage is set to about:blank
   33786 	
   33787 	Added nil check.
   33788 	
   33789         * kwq/KWQKHTMLPart.mm:
   33790         (KWQKHTMLPart::setDisplaysWithFocusAttributes):
   33791 
   33792 2004-09-30  Chris Blumenberg  <cblu (a] apple.com>
   33793 	
   33794 	Fixed: <rdar://problem/3792822> Safari is calling the Cocoa QuickTime plugin twice for the OBJECT and EMBED tags
   33795 
   33796         Reviewed by hyatt.
   33797 
   33798         * khtml/html/html_objectimpl.cpp:
   33799         (HTMLObjectElementImpl::attach): call dispatchHTMLEvent after updateWidget instead of every time this method is called
   33800         (HTMLObjectElementImpl::recalcStyle): ditto
   33801 
   33802 2004-09-30  Darin Adler  <darin (a] apple.com>
   33803 
   33804         - rolled out bad image change that caused performance regression
   33805 
   33806         * khtml/rendering/render_image.cpp: (RenderImage::setPixmap):
   33807         Don't reference the new image before doing the assignment.
   33808         This forced an unwanted.
   33809 
   33810 2004-09-30  Ken Kocienda  <kocienda (a] apple.com>
   33811 
   33812         Reviewed by me, coded by Darin
   33813 
   33814         - fixed <rdar://problem/3818305> REGRESSION (Mail): Shift + page up has no effect; should modify selection
   33815 
   33816         * khtml/editing/selection.cpp: (khtml::Selection::modify): Fix problem where vertical distance
   33817         was used as a distance threshold, but was a negative number. Now make it positive at the start
   33818         of the function (and make a couple related changes).
   33819 
   33820 2004-09-29  Richard Williamson   <rjw (a] apple.com>
   33821 
   33822 	Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
   33823 
   33824 	The fix has two parts, 1) make onblur and onfocus work for windows, 
   33825         and 2), allow the dashboard to override WebKit's special key/non-key
   33826         behaviors.
   33827 
   33828         Reviewed by Chris.
   33829 
   33830         * kwq/KWQKHTMLPart.mm:
   33831         (KWQKHTMLPart::setDisplaysWithFocusAttributes):
   33832 
   33833 2004-09-29  Ken Kocienda  <kocienda (a] apple.com>
   33834 
   33835         Reviewed by Hyatt
   33836         
   33837         Fix for this bug:
   33838         
   33839         <rdar://problem/3705894> REGRESSION (Mail): if a single word is wider than the window, 
   33840         it doesn't break and just runs off the right side
   33841 
   33842         * khtml/css/css_computedstyle.cpp:
   33843         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support for CSS_PROP_WORD_WRAP.
   33844         * khtml/css/cssparser.cpp:
   33845         (CSSParser::parseValue): Ditto.
   33846         * khtml/css/cssproperties.c: Generated file.
   33847         * khtml/css/cssproperties.h: Ditto.
   33848         * khtml/css/cssproperties.in: Add word-wrap property.
   33849         * khtml/css/cssstyleselector.cpp:
   33850         (khtml::CSSStyleSelector::applyProperty): Add support for CSS_PROP_WORD_WRAP.
   33851         * khtml/css/cssvalues.c: Generated file.
   33852         * khtml/css/cssvalues.h: Ditto.
   33853         * khtml/css/cssvalues.in: Add break-word value.
   33854         * khtml/rendering/bidi.cpp:
   33855         (khtml::RenderBlock::findNextLineBreak): Add code to implement new word wrapping feature.
   33856         * khtml/rendering/render_style.cpp:
   33857         (StyleCSS3InheritedData): Add support for new wordWrap property.
   33858         (StyleCSS3InheritedData::operator==): Ditto.
   33859         (RenderStyle::diff): Ditto.
   33860         * khtml/rendering/render_style.h:
   33861         (khtml::RenderStyle::wordWrap): Ditto.
   33862         (khtml::RenderStyle::setWordWrap): Ditto.
   33863         (khtml::RenderStyle::initialWordWrap): Ditto.
   33864 
   33865 2004-09-29  Maciej Stachowiak  <mjs (a] apple.com>
   33866 
   33867         Reviewed by John.
   33868 
   33869 	- consolidated OS version checks into prefix header
   33870 
   33871         * WebCorePrefix.h:
   33872         * khtml/rendering/render_canvasimage.cpp:
   33873         * kwq/KWQAccObject.mm:
   33874         (-[KWQAccObject roleDescription]):
   33875         (-[KWQAccObject accessibilityActionDescription:]):
   33876         * kwq/KWQComboBox.mm:
   33877         (QComboBox::QComboBox):
   33878         * kwq/KWQFoundationExtras.h:
   33879 
   33880 2004-09-29  David Hyatt  <hyatt (a] apple.com>
   33881 
   33882 	Make sure <br>s always get line boxes.  Also prevent the creation of RenderTexts for whitespace normal/nowrap nodes
   33883 	that follow <br>s.
   33884 	
   33885         Reviewed by kocienda
   33886 
   33887         * khtml/editing/visible_position.cpp:
   33888         (khtml::VisiblePosition::isCandidate):
   33889         * khtml/rendering/render_br.cpp:
   33890         (RenderBR::RenderBR):
   33891         (RenderBR::createInlineBox):
   33892         (RenderBR::baselinePosition):
   33893         (RenderBR::lineHeight):
   33894         * khtml/rendering/render_br.h:
   33895         * khtml/rendering/render_line.cpp:
   33896         (khtml::InlineFlowBox::placeBoxesVertically):
   33897         * khtml/rendering/render_line.h:
   33898         (khtml::InlineBox::isText):
   33899         (khtml::InlineFlowBox::addToLine):
   33900         * khtml/rendering/render_text.cpp:
   33901         (RenderText::detach):
   33902         * khtml/rendering/render_text.h:
   33903         (khtml::InlineTextBox:::InlineRunBox):
   33904         (khtml::InlineTextBox::isInlineTextBox):
   33905         (khtml::InlineTextBox::isText):
   33906         (khtml::InlineTextBox::setIsText):
   33907         * khtml/xml/dom_textimpl.cpp:
   33908         (TextImpl::rendererIsNeeded):
   33909         * kwq/KWQRenderTreeDebug.cpp:
   33910         (operator<<):
   33911 
   33912 2004-09-29  Ken Kocienda  <kocienda (a] apple.com>
   33913 
   33914         Reviewed by John
   33915 
   33916         Fix for this bug:
   33917         
   33918         <rdar://problem/3815895> exception inside fontForSelection causes Mail to abort when selection hits bottom
   33919 
   33920         * khtml/editing/selection.cpp:
   33921         (khtml::Selection::toRange): Use RangeImpl calls to detect exceptions when creating a Range
   33922         from a Selection. Return an empty Range when there is an exception.
   33923 
   33924         Fix for this bug:
   33925         
   33926         <rdar://problem/3817268> REGRESSION (Mail): Window does not scroll when selecting out of 
   33927         visible area of view with arrow keys
   33928 
   33929         * khtml/editing/selection.cpp: Did some name changing. m_needsCaretLayout -> m_needsLayout.
   33930         Added m_expectedVisibleRect which supplies the right rectangle to update when scrolling.
   33931         (khtml::Selection::Selection): m_needsCaretLayout -> m_needsLayout name change.
   33932         (khtml::Selection::init): Handle m_expectedVisibleRect in initialization.
   33933         (khtml::Selection::operator=): Handle m_expectedVisibleRect in assignment.
   33934         (khtml::Selection::setNeedsLayout): m_needsCaretLayout -> m_needsLayout name change.
   33935         (khtml::Selection::layout): Changed name from layoutCaret, since m_expectedVisibleRect
   33936         is also calculated here.
   33937         (khtml::Selection::caretRect): m_needsCaretLayout -> m_needsLayout name change.
   33938         (khtml::Selection::expectedVisibleRect): New. Returns m_expectedVisibleRect, doing a 
   33939         layout if needed.
   33940         (khtml::Selection::needsCaretRepaint): m_needsCaretLayout -> m_needsLayout name change.
   33941         (khtml::Selection::paintCaret): Ditto.
   33942         (khtml::Selection::validate): Ditto.
   33943         * khtml/editing/selection.h: Add m_expectedVisibleRect member variable and 
   33944         expectedVisibleRect accessor.
   33945         * kwq/WebCoreBridge.h: Change name of ensureCaretVisible to ensureSelectionVisible, since
   33946         this is not only about making the caret visible anymore. Now it can reveal the varying
   33947         end of the selection when scrolling with arrow keys.
   33948         * kwq/WebCoreBridge.mm:
   33949         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): ensureCaretVisible to 
   33950         ensureSelectionVisible name change.
   33951         (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Ditto
   33952         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): Ditto
   33953         (-[WebCoreBridge insertNewline]): Ditto
   33954         (-[WebCoreBridge insertText:selectInsertedText:]): Ditto
   33955         (-[WebCoreBridge deleteKeyPressed]): Ditto
   33956         (-[WebCoreBridge ensureSelectionVisible]): Ditto
   33957 
   33958 2004-09-29  Ken Kocienda  <kocienda (a] apple.com>
   33959 
   33960         Reviewed by Hyatt
   33961         
   33962         Fix for this bug:
   33963         
   33964         <rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly
   33965         
   33966         * kwq/KWQKHTMLPart.h:
   33967         * kwq/KWQKHTMLPart.mm:
   33968         (KWQKHTMLPart::centerSelectionInVisibleArea): New function. Handles both caret
   33969         and range selections correctly.
   33970         * kwq/KWQNSViewExtras.h: Add forceCentering boolean to some methods in this file.
   33971         * kwq/KWQNSViewExtras.m: Ditto. This addition has been done since the AppKit 
   33972         method we use to do the centering, -[NSView scrollRectToVisible:],  does not alter 
   33973         the view if the rectangle passed to it is already in view. When forceCentering is
   33974         true, extra math is done to make scrollRectToVisible center the rectangle we want.
   33975         (-[NSView _KWQ_scrollFrameToVisible]): Pass NO for forceCentering in call through to 
   33976         _KWQ_scrollRectToVisible:forceCentering:
   33977         (-[NSView _KWQ_scrollRectToVisible:forceCentering:]): Add forceCentering argument.
   33978         (-[NSView _KWQ_scrollRectToVisible:inView:forceCentering:]): Ditto.
   33979         (-[NSClipView _KWQ_scrollRectToVisible:inView:forceCentering:]): Ditto. Do extra
   33980         math to implement the forceCentering effect.
   33981         * kwq/KWQScrollView.h: Add forceCentering default argument to ensureRectVisibleCentered.
   33982         * kwq/KWQScrollView.mm:
   33983         (QScrollView::ensureRectVisibleCentered): Ditto.
   33984         * kwq/WebCoreBridge.h:
   33985         * kwq/WebCoreBridge.mm:
   33986         (-[WebCoreBridge centerSelectionInVisibleArea]): New function. Call through to KWQKHTMLPart. 
   33987 
   33988 2004-09-28  Chris Blumenberg  <cblu (a] apple.com>
   33989 
   33990 	Fixed: WebArchives begin with "<#document/>"
   33991 
   33992         Reviewed by hyatt.
   33993 
   33994         * khtml/xml/dom_nodeimpl.cpp:
   33995         (NodeImpl::startMarkup): don't return markup if this is a document node, forgot this when factoring this method out from toHTML
   33996 
   33997 2004-09-28  Chris Blumenberg  <cblu (a] apple.com>
   33998 
   33999 	Removed range parameter from recursive_toHTML and friends since that code path is no longer used.
   34000 	
   34001         Reviewed by mjs.
   34002 
   34003         * khtml/xml/dom2_rangeimpl.cpp:
   34004         (DOM::RangeImpl::toHTML):
   34005         * khtml/xml/dom_nodeimpl.cpp:
   34006         (NodeImpl::recursive_toString):
   34007         (NodeImpl::recursive_toHTML):
   34008         * khtml/xml/dom_nodeimpl.h:
   34009         * kwq/WebCoreBridge.mm:
   34010         (-[WebCoreBridge markupStringFromNode:nodes:]):
   34011 
   34012 2004-09-28  Darin Adler  <darin (a] apple.com>
   34013 
   34014         Reviewed by Ken.
   34015 
   34016         - improve spell checking so it doesn't unmark and remark as you move the cursor with the arrow
   34017 
   34018         * khtml/editing/htmlediting.h: Remove obsolete markMisspellingsInSelection private function.
   34019         * khtml/editing/htmlediting.cpp:
   34020         (khtml::EditCommand::EditCommand): Blow away the selection when starting an edit command.
   34021         (khtml::EditCommand::apply): Remove code to mark misspellings because that's now done as part
   34022         of blowing away the selection.
   34023         (khtml::EditCommand::unapply): Blow away the selection instead of marking misspellings.
   34024         (khtml::EditCommand::reapply): Ditto.
   34025         (khtml::ReplaceSelectionCommand::doApply): Removed incorrect code that does spell checking
   34026         on inserted text; this doesn't match NSText behavior.
   34027         (khtml::TypingCommand::markMisspellingsAfterTyping): Use markMisspellingsInAdjacentWords
   34028         function for greater clarity on what this actually does.
   34029 
   34030         * khtml/khtml_part.h: Replaced setSelection's "unmarkOldSelection" boolean parameter with a
   34031         "keepTypingStyle" boolean parameter. Removed notifySelectionChanged.
   34032         * khtml/khtml_part.cpp:
   34033         (KHTMLPart::setSelection): Replaced the "unmarkOldSelection" boolean with a new "keepTypingStyle"
   34034         boolean. This is a step on the way to simplifying how this works. Moved the code from the
   34035         notifySelectionChanged function here, since there was no clear line between the two functions.
   34036         (KHTMLPart::clearSelection): Call setSelection rather that having special case code here for
   34037         the case of an empty selection.
   34038         (KHTMLPart::appliedEditing): Remove the explicit "false" for "unmarkOldSelection".
   34039         (KHTMLPart::unappliedEditing): Ditto.
   34040         (KHTMLPart::reappliedEditing): Ditto.
   34041 
   34042         * kwq/KWQKHTMLPart.h: Replaced markMisspellingsInSelection and updateSpellChecking with
   34043         markMisspellings and markMisspellingsInAdjacentWords. Added parameters to respondToChangedSelection.
   34044         * kwq/KWQKHTMLPart.mm:
   34045         (KWQKHTMLPart::markMisspellingsInAdjacentWords): Added.
   34046         (KWQKHTMLPart::markMisspellings): New name for markMisspellingsInSelection. Simplified logic a
   34047         bit and made it the caller's responsibility to expand the selection passed in to word boundaries.
   34048         (KWQKHTMLPart::respondToChangedSelection): Added parameter that identifies the old selection,
   34049         and changed logic so it won't mark misspellings in a word if the selection still starts in that word.
   34050 
   34051         - implemented empty-cells property in computed style
   34052 
   34053         * khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   34054         Added code for CSS_PROP_EMPTY_CELLS. I think the HTML converter in AppKit uses this.
   34055 
   34056 2004-09-28  Chris Blumenberg  <cblu (a] apple.com>
   34057 
   34058 	Fixed n-squared issues with appending to KWQValueListImpl. This fixes the hang in 3794799.
   34059 
   34060         Fixed by Darin, reviewed by me.
   34061 
   34062         * khtml/xml/dom2_rangeimpl.cpp:
   34063         (DOM::RangeImpl::toHTML): tweaks
   34064         * kwq/KWQValueListImpl.mm:
   34065         (KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate):
   34066         (KWQValueListImpl::KWQValueListPrivate::copyList):
   34067         (KWQValueListImpl::clear):
   34068         (KWQValueListImpl::appendNode):
   34069         (KWQValueListImpl::prependNode):
   34070         (KWQValueListImpl::removeEqualNodes):
   34071         (KWQValueListImpl::containsEqualNodes):
   34072         (KWQValueListImpl::removeIterator):
   34073         (KWQValueListImpl::lastNode):
   34074         * kwq/WebCoreBridge.mm:
   34075         (-[WebCoreBridge nodesFromList:]): use iterator, not at()
   34076 
   34077 2004-09-28  Richard Williamson   <rjw (a] apple.com>
   34078 
   34079 	More dashboard region changes for John.
   34080 
   34081         <rdar://problem/3817421> add getter for dashboard regions (debugging)
   34082         
   34083         <rdar://problem/3817417> NSScrollView need autoregions for dashboard
   34084         
   34085         <rdar://problem/3817388> should have short form form control regions
   34086         
   34087         <rdar://problem/3817477> visibility does not work with dashboard control regions
   34088 
   34089         Reviewed by Hyatt.
   34090 
   34091         * WebCore-combined.exp:
   34092         * WebCore.exp:
   34093         * khtml/css/cssparser.cpp:
   34094         (skipCommaInDashboardRegion):
   34095         (CSSParser::parseDashboardRegions):
   34096         * khtml/khtmlview.cpp:
   34097         (KHTMLView::updateDashboardRegions):
   34098         * khtml/rendering/render_object.cpp:
   34099         (RenderObject::setStyle):
   34100         (RenderObject::addDashboardRegions):
   34101         * khtml/xml/dom_docimpl.cpp:
   34102         (DocumentImpl::DocumentImpl):
   34103         (DocumentImpl::setDashboardRegions):
   34104         * khtml/xml/dom_docimpl.h:
   34105         (DOM::DocumentImpl::setDashboardRegionsDirty):
   34106         (DOM::DocumentImpl::dashboardRegionsDirty):
   34107         * kwq/KWQKHTMLPart.h:
   34108         * kwq/KWQKHTMLPart.mm:
   34109         (KWQKHTMLPart::paint):
   34110         (KWQKHTMLPart::dashboardRegionsDictionary):
   34111         (KWQKHTMLPart::dashboardRegionsChanged):
   34112         * kwq/WebCoreBridge.h:
   34113         * kwq/WebCoreBridge.mm:
   34114         (-[WebCoreBridge dashboardRegions]):
   34115         * kwq/WebDashboardRegion.h:
   34116         * kwq/WebDashboardRegion.m:
   34117         (-[WebDashboardRegion description]):
   34118 
   34119 2004-09-28  John Sullivan  <sullivan (a] apple.com>
   34120 
   34121         Reviewed by Chris.
   34122 
   34123         - fixed <rdar://problem/3818558> REGRESSION: "Installed Plug-ins" is blank 
   34124         because of <script type="application/x-javascript">
   34125 
   34126         * khtml/html/htmltokenizer.cpp:
   34127         (khtml::HTMLTokenizer::parseTag):
   34128         add "application/x-javascript" to the list of legal scripting types. Mozilla
   34129         accepts this, but WinIE doesn't.
   34130         
   34131         * layout-tests/fast/tokenizer/004.html:
   34132         updated layout test to test some application/xxxx types
   34133 
   34134 2004-09-27  David Hyatt  <hyatt (a] apple.com>
   34135 
   34136 	Reworked lists to work well with RTL text.  Specifically the following bugs have been fixed:
   34137 
   34138 	(1) All bullets use the same offset constant now (a padding of 7 pixels).  Before, images used 5 and others used 7.
   34139 	(2) Line height now works properly, so that list items with no content aren't squished (and missing the line descent).
   34140 	(3) Punctuation now works correctly with inside and outside style ordered lists in RTL.
   34141 	(4) RTL lists now properly apply padding and margin to the right side rather than the left.  This was done by adding
   34142 	-khtml-margin-start and -khtml-padding-start properties that are just mapped to left/right based off the direction.
   34143 	
   34144         Reviewed by darin
   34145 
   34146         * khtml/css/cssparser.cpp:
   34147         (CSSParser::parseValue):
   34148         * khtml/css/cssproperties.c:
   34149         (hash_prop):
   34150         (findProp):
   34151         * khtml/css/cssproperties.h:
   34152         * khtml/css/cssproperties.in:
   34153         * khtml/css/cssstyleselector.cpp:
   34154         (khtml::CSSStyleSelector::applyDeclarations):
   34155         (khtml::CSSStyleSelector::applyProperty):
   34156         * khtml/css/html4.css:
   34157         * khtml/rendering/bidi.cpp:
   34158         (khtml::BidiIterator::direction):
   34159         * khtml/rendering/render_list.cpp:
   34160         (RenderListItem::getAbsoluteRepaintRect):
   34161         (RenderListMarker::paint):
   34162         (RenderListMarker::calcMinMaxWidth):
   34163         (RenderListMarker::lineHeight):
   34164         (RenderListMarker::baselinePosition):
   34165 
   34166 2004-09-28  Ken Kocienda  <kocienda (a] apple.com>
   34167 
   34168         Reviewed by Darin
   34169         
   34170         Mark the VisiblePosition taking (Position &, EAffinity=DOWNSTREAM) explicit. Recently, when I added
   34171         the EAffinity argument, I left this constructor implicit. Darin pointed out to me that this is
   34172         undesirable since implicit use of the the constructor involved making the affinity choice, something
   34173         which should be done explicitly.
   34174 
   34175         * khtml/editing/selection.cpp:
   34176         (khtml::Selection::modifyExtendingRightForward): Make explicit use of constructor mentioned above.
   34177         (khtml::Selection::modifyMovingRightForward): Ditto.
   34178         (khtml::Selection::modifyExtendingLeftBackward): Ditto.
   34179         (khtml::Selection::modifyMovingLeftBackward): Ditto.
   34180         (khtml::Selection::modify): Ditto.
   34181         (khtml::Selection::validate): Ditto.
   34182         * khtml/editing/visible_position.h: Make constructor taking (Position &, EAffinity) explicit.
   34183         * khtml/editing/visible_units.cpp: Ditto.
   34184         (khtml::previousWordBoundary): Make explicit use of constructor mentioned above.
   34185         (khtml::nextWordBoundary): Ditto.
   34186         (khtml::previousLinePosition): Ditto.
   34187         (khtml::nextLinePosition): Ditto.
   34188         * kwq/KWQKHTMLPart.mm: Ditto.
   34189         (KWQKHTMLPart::findString): Ditto.
   34190         (KWQKHTMLPart::advanceToNextMisspelling): Ditto.
   34191         (KWQKHTMLPart::markMisspellingsInSelection): Ditto.
   34192         (KWQKHTMLPart::updateSpellChecking): Ditto.
   34193 
   34194 2004-09-28  Darin Adler  <darin (a] apple.com>
   34195 
   34196         Reviewed by John.
   34197 
   34198         - fixed a storage leak discovered by code inspection
   34199 
   34200         * khtml/html/htmlparser.cpp: (KHTMLParser::~KHTMLParser): Call setCurrent(0) to deref
   34201         the parser's current node in the rare case where it still has one.
   34202 
   34203 2004-09-27  David Hyatt  <hyatt (a] apple.com>
   34204 
   34205 	Don't allow nested headers when only inlines are in between them.  Fixes a hang related to pathological nesting
   34206 	on magicmethodsonline.com.
   34207 	
   34208         Reviewed by darin
   34209 
   34210         * khtml/html/htmlparser.cpp:
   34211         (KHTMLParser::parseToken):
   34212         (KHTMLParser::processCloseTag):
   34213         (KHTMLParser::isHeaderTag):
   34214         (KHTMLParser::popNestedHeaderTag):
   34215         * khtml/html/htmlparser.h:
   34216 
   34217 2004-09-27  Kevin Decker  <kdecker (a] apple.com>
   34218 
   34219         Reviewed by John.
   34220 
   34221         * khtml/css/css_base.cpp:
   34222         (CSSSelector::selectorText): changed another ATTR_CLASS case to properly return class selector names. 
   34223 
   34224 2004-09-27  David Hyatt  <hyatt (a] apple.com>
   34225 
   34226 	Fix style sharing so that it doesn't share when it shouldn't.  Partially fixes 3671516, table cells don't update
   34227 	their color on macosx.apple.com.
   34228 
   34229 	Fix 3521639, iframe mispositioned on bidi page.  Make sure that when the width of a line exceeds the available line
   34230 	width that the spillage out of the block is determined by the direction of the block and not by the text-align value.
   34231 
   34232 	Partial fix for 3762962, make sure the image cells with specified widths but percentage heights don't just get a minwidth
   34233 	of 0.
   34234 
   34235 	Fix for 3533878, framesets that use percentages that add up to a value > 100% should normalize those percentages.
   34236 	
   34237         Reviewed by john
   34238 
   34239         * khtml/css/cssstyleselector.cpp:
   34240         (khtml::CSSStyleSelector::locateCousinList):
   34241         (khtml::CSSStyleSelector::elementsCanShareStyle):
   34242         (khtml::CSSStyleSelector::locateSharedStyle):
   34243         * khtml/css/cssstyleselector.h:
   34244         * khtml/html/html_elementimpl.h:
   34245         (DOM::HTMLNamedAttrMapImpl::hasMappedAttributes):
   34246         (DOM::HTMLElementImpl::inlineStyleDecl):
   34247         * khtml/rendering/bidi.cpp:
   34248         (khtml::RenderBlock::computeHorizontalPositionsForLine):
   34249         * khtml/rendering/render_frames.cpp:
   34250         (RenderFrameSet::layout):
   34251         * khtml/rendering/render_replaced.cpp:
   34252         (RenderReplaced::calcMinMaxWidth):
   34253         * khtml/xml/dom_elementimpl.h:
   34254         (DOM::ElementImpl::inlineStyleDecl):
   34255         (DOM::ElementImpl::hasMappedAttributes):
   34256 
   34257 2004-09-27  Ken Kocienda  <kocienda (a] apple.com>
   34258 
   34259         Reviewed by John
   34260 
   34261         Removed closestRenderedPosition function from Position class and gave this work
   34262         to VisiblePosition instead. However, in order to make the transfer possible,
   34263         VisiblePosition needed upstream and downstream affinities added to its
   34264         constructors. Also moved the EAffinity enum into its own file. Also moved it
   34265         to the khtml namespace.
   34266 
   34267         Updated several functions which used closestRenderedPosition to use VisiblePosition
   34268         instead.
   34269         
   34270         Also deleted Position::equivalentShallowPosition. This was unused.
   34271 
   34272         * ForwardingHeaders/editing/text_affinity.h: Added.
   34273         * ForwardingHeaders/editing/visible_position.h: Added.
   34274         * WebCore.pbproj/project.pbxproj: Added new files.
   34275         * khtml/editing/selection.cpp:
   34276         (khtml::Selection::validate): Use VisiblePosition instead of closestRenderedPosition.
   34277         * khtml/editing/selection.h:
   34278         * khtml/editing/text_affinity.h: Added.
   34279         * khtml/editing/visible_position.cpp:
   34280         (khtml::VisiblePosition::VisiblePosition):
   34281         (khtml::VisiblePosition::initUpstream): New helper for finding upstream visible position.
   34282         (khtml::VisiblePosition::initDownstream): Was old init function that unconditionally did
   34283         downstream checks for visible position. Renamed to describe this more clearly.
   34284         * khtml/editing/visible_position.h:
   34285         * khtml/editing/visible_units.cpp:
   34286         (khtml::previousWordBoundary): Use VisiblePosition instead of closestRenderedPosition.
   34287         (khtml::nextWordBoundary): Use VisiblePosition instead of closestRenderedPosition.
   34288         * khtml/xml/dom_docimpl.cpp:
   34289         (DocumentImpl::updateSelection): Use VisiblePosition instead of closestRenderedPosition.
   34290         * khtml/xml/dom_position.cpp:
   34291         (DOM::Position::closestRenderedPosition): Removed.
   34292         * khtml/xml/dom_position.h: Removed two functions mentioned above.
   34293         * kwq/KWQKHTMLPart.mm:
   34294         (KWQKHTMLPart::fontForSelection) Use VisiblePosition instead of closestRenderedPosition.:
   34295         * kwq/WebCoreBridge.mm:
   34296         (-[WebCoreBridge setSelectedDOMRange:affinity:]): Use VisiblePosition instead of closestRenderedPosition.
   34297         * layout-tests/editing/deleting/delete-block-merge-contents-012-expected.txt: Updated expected results.
   34298         * layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt: Ditto.
   34299         * layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt: Ditto.
   34300         * layout-tests/editing/selection/move-by-character-004-expected.txt: Ditto.
   34301 
   34302 2004-09-27  Ken Kocienda  <kocienda (a] apple.com>
   34303 
   34304         Reviewed by Darin and Maciej
   34305 
   34306         Removed EditCommand smart pointer wrappers from htmlediting.cpp/.h, save for the one
   34307         at the root of the hierarchy, and this one has been renamed EditCommandPtr. Renamed
   34308         each of the XXXCommandImpl classes, removing the Impl suffix from each, and rolled
   34309         these into the htmlediting.cpp/.h files. The htmlediting_impl.cpp/.h files have
   34310         been emptied and are being removed.
   34311 
   34312         For the remainder of files, perform the mechanical changes necessary to make everything
   34313         compile and run as before.
   34314 
   34315         * WebCore.pbproj/project.pbxproj
   34316         * khtml/editing/htmlediting.cpp
   34317         * khtml/editing/htmlediting.h
   34318         * khtml/editing/htmlediting_impl.cpp: Removed.
   34319         * khtml/editing/htmlediting_impl.h: Removed.
   34320         * khtml/editing/jsediting.cpp
   34321         * khtml/khtml_part.cpp
   34322         (KHTMLPart::openURL)
   34323         (KHTMLPart::lastEditCommand)
   34324         (KHTMLPart::appliedEditing)
   34325         (KHTMLPart::unappliedEditing)
   34326         (KHTMLPart::reappliedEditing)
   34327         (KHTMLPart::applyStyle):
   34328         * khtml/khtml_part.h
   34329         * khtml/khtmlpart_p.h
   34330         * kwq/KWQEditCommand.h
   34331         * kwq/KWQEditCommand.mm
   34332         (-[KWQEditCommand initWithEditCommandImpl:])
   34333         (+[KWQEditCommand commandWithEditCommandImpl:])
   34334         (-[KWQEditCommand impl])
   34335         * kwq/KWQKHTMLPart.h
   34336         * kwq/KWQKHTMLPart.mm
   34337         (KWQKHTMLPart::registerCommandForUndo)
   34338         (KWQKHTMLPart::registerCommandForRedo)
   34339         * kwq/WebCoreBridge.mm
   34340         (-[WebCoreBridge undoEditing:])
   34341         (-[WebCoreBridge redoEditing:])
   34342         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:])
   34343         (-[WebCoreBridge moveSelectionToDragCaret:smartMove:])
   34344         (-[WebCoreBridge deleteSelectionWithSmartDelete:])
   34345 
   34346 2004-09-26  Darin Adler  <darin (a] apple.com>
   34347 
   34348         Reviewed by Maciej.
   34349 
   34350         - fixed <rdar://problem/3816170> image.width/height not available from Image objects (works in Firefox)
   34351 
   34352         * khtml/ecma/kjs_html.h: Added width and height.
   34353         * khtml/ecma/kjs_html.cpp: (Image::getValueProperty): Added width and height.
   34354         * khtml/ecma/kjs_html.lut.h: Regenerated.
   34355 
   34356         - unrelated change; changed ordering of use count manipulation just in case we decide some day to do
   34357           something when the use count hits 0
   34358 
   34359         * khtml/rendering/render_image.cpp: (RenderImage::setPixmap): Increment use count on new object before
   34360         decrementing use count on old object.
   34361 
   34362 2004-09-26  Darin Adler  <darin (a] apple.com>
   34363 
   34364         Reviewed by Kevin.
   34365 
   34366         - fixed <rdar://problem/3812771> document.implementation.hasFeature returns false for a lot of features we implement
   34367 
   34368         * khtml/xml/dom_docimpl.cpp: (DOMImplementationImpl::hasFeature): Added all the DOM features that we implemented
   34369         as part of the HTML editing work.
   34370 
   34371         * khtml/dom/dom_node.cpp: (Node::isSupported): Changed this to call DOMImplementationImpl::hasFeature to share
   34372         code. Later this might need to be different per-node, but at the moment that does not seem to be so.
   34373 
   34374         * khtml/ecma/kjs_dom.cpp:
   34375         (DOMNodeProtoFunc::tryCall): Pass a null string if the parameter is omitted, undefined, or null. This is better than
   34376         having a special case for the string "null" in the DOM implementation.
   34377         (DOMDOMImplementationProtoFunc::tryCall): Ditto.
   34378 
   34379         - fixed <rdar://problem/3814605> REGRESSION: fast/table/039 layout test is failing due to extra trailing whitespace in innerText        
   34380 
   34381         * khtml/editing/visible_text.cpp: (khtml::TextIterator::advance): Check for the case where we are at the end of
   34382         iteration, and don't call exitNode in that case. This prevents us from getting some unwanted trailing \n characters.
   34383 
   34384         - fixed <rdar://problem/3813253> method cloneNode() does not clone dynamically-set style attributes correctly
   34385 
   34386         * khtml/html/html_elementimpl.h: Added cloneNode override.
   34387         * khtml/html/html_elementimpl.cpp:
   34388         (HTMLElementImpl::cloneNode): Added. Copies m_inlineStyleDecl.
   34389         (HTMLElementImpl::parseHTMLAttribute): Changed to use getInlineStyleDecl().
   34390         (HTMLElementImpl::innerText): Changed to do the same thing with fewer lines of code.
   34391         (HTMLElementImpl::outerText): Tweaked comment.
   34392 
   34393         - other cleanup
   34394 
   34395         * khtml/xml/dom_elementimpl.cpp:
   34396         (ElementImpl::cloneNode): Removed an uneeded type cast.
   34397         (XMLElementImpl::cloneNode): Ditto.
   34398 
   34399 2004-09-24  Kevin Decker  <kdecker (a] apple.com>
   34400 
   34401         Reviewed by Maciej.
   34402 
   34403 	<rdar://problem/3799334> DIG: Safari does not properly return style names [DigCSS.htm]
   34404 
   34405         * khtml/css/css_base.cpp:
   34406         (CSSSelector::selectorText): Properly returns Class Selector names.  
   34407 	Before we would get *[CLASS"foo"] instead of .foo
   34408 
   34409 2004-09-24  Ken Kocienda  <kocienda (a] apple.com>
   34410 
   34411         Reviewed by John
   34412 
   34413         Fix for this bug:
   34414         
   34415         <rdar://problem/3814660> REGRESSION (8A200-8A259): Select All has no effect on livepage.apple.com
   34416 
   34417         * khtml/xml/dom_docimpl.cpp:
   34418         (DocumentImpl::updateSelection): Move the selection start and end to rendered positions
   34419         before passing off to the RenderCanvas for drawing.
   34420         * layout-tests/editing/selection/select-all-004-expected.txt: Added.
   34421         * layout-tests/editing/selection/select-all-004.html: Added.
   34422 
   34423 2004-09-24  John Sullivan  <sullivan (a] apple.com>
   34424 
   34425         Reviewed by Maciej.
   34426         
   34427         - fixed <rdar://problem/3528339> Turn on full keyboard access shows 
   34428         invisible <input> elements
   34429 
   34430         * khtml/html/html_formimpl.cpp:
   34431         (DOM::HTMLGenericFormElementImpl::isFocusable):
   34432         reject elements that have zero width or height, even if they aren't hidden
   34433 
   34434 2004-09-24  Maciej Stachowiak  <mjs (a] apple.com>
   34435 
   34436 	- fixed deployment build
   34437 
   34438         Reviewed by Ken.
   34439 
   34440         * khtml/dom/dom_string.cpp: put implementation of ascii() in #ifdef !NDEBUG
   34441 	to match prototype.
   34442 
   34443 2004-09-24  David Hyatt  <hyatt (a] apple.com>
   34444 
   34445 	Fix for 3800316, test 37 for tables is failing on the layout tests.  Make sure we don't incorrectly match
   34446 	non-HTML elements with HTML tag selectors in CSS.
   34447 	
   34448         Reviewed by rjw
   34449 
   34450         * khtml/css/cssstyleselector.cpp:
   34451         (khtml::CSSStyleSelector::checkOneSelector):
   34452 
   34453 2004-09-23  David Hyatt  <hyatt (a] apple.com>
   34454 
   34455 	Fix for 3601920, CSS "tabs" not switching properly on zen garden design.  Improve the repainting to account
   34456 	for layer changes of z-index that necessitate an invalidation.
   34457 	
   34458         Reviewed by kocienda
   34459 
   34460         * khtml/rendering/render_object.cpp:
   34461         (RenderObject::setStyle):
   34462         * khtml/rendering/render_style.cpp:
   34463         (RenderStyle::diff):
   34464         * khtml/rendering/render_style.h:
   34465         (khtml::RenderStyle::):
   34466 
   34467 2004-09-24  Chris Blumenberg  <cblu (a] apple.com>
   34468 
   34469 	Made markup copying 5 times faster. Unfortunately, this still doesn't fix:
   34470 	<rdar://problem/3794799> Tiger8A252: copying a bunch o' text is so slow it seems like a hang
   34471 
   34472         Reviewed by rjw.
   34473 
   34474         * khtml/dom/dom_string.h:
   34475         * khtml/xml/dom2_rangeimpl.cpp:
   34476         (DOM::RangeImpl::toHTML): serialize the range by iterating through the range
   34477         * khtml/xml/dom_nodeimpl.cpp:
   34478         (NodeImpl::startMarkup): new, factored out from recursive_toString
   34479         (NodeImpl::endMarkup): ditto
   34480         (NodeImpl::recursive_toString): call factored out methods
   34481         * khtml/xml/dom_nodeimpl.h:
   34482 
   34483 === Safari-165 ===
   34484 
   34485 2004-09-24  Ken Kocienda  <kocienda (a] apple.com>
   34486 
   34487         Hyatt made an improvement in the render tree which caused the results
   34488         to get a little thinner.
   34489 
   34490         * layout-tests/editing/deleting/delete-block-merge-contents-001-expected.txt
   34491         * layout-tests/editing/deleting/delete-block-merge-contents-008-expected.txt
   34492 
   34493 2004-09-24  Ken Kocienda  <kocienda (a] apple.com>
   34494 
   34495         Reviewed by Hyatt
   34496         
   34497         Fix for this bug:
   34498         
   34499         <rdar://problem/3812939> REGRESSION: move-between-blocks-no-001 editing layout test fails in DeleteSelectionCommandImpl
   34500 
   34501         * khtml/rendering/render_block.cpp:
   34502         (khtml::RenderBlock::removeChild): Hyatt said this regression was caused by a bad merge. 
   34503         Found by code inspection.
   34504 
   34505 2004-09-23  John Sullivan  <sullivan (a] apple.com>
   34506 
   34507         Reviewed by Maciej.
   34508         
   34509         - fixed <rdar://problem/3551850> hang caused by interpreting bad javascript 
   34510         guarded by a deliberately bogus "language" attribute (www.riibe.com)
   34511 
   34512         * khtml/html/htmltokenizer.cpp:
   34513         (khtml::HTMLTokenizer::parseTag):
   34514         Check for language attribute of <script> tag in a way that matches WinIE.
   34515         Previously we were far too permissive.
   34516 
   34517 2004-09-23  David Hyatt  <hyatt (a] apple.com>
   34518 
   34519 	Fix for 3685234 and 3548444, the x-offset for frame borders was off by 1 pixel, causing mojibake to occur when
   34520 	repainting happened.
   34521 
   34522         * khtml/rendering/render_canvas.cpp:
   34523         (RenderCanvas::repaintViewRectangle):
   34524 
   34525 2004-09-23  Richard Williamson   <rjw (a] apple.com>
   34526 
   34527 	Fixed <rdar://problem/3813271> dashboard-region-circle and dashboard-region-rectangle should be collapsed into dashboard-region
   34528 	Fixed <rdar://problem/3813289> dashboard regions need to correctly account for overflow/scrolling
   34529 
   34530         Reviewed by Chris.
   34531 
   34532         * khtml/css/css_valueimpl.cpp:
   34533         (CSSPrimitiveValueImpl::cssText):
   34534         * khtml/css/css_valueimpl.h:
   34535         * khtml/css/cssparser.cpp:
   34536         (CSSParser::parseValue):
   34537         (skipCommaInDashboardRegion):
   34538         (CSSParser::parseDashboardRegions):
   34539         * khtml/khtmlview.cpp:
   34540         (KHTMLView::layout):
   34541         (KHTMLView::updateDashboardRegions):
   34542         * khtml/khtmlview.h:
   34543         * khtml/rendering/render_layer.cpp:
   34544         (RenderLayer::scrollToOffset):
   34545         * khtml/rendering/render_object.cpp:
   34546         (RenderObject::addDashboardRegions):
   34547         * kwq/KWQKHTMLPart.mm:
   34548         (KWQKHTMLPart::dashboardRegionsChanged):
   34549         * kwq/WebDashboardRegion.h:
   34550         * kwq/WebDashboardRegion.m:
   34551         (-[WebDashboardRegion initWithRect:clip:type:]):
   34552         (-[WebDashboardRegion dashboardRegionClip]):
   34553         (-[WebDashboardRegion description]):
   34554 
   34555 2004-09-23  Ken Kocienda  <kocienda (a] apple.com>
   34556 
   34557         Reviewed by Richard
   34558 
   34559         * khtml/xml/dom_position.cpp:
   34560         (DOM::Position::inRenderedContent): Make the "empty block" check the same as the one
   34561         use in visible position. This fixes a recent regression which broke up and down
   34562         arrowing between blocks with an empty block in between.
   34563 
   34564 2004-09-23  Maciej Stachowiak  <mjs (a] apple.com>
   34565 
   34566         Reviewed by Darin.
   34567 
   34568 	<rdar://problem/3685235> REGRESSION (Mail): links are not properly editable
   34569         
   34570 	* khtml/html/html_inlineimpl.cpp:
   34571         (HTMLAnchorElementImpl::isFocusable): If this element is editable, then follow
   34572 	the normal focus rules so the link does not swallow focus when you arrow key
   34573 	or drag-select into it.
   34574 
   34575 2004-09-23  Darin Adler  <darin (a] apple.com>
   34576 
   34577         - added test for the DOM::Range bug fixed recently
   34578 
   34579         * layout-tests/fast/dom/clone-contents-0-end-offset-expected.txt: Added.
   34580         * layout-tests/fast/dom/clone-contents-0-end-offset.html: Added.
   34581 
   34582 2004-09-23  David Hyatt  <hyatt (a] apple.com>
   34583 
   34584 	Fix for hitlist bug, crash when deleting.  
   34585 
   34586 	Also fix repaint bug when inlines are inside overflow:auto/scroll regions.
   34587 	
   34588         Reviewed by kocienda
   34589 
   34590         * khtml/editing/htmlediting_impl.cpp:
   34591         (khtml::DeleteSelectionCommandImpl::DeleteSelectionCommandImpl):
   34592         (khtml::DeleteSelectionCommandImpl::doApply):
   34593         * khtml/rendering/render_block.cpp:
   34594         (khtml::RenderBlock::removeChild):
   34595         * khtml/rendering/render_flow.cpp:
   34596         (RenderFlow::getAbsoluteRepaintRect):
   34597 
   34598 2004-09-23  John Sullivan  <sullivan (a] apple.com>
   34599 
   34600         Reviewed by Ken.
   34601 
   34602         - fixed <rdar://problem/3527840> reproducible crash at johnbrown.v32.qikker.com 
   34603         (nil-deref in NodeImpl::dispatchEvent)
   34604 
   34605         * khtml/xml/dom_nodeimpl.cpp:
   34606         (NodeImpl::dispatchEvent):
   34607         guard against document or document->document() being nil
   34608 
   34609 2004-09-23  Darin Adler  <darin (a] apple.com>
   34610 
   34611         Reviewed by Ken.
   34612 
   34613         - added new VisibleRange class; not used yet
   34614 
   34615         * WebCore.pbproj/project.pbxproj: Added visible_range.h and visible_range.cpp.
   34616         * khtml/editing/visible_range.cpp: Added.
   34617         * khtml/editing/visible_range.h: Added.
   34618 
   34619         - tweaks
   34620 
   34621         * kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
   34622         Use switch statement instead of if statement so we get a warning if we ever add a new
   34623         granularity.
   34624 
   34625         * khtml/editing/selection.h: khtml, not DOM, namespace
   34626         * khtml/editing/visible_position.h: Ditto.
   34627 
   34628 2004-09-23  Darin Adler  <darin (a] apple.com>
   34629 
   34630         Reviewed by Ken.
   34631 
   34632         - fixed <rdar://problem/3812758> 8S266: attaching mutation events to an editable div crashes Safari
   34633 
   34634         * khtml/xml/dom_nodeimpl.cpp:
   34635         (NodeImpl::dispatchEvent): Added ref/deref so this works if passed a "floating" event object.
   34636         (NodeImpl::dispatchGenericEvent): Ditto.
   34637         (NodeImpl::dispatchHTMLEvent): Removed unneeded ref/deref now that dispatchEvent takes care of it.
   34638         (NodeImpl::dispatchMouseEvent): Ditto.
   34639         (NodeImpl::dispatchUIEvent): Ditto.
   34640 
   34641 2004-09-23  Darin Adler  <darin (a] apple.com>
   34642 
   34643         Reviewed by Ken.
   34644 
   34645         - fixed some minor mistakes discovered by code inspection
   34646 
   34647         * khtml/khtml_part.cpp:
   34648         (KHTMLPart::setSelection): Changed to not grab focus if clearing the selection.
   34649         Grabbing focus when we get the selection is also probably something that should be
   34650         conditional, since you can use a WebView in a mode where it can have selection even
   34651         when not first responder, ala NSTextView.
   34652         (KHTMLPart::setCaretVisible): Changed to not grab focus if making the caret invisible.
   34653         Not sure if it's ever important to grab focus when making the caret visible, but by
   34654         code inspection it seemed that was unlikely to do harm.
   34655 
   34656 2004-09-23  Darin Adler  <darin (a] apple.com>
   34657 
   34658         Reviewed by Ken.
   34659 
   34660         - fixed <rdar://problem/3790595> "ERROR: unimplemented propertyID: 97" logged to console when copying selection (table-layout)
   34661 
   34662         * khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   34663         Added CSS_PROP_TABLE_LAYOUT case.
   34664 
   34665 2004-09-23  Darin Adler  <darin (a] apple.com>
   34666 
   34667         Reviewed by Ken.
   34668 
   34669         - fixed <rdar://problem/3809600> REGRESSION: text in search field doesn't disappear when clicked at developer.apple.com
   34670 
   34671         Reversing the order of scope caused us to get and set too many properties in the window
   34672         object; in the case of this bug setting value ended up setting a window.value property
   34673         instead of the value of the <input> element.
   34674 
   34675         * khtml/ecma/kjs_window.h: Removed bogus hasProperty function that always returns true.
   34676         Testing shows that MacIE and Gecko match our behavior when we remove this, despite the
   34677         "need this to match IE behavior" comment in the file, which I believe is incorrect.
   34678         * khtml/ecma/kjs_window.cpp: Ditto.
   34679 
   34680 2004-09-23  Darin Adler  <darin (a] apple.com>
   34681 
   34682         Reviewed by Ken.
   34683 
   34684         - fixed <rdar://problem/3812471> -[DOMRange cloneContents] clones too much in some cases where endOffset is 0
   34685 
   34686         * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents): Added some nil
   34687         checks to prevent this function from crashing if offsets are greater than the
   34688         number of child nodes. Added a special case for offset 0 in one case that has a loop
   34689         that won't work correctly for that case.
   34690 
   34691 2004-09-23  Darin Adler  <darin (a] apple.com>
   34692 
   34693         Reviewed by Ken.
   34694 
   34695         - fixed <rdar://problem/3811890> when selecting and moving the caret, some words aren't spell-checked (test case included)
   34696 
   34697         This was mostly fixed by changes I made recently, but using the test case in the bug
   34698         I discovered one regression I introduced and another problem that wasn't fixed yet.
   34699         This change fixes both.
   34700 
   34701         * kwq/KWQKHTMLPart.mm:
   34702         (KWQKHTMLPart::markMisspellingsInSelection): Removed unneeded inRenderedContent() check. It was returning false
   34703         in cases involving a <br> at the end of line, and the check isn't all that helpful now that we use VisiblePosition,
   34704         which takes care of that sort of thing for you. Changed code to determine the range to check to use the two
   34705         different flavors of word boundary to expand to words we touch in both directions.
   34706         (KWQKHTMLPart::updateSpellChecking): Changed to use the same logic about word boundaries. By being consistent,
   34707         the anomalies reported in the bug report go away.
   34708 
   34709 2004-09-23  Darin Adler  <darin (a] apple.com>
   34710 
   34711         Reviewed by Ken.
   34712 
   34713         - fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick
   34714 
   34715         Since we are doing a bit less "defers callbacks" work, when testing I ran into this code path.
   34716 
   34717         * khtml/xml/dom2_eventsimpl.cpp: (MouseEventImpl::computeLayerPos): Check for document without renderer.
   34718 
   34719 2004-09-23  Darin Adler  <darin (a] apple.com>
   34720 
   34721         - checked in a new file I forgot
   34722 
   34723         * khtml/editing/text_granularity.h: Added.
   34724 
   34725 2004-09-22  Darin Adler  <darin (a] apple.com>
   34726 
   34727         - renamed
   34728 
   34729             DOM::CaretPosition -> khtml::VisibleRange
   34730             DOM::Selection     -> khtml::Selection
   34731 
   34732         - moved all the functions in visible_units.h from DOM to khtml namespace
   34733         - moved the one thing from Selection that KHTMLPart uses into its own header
   34734 
   34735         * WebCore.pbproj/project.pbxproj: Added text_granularity.h.
   34736 
   34737         * ForwardingHeaders/editing/selection.h: Added.
   34738         * WebCore-combined.exp: Regenerated.
   34739         * WebCore-tests.exp: Updated symbol for DOM::Selection debugging.
   34740 
   34741         * khtml/ecma/kjs_window.cpp: Update names and namespaces.
   34742         * khtml/editing/htmlediting.cpp: Ditto.
   34743         * khtml/editing/htmlediting.h: Ditto.
   34744         * khtml/editing/htmlediting_impl.cpp: Ditto.
   34745         * khtml/editing/htmlediting_impl.h: Ditto.
   34746         * khtml/editing/jsediting.cpp: Ditto.
   34747         * khtml/editing/selection.cpp: Ditto.
   34748         * khtml/editing/selection.h: Ditto.
   34749         * khtml/editing/visible_position.cpp: Ditto.
   34750         * khtml/editing/visible_position.h: Ditto.
   34751         * khtml/editing/visible_text.h: Ditto.
   34752         * khtml/editing/visible_units.cpp: Ditto.
   34753         * khtml/editing/visible_units.h: Ditto.
   34754         * khtml/khtml_part.cpp: Ditto.
   34755         * khtml/khtml_part.h: Ditto.
   34756         * khtml/khtmlpart_p.h: Ditto.
   34757         * khtml/rendering/render_block.cpp: Ditto.
   34758         * khtml/xml/dom_docimpl.h: Ditto.
   34759         * khtml/xml/dom_nodeimpl.cpp: Ditto.
   34760         * kwq/KWQKHTMLPart.h: Ditto.
   34761         * kwq/KWQKHTMLPart.mm: Ditto.
   34762         * kwq/KWQRenderTreeDebug.cpp: Ditto.
   34763         * kwq/WebCoreBridge.mm: Ditto.
   34764 
   34765 2004-09-22  Darin Adler  <darin (a] apple.com>
   34766 
   34767         * ForwardingHeaders/*: Use import instead of include.
   34768 
   34769 2004-09-22  Darin Adler  <darin (a] apple.com>
   34770 
   34771         - renamed these files:
   34772 
   34773             misc/khtml_text_operations.h   -> editing/visible_text.h
   34774             misc/khtml_text_operations.cpp -> editing/visible_text.cpp
   34775             xml/dom_caretposition.cpp      -> editing/visible_position.cpp
   34776             xml/dom_caretposition.h        -> editing/visible_position.h
   34777             xml/dom_selection.cpp          -> editing/selection.cpp
   34778             xml/dom_selection.h            -> editing/selection.h
   34779 
   34780         - broke out the word/line/paragraph part of visible_position.h into visible_units.h
   34781         - removed some unnecessary includes from some header files to reduce the number of
   34782           files that trigger "building the world"
   34783 
   34784         * WebCore.pbproj/project.pbxproj: Added the files under new names, removed the old ones.
   34785 
   34786         * ForwardingHeaders/editing/jsediting.h: Added.
   34787         * ForwardingHeaders/editing/visible_text.h: Added.
   34788         * ForwardingHeaders/misc/khtml_text_operations.h: Removed.
   34789         * ForwardingHeaders/xml/dom_caretposition.h: Removed.
   34790         * ForwardingHeaders/xml/dom_selection.h: Removed.
   34791 
   34792         * khtml/ecma/kjs_window.cpp: Updated or removed #include lines.
   34793         * khtml/editing/htmlediting.cpp: Ditto.
   34794         * khtml/editing/htmlediting.h: Ditto.
   34795         * khtml/editing/htmlediting_impl.cpp: Ditto.
   34796         * khtml/editing/htmlediting_impl.h: Ditto.
   34797         * khtml/editing/jsediting.cpp: Ditto.
   34798         * khtml/editing/selection.cpp: Ditto.
   34799         * khtml/editing/selection.h: Ditto.
   34800         * khtml/editing/visible_position.cpp: Ditto.
   34801         * khtml/editing/visible_position.h: Ditto.
   34802         * khtml/editing/visible_text.cpp: Ditto.
   34803         * khtml/editing/visible_text.h: Ditto.
   34804         * khtml/editing/visible_units.cpp: Added.
   34805         * khtml/editing/visible_units.h: Added.
   34806         * khtml/html/html_elementimpl.cpp: Updated or removed #include lines.
   34807         * khtml/khtml_part.cpp: Ditto.
   34808         * khtml/khtml_part.h: Ditto.
   34809         * khtml/khtmlpart_p.h: Ditto.
   34810         * khtml/khtmlview.cpp: Ditto.
   34811         * khtml/misc/khtml_text_operations.cpp: Removed.
   34812         * khtml/misc/khtml_text_operations.h: Removed.
   34813         * khtml/rendering/render_block.cpp: Updated or removed #include lines.
   34814         * khtml/xml/dom2_rangeimpl.cpp: Ditto.
   34815         * khtml/xml/dom_caretposition.cpp: Removed.
   34816         * khtml/xml/dom_caretposition.h: Removed.
   34817         * khtml/xml/dom_docimpl.cpp: Updated or removed #include lines.
   34818         * khtml/xml/dom_docimpl.h: Ditto.
   34819         * khtml/xml/dom_elementimpl.cpp: Ditto.
   34820         * khtml/xml/dom_nodeimpl.cpp: Ditto.
   34821         * khtml/xml/dom_position.cpp: Ditto.
   34822         * khtml/xml/dom_selection.cpp: Removed.
   34823         * khtml/xml/dom_selection.h: Removed.
   34824         * kwq/KWQKHTMLPart.mm: Updated or removed #include lines.
   34825         * kwq/KWQKHTMLPart.h: Ditto.
   34826         * kwq/KWQRenderTreeDebug.cpp: Ditto.
   34827         * kwq/WebCoreBridge.mm: Ditto.
   34828 
   34829 2004-09-22  Richard Williamson   <rjw (a] apple.com>
   34830 	
   34831 	Pass dashboard regions up to WebKit.
   34832 	
   34833 	Don't collect regions from RenderTexts.
   34834 
   34835 	Made more args and return types references to avoid
   34836 	copying value lists.
   34837 
   34838         Reviewed by Hyatt.
   34839 
   34840         * WebCore.pbproj/project.pbxproj:
   34841         * khtml/khtmlview.cpp:
   34842         (KHTMLView::layout):
   34843         * khtml/rendering/render_object.cpp:
   34844         (RenderObject::collectDashboardRegions):
   34845         * khtml/xml/dom_docimpl.cpp:
   34846         (DocumentImpl::dashboardRegions):
   34847         (DocumentImpl::setDashboardRegions):
   34848         * khtml/xml/dom_docimpl.h:
   34849         * kwq/KWQKHTMLPart.h:
   34850         * kwq/KWQKHTMLPart.mm:
   34851         (KWQKHTMLPart::didFirstLayout):
   34852         (KWQKHTMLPart::dashboardRegionsChanged):
   34853         * kwq/WebCoreBridge.h:
   34854         * kwq/WebDashboardRegion.h: Added.
   34855         * kwq/WebDashboardRegion.m: Added.
   34856         (-[WebDashboardRegion initWithRect:type:]):
   34857         (-[WebDashboardRegion copyWithZone:]):
   34858         (-[WebDashboardRegion dashboardRegionRect]):
   34859         (-[WebDashboardRegion dashboardRegionType]):
   34860         (-[WebDashboardRegion description]):
   34861 
   34862 2004-09-22  Ken Kocienda  <kocienda (a] apple.com>
   34863 
   34864         Reviewed by Hyatt
   34865 
   34866         Fix for this hitlist bug:
   34867         
   34868         <rdar://problem/3805486> REGRESSION (Mail): Empty block elements can cause the caret to get "stuck" in one spot
   34869 
   34870         * khtml/xml/dom_caretposition.cpp:
   34871         (DOM::CaretPosition::isCandidate): You can no longer caret into empty blocks with no height.
   34872         Also did a little clean up in this function.
   34873         * layout-tests/editing/deleting/delete-3800834-fix-expected.txt: Regenerated expected results. 
   34874         This test was actually failing and had bogus results checked in!
   34875         * layout-tests/editing/selection/select-all-003-expected.txt: Regenerated expected results.
   34876 
   34877 2004-09-22  Chris Blumenberg  <cblu (a] apple.com>
   34878 
   34879 	Fixed: <rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag
   34880 
   34881         Reviewed by john.
   34882 
   34883         * khtml/editing/htmlediting.cpp:
   34884         (khtml::MoveSelectionCommand::MoveSelectionCommand): take smartMove arg
   34885         * khtml/editing/htmlediting.h:
   34886         * khtml/editing/htmlediting_impl.cpp:
   34887         (khtml::CompositeEditCommandImpl::deleteSelection): take smartDelete arg
   34888         (khtml::MoveSelectionCommandImpl::MoveSelectionCommandImpl): take smartMove arg
   34889         (khtml::MoveSelectionCommandImpl::doApply): pass smartMove for smartDelete and smartReplace
   34890         * khtml/editing/htmlediting_impl.h:
   34891         * kwq/WebCoreBridge.h:
   34892         * kwq/WebCoreBridge.mm:
   34893         (-[WebCoreBridge moveSelectionToDragCaret:smartMove:]): take smartMove arg
   34894 
   34895 2004-09-22  Ken Kocienda  <kocienda (a] apple.com>
   34896 
   34897         Reviewed by Hyatt
   34898 
   34899         * khtml/css/css_computedstyle.cpp:
   34900         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): New overloaded 
   34901 	version of this function, one that takes a flag to determine whether to
   34902 	perform a document updateLayout() call before querying the style system.
   34903         * khtml/css/css_computedstyle.h:
   34904         (DOM::EUpdateLayout): Give a symbolic constant to true/false for the 
   34905 	purpose of the new call to getPropertyCSSValue.
   34906         * khtml/editing/htmlediting_impl.cpp:
   34907         (khtml::StyleChange::currentlyHasStyle): Pass DoNotUpdateLayout to call to
   34908 	getPropertyCSSValue.
   34909         (khtml::CompositeEditCommandImpl::applyTypingStyle): Add in top-level calls
   34910 	to updateLayout before doing style changes that now do not update styles
   34911 	themselves.
   34912         (khtml::ApplyStyleCommandImpl::doApply): Ditto.
   34913         (khtml::ApplyStyleCommandImpl::removeCSSStyle): Pass DoNotUpdateLayout to call to
   34914         getPropertyCSSValue.
   34915         (khtml::DeleteSelectionCommandImpl::computeTypingStyle): Remove this dead code.
   34916         * khtml/editing/htmlediting_impl.h: Ditto.
   34917 
   34918 2004-09-22  Ken Kocienda  <kocienda (a] apple.com>
   34919 
   34920         Reviewed by Darin
   34921 
   34922         * WebCore.pbproj/project.pbxproj: New files added.
   34923         * khtml/khtml_part.cpp:
   34924         (KHTMLPart::clearSelection): No longer calls setFocusIfNeeded.
   34925         (KHTMLPart::slotClearSelection): Merged old implementation from this function to
   34926         clearSelection. Now just calls clearSelection. Also put in !APPLE_CHANGES since
   34927         we do not call it.
   34928         * khtml/xml/dom_docimpl.cpp:
   34929         (DocumentImpl::setFocusNode): Add some code to determine when setting the focus should
   34930         clear the selection.
   34931         * kwq/KWQWidget.mm:
   34932         (QWidget::hasFocus): Call _webcore_effectiveFirstResponder to get view to check for focus.
   34933         (QWidget::setFocus): Ditto.
   34934         * kwq/WebCoreBridge.mm: 
   34935         (-[WebCoreBridge deselectText]): Called slotClearSelection and should have been. Now calls
   34936         clearSelection.
   34937         * kwq/WebCoreView.h: Added.
   34938         * kwq/WebCoreView.m: Added.
   34939         (-[NSView _webcore_effectiveFirstResponder]): New method to yield the correct responder
   34940         to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent 
   34941         unwanted firstResponder switching.
   34942         (-[NSClipView _webcore_effectiveFirstResponder]): Ditto.
   34943         (-[NSScrollView _webcore_effectiveFirstResponder]): Ditto.
   34944 
   34945 2004-09-21  Maciej Stachowiak  <mjs (a] apple.com>
   34946 
   34947         Reviewed by Darin.
   34948 
   34949 	<rdar://problem/3805137> REGRESSION: Cannot search on pricetool.com
   34950 
   34951         The problem here is that residual style handling can cause an
   34952 	element associated with a misnested form to lose the association,
   34953 	because it can become detached and then reattached in this
   34954 	case. So we need to maintain the association.
   34955 	
   34956         * khtml/html/html_formimpl.h: Added list of dormant elements to form,
   34957 	and dormant bit to generic form element.
   34958 	* khtml/html/html_formimpl.cpp:
   34959         (DOM::HTMLFormElementImpl::~HTMLFormElementImpl): Clear m_form field for
   34960 	dormant elements too.
   34961         (DOM::HTMLFormElementImpl::registerFormElement): Remove from dormant list
   34962 	in addition to adding to main list.
   34963         (DOM::HTMLFormElementImpl::removeFormElement): Remove from both lists.
   34964         (DOM::HTMLFormElementImpl::makeFormElementDormant): New method, remove from
   34965 	main list, add to dormant list.
   34966         (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl): Initialize
   34967 	dormant bit to false.
   34968         (DOM::HTMLGenericFormElementImpl::insertedIntoDocument): If the element is
   34969 	dormant and has a form, re-register it and clear the dormant bit.
   34970         (DOM::HTMLGenericFormElementImpl::removedFromDocument): If the document has
   34971 	a form, tell the form it is dormant and set the dormant bit.
   34972 
   34973 2004-09-22  Chris Blumenberg  <cblu (a] apple.com>
   34974 
   34975 	Fixed: <rdar://problem/3811187> REGRESSION (Mail): Control-click past end of document does not spell check last word
   34976 
   34977         Reviewed by kocienda.
   34978 
   34979         * khtml/xml/dom_selection.cpp:
   34980         (DOM::Selection::validate): if at the end of the document, expand to the left.
   34981 
   34982 2004-09-22  Maciej Stachowiak  <mjs (a] apple.com>
   34983 
   34984         Reviewed by Ken and John.
   34985 
   34986 	<rdar://problem/3759228> REGRESSION (Mail): stray characters when entering text via input method right after newline
   34987         
   34988 	* khtml/editing/htmlediting_impl.cpp:
   34989         (khtml::CompositeEditCommandImpl::inputText): Add an optional 
   34990 	selectInsertedText parameter.
   34991         (khtml::ReplaceSelectionCommandImpl::doApply): Let the inputText operation
   34992 	select the text when inserting plain text, because it already knows all the right
   34993 	information to do so, and this function doesn't (sometimes text is inserted
   34994 	before the start of the old selection, not after!)
   34995         * khtml/editing/htmlediting_impl.h:
   34996 
   34997 2004-09-22  Richard Williamson   <rjw (a] apple.com>
   34998 
   34999 	More tweaks to dashboard regions.
   35000 
   35001 	Move dashboard regions list into css3NonInheritedData so it will be shared
   35002 	by all styles that don't modify the empty region list.
   35003 
   35004 	Make the initial value for dashboard region list a static to minimize allocations
   35005 	of empty lists.
   35006 
   35007 	Make marquee and flex style accessor functions const.
   35008 
   35009         Reviewed by Hyatt.
   35010 
   35011         * khtml/rendering/render_style.cpp:
   35012         (RenderStyle::diff):
   35013         * khtml/rendering/render_style.h:
   35014         (khtml::RenderStyle::opacity):
   35015         (khtml::RenderStyle::boxAlign):
   35016         (khtml::RenderStyle::boxDirection):
   35017         (khtml::RenderStyle::boxFlexGroup):
   35018         (khtml::RenderStyle::boxOrdinalGroup):
   35019         (khtml::RenderStyle::boxOrient):
   35020         (khtml::RenderStyle::boxPack):
   35021         (khtml::RenderStyle::marqueeIncrement):
   35022         (khtml::RenderStyle::marqueeSpeed):
   35023         (khtml::RenderStyle::marqueeLoopCount):
   35024         (khtml::RenderStyle::marqueeBehavior):
   35025         (khtml::RenderStyle::marqueeDirection):
   35026         (khtml::RenderStyle::dashboardRegions):
   35027         (khtml::RenderStyle::setDashboardRegions):
   35028         (khtml::RenderStyle::setDashboardRegion):
   35029         (khtml::RenderStyle::initialDashboardRegions):
   35030 
   35031 2004-09-22  David Hyatt  <hyatt (a] apple.com>
   35032 
   35033 	Fix for 3802766, entire view redrawn in Blot while typing.  Don't needlessly create text nodes just to find
   35034 	out the font for the caret position.
   35035 	
   35036         Reviewed by darin
   35037 
   35038         * kwq/KWQKHTMLPart.mm:
   35039         (KWQKHTMLPart::fontForSelection):
   35040 
   35041 2004-09-21  Chris Blumenberg  <cblu (a] apple.com>
   35042 
   35043 	Fixed:
   35044 	<rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
   35045 	<rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace
   35046 
   35047         Reviewed by darin.
   35048 
   35049         * khtml/editing/htmlediting.cpp:
   35050         (khtml::DeleteSelectionCommand::DeleteSelectionCommand): take smartDelete parameter
   35051         (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): take smartReplace parameter
   35052         * khtml/editing/htmlediting.h:
   35053         * khtml/editing/htmlediting_impl.cpp:
   35054         (khtml::DeleteSelectionCommandImpl::DeleteSelectionCommandImpl): take smartDelete parameter
   35055         (khtml::DeleteSelectionCommandImpl::doApply): delete whitespace before and after selection if necessary
   35056         (khtml::ReplaceSelectionCommandImpl::ReplaceSelectionCommandImpl): take smartReplace parameter
   35057         (khtml::ReplaceSelectionCommandImpl::doApply): add whitespace before and after the replacement if necessary
   35058         * khtml/editing/htmlediting_impl.h:
   35059         * kwq/WebCoreBridge.h:
   35060         * kwq/WebCoreBridge.mm:
   35061         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): take smartReplace parameter
   35062         (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:smartReplace:]): ditto
   35063         (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): ditto
   35064         (-[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]): ditto
   35065         (-[WebCoreBridge deleteSelectionWithSmartDelete:]): take smartDelete parameter
   35066 
   35067 2004-09-21  Richard Williamson   <rjw (a] apple.com>
   35068 
   35069 	More dashboard region work.
   35070 
   35071 	Added support for computed style and cssText for new region property.
   35072 	Added restriction on length types allowed in region functions.
   35073 	Added initial and inheritance support for -apple-dashboard-region.
   35074 
   35075         Reviewed by Hyatt.
   35076 
   35077         * khtml/css/css_computedstyle.cpp:
   35078         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   35079         * khtml/css/css_valueimpl.cpp:
   35080         (CSSPrimitiveValueImpl::cssText):
   35081         * khtml/css/cssparser.cpp:
   35082         (CSSParser::parseDashboardRegions):
   35083         * khtml/css/cssstyleselector.cpp:
   35084         (khtml::CSSStyleSelector::applyProperty):
   35085         * khtml/rendering/render_object.cpp:
   35086         (RenderObject::addDashboardRegions):
   35087         * khtml/rendering/render_style.cpp:
   35088         (RenderStyle::diff):
   35089         * khtml/rendering/render_style.h:
   35090         (khtml::StyleDashboardRegion::operator==):
   35091         (khtml::RenderStyle::dashboardRegions):
   35092         (khtml::RenderStyle::setDashboardRegions):
   35093         (khtml::RenderStyle::initialDashboardRegions):
   35094 
   35095 2004-09-21  Darin Adler  <darin (a] apple.com>
   35096 
   35097         Reviewed by Ken.
   35098 
   35099         - fixed problem where our updateLayout call ignores pending stylesheets all the time
   35100 
   35101         * khtml/xml/dom_docimpl.h: Added updateLayoutIgnorePendingStylesheets.
   35102         * khtml/xml/dom_docimpl.cpp:
   35103         (DocumentImpl::updateLayout): Took out the "ignore pending stylesheets" business here.
   35104         (DocumentImpl::updateLayoutIgnorePendingStylesheets): Put it in here.
   35105 
   35106         * khtml/ecma/kjs_dom.cpp: (DOMNode::getValueProperty): Call the new
   35107         updateLayoutIgnorePendingStylesheets function.
   35108         * khtml/ecma/kjs_html.cpp:
   35109         (KJS::HTMLElement::getValueProperty): Ditto.
   35110         (KJS::HTMLElement::putValue): Ditto.
   35111         * khtml/ecma/kjs_views.cpp: (DOMAbstractViewFunc::tryCall): Ditto.
   35112         * khtml/ecma/kjs_window.cpp:
   35113         (Window::updateLayout): Ditto.
   35114         (Selection::get): Ditto.
   35115         (SelectionFunc::tryCall): Ditto.
   35116 
   35117         * khtml/html/html_imageimpl.h: Add ignorePendingStylesheets boolean parameter.
   35118         * khtml/html/html_imageimpl.cpp:
   35119         (HTMLImageElementImpl::width): Respect new parameter.
   35120         (HTMLImageElementImpl::height): Ditto.
   35121 
   35122         - tweaks
   35123 
   35124         * kwq/WebCoreBridge.mm:
   35125         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Removed unneeded
   35126         explicit "true" parameter to setSelection.
   35127         (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Ditto.
   35128 
   35129 2004-09-21  Darin Adler  <darin (a] apple.com>
   35130 
   35131         Reviewed by Ken.
   35132 
   35133         - fix crash when pasting text at the end of the document and then doing an undo
   35134 
   35135         * khtml/editing/htmlediting_impl.cpp:
   35136         (khtml::EditCommandImpl::apply): Call markMisspellingsInSelection before doing
   35137         the editing operation, and we'll tell setSelection not to unmark the old selection.
   35138         Also call updateLayout before calling appliedEditing so DOM operations in the
   35139         code responding to the selection change will work.
   35140         (khtml::EditCommandImpl::unapply): Ditto.
   35141         (khtml::EditCommandImpl::reapply): Ditto.
   35142 
   35143         * khtml/khtml_part.h: Added a third parameter to setSelection to tell it whether
   35144         to unmark the old selection. We must pass false when editing, because the old
   35145         selection might have now-invalid offsets inside it.
   35146         * khtml/khtml_part.cpp:
   35147         (KHTMLPart::setSelection): Add unmarkOldSelection parameter, and respect it.
   35148         (KHTMLPart::appliedEditing): Pass false for unmarkOldSelection.
   35149         (KHTMLPart::unappliedEditing): Ditto.
   35150         (KHTMLPart::reappliedEditing): Ditto.
   35151 
   35152 2004-09-21  Richard Williamson   <rjw (a] apple.com>
   35153 
   35154         Part 2 of the feature requested in
   35155         <rdar://problem/3752791> Dashboard: Need a better solution for control regions
   35156 	
   35157         This patch actually collections the regions and converts to absolute coordinates.
   35158         Only remaining piece is to pass over the bridge and up the alley to WebKit
   35159         UI delegate.
   35160  
   35161         Reviewed by Ken.
   35162 
   35163         * khtml/css/css_valueimpl.h:
   35164         (DOM::CSSPrimitiveValueImpl::getDashboardRegionValue):
   35165         * khtml/css/cssparser.cpp:
   35166         (CSSParser::parseValue):
   35167         (CSSParser::parseDashboardRegions):
   35168         * khtml/css/cssproperties.c:
   35169         * khtml/css/cssproperties.h:
   35170         * khtml/css/cssproperties.in:
   35171         * khtml/css/cssstyleselector.cpp:
   35172         (khtml::CSSStyleSelector::applyProperty):
   35173         * khtml/khtmlview.cpp:
   35174         (KHTMLView::layout):
   35175         * khtml/rendering/render_object.cpp:
   35176         (RenderObject::computeDashboardRegions):
   35177         (RenderObject::addDashboardRegions):
   35178         (RenderObject::collectDashboardRegions):
   35179         * khtml/rendering/render_object.h:
   35180         (khtml::DashboardRegionValue::operator==):
   35181         * khtml/rendering/render_style.cpp:
   35182         * khtml/rendering/render_style.h:
   35183         (khtml::StyleDashboardRegion::):
   35184         (khtml::RenderStyle::dashboardRegions):
   35185         (khtml::RenderStyle::setDashboardRegion):
   35186         * khtml/xml/dom_docimpl.cpp:
   35187         (DocumentImpl::DocumentImpl):
   35188         (DocumentImpl::updateLayout):
   35189         (DocumentImpl::acceptsEditingFocus):
   35190         (DocumentImpl::dashboardRegions):
   35191         (DocumentImpl::setDashboardRegions):
   35192         * khtml/xml/dom_docimpl.h:
   35193         (DOM::DocumentImpl::hasDashboardRegions):
   35194         (DOM::DocumentImpl::setHasDashboardRegions):
   35195 
   35196 2004-09-21  John Sullivan  <sullivan (a] apple.com>
   35197 
   35198         Reviewed by Darin.
   35199         
   35200         - WebCore part of fix for <rdar://problem/3618274> REGRESSION (125-135): 
   35201         Option-tab doesn't always work as expected
   35202 
   35203         * kwq/KWQKHTMLPart.mm:
   35204         (KWQKHTMLPart::tabsToAllControls):
   35205         reworked logic to match what we promise in the UI; this worked correctly
   35206         before for regular tabbing, but not for option-tabbing.
   35207 
   35208         * kwq/KWQButton.mm:
   35209         (QButton::focusPolicy):
   35210         check tabsToAllControls() rather than just WebCoreKeyboardAccessFull
   35211         
   35212         * kwq/KWQComboBox.mm:
   35213         (QComboBox::focusPolicy):
   35214         ditto
   35215         
   35216         * kwq/KWQFileButton.mm:
   35217         (KWQFileButton::focusPolicy):
   35218         ditto
   35219         
   35220         * kwq/KWQListBox.mm:
   35221         (QListBox::focusPolicy):
   35222         ditto
   35223 
   35224 2004-09-21  John Sullivan  <sullivan (a] apple.com>
   35225 
   35226         * khtml/xml/dom_selection.cpp:
   35227         (DOM::Selection::modify):
   35228         initialize xPos to make compiler happy in deployment builds
   35229 
   35230 2004-09-21  Darin Adler  <darin (a] apple.com>
   35231 
   35232         Reviewed by Ken.
   35233 
   35234         - some small mechanical improvements to the position and selection classes
   35235 
   35236         * khtml/xml/dom_position.h: Added clear(), startPosition(), and endPosition().
   35237         * khtml/xml/dom_position.cpp:
   35238         (DOM::Position::clear): Added.
   35239         (DOM::startPosition): Added.
   35240         (DOM::endPosition): Added.
   35241 
   35242         * khtml/xml/dom_caretposition.h: Changed m_position to m_deepPosition. Added clear(),
   35243         removed node() and offset().
   35244         * khtml/xml/dom_caretposition.cpp:
   35245         (DOM::CaretPosition::init): Updated for name change of m_position to m_deepPosition.
   35246         (DOM::CaretPosition::isLastInBlock): Ditto.
   35247         (DOM::CaretPosition::next): Ditto.
   35248         (DOM::CaretPosition::previous): Ditto.
   35249         (DOM::CaretPosition::debugPosition): Ditto.
   35250         (DOM::CaretPosition::formatForDebugger): Ditto.
   35251 
   35252         * khtml/xml/dom_selection.h: Remove setStart, setEnd, setStartAndEnd, rangeStart, rangeEnd,
   35253         and all the assignXXX functions.
   35254         * khtml/xml/dom_selection.cpp:
   35255         (DOM::Selection::Selection): Wean from assign functions, get and set data members directly.
   35256         (DOM::Selection::init): Don't clear base, extent, start, and end, since they have constructors.
   35257         (DOM::Selection::operator=): Wean from assign functions, get and set data members directly.
   35258         (DOM::Selection::moveTo): Ditto.
   35259         (DOM::Selection::setModifyBias): Ditto.
   35260         (DOM::Selection::modifyExtendingRightForward): Ditto.
   35261         (DOM::Selection::modifyMovingRightForward): Ditto.
   35262         (DOM::Selection::modifyExtendingLeftBackward): Ditto.
   35263         (DOM::Selection::modifyMovingLeftBackward): Ditto.
   35264         (DOM::Selection::modify): Ditto.
   35265         (DOM::Selection::xPosForVerticalArrowNavigation): Ditto.
   35266         (DOM::Selection::clear): Ditto.
   35267         (DOM::Selection::setBase): Ditto.
   35268         (DOM::Selection::setExtent): Ditto.
   35269         (DOM::Selection::setBaseAndExtent): Ditto.
   35270         (DOM::Selection::toRange): Ditto.
   35271         (DOM::Selection::layoutCaret): Ditto.
   35272         (DOM::Selection::needsCaretRepaint): Ditto.
   35273         (DOM::Selection::validate): Ditto.
   35274         (DOM::Selection::debugRenderer): Ditto.
   35275         (DOM::Selection::debugPosition): Ditto.
   35276         (DOM::Selection::end):
   35277 
   35278         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): Tweaked whitespace.
   35279 
   35280 2004-09-21  Chris Blumenberg  <cblu (a] apple.com>
   35281 
   35282 	Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)
   35283 
   35284         Reviewed by john.
   35285 
   35286         * khtml/rendering/render_frames.cpp:
   35287         (RenderPartObject::updateWidget): when no MIME type is specified map from the WMP CLASSID to the WMP MIME type, look for the URL of the content in the URL PARAM tag
   35288 
   35289 2004-09-20  Darin Adler  <darin (a] apple.com>
   35290 
   35291         Reviewed by Maciej.
   35292 
   35293         - fixed regression from my recent check-in where misspelled words do not get unmarked when moving the caret
   35294         - changed CaretPosition to hold a Position instead of a node and offset
   35295         - renamed isEmpty to isNull, etc.
   35296 
   35297         * kwq/KWQKHTMLPart.mm:
   35298         (KWQKHTMLPart::jumpToSelection): Updated for name changes.
   35299         (KWQKHTMLPart::advanceToNextMisspelling): Ditto.
   35300         (KWQKHTMLPart::fontForSelection): Ditto.
   35301         (KWQKHTMLPart::setDisplaysWithFocusAttributes): Ditto.
   35302         (KWQKHTMLPart::markMisspellingsInSelection): Ditto.
   35303         (KWQKHTMLPart::updateSpellChecking): Fixed bug by using LeftWordIfOnBoundary.
   35304 
   35305         * khtml/xml/dom_position.h: Updated for name changes.
   35306         * khtml/xml/dom_position.cpp:
   35307         (DOM::Position::element): Change to not use a separate null check.
   35308         (DOM::Position::computedStyle): Updated for name changes.
   35309         (DOM::Position::previousCharacterPosition): Ditto.
   35310         (DOM::Position::nextCharacterPosition): Ditto.
   35311         (DOM::Position::equivalentRangeCompliantPosition): Ditto.
   35312         (DOM::Position::equivalentShallowPosition): Ditto.
   35313         (DOM::Position::equivalentDeepPosition): Ditto.
   35314         (DOM::Position::closestRenderedPosition): Ditto.
   35315         (DOM::Position::inRenderedContent): Ditto.
   35316         (DOM::Position::inRenderedText): Ditto.
   35317         (DOM::Position::isRenderedCharacter): Ditto.
   35318         (DOM::Position::rendersInDifferentPosition): Ditto.
   35319         (DOM::Position::isFirstRenderedPositionOnLine): Ditto.
   35320         (DOM::Position::isLastRenderedPositionOnLine): Ditto.
   35321         (DOM::Position::inFirstEditableInRootEditableElement): Ditto.
   35322         (DOM::Position::leadingWhitespacePosition): Ditto.
   35323         (DOM::Position::trailingWhitespacePosition): Ditto.
   35324         (DOM::Position::debugPosition): Ditto.
   35325         (DOM::Position::formatForDebugger): Ditto.
   35326 
   35327         * khtml/xml/dom_caretposition.h: Change to use m_position, and change names.
   35328         * khtml/xml/dom_caretposition.cpp:
   35329         (DOM::CaretPosition::CaretPosition): Remove code to set up m_node.
   35330         (DOM::CaretPosition::init): Set m_position directly.
   35331         (DOM::CaretPosition::isLastInBlock): Updated for name changes.
   35332         (DOM::CaretPosition::next): Set m_position directly.
   35333         (DOM::CaretPosition::previous): Set m_position directly.
   35334         (DOM::CaretPosition::previousCaretPosition): Updated for name changes.
   35335         (DOM::CaretPosition::nextCaretPosition): Ditto.
   35336         (DOM::CaretPosition::previousPosition): Ditto.
   35337         (DOM::CaretPosition::nextPosition): Ditto.
   35338         (DOM::CaretPosition::atStart): Ditto.
   35339         (DOM::CaretPosition::atEnd): Ditto.
   35340         (DOM::CaretPosition::isCandidate): Ditto.
   35341         (DOM::CaretPosition::debugPosition): Ditto.
   35342         (DOM::CaretPosition::formatForDebugger): Ditto.
   35343         (DOM::startOfWord): Ditto.
   35344         (DOM::endOfWord): Ditto.
   35345         (DOM::previousParagraphPosition): Ditto.
   35346         (DOM::nextParagraphPosition): Ditto.
   35347 
   35348         * khtml/xml/dom_selection.h: Updated names. Added isCaret and isRange.
   35349         * khtml/xml/dom_selection.cpp:
   35350         (DOM::Selection::modifyMovingRightForward): Updated for name changes.
   35351         (DOM::Selection::modifyMovingLeftBackward): Ditto.
   35352         (DOM::Selection::modify): Ditto.
   35353         (DOM::Selection::expandUsingGranularity): Ditto.
   35354         (DOM::Selection::xPosForVerticalArrowNavigation): Ditto.
   35355         (DOM::Selection::toRange): Ditto.
   35356         (DOM::Selection::layoutCaret): Ditto.
   35357         (DOM::Selection::needsCaretRepaint): Ditto.
   35358         (DOM::Selection::validate): Ditto.
   35359         (DOM::startOfFirstRunAt): Ditto.
   35360         (DOM::endOfLastRunAt): Ditto.
   35361         (DOM::selectionForLine): Ditto.
   35362         (DOM::Selection::formatForDebugger): Ditto.
   35363 
   35364         * khtml/ecma/kjs_window.cpp:
   35365         (Selection::get): Updated for name changes.
   35366         (Selection::toString): Ditto.
   35367         * khtml/editing/htmlediting_impl.cpp:
   35368         (khtml::debugPosition): Ditto.
   35369         (khtml::StyleChange::init): Ditto.
   35370         (khtml::StyleChange::currentlyHasStyle): Ditto.
   35371         (khtml::CompositeEditCommandImpl::deleteSelection): Ditto.
   35372         (khtml::CompositeEditCommandImpl::deleteUnrenderedText): Ditto.
   35373         (khtml::ApplyStyleCommandImpl::doApply): Ditto.
   35374         (khtml::DeleteSelectionCommandImpl::doApply): Ditto.
   35375         (khtml::InputNewlineCommandImpl::doApply): Ditto.
   35376         (khtml::InputTextCommandImpl::prepareForTextInsertion): Ditto.
   35377         (khtml::InputTextCommandImpl::input): Ditto.
   35378         (khtml::ReplaceSelectionCommandImpl::doApply): Ditto.
   35379         (khtml::MoveSelectionCommandImpl::doApply): Ditto.
   35380         (khtml::TypingCommandImpl::doApply): Ditto.
   35381         (khtml::TypingCommandImpl::markMisspellingsAfterTyping): Ditto.
   35382         (khtml::TypingCommandImpl::issueCommandForDeleteKey): Ditto.
   35383         * khtml/editing/jsediting.cpp:
   35384         (enabledAnySelection): Ditto.
   35385         (enabledRangeSelection): Ditto.
   35386         * khtml/khtml_part.cpp:
   35387         (KHTMLPart::hasSelection): Ditto.
   35388         (KHTMLPart::setFocusNodeIfNeeded): Ditto.
   35389         (KHTMLPart::selectionLayoutChanged): Ditto.
   35390         (KHTMLPart::timerEvent): Ditto.
   35391         (KHTMLPart::isPointInsideSelection): Ditto.
   35392         (KHTMLPart::selectClosestWordFromMouseEvent): Ditto.
   35393         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   35394         (KHTMLPart::handleMousePressEventSingleClick): Ditto.
   35395         (KHTMLPart::handleMouseMoveEventSelection): Ditto.
   35396         (KHTMLPart::khtmlMouseReleaseEvent): Ditto.
   35397         (KHTMLPart::selectionHasStyle): Ditto.
   35398         (KHTMLPart::selectionComputedStyle): Ditto.
   35399         * khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateSelection): Ditto.
   35400         * khtml/xml/dom_positioniterator.cpp:
   35401         (DOM::PositionIterator::peekPrevious): Ditto.
   35402         (DOM::PositionIterator::peekNext): Ditto.
   35403         (DOM::PositionIterator::atStart): Ditto.
   35404         (DOM::PositionIterator::atEnd): Ditto.
   35405         * khtml/xml/dom_positioniterator.h:
   35406         (DOM::PositionIterator::isEmpty): Ditto.
   35407         * kwq/KWQRenderTreeDebug.cpp:
   35408         (writeSelection): Ditto.
   35409         * kwq/WebCoreBridge.mm:
   35410         (-[WebCoreBridge editableDOMRangeForPoint:]): Ditto.
   35411         (-[WebCoreBridge deleteSelection]): Ditto.
   35412         (-[WebCoreBridge ensureCaretVisible]): Ditto.
   35413         (-[WebCoreBridge rangeOfCharactersAroundCaret]): Ditto.
   35414 
   35415 2004-09-20  Darin Adler  <darin (a] apple.com>
   35416 
   35417         Reviewed by Maciej.
   35418 
   35419         - fixed <rdar://problem/3808073> find is broken
   35420 
   35421         * khtml/misc/khtml_text_operations.h: Add m_pastEndNode and change name of m_endNode to
   35422         m_endContainer to more accurately reflect its purpose.
   35423         * khtml/misc/khtml_text_operations.cpp:
   35424         (khtml::TextIterator::TextIterator): Use pastEnd() for end of iteration, and change to
   35425         handle bad ranges better: just return an empty iterator instead of raising an exception.
   35426         (khtml::TextIterator::advance): Change to use m_pastEndNode to detect the end of iteration.
   35427         (khtml::TextIterator::handleTextNode): Update for name change.
   35428         (khtml::TextIterator::handleTextBox): Ditto.
   35429         (khtml::TextIterator::range): Handle case where m_endContainer is nil.
   35430 
   35431         * khtml/xml/dom2_rangeimpl.cpp:
   35432         (DOM::RangeImpl::surroundContents): Use offsetInCharacters.
   35433         (DOM::RangeImpl::startNode): Added check for nil start container and use offsetInCharacters.
   35434         (DOM::RangeImpl::pastEndNode): Ditto.
   35435 
   35436 2004-09-20  Chris Blumenberg  <cblu (a] apple.com>
   35437 
   35438 	Fixed: <rdar://problem/3781290> REGRESSION (Mail): Crash in ReplaceSelectionCommandImpl attaching file to new message
   35439 
   35440         Reviewed by kocienda.
   35441 
   35442         * khtml/khtml_part.cpp:
   35443         (KHTMLPart::setSelection): setFocusNodeIfNeeded now works on the current selection so call setFocusNodeIfNeeded after setting the selection
   35444         (KHTMLPart::clearSelection): don't call setFocusNodeIfNeeded with the current selection
   35445         (KHTMLPart::setCaretVisible): ditto
   35446         (KHTMLPart::setFocusNodeIfNeeded): do nothing if the part isn't focused, work with the current selection
   35447         * khtml/khtml_part.h:
   35448         * khtml/khtmlpart_p.h:
   35449         (KHTMLPartPrivate::KHTMLPartPrivate): added m_isFocused
   35450         * kwq/KWQKHTMLPart.h:
   35451         * kwq/KWQKHTMLPart.mm:
   35452         (KWQKHTMLPart::KWQKHTMLPart): removed _displaysWithFocusAttributes this is replaced by m_isFocused
   35453         (KWQKHTMLPart::setSelectionFromNone): new, code factored out from setDisplaysWithFocusAttributes
   35454         (KWQKHTMLPart::setDisplaysWithFocusAttributes): call setSelectionFromNone
   35455         (KWQKHTMLPart::displaysWithFocusAttributes): now returns m_isFocused
   35456         * kwq/WebCoreBridge.h:
   35457         * kwq/WebCoreBridge.mm:
   35458         (-[WebCoreBridge setSelectionFromNone]): new
   35459 
   35460 2004-09-20  Darin Adler  <darin (a] apple.com>
   35461 
   35462         Reviewed by Dave.
   35463 
   35464         - fixed nil-deref happening often in Mail when I delete
   35465 
   35466         * khtml/rendering/render_br.cpp: (RenderBR::selectionRect): Check for nil lastLeafChild.
   35467         Dave may want to figure out why it's nil and do a different fix later.
   35468 
   35469 2004-09-20  Maciej Stachowiak  <mjs (a] apple.com>
   35470 
   35471         Reviewed by Richard.
   35472 
   35473 	<rdar://problem/3672101> HANG: typing into login field at dws-direkt.deutsche-bank.de (infinite recursion)
   35474         
   35475 	* khtml/xml/dom_docimpl.cpp:
   35476         (DocumentImpl::defaultEventHandler): Copy the list of handlers
   35477 	before firing any of them, in case a handler affects the list of
   35478 	event handlers.
   35479 
   35480 2004-09-20  Chris Blumenberg  <cblu (a] apple.com>
   35481 
   35482 	Fixed:
   35483 	<rdar://problem/3429921> obey PARAM tags inside of OBJECT tags when necessary
   35484 	<rdar://problem/3515685> Object tag in Java 1.4.1 / Safari doesn't recognize params
   35485 
   35486         Reviewed by darin.
   35487 
   35488         * khtml/khtml_part.cpp:
   35489         (KHTMLPart::requestFrame): take 2 parameter arrays rather than 1 which will have to be parsed
   35490         (KHTMLPart::requestObject): ditto
   35491         * khtml/khtml_part.h:
   35492         * khtml/khtmlpart_p.h:
   35493         * khtml/rendering/render_frames.cpp:
   35494         (RenderPartObject::updateWidget): use PARAM tags when there is no EMBED specified
   35495         * kwq/KWQKHTMLPart.h:
   35496         * kwq/KWQKHTMLPart.mm:
   35497         (KWQKHTMLPart::createPart): call renamed bridge method
   35498         * kwq/KWQKJavaAppletWidget.mm:
   35499         (KJavaAppletWidget::KJavaAppletWidget): ditto
   35500         * kwq/KWQStringList.h:
   35501         * kwq/KWQStringList.mm:
   35502         (QStringList::getNSArray): return a const array
   35503         * kwq/WebCoreBridge.h:
   35504         * kwq/WebCoreBridge.mm:
   35505         (-[WebCoreBridge URLWithAttributeString:]): renamed to match API
   35506 
   35507 2004-09-20  Darin Adler  <darin (a] apple.com>
   35508 
   35509         Reviewed by Ken.
   35510 
   35511         - fixed <rdar://problem/3655360> REGRESSION (Mail): Ctrl-V emacs key binding, -pageDown: method, unimplemented (and pageUp, and selection-modifying versions)
   35512         - fixed <rdar://problem/3735055> REGRESSION (Mail): WebCore double click rules treat style change as a boundary
   35513         - fixed <rdar://problem/3789939> REGRESSION (Mail): double-clicking on border whitespace selects space plus word before/after
   35514         - fixed <rdar://problem/3792138> REGRESSION (Mail): Spell checker doesn't check current selected word
   35515         - fixed <rdar://problem/3806604> REGRESSION (164): Triple-click sometimes selects extra characters
   35516         - fixed <rdar://problem/3806996> REGRESSION (125-162): Triple-click in <pre> tagged text behaves oddly (leuf.net)
   35517 
   35518         * khtml/xml/dom_caretposition.h: Added a lot of new functions. Removed implicit conversion operator
   35519         that converts from CaretPosition to Position.
   35520         * khtml/xml/dom_caretposition.cpp:
   35521         (DOM::CaretPosition::CaretPosition): Change to call deepEquivalent so it works without the implicit
   35522         Position conversion operator.
   35523         (DOM::CaretPosition::operator=): Ditto.
   35524         (DOM::CaretPosition::next): Ditto.
   35525         (DOM::CaretPosition::previous): Ditto.
   35526         (DOM::CaretPosition::setPosition): Added an assertion.
   35527         (DOM::start): Added.
   35528         (DOM::end): Added.
   35529         (DOM::setStart): Added.
   35530         (DOM::setEnd): Added.
   35531         (DOM::previousWordBoundary): Added.
   35532         (DOM::nextWordBoundary): Added.
   35533         (DOM::startWordBoundary): Added.
   35534         (DOM::startOfWord): Added.
   35535         (DOM::endWordBoundary): Added.
   35536         (DOM::endOfWord): Added.
   35537         (DOM::previousWordPositionBoundary): Added.
   35538         (DOM::previousWordPosition): Added.
   35539         (DOM::nextWordPositionBoundary): Added.
   35540         (DOM::nextWordPosition): Added.
   35541         (DOM::previousLinePosition): Added.
   35542         (DOM::nextLinePosition): Added.
   35543         (DOM::startOfParagraph): Changed function name.
   35544         (DOM::endOfParagraph): Changed function name. Fixed code in includeLineBreak to work around
   35545         the CaretPosition constructor issue for <br>, pass the right parameter for the block flow case,
   35546         and handle <pre> properly.
   35547         (DOM::inSameParagraph): Added.
   35548         (DOM::previousParagraphPosition): Added.
   35549         (DOM::nextParagraphPosition): Added.
   35550 
   35551         * khtml/xml/dom_position.h: Removed a number of functions no longer used; also made some private.
   35552         * khtml/xml/dom_position.cpp: Removed a number of functions no longer used.
   35553 
   35554         * khtml/xml/dom_selection.h: Replaced DOCUMENT with DOCUMENT_BOUNDARY. Added overloads of lots
   35555         of functions that take CaretPosition directly. Added overload of modify that takes a parameter
   35556         for vertical distance to help implement pageDown: and friends. Replaced getRepaintRect with
   35557         two new functions named caretRect and caretRepaintRect. Removed nodeIsBeforeNode.
   35558         * khtml/xml/dom_selection.cpp:
   35559         (DOM::Selection::Selection): Added constructor that takes two CaretPosition objects.
   35560         (DOM::Selection::setModifyBias): Added. Helper function.
   35561         (DOM::Selection::modifyExtendingRightForward): Don't set modify bias, since that's now the caller's
   35562         responsibility. Reimplement WORD and LINE in terms of new CaretPosition functions. Implement PARAGRAPH
   35563         and change PARAGRAPH_BOUNDARY to use CaretPosition function by its new name.
   35564         (DOM::Selection::modifyMovingRightForward): Ditto.
   35565         (DOM::Selection::modifyExtendingLeftBackward): Ditto.
   35566         (DOM::Selection::modifyMovingLeftBackward): Ditto.
   35567         (DOM::Selection::modify): Call setModifyBias, and use a switch statement instead of if.
   35568         (DOM::caretY): Added. Helper for the new modify function that implements moving a pixel distance,
   35569         used by pageDown: and friends.
   35570         (DOM::Selection::modify): Added.
   35571         (DOM::Selection::toRange): Use RangeImpl::compareBoundaryPoints instead of nodeIsBeforeNode.
   35572         (DOM::Selection::caretRect): Added. Replaces getRepaintRect, but does not add slop.
   35573         (DOM::Selection::caretRepaintRect): Added. Replaces getRepaintRect; still adds slop.
   35574         (DOM::Selection::needsCaretRepaint): Call caretRepaintRect.
   35575         (DOM::Selection::validate): Use RangeImpl::compareBoundaryPoints instead of nodeIsBeforeNode.
   35576         Reimplement WORD to use new CaretPosition functions; this fixes the double-clicking problems.
   35577         Change paragraph calls to use new names.
   35578 
   35579         * ForwardingHeaders/dom/dom_position.h: Removed. This was in the wrong location.
   35580         * khtml/editing/htmlediting.cpp: Fixed include that said "dom/dom_position.h".
   35581         * khtml/editing/htmlediting_impl.cpp: Fixed include that said "dom/dom_position.h".
   35582         (khtml::TypingCommandImpl::markMisspellingsAfterTyping): Rewrote this to use the new CaretPosition
   35583         functions instead of the old Position functions.
   35584 
   35585         * khtml/misc/helper.h: Added const to character pointer parameter. Also put invertedColor inside
   35586         an !APPLE_CHANGES since it doesn't do us any good.
   35587         * khtml/misc/helper.cpp:
   35588         (khtml::findWordBoundary): Added const to character pointer parameter.
   35589         (khtml::nextWordFromIndex): Ditto.
   35590 
   35591         * kwq/KWQTextUtilities.h: Change parameters to const.
   35592         * kwq/KWQTextUtilities.cpp: (KWQFindWordBoundary): Change parameter to const.
   35593         * kwq/KWQTextUtilities.mm: (KWQFindNextWordFromIndex): Change parameter to const.
   35594 
   35595         * khtml/css/cssstyleselector.cpp: Disable code that uses invertedColor when APPLE_CHANGES, since it
   35596         won't work for us.
   35597 
   35598         * khtml/rendering/render_canvas.cpp: (RenderCanvas::setSelection): Added checks for selection end
   35599         so we can set the selection end to nodes that are not leaf nodes and it will still work. Also took
   35600         out bogus firstChild/lastChild loops for the same reason.
   35601 
   35602         * kwq/KWQKHTMLPart.h: Add "start before selection" flag to advanceToNextMisspelling.
   35603         Needed to fix bug with spell checking.
   35604         * kwq/KWQKHTMLPart.mm:
   35605         (KWQKHTMLPart::findString): Changed to use CaretPosition.
   35606         (KWQKHTMLPart::advanceToNextMisspelling): Added code to handle "start before selection" flag
   35607         and changed to use CaretPosition and new helper functions.
   35608         (KWQKHTMLPart::markMisspellingsInSelection): More changes to use CaretPosition.
   35609         (KWQKHTMLPart::updateSpellChecking): Ditto.
   35610 
   35611         * kwq/WebCoreBridge.h: Replaced WebSelectByDocument with WebSelectToDocumentBoundary.
   35612         Added advanceToNextMisspellingStartingJustBeforeSelection,
   35613         rangeByAlteringCurrentSelection:verticalDistance:, and
   35614         alterCurrentSelection:verticalDistance:.
   35615 
   35616         * kwq/WebCoreBridge.mm:
   35617         (-[WebCoreBridge advanceToNextMisspellingStartingJustBeforeSelection]): Added.
   35618         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Added case for selecting by
   35619         paragraph to save X position.
   35620         (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]): Added.
   35621         (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Added.
   35622         (-[WebCoreBridge ensureCaretVisible]): Call caretRect instead of getRepaintRect.
   35623 
   35624 2004-09-20  Darin Adler  <darin (a] apple.com>
   35625 
   35626         Reviewed by Ken.
   35627 
   35628         - cleaned up DOM::RangeImpl a little so compareBoundaryPoints can be used outside the class
   35629 
   35630         * khtml/xml/dom2_rangeimpl.h: Added const to many of the member functions and made the
   35631         compareBoundaryPoints that works on parameters be a const member function.
   35632         * khtml/xml/dom2_rangeimpl.cpp:
   35633         (DOM::RangeImpl::commonAncestorContainer): Added const.
   35634         (DOM::RangeImpl::compareBoundaryPoints): Added const.
   35635         (DOM::RangeImpl::boundaryPointsValid): Added const, and wrote cleaner version.
   35636         (DOM::RangeImpl::insertNode): Simplified by calling containedByReadOnly.
   35637         (DOM::RangeImpl::toString): Added const.
   35638         (DOM::RangeImpl::toHTML): Added const.
   35639         (DOM::RangeImpl::createContextualFragment): Added const.
   35640         (DOM::RangeImpl::cloneRange): Added const.
   35641         (DOM::RangeImpl::surroundContents): Simplified by calling containedByReadOnly.
   35642 
   35643 2004-09-20  Darin Adler  <darin (a] apple.com>
   35644 
   35645         Reviewed by Ken.
   35646 
   35647         - fixed <rdar://problem/3806990> REGRESSION (125-162): Crash on Select All at http://leuf.net/cgi/wikidn?PerlConvertEolScript
   35648 
   35649         * khtml/rendering/render_replaced.cpp: (RenderWidget::setSelectionState): Added nil check for the
   35650         widget.
   35651 
   35652 2004-09-20  Darin Adler  <darin (a] apple.com>
   35653 
   35654         Reviewed by Ken.
   35655 
   35656         - fixed <rdar://problem/3773740> calling addEventListener on a frame that hasn't loaded yet crashes
   35657 
   35658         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Add nil checks for the document.
   35659         The nil check prevents the crash but there's still a bug here; I filed 3807059 about that.
   35660 
   35661 2004-09-20  Darin Adler  <darin (a] apple.com>
   35662 
   35663         Reviewed by Ken.
   35664 
   35665         - fixed problem where up and down arrow keys are not preserving X position
   35666 
   35667         * khtml/khtml_part.cpp:
   35668         (KHTMLPart::selectionLayoutChanged): Moved code to clear m_xPosForVerticalArrowNavigation out of here.
   35669         (KHTMLPart::notifySelectionChanged): Moved it into here.
   35670 
   35671 2004-09-18  Darin Adler  <darin (a] apple.com>
   35672 
   35673         Reviewed by Maciej.
   35674 
   35675         - fixed <rdar://problem/3805627> -[DOMRange _text] sometimes includes all text to the end of the document for certain ranges
   35676 
   35677         * khtml/misc/khtml_text_operations.cpp: (khtml::TextIterator::advance):
   35678         Correctly handle the case when we are already on m_endNode. The concept here is that
   35679         m_endNode is a node you must never "leave" when iterating.
   35680 
   35681 === Safari-164 ===
   35682 
   35683 2004-09-17  Ken Kocienda  <kocienda (a] apple.com>
   35684 
   35685         * layout-tests/editing/selection/unrendered-004-expected.txt: Updated expected results.
   35686 
   35687 2004-09-17  Ken Kocienda  <kocienda (a] apple.com>
   35688 
   35689         Reviewed by Darin
   35690 
   35691         Fix for this bug:
   35692         
   35693         <rdar://problem/3780245> REGRESSION (Mail): some lines are skipped when doing arrow navigation
   35694 
   35695         * khtml/xml/dom_position.cpp:
   35696         (DOM::Position::previousLinePosition): One-line fix. Make sure that BRs at the end of blocks
   35697         are not skipped.
   35698 
   35699 2004-09-17  Ken Kocienda  <kocienda (a] apple.com>
   35700 
   35701         Reviewed by Darin
   35702 
   35703         Fix for this bug:
   35704         
   35705         <rdar://problem/3805594> REGRESSION (Mail): Second return key stroke does not work when first was in blockquote
   35706 
   35707         * khtml/xml/dom_selection.cpp:
   35708         (DOM::Selection::toRange): Code to convert caret positions moved the position upstream
   35709         before making a range-compliant position, but erroneously would allow the position
   35710         to cross blocks. Now it will no longer do so.
   35711 
   35712 2004-09-16  Richard Williamson   <rjw (a] apple.com>
   35713 
   35714         Part 1 of the feature requested in
   35715         <rdar://problem/3752791> Dashboard: Need a better solution for control regions
   35716 
   35717         This patch implements the CSS parsing necessary for dashboard regions.  
   35718         Here's an example of the syntax we support:
   35719 
   35720         <style>
   35721         #aDiv {
   35722             -apple-dashboard-region:
   35723                 dashboard-region-circle(control 0 0 80 0)
   35724                 dashboard-region-rectangle(control,20,0,20,0)
   35725                 dashboard-region-circle(control 80 0 0 0); 
   35726         }
   35727         </style>
   35728 
   35729 
   35730 	Part 2 will determine the appropriate regions.
   35731 
   35732         Reviewed by Chris.
   35733 
   35734         * khtml/css/css_valueimpl.cpp:
   35735         (CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
   35736         * khtml/css/css_valueimpl.h:
   35737         (DOM::CSSPrimitiveValueImpl::):
   35738         (DOM::DashboardRegionImpl::DashboardRegionImpl):
   35739         (DOM::DashboardRegionImpl::~DashboardRegionImpl):
   35740         (DOM::DashboardRegionImpl::setNext):
   35741         (DOM::DashboardRegionImpl::setLabel):
   35742         * khtml/css/cssparser.cpp:
   35743         (CSSParser::parseValue):
   35744         (CSSParser::parseContent):
   35745         (skipCommaInDashboardRegion):
   35746         (CSSParser::parseDashboardRegions):
   35747         * khtml/css/cssparser.h:
   35748         * khtml/css/cssproperties.c:
   35749         (hash_prop):
   35750         (findProp):
   35751         * khtml/css/cssproperties.h:
   35752         * khtml/css/cssproperties.in:
   35753         * khtml/dom/css_value.h:
   35754         (DOM::CSSPrimitiveValue::):
   35755 
   35756 2004-09-16  Darin Adler  <darin (a] apple.com>
   35757 
   35758         - fixed caret-drawing regression from my last patch
   35759 
   35760         * khtml/xml/dom_selection.cpp:
   35761         (DOM::Selection::xPosForVerticalArrowNavigation): Pass false, meaning "vertical line caret"
   35762         rather than true meaning "big box for overtyping".
   35763         (DOM::Selection::layoutCaret): Ditto.
   35764 
   35765 2004-09-16  Darin Adler  <darin (a] apple.com>
   35766 
   35767         Reviewed by Ken.
   35768 
   35769         - fixed <rdar://problem/3803280> crash in selectAll on page with no contents
   35770 
   35771         * khtml/khtml_part.cpp: (KHTMLPart::selectAll): Handle case of 0 for documentElement().
   35772         * khtml/xml/dom_position.cpp:
   35773         (DOM::Position::previousWordPosition): Ditto.
   35774         (DOM::Position::nextWordPosition): Ditto.
   35775 
   35776         - cleaned up caret code
   35777         - changed DOM::Selection to use CaretPosition more
   35778 
   35779         * khtml/rendering/render_box.cpp: (RenderBox::caretRect): Change to use empty rectangles
   35780         instead of an X value of -1 to mean no rectangle.
   35781         * khtml/rendering/render_image.cpp: (RenderImage::selectionRect): Take advantage of the
   35782         fixed QRect constructor.
   35783         * khtml/rendering/render_object.cpp: (RenderObject::caretRect): Change to use empty
   35784         rectangle instead of an X value of -1 to mean no rectangle.
   35785         * khtml/rendering/render_text.cpp: (RenderText::caretRect): Cleaned up, and changed to use
   35786         an empty rectangle instead of an X value of -1 to mean no rectangle.
   35787 
   35788         * khtml/xml/dom_caretposition.h: Made conversion from Position to CaretPosition something you
   35789         can do implicitly, since it's an unambiguous conversion. Conversion in the other direction
   35790         needs to be done explicitly. Moved EIncludeLineBreak here, and added startParagraphBoundary
   35791         and endParagraphBoundary functions.
   35792         * khtml/xml/dom_caretposition.cpp:
   35793         (DOM::startParagraphBoundary): Added. Replaces, and made from, member function of DOM::Position.
   35794         (DOM::endParagraphBoundary): Ditto.
   35795 
   35796         * khtml/xml/dom_position.h: Removed EIncludeLineBreak and startParagraphBoundary and
   35797         endParagraphBoundary.
   35798         * khtml/xml/dom_position.cpp: Removed startParagraphBoundary and endParagraphBoundary.
   35799 
   35800         * khtml/xml/dom_selection.h: Use CaretPosition instead of Position in a few places.
   35801         Use a QRect for the caret rect. Change nodeIsBeforeNode to be a static member function.
   35802         * khtml/xml/dom_selection.cpp:
   35803         (DOM::Selection::Selection): Change caret to store QRect instead of 3 separate fields.
   35804         (DOM::Selection::init): Ditto.
   35805         (DOM::Selection::operator=): Ditto.
   35806         (DOM::Selection::modifyExtendingRightForward): Change to use CaretPosition instead of Position.
   35807         Check for 0.
   35808         (DOM::Selection::modifyMovingRightForward): Ditto. Check for 0.
   35809         (DOM::Selection::modifyExtendingLeftBackward): Ditto.
   35810         (DOM::Selection::modifyMovingLeftBackward): Ditto.
   35811         (DOM::Selection::modify): Ditto.
   35812         (DOM::Selection::layoutCaret): Change to use a QRect for the caret rect, and use an empty
   35813         one to mean no rectangle.
   35814         (DOM::Selection::getRepaintRect): Ditto.
   35815         (DOM::Selection::paintCaret): Ditto.
   35816         (DOM::Selection::validate): Change to use CaretPosition instead of Position. Also fixed
   35817         PARAGRAPH_BOUNDARY, which was broken and doing the same thing as PARAGRAPH before, but
   35818         it's not really used so that didn't matter. Check for 0.
   35819         (DOM::Selection::nodeIsBeforeNode): Tightened up a bit and added some FIXMEs. This function
   35820         has a number of problems and should probably be discarded in favor of the DOMStringImpl
   35821         method that does the same thing.
   35822 
   35823 2004-09-16  Ken Kocienda  <kocienda (a] apple.com>
   35824 
   35825         Reviewed by Hyatt
   35826         
   35827         Fix for this bug:
   35828         
   35829         <rdar://problem/3787168> REGRESSION (Mail): Deleting text from the beginning of a quoted range removes the quoting from the rest
   35830 
   35831         * khtml/editing/htmlediting_impl.cpp:
   35832         (khtml::DeleteSelectionCommandImpl::moveNodesAfterNode): Only move the text nodes (and their siblings) when
   35833         doing this move between blocks. This serves to mimic NSText behavior very well.
   35834 
   35835 2004-09-15  Darin Adler  <darin (a] apple.com>
   35836 
   35837         - fixed Panther build
   35838 
   35839         * kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityActionDescription:]): Fixed backwards
   35840         check in #if that was compiling the code on Panther only rather than Tiger only.
   35841 
   35842 2004-09-15  Darin Adler  <darin (a] apple.com>
   35843 
   35844         Reviewed by John.
   35845 
   35846         - fixed lockFocus exception I observed; perhaps not a real issue in the field due to exception blocking
   35847 
   35848         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::imageFromRect): Put most of the function inside a
   35849         big if statement to avoid the exception we get from lockFocus otherwise.
   35850 
   35851 2004-09-15  Darin Adler  <darin (a] apple.com>
   35852 
   35853         Reviewed by Dave.
   35854 
   35855         - fixed <rdar://problem/3786467> REGRESSION (Mail): Reproducible crash replying to an HTML message when your preference is for plain text composing.
   35856 
   35857         * khtml/rendering/render_block.h: Remove removeChildrenFromLineBoxes.
   35858         * khtml/rendering/render_block.cpp: (khtml::RenderBlock::removeChild): Remove calls
   35859         to removeChildrenFromLineBoxes which was the old way of working around this.
   35860         * khtml/rendering/render_flow.cpp: (RenderFlow::detach): Add comments and code to handle
   35861         removing children from line boxes we are about to delete.
   35862 
   35863 2004-09-15  Richard Williamson   <rjw (a] apple.com>
   35864 
   35865 	Fixed <rdar://problem/3781561> REGRESSION (Mail): typing in Mail became suddenly really sluggish (substitute font code)
   35866 
   35867 	A DocumentMarker may begin before the InLineBox that includes
   35868 	it.  Ensure that we correctly handle that case.  The paintMarker()
   35869 	method and code that calls it could do with some cleanup to
   35870 	make it clearer how all the cases are handled, i.e. marker
   35871 	within box, or intersecting beginning or end of box.
   35872 
   35873         Reviewed by Darin.
   35874 
   35875         * khtml/rendering/render_text.cpp:
   35876         (InlineTextBox::paintMarker):  Minimal change to ensure that we
   35877 	handle the case of marker starting before box.
   35878 
   35879 2004-09-15  Darin Adler  <darin (a] apple.com>
   35880 
   35881         Reviewed by John.
   35882 
   35883         - get rid of some of the localizable strings in here; we still have to figure out
   35884           how we're going to localize the last few role descriptions
   35885 
   35886         * kwq/KWQAccObject.mm:
   35887         (-[KWQAccObject roleDescription]): Use NSAccessibilityRoleDescription for most
   35888         descriptions instead of a hard-coded string (inside the UI_STRING placeholder).
   35889         (-[KWQAccObject accessibilityActionDescription:]): Same thing, with NSAccessibilityActionDescription.
   35890 
   35891 2004-09-15  Darin Adler  <darin (a] apple.com>
   35892 
   35893         Reviewed by John.
   35894 
   35895         - did some QRect-related changes to facilitate later bug fixing
   35896 
   35897         * kwq/KWQPainter.h: Added fillRect overload that takes QRect to match the real Qt one.
   35898         * kwq/KWQPainter.mm: (QPainter::fillRect): Added overload that takes QRect.
   35899 
   35900         * kwq/KWQRect.mm: (QRect::QRect): Change default constructed QRect to have a width and
   35901         height of 0 rather than 1. Contrary to what we believed earlier, this is what Qt does.
   35902 
   35903 2004-09-15  Darin Adler  <darin (a] apple.com>
   35904 
   35905         Reviewed by John.
   35906 
   35907         - fixed <rdar://problem/3799512> REGRESSION (Mail): caret flashes 1 pixel too far to the left
   35908 
   35909         * khtml/rendering/render_text.cpp: (RenderText::caretRect): Added one to the horizontal position
   35910         of the caret rect.
   35911 
   35912 2004-09-15  Ken Kocienda  <kocienda (a] apple.com>
   35913 
   35914         Reviewed by Hyatt
   35915 
   35916         * khtml/editing/htmlediting_impl.cpp:
   35917         (khtml::DeleteSelectionCommandImpl::doApply): The whitespace fixup code
   35918         that makes sure proper whitespace renders after deletion was getting confused
   35919         in cases where the deletion merged blocks. Basically, I needed to move some
   35920         whitespace fixup code so it runs before deleting in the case where blocks
   35921         need to be merged. It used to run after, and was getting confused by
   35922         whitespace left over at the ends of the block after the deletion.
   35923         * layout-tests/editing/deleting/delete-block-merge-contents-012-expected.txt: Added.
   35924         * layout-tests/editing/deleting/delete-block-merge-contents-012.html: Added.
   35925         * layout-tests/editing/deleting/delete-block-merge-contents-013-expected.txt: Added.
   35926         * layout-tests/editing/deleting/delete-block-merge-contents-013.html: Added.
   35927         * layout-tests/editing/deleting/delete-block-merge-contents-014-expected.txt: Added.
   35928         * layout-tests/editing/deleting/delete-block-merge-contents-014.html: Added.
   35929         * layout-tests/editing/deleting/delete-block-merge-contents-015-expected.txt: Added.
   35930         * layout-tests/editing/deleting/delete-block-merge-contents-015.html: Added.
   35931         * layout-tests/editing/deleting/delete-block-merge-contents-016-expected.txt: Added.
   35932         * layout-tests/editing/deleting/delete-block-merge-contents-016.html: Added.
   35933         * layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt: Added.
   35934         * layout-tests/editing/deleting/delete-block-merge-contents-017.html: Added.
   35935 
   35936 2004-09-15  Ken Kocienda  <kocienda (a] apple.com>
   35937 
   35938         Reviewed by Hyatt
   35939 
   35940         * khtml/editing/htmlediting_impl.cpp:
   35941         (khtml::DeleteSelectionCommandImpl::moveNodesAfterNode): Renamed from moveNodesToBlock.
   35942         Just some simplification and cleanup in this function.
   35943         (khtml::DeleteSelectionCommandImpl::doApply): Remove a hunk of start-of-block code I thought
   35944         I was going to get around to improving and refining. However, I no longer need this case.
   35945         * khtml/editing/htmlediting_impl.h: Function name change.
   35946 
   35947 2004-09-14  Darin Adler  <darin (a] apple.com>
   35948 
   35949         Reviewed by Maciej.
   35950 
   35951         - added method for fix to <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
   35952 
   35953         * kwq/WebCoreBridge.h: Added rangeOfCharactersAroundCaret.
   35954         * kwq/WebCoreBridge.mm: (-[WebCoreBridge rangeOfCharactersAroundCaret]): Added.
   35955 
   35956         * khtml/xml/dom_caretposition.h: Added range function to make a Range from two CaretPosition objects.
   35957         * khtml/xml/dom_caretposition.cpp:
   35958         (DOM::CaretPosition::rangeCompliantEquivalent): Fixed a bug in this that caused it to screw up
   35959         ranges in text nodes. Also changed it to use offset 0 as Ken and I discussed.
   35960         (DOM::range): Added.
   35961 
   35962         * kwq/DOM.mm: (-[DOMRange description]): Added.
   35963 
   35964 2004-09-14  Darin Adler  <darin (a] apple.com>
   35965 
   35966         Reviewed by John.
   35967 
   35968         - fixed <rdar://problem/3786986> REGRESSION: TEXTAREAs have extra wide right margins where the scrollbars used to be
   35969 
   35970         * kwq/KWQTextArea.mm:
   35971         (-[KWQTextArea _updateTextViewWidth]): Renamed from _frameSizeChanged. Now uses the width of
   35972         the size from the contentSize method rather than trying to compute a size.
   35973         (-[KWQTextArea initWithFrame:]): Call method by new name.
   35974         (-[KWQTextArea tile]): Override this instead of setFrame: to adjust the size as the size of
   35975         the text area changes.
   35976 
   35977 2004-09-14  Chris Blumenberg  <cblu (a] apple.com>
   35978 
   35979 	Backed out my changes to these files. They were not meant to be checked. (I'm having a bad CVS day)
   35980 
   35981         * kwq/WebCoreBridge.h:
   35982         * kwq/WebCoreBridge.mm:
   35983         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:]):
   35984         (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:]):
   35985         (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:]):
   35986         (-[WebCoreBridge replaceSelectionWithText:selectReplacement:]):
   35987 
   35988 2004-09-14  David Hyatt  <hyatt (a] apple.com>
   35989 
   35990 	Fix the crash in the layout tests caused by my recent selection changes.  Simply eliminate the buggy
   35991 	selection border setting code and let isSelectionBorder be implemented in terms of the SelectionState.
   35992 	
   35993         Reviewed by kocienda
   35994 
   35995         * khtml/rendering/render_canvas.cpp:
   35996         (RenderCanvas::setSelection):
   35997         * khtml/rendering/render_object.cpp:
   35998         (RenderObject::RenderObject):
   35999         (RenderObject::container):
   36000         (RenderObject::isSelectionBorder):
   36001         * khtml/rendering/render_object.h:
   36002         (khtml::RenderObject::minMaxKnown):
   36003         (khtml::RenderObject::setReplaced):
   36004 
   36005 2004-09-14  Chris Blumenberg  <cblu (a] apple.com>
   36006 
   36007 	Fixed: <rdar://problem/3778680> REGRESSION: plug-in content sometimes doesn't show up
   36008 
   36009         Reviewed by dave.
   36010 
   36011         * khtml/html/html_objectimpl.cpp:
   36012         (HTMLObjectElementImpl::parseHTMLAttribute): set needWidgetUpdate to true only if there is a renderer
   36013         (HTMLObjectElementImpl::attach): if needWidgetUpdate is true, call updateWidget
   36014 
   36015 2004-09-14  Maciej Stachowiak  <mjs (a] apple.com>
   36016 
   36017         Reviewed by Darin.
   36018 
   36019 	- fixed <rdar://problem/3800315> encode-URI-test layout test is failing
   36020 	- updated escape/encodeURI layout test to match our new, more
   36021 	compatible behavior.
   36022 
   36023         * layout-tests/fast/js/global/encode-URI-test.html:
   36024 
   36025 2004-09-14  Ken Kocienda  <kocienda (a] apple.com>
   36026 
   36027         Reviewed by Richard
   36028 
   36029         Fix for this bug:
   36030         
   36031         <rdar://problem/3800834> REGRESSION (Mail): Can't delete backwards past quoted text using HTML editing
   36032 
   36033         * khtml/editing/htmlediting_impl.cpp:
   36034         (khtml::TypingCommandImpl::issueCommandForDeleteKey): Use CaretPosition class to get superior
   36035         smarts about the selection to delete in the "start of block" case. This fixes the bug.
   36036         While I was in the neighborhood, I cleaned up this function a bit.
   36037         * layout-tests/editing/deleting/delete-3800834-fix-expected.txt: Added.
   36038         * layout-tests/editing/deleting/delete-3800834-fix.html: Added.
   36039 
   36040 2004-09-14  Ken Kocienda  <kocienda (a] apple.com>
   36041 
   36042         * khtml/css/parser.cpp: Did not regenerate this file from parser.y before last checkin.
   36043 
   36044 2004-09-14  Chris Blumenberg  <cblu (a] apple.com>
   36045 
   36046 	Fixed typos in last check-in.
   36047 
   36048         * khtml/khtml_part.cpp:
   36049         (KHTMLPart::selectClosestWordFromMouseEvent):
   36050         (KHTMLPart::handleMousePressEventDoubleClick):
   36051         * khtml/khtml_part.h:
   36052         * kwq/KWQKHTMLPart.mm:
   36053         (KWQKHTMLPart::sendContextMenuEvent):
   36054 
   36055 2004-09-09  David Hyatt  <hyatt (a] apple.com>
   36056 
   36057 	Fix for 3667862, regression where dragging of selection became really slow.  This patch completely rewrites
   36058 	selection painting and drawing so that the enclosing rect is much more snug.  The containing block rect is no
   36059 	longer used at all.
   36060 	
   36061         Reviewed by kocienda
   36062 
   36063         * khtml/rendering/render_canvas.cpp:
   36064         (RenderCanvas::selectionRect):
   36065         (getSelectionInfo):
   36066         (RenderCanvas::setSelection):
   36067         (RenderCanvas::clearSelection):
   36068         * khtml/rendering/render_canvas.h:
   36069         * khtml/rendering/render_container.cpp:
   36070         (RenderContainer::removeChildNode):
   36071         * khtml/rendering/render_image.cpp:
   36072         (RenderImage::selectionRect):
   36073         (RenderImage::selectionTintColor):
   36074         (RenderImage::paint):
   36075         * khtml/rendering/render_image.h:
   36076         * khtml/rendering/render_object.cpp:
   36077         (RenderObject::selectionStartEnd):
   36078         * khtml/rendering/render_object.h:
   36079         (khtml::RenderObject::selectionRect):
   36080         (khtml::RenderObject::SelectionInfo::object):
   36081         (khtml::RenderObject::SelectionInfo::rect):
   36082         (khtml::RenderObject::SelectionInfo::state):
   36083         (khtml::RenderObject::SelectionInfo::SelectionInfo):
   36084         (khtml::RenderObject::SelectionInfo::m_state):
   36085         * khtml/rendering/render_text.cpp:
   36086         (InlineTextBox::textObject):
   36087         (InlineTextBox::selectionRect):
   36088         (InlineTextBox::paintSelection):
   36089         (RenderText::getAbsoluteRepaintRect):
   36090         (RenderText::selectionRect):
   36091         * khtml/rendering/render_text.h:
   36092         * kwq/KWQPainter.mm:
   36093         (getBlendedColorComponent):
   36094         (QPainter::selectedTextBackgroundColor):
   36095 
   36096 2004-09-14  Ken Kocienda  <kocienda (a] apple.com>
   36097 
   36098         Reviewed by Hyatt
   36099 
   36100         Fix for this bug:
   36101         
   36102         <rdar://problem/3794376> vertical formatting lines that show quote level are missing
   36103 
   36104         Rolling out change Dave made to fix 3787686. It turns out that we do not want this
   36105         change, as it does not appear to have any effect on the bug. In addition, it caused
   36106         the regression in quote bar behavior.
   36107 
   36108         * khtml/css/parser.cp
   36109         * khtml/css/parser.y
   36110 
   36111 2004-09-14  Chris Blumenberg  <cblu (a] apple.com>
   36112 
   36113 	Fixed: Control-click shouldn't cause deselect when clicking selection.
   36114 
   36115         Reviewed by rjw.
   36116 
   36117         * kwq/KWQKHTMLPart.mm:
   36118         (KWQKHTMLPart::sendContextMenuEvent): don't attempt to select the closest word when the selection is clicked
   36119 
   36120 2004-09-14  Chris Blumenberg  <cblu (a] apple.com>
   36121 
   36122 	Fixed badness that my last patch caused. Because there was a conflict, my last patch added stuff that darin had just removed.
   36123 
   36124         Reviewed by darin.
   36125 
   36126         * kwq/KWQKHTMLPart.mm:
   36127         (KWQKHTMLPart::sendContextMenuEvent): don't call deref on the view
   36128 
   36129 2004-09-14  Chris Blumenberg  <cblu (a] apple.com>
   36130 
   36131 	Fixed: <rdar://problem/3783595> REGRESSION (Mail): control-click does not select closest word
   36132 
   36133         Reviewed by kocienda.
   36134 
   36135         * khtml/khtml_part.cpp:
   36136         (KHTMLPart::selectionGranularity): new getter, need this for an upcoming patch
   36137         (KHTMLPart::selectClosetWordFromMouseEvent): new, factored from handleMousePressEventDoubleClick
   36138         (KHTMLPart::handleMousePressEventDoubleClick): call selectClosetWordFromMouseEvent
   36139         * khtml/khtml_part.h:
   36140         * kwq/KWQKHTMLPart.mm:
   36141         (KWQKHTMLPart::sendContextMenuEvent): call selectClosetWordFromMouseEvent if nothing swallows the event
   36142 
   36143 2004-09-14  Ken Kocienda  <kocienda (a] apple.com>
   36144 
   36145         Reviewed by John
   36146 
   36147         Fix for this bug:
   36148         
   36149         <rdar://problem/3800346> Inserting newline in BR after block not working
   36150 
   36151         * khtml/editing/htmlediting_impl.cpp:
   36152         (khtml::InputNewlineCommandImpl::doApply): The code to insert the "extra" BR at the end
   36153         of blocks (hack done to make BRs show up when they appear at the ends of blocks) did not
   36154         cover this one quirky case where the insertion point can be placed in a BR at the end of 
   36155         a block that does actually render. Now the input newline code can handle this addtional
   36156         case.
   36157         * layout-tests/editing/selection/insert-3800346-fix-expected.txt: Added.
   36158         * layout-tests/editing/selection/insert-3800346-fix.html: Added.
   36159 
   36160 2004-09-14  Darin Adler  <darin (a] apple.com>
   36161 
   36162         Reviewed by Ken.
   36163 
   36164         - fixed <rdar://problem/3479392> REGRESSION (Mail): select all does not select all at some pages
   36165 
   36166         * khtml/xml/dom_caretposition.cpp: (DOM::CaretPosition::deepEquivalent):
   36167         Use caretMaxOffset instead of maxOffset when descending to the last node.
   36168         Also change around the function a bit.
   36169 
   36170 2004-09-13  Darin Adler  <darin (a] apple.com>
   36171 
   36172         Reviewed by Maciej.
   36173 
   36174         - fixed <rdar://problem/3710123> Loading iframe that replaces content in the parent document crashes Safari (Oracle Portal)
   36175 
   36176         This is a more complete fix, but it requires the previous attempt at a fix for this same
   36177         bug below, because this is only the "don't destroy the KHTMLPart" portion; other fixes are
   36178         still needed to survive shutdown of the part.
   36179 
   36180         * khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::interpreter): Call the new keepAlive method.
   36181         This is called whenever we're about to use an interpreter to run some JavaScript, and
   36182         it's JavaScript that might destroy the part, hence the interpreter.
   36183 
   36184         * khtml/khtml_part.h: Added keepAlive() and slotEndLifeSupport() member functions.
   36185         * khtml/khtmlpart_p.h: Added m_lifeSupportTimer.
   36186         * khtml/khtml_part.cpp:
   36187         (KHTMLPart::init): Connects m_lifeSupportTimer to slotEndLifeSupport.
   36188         (KHTMLPart::write): Removed old attempt to work around this issue.
   36189         (KHTMLPart::end): Ditto.
   36190         (KHTMLPart::keepAlive): Added. References the part, then sets up a one-shot timer.
   36191         (KHTMLPart::slotEndLifeSupport): Added. Stops the timer and then removes the reference
   36192         from the part, possibly destroying it.
   36193 
   36194         * kwq/KWQSlot.mm:
   36195         (KWQSlot::KWQSlot): Added the new slot to the list of slots.
   36196         (KWQSlot::call): Ditto.
   36197 
   36198         * kwq/KWQKHTMLPart.mm:
   36199         (KWQKHTMLPart::sendResizeEvent): Removed an old attempt to work around this same issue.
   36200         (KWQKHTMLPart::mouseDown): Ditto.
   36201         (KWQKHTMLPart::mouseDragged): Ditto.
   36202         (KWQKHTMLPart::mouseUp): Ditto.
   36203         (KWQKHTMLPart::mouseMoved): Ditto.
   36204         (KWQKHTMLPart::sendContextMenuEvent): Ditto.
   36205 
   36206 2004-09-13  Darin Adler  <darin (a] apple.com>
   36207 
   36208         Reviewed by Maciej.
   36209 
   36210         - fixed regression caused by change earlier today
   36211 
   36212         * khtml/xml/dom_selection.cpp: (DOM::Selection::modifyExtendingRightForward):
   36213         Use CaretPosition for CHARACTER, not WORD.
   36214 
   36215 2004-09-13  Darin Adler  <darin (a] apple.com>
   36216 
   36217         Reviewed by Kevin.
   36218 
   36219         - fixed <rdar://problem/3798453> DIG failure: getting variable with same name as DOM element attribute gets attribute value instead
   36220 
   36221         * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): When adding current target and
   36222         other event handler scope, put it below the existing scope chain. This ensures that things
   36223         found in the function's scope will come before the event handler, as in other browsers.
   36224 
   36225 2004-09-13  Ken Kocienda  <kocienda (a] apple.com>
   36226 
   36227         Reviewed by Darin
   36228         
   36229         Fix for this bug:
   36230         
   36231         <rdar://problem/3798346> REGRESSION (125-162): crash pushing down arrow key on KLM.com site
   36232 
   36233         * khtml/xml/dom_position.cpp:
   36234         (DOM::Position::nextLinePosition): This function was being called in a case where it was not expected
   36235         until we traced the code. It has to do with some deeper issues associated with handling arrow keys, 
   36236         resulting in the editing arrow-down code running in a case where we are not editing. I discussed this 
   36237         with Darin, and we decided to handle the broader issues at a later date. The fix I am checking in
   36238         here to fix the bug is merely avoiding a null-deref.
   36239 
   36240 2004-09-13  Ken Kocienda  <kocienda (a] apple.com>
   36241 
   36242         Reviewed by John
   36243 
   36244         Fix for this bug:
   36245         
   36246         <rdar://problem/3784840> REGRESSION (Mail): Text is inserted in the wrong place after changing typing style
   36247 
   36248         * khtml/editing/htmlediting_impl.cpp:
   36249         (khtml::InputTextCommandImpl::prepareForTextInsertion): Code to handle typing style did not
   36250         check to see if the reference node used for the DOM node insertion operation was a block.
   36251         If it is, then the new node containing the new editing style now is inserted at the start of the block,
   36252         instead of after it.
   36253 
   36254 2004-09-13  Ken Kocienda  <kocienda (a] apple.com>
   36255 
   36256         Added a couple new layout tests to cover recent changes.
   36257 
   36258         * layout-tests/editing/editing.js: Added some new functions to do by-word selection movement.
   36259         * layout-tests/editing/selection/move-backwords-by-word-001-expected.txt: Added.
   36260         * layout-tests/editing/selection/move-backwords-by-word-001.html: Added.
   36261         * layout-tests/editing/selection/selection-3748164-fix-expected.txt: Added.
   36262         * layout-tests/editing/selection/selection-3748164-fix.html: Added.
   36263 
   36264 2004-09-13  Ken Kocienda  <kocienda (a] apple.com>
   36265 
   36266         Reviewed by John
   36267 
   36268         Fix for this bug:
   36269         
   36270         <rdar://problem/3765519> REGRESSION (Mail): word movement goes too far upstream at start of line
   36271         
   36272         * khtml/xml/dom_position.cpp:
   36273         (DOM::Position::previousWordPosition): Use downstream position here when making final placement of caret. 
   36274 
   36275 2004-09-13  Ken Kocienda  <kocienda (a] apple.com>
   36276 
   36277         Reviewed by Darin
   36278 
   36279         Various editing improvements, many focused on the improvements made possible by the
   36280         new CaretPosition class.
   36281         
   36282         Includes fixes for these bugs:
   36283         
   36284         <rdar://problem/3748164> REGRESSION (Mail): Arrow navigation in typical mail message can result in stuck caret
   36285         <rdar://problem/3782062> REGRESSION (Mail): option-delete can delete almost all of a message when it has trouble finding a word
   36286         <rdar://problem/3790456> triple click does not select entire paragraph (folklore.org)
   36287 
   36288         * WebCore.pbproj/project.pbxproj: Added CaretPosition class files.
   36289         * khtml/dom/dom2_range.h:
   36290         (DOM::offsetInCharacters): Moved this helper here from khtml_text_operations.cpp. This
   36291         function helps to determine how to interpret the offsets used in DOM Ranges.
   36292         * khtml/editing/htmlediting_impl.cpp:
   36293         (khtml::InputNewlineCommandImpl::doApply): Use CaretPosition class to make "end-of-block" determination.
   36294         Also, fix a caret placement glitch in "case 1" in the code: Place the caret in the node after the inserted
   36295         BR. This makes it show up in the right place.
   36296         * khtml/khtml_part.cpp:
   36297         (KHTMLPart::handleMousePressEventDoubleClick): Don't limit double-click and triple-click handling only to text nodes.
   36298         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   36299         (KHTMLPart::selectAll): Use CaretPosition class to implement improved selectAll.
   36300         * khtml/misc/khtml_text_operations.cpp:
   36301         (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Make a fix to the initial state setting of
   36302         m_handledChildren. This is true if the offset into the end node is 0, meaning that we do not want to descend
   36303         into its children at all.
   36304         * khtml/xml/dom_caretposition.cpp: Added.
   36305         * khtml/xml/dom_caretposition.h: Added.
   36306         * khtml/xml/dom_nodeimpl.cpp:
   36307         (NodeImpl::traverseNextNode): Fix bugs with the stayWithin implementation. We could miss nodes we want to test
   36308         due to an erroneous check of stayWithin when no such check is needed.
   36309         (NodeImpl::traverseNextSibling): Ditto.
   36310         (NodeImpl::traversePreviousNodePostOrder): Ditto.
   36311         * khtml/xml/dom_position.cpp:
   36312         (DOM::Position::Position): Remove spurious semi-colon.
   36313         (DOM::Position::upstream): Move incoming Position to its equivalentDeepPosition. This is part of the transition
   36314         that will make this code work better with increased use of CaretPosition.
   36315         (DOM::Position::downstream): Ditto.
   36316         (DOM::Position::atStartOfContainingEditableBlock): Removed. Dead code; was not being called.
   36317         (DOM::Position::atStartOfRootEditableElement): Removed. Dead code; was not being called.
   36318         (DOM::Position::isLastRenderedPositionInEditableBlock): Removed. Replaced with calls to CaretPosition class.
   36319         (DOM::Position::inLastEditableInRootEditableElement): Removed. Dead code; was not being called.
   36320         (DOM::Position::inFirstEditableInRootEditableElement): Removed. Was only being called by other code that has been removed.
   36321         * khtml/xml/dom_position.h:
   36322         * khtml/xml/dom_selection.cpp:
   36323         (DOM::Selection::modifyExtendingRightForward): Moved implementation of CHARACTER case to use CaretPosition class instead
   36324         of Position class helpers.
   36325         (DOM::Selection::modifyMovingRightForward): Ditto.
   36326         (DOM::Selection::modifyExtendingLeftBackward): Ditto.
   36327         (DOM::Selection::modifyMovingLeftBackward): Ditto.
   36328         (DOM::Selection::validate): Made simplifications in code that used to call a concoction of Position class helpers to
   36329         do the right thing. Now calls CaretPosition equivalents.
   36330 
   36331 2004-09-13  Ken Kocienda  <kocienda (a] apple.com>
   36332 
   36333         This test was broken. The result is that it was not testing what it was supposed to 
   36334         be testing. I fixed the test and updated the expected results.
   36335 
   36336         * layout-tests/editing/selection/move-between-blocks-no-001-expected.txt
   36337         * layout-tests/editing/selection/move-between-blocks-no-001.html
   36338 
   36339 2004-09-13  Ken Kocienda  <kocienda (a] apple.com>
   36340 
   36341         Reviewed by John
   36342 
   36343         Fix for these bugs:
   36344         
   36345         <rdar://problem/3784835> REGRESSION (Mail): crash in DOM::ElementImpl::tagName inside delete text command code while editing a Mail message
   36346         <rdar://problem/3788015> REGRESSION (Mail): Crash deleting before a blockquote
   36347         <rdar://problem/3796366> REGRESSION (Mail): Crash Mail by deleting the right line from pasted HTML
   36348 
   36349         * khtml/editing/htmlediting_impl.cpp:
   36350         (khtml::DeleteSelectionCommandImpl::doApply): All of these bugs are due to the same problem. When I
   36351         made the delete command run even when the text is a caret (to make block merges work right when the
   36352         caret is at the start of a block), I failed to handle one case when there might be no text to 
   36353         delete. This resulted in a call to the DeleteTextCommand with a zero-length deletion request.
   36354         This is not supported. Now, I have added an additional test in this one place in the code that
   36355         was causing all these failures.
   36356 
   36357 2004-09-12  Darin Adler  <darin (a] apple.com>
   36358 
   36359         Reviewed by Maciej.
   36360 
   36361         - fixed <rdar://problem/3797758> REGRESSION (155-156): Cannot tab between input fields at switchboard.com
   36362 
   36363         * kwq/KWQLineEdit.mm: (QLineEdit::selectAll): Use setFocus() instead of calling makeFirstResponder
   36364         directly since it handles the case where the field editor has focus.
   36365 
   36366 2004-09-12  Darin Adler  <darin (a] apple.com>
   36367 
   36368         Reviewed by Maciej.
   36369 
   36370         - fixed <rdar://problem/3792082> zero character codes in UTF-16 input cause crash
   36371 
   36372         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertUTF16): Fixed code that was using the wrong variable
   36373         to decrement the input length, causing buffer overrun.
   36374 
   36375 2004-09-12  Darin Adler  <darin (a] apple.com>
   36376 
   36377         Reviewed by Maciej.
   36378 
   36379         - fixed <rdar://problem/3798240> computed style error log messages seen with numbers in the range 74-77
   36380 
   36381         * khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   36382         Added implementations for CSS_PROP__KHTML_MARQUEE_INCREMENT, CSS_PROP_MAX_HEIGHT, CSS_PROP_MAX_WIDTH,
   36383         CSS_PROP_MIN_HEIGHT, CSS_PROP_MIN_WIDTH, and CSS_PROP_VISIBILITY.
   36384 
   36385 2004-09-12  Darin Adler  <darin (a] apple.com>
   36386 
   36387         * layout-tests/css1/text_properties/text-transform-expected.txt: Removed unused test result.
   36388 
   36389 2004-09-11  Maciej Stachowiak  <mjs (a] apple.com>
   36390 
   36391         Reviewed by Darin.
   36392 
   36393 	<rdar://problem/3787208> can't log in to SAP SDN site (JS parse error)
   36394 
   36395         * kwq/KWQKURL.mm:
   36396         (KURL::decode_string): Check for find result >= 0 instead of >0,
   36397 	to handle case of first character in a string being encoded.
   36398 
   36399 2004-09-09  Chris Blumenberg  <cblu (a] apple.com>
   36400 
   36401 	Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout
   36402 
   36403         Reviewed by rjw.
   36404 
   36405         * khtml/khtml_part.h:
   36406         (KHTMLPart::didFirstLayout): new
   36407         * khtml/khtmlview.cpp:
   36408         (KHTMLView::layout): call didFirstLayout
   36409         * kwq/KWQKHTMLPart.h:
   36410         * kwq/KWQKHTMLPart.mm:
   36411         (KWQKHTMLPart::didFirstLayout): new
   36412         * kwq/WebCoreBridge.h:
   36413 
   36414 === Safari-163 ===
   36415 
   36416 2004-09-09  Maciej Stachowiak  <mjs (a] apple.com>
   36417 
   36418         - roll out the last change, it appears to cause a performance regression
   36419 
   36420         * khtml/rendering/render_box.cpp:
   36421         (RenderBox::caretRect):
   36422         * khtml/rendering/render_box.h:
   36423         * khtml/rendering/render_br.cpp:
   36424         (RenderBR::caretRect):
   36425         * khtml/rendering/render_br.h:
   36426         * khtml/rendering/render_flow.cpp:
   36427         (RenderFlow::caretRect):
   36428         * khtml/rendering/render_flow.h:
   36429         * khtml/rendering/render_object.cpp:
   36430         (RenderObject::caretRect):
   36431         * khtml/rendering/render_object.h:
   36432         * khtml/rendering/render_text.cpp:
   36433         (RenderText::caretRect):
   36434         * khtml/rendering/render_text.h:
   36435         * kwq/WebCoreBridge.h:
   36436         * kwq/WebCoreBridge.mm:
   36437 
   36438 2004-09-08  Maciej Stachowiak  <mjs (a] apple.com>
   36439 
   36440         Reviewed by Dave.
   36441 
   36442 	WebCore part of fix for:
   36443 	
   36444 	<rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
   36445 	
   36446         * kwq/WebCoreBridge.h:
   36447         * kwq/WebCoreBridge.mm:
   36448         (-[WebCoreBridge firstRectForDOMRange:]): New method to compute the rect for a
   36449 	DOMRange, or if the range is split into multiple lines, the rect for the part on
   36450 	the first line only.
   36451 	
   36452         * khtml/rendering/render_object.cpp:
   36453         (RenderObject::caretRect): Added extraWidthToEndOfLine parameter and ditto
   36454 	for the overrides below.
   36455         * khtml/rendering/render_object.h:
   36456         * khtml/rendering/render_box.cpp:
   36457         (RenderBox::caretRect):
   36458         * khtml/rendering/render_box.h:
   36459         * khtml/rendering/render_br.cpp:
   36460         (RenderBR::caretRect):
   36461         * khtml/rendering/render_br.h:
   36462         * khtml/rendering/render_flow.cpp:
   36463         (RenderFlow::caretRect):
   36464         * khtml/rendering/render_flow.h:
   36465         * khtml/rendering/render_text.cpp:
   36466         (RenderText::caretRect):
   36467 
   36468 2004-09-06  Darin Adler  <darin (a] apple.com>
   36469 
   36470         Reviewed by Ken.
   36471 
   36472         - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files)
   36473 
   36474         * khtml/khtml_part.h: Added mark and setMark.
   36475         * khtml/khtmlpart_p.h: Added m_mark.
   36476         * khtml/khtml_part.cpp:
   36477         (KHTMLPart::mark): Added.
   36478         (KHTMLPart::setMark): Added.
   36479 
   36480         * kwq/KWQKHTMLPart.h: Change name of markedRange to markedTextRange to decrease
   36481         the change it will be confused with the mark.
   36482         * kwq/KWQKHTMLPart.mm:
   36483         (KWQKHTMLPart::clear): Update for name change.
   36484         (KWQKHTMLPart::markedTextRange): Ditto.
   36485         (KWQKHTMLPart::setMarkedTextRange): Ditto.
   36486 
   36487         * khtml/rendering/render_text.cpp: (RenderText::paint): Update for name change.
   36488 
   36489         * kwq/WebCoreBridge.h: Remove setSelectionFrom, selectionStart, selectionStartOffset,
   36490         selectionEnd, selectionEndOffset, and clearMarkedDOMRange. Renamed setMarkedDOMRange
   36491         to setMarkedTextDOMRange and markedDOMRange to markedTextDOMRange. Added setMarkDOMRange
   36492         and markDOMRange for the Emacs "mark".
   36493         * kwq/WebCoreBridge.mm:
   36494         (-[WebCoreBridge setMarkDOMRange:]): Added.
   36495         (-[WebCoreBridge markDOMRange]): Added.
   36496         (-[WebCoreBridge setMarkedTextDOMRange:]): Renamed.
   36497         (-[WebCoreBridge markedTextDOMRange]): Renamed.
   36498 
   36499         * khtml/xml/dom_selection.cpp: (DOM::Selection::validate): Make paragraph positions
   36500         canonical by using deep rendered positions. Maybe someday this won't be an ad hoc
   36501         decision any more.
   36502 
   36503         * khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::removeChildren): Use ref and deref
   36504         rather than the unconventional check for 0 refCount. This makes us a bit more
   36505         robust against a node going away partway through the removal process.
   36506 
   36507         * WebCore.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3.
   36508 
   36509 2004-09-08  Maciej Stachowiak  <mjs (a] apple.com>
   36510 
   36511         - fixed deployment build problems noticed by Grant
   36512 
   36513         * khtml/rendering/render_flow.cpp:
   36514         (RenderFlow::caretRect):
   36515         * khtml/rendering/render_text.cpp:
   36516         (RenderText::caretRect):
   36517 
   36518 2004-09-08  David Hyatt  <hyatt (a] apple.com>
   36519 
   36520 	Fix XML so that elements with no namespace never make HTML elements (when their names coincidentally match).
   36521 	
   36522         Reviewed by rjw
   36523 
   36524         * khtml/xml/dom_docimpl.cpp:
   36525         (DocumentImpl::createElementNS):
   36526 
   36527 2004-09-07  Maciej Stachowiak  <mjs (a] apple.com>
   36528 
   36529         Reviewed by John.
   36530 
   36531 	- renamed caretPos to caretRect and made it return a QRect instead
   36532 	of taking four out parameters by reference.
   36533 	
   36534         * khtml/rendering/render_box.cpp:
   36535         (RenderBox::caretRect):
   36536         * khtml/rendering/render_box.h:
   36537         * khtml/rendering/render_br.cpp:
   36538         (RenderBR::caretRect):
   36539         * khtml/rendering/render_br.h:
   36540         * khtml/rendering/render_flow.cpp:
   36541         (RenderFlow::caretRect):
   36542         * khtml/rendering/render_flow.h:
   36543         * khtml/rendering/render_object.cpp:
   36544         (RenderObject::caretRect):
   36545         * khtml/rendering/render_object.h:
   36546         * khtml/rendering/render_text.cpp:
   36547         (RenderText::caretRect):
   36548         * khtml/rendering/render_text.h:
   36549         * khtml/xml/dom_selection.cpp:
   36550         (DOM::Selection::xPosForVerticalArrowNavigation):
   36551         (DOM::Selection::layoutCaret):
   36552         * kwq/WebCoreBridge.mm:
   36553         (-[WebCoreBridge caretRectAtNode:offset:]):
   36554 
   36555 2004-09-07  Maciej Stachowiak  <mjs (a] apple.com>
   36556 
   36557         Reviewed by Kevin.
   36558 
   36559 	<rdar://problem/3759209> REGRESSION (Mail): assertion failure when all of marked text deleted at start of document
   36560 	
   36561         * kwq/KWQKHTMLPart.mm:
   36562         (KWQKHTMLPart::setMarkedRange): Allow any empty range, even if
   36563 	it's not in a text node, since in this case it won't matter and
   36564 	weird things can happen when all marked text is removed, there
   36565 	might not be any text nodes.
   36566 
   36567 2004-09-07  David Hyatt  <hyatt (a] apple.com>
   36568 
   36569 	Initial text-decoration CSS3 work for editing.  Just gets the properties and values parsed.
   36570 	
   36571         Reviewed by darin
   36572 
   36573         * khtml/css/css_computedstyle.cpp:
   36574         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   36575         * khtml/css/cssparser.cpp:
   36576         (CSSParser::parseValue):
   36577         * khtml/css/cssproperties.c:
   36578         (hash_prop):
   36579         (findProp):
   36580         * khtml/css/cssproperties.h:
   36581         * khtml/css/cssproperties.in:
   36582         * khtml/css/cssstyleselector.cpp:
   36583         (khtml::CSSStyleSelector::adjustRenderStyle):
   36584         * khtml/css/cssvalues.c:
   36585         (hash_val):
   36586         (findValue):
   36587         * khtml/css/cssvalues.h:
   36588         * khtml/css/cssvalues.in:
   36589 
   36590 2004-09-06  Maciej Stachowiak  <mjs (a] apple.com>
   36591 
   36592         Reviewed by Darin and Ken.
   36593 
   36594 	<rdar://problem/3655568> window.open fails when URL contains trailing space
   36595 
   36596         * kwq/KWQKURL.mm:
   36597         (KURL::KURL): Strip trailing and leading space when resolving relative URLs in all
   36598 	cases, instead of just leading in the non-absolute case as before.
   36599 
   36600 	- refactored KURL constructor to put more work in separate
   36601 	functions and also to change static methods to static functions,
   36602 	to avoid having to change the header when only changing helper
   36603 	functions that do not affect the KURL API (since KURL.h is widely
   36604 	included).
   36605 	
   36606         * kwq/KWQKURL.mm:
   36607         (encodeHostname):
   36608         (findHostnamesInMailToURL):
   36609         (findHostnameInHierarchicalURL):
   36610         (encodeHostnames):
   36611         (encodeRelativeString):
   36612         (substituteBackslashes):
   36613 	* kwq/KWQKURL.h:
   36614 
   36615 	- add missing include of qvaluelist.h
   36616 
   36617         * khtml/ecma/kjs_dom.h:
   36618 
   36619 2004-09-06  Darin Adler  <darin (a] apple.com>
   36620 
   36621         Reviewed by John.
   36622 
   36623         - fixed <rdar://problem/3512066> REGRESSION (Mail): Select All highlights only part of the content, though all is copied
   36624         - fixed <rdar://problem/3157025> REGRESSION (Mail): Should select paragraph instead of line on triple-click
   36625         - fixed <rdar://problem/3735048> REGRESSION (Mail): HTML editing must select newline on triple click
   36626         - fixed <rdar://problem/3788872> REGRESSION (Mail): ctrl-a emacs key binding does not work (move to start of paragraph)
   36627         - fixed <rdar://problem/3788881> REGRESSION (Mail): ctrl-e emacs key binding does not work (move to end of paragraph)
   36628         - fixed <rdar://problem/3789931> REGRESSION (Mail): typing style lost when you backspace
   36629         - added code to select inserted text to help WebKit implement yankAndSelect:
   36630         - did some clean-up on editing commands code
   36631         
   36632         * khtml/khtml_part.cpp:
   36633         (KHTMLPart::handleMousePressEventTripleClick): Expand to a paragraph, not a line.
   36634         (KHTMLPart::selectAll): Remove a lot of unneeded code and just expand to document using Selection.
   36635         (KHTMLPart::selectionHasStyle): Remove check that limited us to only HTML elements, and add
   36636         a check for nil. Together, these two changes fix a few cases I ran into during testing.
   36637 
   36638         * khtml/rendering/render_canvas.cpp: (RenderCanvas::setSelection): Fix test that was checking if
   36639         the old selection spanned multiple objects when it really should have checked whether the new
   36640         new selection spans multiple objects. This caused the select all redraw bug.
   36641 
   36642         * khtml/editing/htmlediting.h: Fixed indenting. Remove command IDs, replacing them with a couple
   36643         of specific type checking methods, and SharedCommandImpl, using EditCommandImpl directly instead.
   36644         Got rid of virtual functions, since the command objects have no data members other than the ones
   36645         inherited from SharedPtr. Removed explicit copy constructors and destructors. Removed unneeded
   36646         empty constructors. Removed inline directives that were having no effect. Added some boolean
   36647         selectInsertedText parameter to some commands. Made almost all member functions const, because
   36648         the const here applies to the command object which is a smart pointer, not the pointed-to
   36649         command implementation object.
   36650         * khtml/editing/htmlediting.cpp:
   36651         (khtml::EditCommand::EditCommand): Changed since SharedPtr is now a pointer to EditCommandImpl.
   36652         (khtml::EditCommand::operator=): Added. By defining this explicitly, we don't need the class
   36653         that we are pointing to defined in the header, which lets us get rid of SharedCommandImpl.
   36654         (khtml::EditCommand::isInputTextCommand): Added.
   36655         (khtml::EditCommand::isTypingCommand): Added.
   36656         (khtml::EditCommand::setParent): Updated since EditCommandImpl.setParent takes an impl pointer now.
   36657         (khtml::EditCommand::handle): Removed, since it's identical to get().
   36658         (khtml::InputTextCommand::input): Added selectInsertedText parameter.
   36659         (khtml::TypingCommand::TypingCommand): Ditto.
   36660         (khtml::TypingCommand::insertText): Ditto.
   36661         (khtml::TypingCommand::isOpenForMoreTypingCommand): Use isTypingCommand instead of commandID.
   36662         (khtml::TypingCommand::closeTyping): Change parameter type to const reference.
   36663 
   36664         * khtml/editing/htmlediting_impl.h: Made StyleChange functions be const member functions.
   36665         Changed parent() and setParent() to take and return EditCommandImpl pointers and be inlined.
   36666         Added virtual isInputTextCommand, isTypingCommand, and preservesTypingStyle functions.
   36667         Removed commandID functions and unneeded explicit destructors. Removed unneeded doApply
   36668         function declaration in CompositeEditCommandImpl. Changed type of applyTypingStyle to return
   36669         a node, not necessarily an element. Removed private execute function from InputTextCommandImpl.
   36670         Added selectInsertedText to InputTextCommandImpl's input function and TypingCommandImpl's constructor
   36671         and insertText function.
   36672         * khtml/editing/htmlediting_impl.cpp:
   36673         (khtml::StyleChange::StyleChange): Don't bother initializing the booleans since init handles that.
   36674         (khtml::StyleChange::init): Added code to strip whitespace, and tweaked how the function does its job.
   36675         (khtml::StyleChange::currentlyHasStyle): Added a check for null value, which can happen for properties
   36676         where we don't have computed style implemented yet.
   36677         (khtml::EditCommandImpl::EditCommandImpl): Updated since there is no SharedCommandImpl any more.
   36678         (khtml::EditCommandImpl::apply): Call new preservesTypingStyle function rather than checking
   36679         the command ID. This preserves typing style when deleting with the keyboard.
   36680         (khtml::EditCommandImpl::setStartingSelection): Changed since parent is now a EditCommandImpl.
   36681         Also rewrote to use for loop so it's simpler-looking.
   36682         (khtml::EditCommandImpl::setEndingSelection): Ditto.
   36683         (khtml::EditCommandImpl::setTypingStyle): Ditto.
   36684         (khtml::EditCommandImpl::preservesTypingStyle): Added. Returns false.
   36685         (khtml::EditCommandImpl::isInputTextCommand): Added. Returns false.
   36686         (khtml::EditCommandImpl::isTypingCommand): Added. Returns false.
   36687         (khtml::CompositeEditCommandImpl::applyTypingStyle): Changed this function to return a node rather
   36688         than an element. Also change it so it returns the child as-is if the style change has nothing in it.
   36689         (khtml::AppendNodeCommandImpl::~AppendNodeCommandImpl): Removed unneeded null checks.
   36690         (khtml::DeleteSelectionCommandImpl::preservesTypingStyle): Added. Returns true.
   36691         (khtml::DeleteTextCommandImpl::~DeleteTextCommandImpl): Removed unneeded null checks.
   36692         (khtml::InputTextCommandImpl::input): Renamed execute function to input and got rid of the additional
   36693         level of indirection, since it was the only caller. Added selectInsertedText parameter and changed
   36694         the code so it will respect it.
   36695         (khtml::InputTextCommandImpl::isInputTextCommand): Added. Returns true.
   36696         (khtml::InsertNodeBeforeCommandImpl::~InsertNodeBeforeCommandImpl): Removed unneeded null checks.
   36697         (khtml::JoinTextNodesCommandImpl::~JoinTextNodesCommandImpl): Ditto.
   36698         (khtml::MoveSelectionCommandImpl::MoveSelectionCommandImpl): Hold a reference to the fragment
   36699         while the command exists.
   36700         (khtml::MoveSelectionCommandImpl::~MoveSelectionCommandImpl): Release the fragment.
   36701         (khtml::RemoveNodeCommandImpl::~RemoveNodeCommandImpl): Remove unneeded null checks.
   36702         (khtml::RemoveNodeCommandImpl::doUnapply): Take advantage of defined behavior of insertBefore when
   36703         the node to insert before is 0 (means the same thing as appendChild).
   36704         (khtml::RemoveNodePreservingChildrenCommandImpl::~RemoveNodePreservingChildrenCommandImpl):
   36705         Remove unneeded null check.
   36706         (khtml::ReplaceSelectionCommandImpl::ReplaceSelectionCommandImpl): Hold a reference to the fragment
   36707         while the command exists.
   36708         (khtml::ReplaceSelectionCommandImpl::~ReplaceSelectionCommandImpl): Release the fragment.
   36709         (khtml::SetNodeAttributeCommandImpl::~SetNodeAttributeCommandImpl): Remove unneeded null check.
   36710         (khtml::SplitTextNodeCommandImpl::~SplitTextNodeCommandImpl): Remove unneeded null check.
   36711         (khtml::TypingCommandImpl::TypingCommandImpl): Added selectInsertedText parameter.
   36712         (khtml::TypingCommandImpl::doApply): Pass along selectInsertedText parameter.
   36713         (khtml::TypingCommandImpl::insertText): Ditto.
   36714         (khtml::TypingCommandImpl::preservesTypingStyle): Added. Returns true for DeleteKey.
   36715         (khtml::TypingCommandImpl::isTypingCommand): Added. Returns true.
   36716 
   36717         * khtml/editing/jsediting.cpp: Add a cut at implementing the underline command. May not work
   36718         perfectly yet because text-decoration is not inherited the way, say, font-weight is.
   36719 
   36720         * khtml/xml/dom_selection.h: Removed some unneeded friend declarations for comparison operators
   36721         that use only public members. Added PARAGRAPH_BOUNDARY.
   36722         * khtml/xml/dom_selection.cpp:
   36723         (DOM::Selection::modifyExtendingRightForward): Implemented paragraph boundary case, simplified line
   36724         boundary case (by changing parameter types and function names, not the algorithm), and made
   36725         paragraph case fall into line case for now.
   36726         (DOM::Selection::modifyMovingRightForward): Ditto.
   36727         (DOM::Selection::modifyExtendingLeftBackward): Ditto.
   36728         (DOM::Selection::modifyMovingLeftBackward): Ditto.
   36729         (DOM::Selection::validate): Implemented paragraph case and paragraph boundary case, simplified the
   36730         line case as above and also fixed the document case.
   36731         (DOM::startOfFirstRunAt): Changed to use DOM::Position instead of node
   36732         offset pairs. Also renamed and got rid of separate bool to indicate "not found".
   36733         (DOM::endOfLastRunAt): Ditto.
   36734         (DOM::selectionForLine): Ditto.
   36735 
   36736         * khtml/xml/dom_position.h: Added startParagraphBoundary and endParagraphBoundary.
   36737         Also used enums instead of bools in a couple of places. Removed some unneeded friend
   36738         declarations for comparison operators that use only public members.
   36739         * khtml/xml/dom_position.cpp:
   36740         (DOM::Position::Position): Coding style tweak.
   36741         (DOM::Position::startParagraphBoundary): Added.
   36742         (DOM::Position::endParagraphBoundary): Added.
   36743         (DOM::Position::upstream): Use enum parameter instead of bool.
   36744         (DOM::Position::downstream): Ditto.
   36745         (DOM::Position::rendersOnSameLine): Removed unused function. Noticed some backwards logic
   36746         here, and removed it rather than fixing it.
   36747 
   36748         * khtml/xml/dom_nodeimpl.h: Added traversePreviousNodePostOrder.
   36749         * khtml/xml/dom_nodeimpl.cpp:
   36750         (NodeImpl::traversePreviousNodePostOrder): Added. For some uses, this function is more analogous
   36751         to traverseNextNode in reverse than traversePreviousNode, which does a backwards pre-order traversal.
   36752 
   36753         * kwq/WebCoreBridge.h: Replaced fontForCurrentPosition method with fontForSelection:, added
   36754         selectInsertedText parameter to insertText method, and added selectionStartHasStyle: method.
   36755         Add WebSelectToParagraphBoundary.
   36756         * kwq/WebCoreBridge.mm:
   36757         (-[WebCoreBridge setSelectedDOMRange:affinity:]): Added workaround for bug where isRenderedContent
   36758         returns false for <br> elements at the ends of lines.
   36759         (-[WebCoreBridge insertText:selectInsertedText:]): Added selectInsertedText parameter, passing it
   36760         along to TypingCommand::insertText.
   36761         (-[WebCoreBridge selectionStartHasStyle:]): Added. Calls code in the part that does the real work.
   36762         (-[WebCoreBridge fontForSelection:]): Ditto.
   36763 
   36764         * kwq/KWQKHTMLPart.h: Renamed fontForCurrentPosition to fontForSelection, and added a feature
   36765         where it tells us whether there are multiple fonts in the selection or not.
   36766         * kwq/KWQKHTMLPart.mm:
   36767         (KWQKHTMLPart::fontForSelection): Rewrote this to be a bit simpler, and added code to detect
   36768         whether there are multiple fonts in the selection.
   36769         (KWQKHTMLPart::didTellBridgeAboutLoad): Use a global character rather than a bad pointer here.
   36770         Better not to rely on undefined behavior.
   36771         (KWQKHTMLPart::documentFragmentWithText): Use lowercase HTML. I believe this works better when
   36772         the document is XML, and we should probably visit all callers and change them.
   36773         (KWQKHTMLPart::registerCommandForUndo): Call get() instead of handle().
   36774         (KWQKHTMLPart::registerCommandForRedo): Call get() instead of handle().
   36775 
   36776         * khtml/misc/shared.h: Added a private, non-implemented copy constructor and assignment
   36777         operator to Shared<> and TreeShared<> to prevent copying reference counts by accident.
   36778         * khtml/rendering/render_style.h: Get rid of Shared<BorderData>, since it's not used that way.
   36779         This makes BorderData smaller, and allows it to compile with the change to Shared<>.
   36780         * khtml/xml/dom_docimpl.h: Remove unneeded copy constructor on DocumentFragmentImpl,
   36781         which ran afoul of the change to Shared<> and was unused.
   36782         * khtml/xml/dom_docimpl.cpp: Ditto.
   36783         * khtml/xml/dom_stringimpl.cpp:
   36784         (DOM::DOMStringImpl::empty): Changed code around so it doesn't run afoul of the change to
   36785         Shared<>. The old code was copying a DOMStringImpl.
   36786         (DOM::DOMStringImpl::ascii): Added code to null-terminate the string buffer.
   36787 
   36788 2004-09-06  Darin Adler  <darin (a] apple.com>
   36789 
   36790         Reviewed by John.
   36791 
   36792         - improved computed style code and implemented text-decoration and text-shadow (needed for, e.g., underline)
   36793 
   36794         * khtml/css/css_computedstyle.cpp:
   36795         Added CSS_PROP_TEXT_DECORATION to the InheritableProperties array for now even though it's
   36796         not inheritable. This makes underline work in some cases for typing style. We may decide to
   36797         take it back out again after further consideration.
   36798         (DOM::valueForLength): Use IDs in primitive values rather than strings.
   36799         (DOM::valueForBorderStyle): Ditto, also renamed this.
   36800         (DOM::valueForTextAlign): More of the same.
   36801         (DOM::valueForShadow): Added this function.
   36802         (DOM::CSSComputedStyleDeclarationImpl::getPositionOffsetValue): More IDs in primitive values.
   36803         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Changed all the cases to use
   36804         IDs instead of strings in primitive values. Also put the style in a local variable for
   36805         better code size and smaller source code too. Added implementation for CSS_PROP_TEXT_DECORATION
   36806         and CSS_PROP_TEXT_SHADOW.
   36807 
   36808         * khtml/css/css_valueimpl.cpp:
   36809         (CSSValueListImpl::cssText): Put commas between list elements.
   36810         (CSSPrimitiveValueImpl::cssText): Fixed some messed up indenting and removed an unneeded
   36811         default case that would just prevent a warning if we ever have an unhandled enum value.
   36812 
   36813 2004-09-06  Darin Adler  <darin (a] apple.com>
   36814 
   36815         Reviewed by John.
   36816 
   36817         - did some clean-up on form data code
   36818 
   36819         * khtml/misc/formdata.h: Added more public functions as suggested by Chris when he reviewed
   36820         this class.
   36821         * khtml/misc/formdata.cpp: (khtml::FormData::appendFile): Added. Will be needed soon.
   36822         * kwq/KWQFormData.mm: (arrayFromFormData): Use new cleaned-up FormData API.
   36823 
   36824 2004-09-06  Darin Adler  <darin (a] apple.com>
   36825 
   36826         Reviewed by John.
   36827 
   36828         * kwq/DOM-CSS.mm: (-[DOMCSSStyleDeclaration description]): Use cssText in the description
   36829         so it's easier to see in the debugger.
   36830 
   36831 2004-09-06  Darin Adler  <darin (a] apple.com>
   36832 
   36833         Reviewed by John.
   36834 
   36835         * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::send): Remove uneeded QCString copy.
   36836 
   36837 2004-09-04  Richard Williamson   <rjw (a] apple.com>
   36838 
   36839         Fix build problem on panther.
   36840 
   36841         * khtml/ecma/kjs_html.cpp:
   36842         * khtml/rendering/render_canvasimage.h:
   36843 
   36844 2004-09-03  David Hyatt  <hyatt (a] apple.com>
   36845 
   36846 	Simple tweak to background-attachment.  Don't apply the slow repaint flag until after the whole style has been
   36847 	resolved, since while cascading someone may set the attachment to fixed but later override with scroll.
   36848 
   36849         * khtml/css/cssstyleselector.cpp:
   36850         (khtml::CSSStyleSelector::adjustRenderStyle):
   36851         (khtml::CSSStyleSelector::applyProperty):
   36852 
   36853 2004-09-03  Richard Williamson   <rjw (a] apple.com>
   36854 
   36855 	Fixed <rdar://problem/3781001>: redirection of URL via resource load delegate does not correctly set base URL for subsequent loads
   36856 
   36857 	Ensure that stylesheets have the correct URL when request
   36858 	is redirected.
   36859 
   36860         Reviewed by Maciej.
   36861 
   36862         * khtml/misc/loader.cpp:
   36863         (CachedCSSStyleSheet::checkNotify):
   36864         * kwq/KWQLoader.h:
   36865         * kwq/KWQLoader.mm:
   36866         (KWQIsResponseURLEqualToURL):
   36867         (KWQResponseURL):
   36868 
   36869         * khtml/ecma/kjs_html.cpp:
   36870         (KJS::Context2DFunction::tryCall):
   36871 	Compare parameter count with == instead of <=.
   36872 
   36873 2004-09-03  David Hyatt  <hyatt (a] apple.com>
   36874 
   36875 	Fix for 3779083, deleting large amount of text is really slow.  Don't use NodeLists in editing remove commands.
   36876 	
   36877         Reviewed by darin
   36878 
   36879         * khtml/editing/htmlediting_impl.cpp:
   36880         (khtml::RemoveNodeCommandImpl::RemoveNodeCommandImpl):
   36881         (khtml::RemoveNodePreservingChildrenCommandImpl::doApply):
   36882 
   36883 2004-09-03  Darin Adler  <darin (a] apple.com>
   36884 
   36885         Reviewed by John.
   36886 
   36887         - fixed <rdar://problem/3714501> REGRESSION (125.8-8A162): Chinese words display as garbage in search results (www.sz.net.cn)
   36888 
   36889         * khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue): Resolve URL using the document method
   36890         that passes the codec rather than calling the KURL constructor directly.
   36891 
   36892 2004-09-03  Chris Blumenberg  <cblu (a] apple.com>
   36893 
   36894 	Fixed: <rdar://problem/3788409> can't create or clone an embed element
   36895 
   36896         Reviewed by rjw.
   36897 
   36898         * khtml/html/htmlparser.cpp: added fixme about sharing code
   36899         * khtml/xml/dom_docimpl.cpp: ditto
   36900         (DocumentImpl::createHTMLElement): create and return a HTMLEmbedElementImpl
   36901 
   36902 2004-09-03  Darin Adler  <darin (a] apple.com>
   36903 
   36904         Reviewed by Chris.
   36905 
   36906         - fixed <rdar://problem/3410112> filename with non-ASCII name for <input type=file> should be sent in the page's encoding
   36907 
   36908         * khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::formData):
   36909         Encode filename using the codec rather than doing the &# dance. It turns out that Mozilla
   36910         only does the &# thing under certain circumstances that are not important. Always encoding
   36911         the filename is almost certainly better behavior, and will fix many serious problems for
   36912         Japanese and Korean users and websites.
   36913 
   36914 2004-09-03  Richard Williamson   <rjw (a] apple.com>
   36915 
   36916 	Made drawImage() in <canvas> compliant with whatwg spec.
   36917 	
   36918         Reviewed by John.
   36919 
   36920         * khtml/ecma/kjs_html.cpp:
   36921         (KJS::Context2DFunction::tryCall):
   36922         * khtml/html/html_imageimpl.h:
   36923         (DOM::HTMLImageElementImpl::pixmap):
   36924 
   36925 2004-09-03  David Hyatt  <hyatt (a] apple.com>
   36926 
   36927 	Fix for 3787686, CSS parser should do case-sensitive matching of ids and attributes only in strict mode
   36928 	(and not whenever you have an HTML document).
   36929 	
   36930         Reviewed by john
   36931 
   36932         * khtml/css/parser.cpp:
   36933         * khtml/css/parser.y:
   36934 
   36935 === Safari-162 ===
   36936 
   36937 2004-09-03  Darin Adler  <darin (a] apple.com>
   36938 
   36939         Reviewed by John.
   36940 
   36941         - <rdar://problem/3788040> REGRESSION: text that i type into a textarea disappears when i tab out of the textarea
   36942 
   36943         * kwq/KWQTextArea.mm: (-[KWQTextArea textDidChange:]): Bring back an unconditional version of
   36944         this method. Earlier, we deleted this method, but we should have instead removed the check.
   36945 
   36946 2004-09-02  David Hyatt  <hyatt (a] apple.com>
   36947 
   36948 	Swap RenderBox and RenderContainer.  Make leaf RenderObjects actually derive off of RenderBox instead.
   36949 	
   36950         Reviewed by kocienda
   36951 
   36952         * khtml/rendering/render_block.cpp:
   36953         (khtml::RenderBlock::addChildToFlow):
   36954         * khtml/rendering/render_box.cpp:
   36955         (RenderBox::RenderBox):
   36956         (RenderBox::detach):
   36957         * khtml/rendering/render_box.h:
   36958         * khtml/rendering/render_container.cpp:
   36959         (RenderContainer::RenderContainer):
   36960         (RenderContainer::detach):
   36961         * khtml/rendering/render_container.h:
   36962         * khtml/rendering/render_flow.cpp:
   36963         (RenderFlow::detach):
   36964         (RenderFlow::dirtyLineBoxes):
   36965         (RenderFlow::createInlineBox):
   36966         (RenderFlow::getAbsoluteRepaintRect):
   36967         (RenderFlow::lowestPosition):
   36968         (RenderFlow::rightmostPosition):
   36969         (RenderFlow::leftmostPosition):
   36970         (RenderFlow::caretPos):
   36971         * khtml/rendering/render_flow.h:
   36972         (khtml::RenderFlow::RenderFlow):
   36973         * khtml/rendering/render_frames.cpp:
   36974         (RenderFrameSet::RenderFrameSet):
   36975         (RenderFrameSet::nodeAtPoint):
   36976         (RenderFrameSet::dump):
   36977         * khtml/rendering/render_frames.h:
   36978         * khtml/rendering/render_inline.cpp:
   36979         (RenderInline::addChildToFlow):
   36980         * khtml/rendering/render_replaced.cpp:
   36981         * khtml/rendering/render_replaced.h:
   36982         (khtml::RenderReplaced::setIntrinsicHeight):
   36983         * khtml/rendering/render_table.cpp:
   36984         (RenderTableSection::RenderTableSection):
   36985         (RenderTableSection::detach):
   36986         (RenderTableSection::setStyle):
   36987         * khtml/rendering/render_table.h:
   36988 
   36989 2004-09-02  Ken Kocienda  <kocienda (a] apple.com>
   36990 
   36991         * khtml/editing/htmlediting_impl.h: Fix some inconsistent use of whitespace. No code change.
   36992 
   36993 2004-09-02  Ken Kocienda  <kocienda (a] apple.com>
   36994 
   36995         Reviewed by Hyatt
   36996 
   36997         Fix for this bug:
   36998         
   36999         <rdar://problem/3786848> REGRESSION (Mail): Typing styles and font panel updates broken
   37000 
   37001         * khtml/xml/dom_position.cpp:
   37002         (DOM::Position::inRenderedContent): Check for inlines that can have kids is wrong.
   37003         I busted this the other day when making the PositionIterator class iterate over
   37004         all nodes and not just leaves of the DOM tree.
   37005         
   37006         Update all the following functions. These use the PositionIterator class, but still 
   37007         only want to consider leaf nodes.
   37008         
   37009         (DOM::Position::isFirstRenderedPositionOnLine)
   37010         (DOM::Position::isLastRenderedPositionOnLine)
   37011         (DOM::Position::isLastRenderedPositionInEditableBlock)
   37012         (DOM::Position::inFirstEditableInRootEditableElement)
   37013         (DOM::Position::inLastEditableInRootEditableElement)
   37014         (DOM::Position::inFirstEditableInContainingEditableBlock)
   37015         (DOM::Position::inLastEditableInContainingEditableBlock)
   37016 
   37017 2004-09-02  Richard Williamson   <rjw (a] apple.com>
   37018 
   37019 	Support for patterns in <canvas>
   37020 
   37021         Reviewed by Hyatt.
   37022 
   37023         * khtml/ecma/kjs_html.cpp:
   37024         (KJS::Context2DFunction::tryCall):
   37025         (Context2D::putValue):
   37026         (drawPattern):
   37027         (ImagePattern::ImagePattern):
   37028         (ImagePattern::~ImagePattern):
   37029         * khtml/ecma/kjs_html.h:
   37030         (KJS::ImagePattern::getPattern):
   37031         (KJS::ImagePattern::pixmap):
   37032         * kwq/KWQPixmap.h:
   37033         * kwq/KWQPixmap.mm:
   37034         (QPixmap::imageRef):
   37035         * kwq/WebCoreImageRenderer.h:
   37036 
   37037 2004-09-01  David Hyatt  <hyatt (a] apple.com>
   37038 
   37039 	Fix for 3769409, a regression from 10.3.4 to 10.3.5 involving <colgroup>s in malformed HTML.
   37040 	
   37041         Reviewed by mjs
   37042 
   37043         * khtml/html/htmlparser.cpp:
   37044         (KHTMLParser::insertNode):
   37045 
   37046 2004-09-01  David Hyatt  <hyatt (a] apple.com>
   37047 
   37048 	Fix for the <colgroup> crasher.  Make sure adding to an anonymous box just returns immediately. Also eliminate
   37049 	all the redundant setPos -500000 calls, since we don't need those at all.
   37050 	
   37051         Reviewed by john
   37052 
   37053         * khtml/rendering/render_block.cpp:
   37054         (khtml::RenderBlock::addChildToFlow):
   37055         (khtml::RenderBlock::makeChildrenNonInline):
   37056         * khtml/rendering/render_inline.cpp:
   37057         (RenderInline::splitFlow):
   37058 
   37059 2004-09-02  Ken Kocienda  <kocienda (a] apple.com>
   37060 
   37061         Reviewed by John
   37062 
   37063         Fix for these bugs:
   37064         
   37065         <rdar://problem/3729219> REGRESSION (Mail): Caret placement and navigation not working correctly at yahoo.com
   37066         <rdar://problem/3758606> REGRESSION (Mail): Deletions across DIV elements is broken
   37067         <rdar://problem/3784810> REGRESSION (Mail): delete at beginning of line instead deletes to the end of the document (simple reduced test)
   37068 
   37069         I made some very big improvements to the code which handles deletions of selections
   37070         which span more than one block.
   37071 
   37072         * khtml/editing/htmlediting_impl.cpp:
   37073         (khtml::CompositeEditCommandImpl::deleteUnrenderedText): An new, overloaded version of this
   37074         function which works on a NodeImpl. The code in this function fell out of some refactoring
   37075         I did in the function with the same name which takes a Position as an argument.
   37076         (khtml::DeleteSelectionCommandImpl::moveNodesToBlock): New function. This new logic provides
   37077         the smarts to fix the bugs listed above and greatly improves the code to perform deleting 
   37078         selections which span more than one block.
   37079         (khtml::DeleteSelectionCommandImpl::doApply): Several changes. Constrain downstream positions
   37080         so that they stay in the current block. This was a mistake before I think. Add code to detect
   37081         when the insertion point is a caret at the start of a block. This is a special-case of a
   37082         cross-block selection. Change the end-of-deletion-fixup case to operate on the downstreamEnd
   37083         position of the selection rather than the upstream. This is more logical. Refine the block 
   37084         merge logic to handle more cases, like dealing with whitespace. 
   37085         * khtml/editing/htmlediting_impl.h: Associated header file changes.
   37086         * khtml/xml/dom_nodeimpl.cpp: 
   37087         (NodeImpl::rootEditableElement): Add code to clamp the return value to the body element.
   37088         * khtml/xml/dom_selection.cpp:
   37089         (DOM::Selection::validate): Make selection canonicalizations stay in the current block.
   37090         * layout-tests/editing/deleting/delete-block-merge-contents-001-expected.txt:
   37091         * layout-tests/editing/deleting/delete-block-merge-contents-001.html:
   37092         * layout-tests/editing/deleting/delete-block-merge-contents-002-expected.txt: Added.
   37093         * layout-tests/editing/deleting/delete-block-merge-contents-002.html: Added.
   37094         * layout-tests/editing/deleting/delete-block-merge-contents-003-expected.txt: Added.
   37095         * layout-tests/editing/deleting/delete-block-merge-contents-003.html: Added.
   37096         * layout-tests/editing/deleting/delete-block-merge-contents-004-expected.txt: Added.
   37097         * layout-tests/editing/deleting/delete-block-merge-contents-004.html: Added.
   37098         * layout-tests/editing/deleting/delete-block-merge-contents-005-expected.txt: Added.
   37099         * layout-tests/editing/deleting/delete-block-merge-contents-005.html: Added.
   37100         * layout-tests/editing/deleting/delete-block-merge-contents-006-expected.txt: Added.
   37101         * layout-tests/editing/deleting/delete-block-merge-contents-006.html: Added.
   37102         * layout-tests/editing/deleting/delete-block-merge-contents-007-expected.txt: Added.
   37103         * layout-tests/editing/deleting/delete-block-merge-contents-007.html: Added.
   37104         * layout-tests/editing/deleting/delete-block-merge-contents-008-expected.txt: Added.
   37105         * layout-tests/editing/deleting/delete-block-merge-contents-008.html: Added.
   37106         * layout-tests/editing/deleting/delete-block-merge-contents-009-expected.txt: Added.
   37107         * layout-tests/editing/deleting/delete-block-merge-contents-009.html: Added.
   37108         * layout-tests/editing/deleting/delete-block-merge-contents-010-expected.txt: Added.
   37109         * layout-tests/editing/deleting/delete-block-merge-contents-010.html: Added.
   37110         * layout-tests/editing/deleting/delete-block-merge-contents-011-expected.txt: Added.
   37111         * layout-tests/editing/deleting/delete-block-merge-contents-011.html: Added.
   37112         * layout-tests/editing/inserting/insert-3654864-fix-expected.txt: Updated with new results.
   37113         * layout-tests/editing/inserting/insert-3654864-fix.html: Updated test to deal better with
   37114         improved select all behavior.
   37115         * layout-tests/editing/selection/select-all-003-expected.txt: Updated with new results.
   37116 
   37117 2004-09-01  Richard Williamson   <rjw (a] apple.com>
   37118 
   37119 	Fixed panther build glitch.
   37120 
   37121         Reviewed by Ken.
   37122 
   37123         * khtml/ecma/kjs_html.cpp:
   37124 
   37125 2004-09-01  Richard Williamson   <rjw (a] apple.com>
   37126 
   37127 	Finished implementation of gradient support in <canvas>.
   37128 
   37129         Reviewed by John.
   37130 
   37131         * khtml/ecma/kjs_html.cpp:
   37132         (KJS::HTMLElementFunction::tryCall):
   37133         (isGradient):
   37134         (isImagePattern):
   37135         (KJS::Context2DFunction::tryCall):
   37136         (Context2D::putValue):
   37137         (Context2D::Context2D):
   37138         (KJS::GradientFunction::tryCall):
   37139         (gradientCallback):
   37140         (Gradient::commonInit):
   37141         (Gradient::Gradient):
   37142         (Gradient::~Gradient):
   37143         (Gradient::getShading):
   37144         (Gradient::addColorStop):
   37145         (sortStops):
   37146         (Gradient::colorStops):
   37147         * khtml/ecma/kjs_html.h:
   37148         (KJS::ColorStop::ColorStop):
   37149         * khtml/ecma/kjs_html.lut.h:
   37150         (KJS::):
   37151 
   37152 2004-09-01  David Hyatt  <hyatt (a] apple.com>
   37153 
   37154 	Fix for 3784686, hidden links still active.  Make sure text nodes exclude themselves from nodeAtPoint checks
   37155 	when hidden.
   37156 	
   37157         * khtml/rendering/render_text.cpp:
   37158         (RenderText::nodeAtPoint):
   37159 
   37160 2004-08-31  David Hyatt  <hyatt (a] apple.com>
   37161 
   37162 	Fixes for 3761411 and 3782201.  This patch makes two changes to percentage heights.  First it makes sure that
   37163 	replaced elements always flex inside a cell (unlike blocks and tables, which do so only sometimes under bizarre
   37164 	conditions that are still being guessed at by me).  The second fix is a recognition that empty tables do not
   37165 	actually honor their heights, and so it is a mistake to try to flex them.
   37166 	
   37167         Reviewed by mjs
   37168 
   37169         * khtml/rendering/render_table.cpp:
   37170         (RenderTableSection::layoutRows):
   37171         * khtml/rendering/render_table.h:
   37172         (khtml::RenderTable::hasSections):
   37173 
   37174 2004-08-31  Ken Kocienda  <kocienda (a] apple.com>
   37175 
   37176         Reviewed by Hyatt
   37177     
   37178         Fix for this bug:
   37179         
   37180         <rdar://problem/3781572> can't paste text in replied message view
   37181 
   37182         * khtml/xml/dom2_rangeimpl.cpp:
   37183         (DOM::RangeImpl::toHTML): Copying text placed in an anonymous block was failing
   37184         since the code in here depending on the text node's containing block having an
   37185         element, which it won't. In fact, using containing block is wrong anyway, since
   37186         positioned elements can have containing blocks far from where they live in the
   37187         tree. This "move up to block check" should use the more DOM-wise enclosingBlockFlowElement()
   37188         in NodeImpl.
   37189 
   37190 2004-08-30  David Hyatt  <hyatt (a] apple.com>
   37191 
   37192 	Fix for 3742585, sony dhtml menus wrong size.  The percentage table height algorithm was wrong.  This patch
   37193 	unifies the table percentage height algorithm with the block percentage height algorithm and fixes bugs in
   37194 	both.
   37195 	
   37196         Reviewed by john
   37197 
   37198         * khtml/rendering/render_box.cpp:
   37199         (RenderBox::calcPercentageHeight):
   37200         * khtml/rendering/render_table.cpp:
   37201         (RenderTable::layout):
   37202 
   37203 2004-08-31  Ken Kocienda  <kocienda (a] apple.com>
   37204 
   37205         Added more editing layout tests.
   37206 
   37207         * layout-tests/editing/deleting/delete-tab-001-expected.txt: Added.
   37208         * layout-tests/editing/deleting/delete-tab-001.html: Added.
   37209         * layout-tests/editing/deleting/delete-tab-002-expected.txt: Added.
   37210         * layout-tests/editing/deleting/delete-tab-002.html: Added.
   37211         * layout-tests/editing/deleting/delete-tab-003-expected.txt: Added.
   37212         * layout-tests/editing/deleting/delete-tab-003.html: Added.
   37213         * layout-tests/editing/deleting/delete-tab-004-expected.txt: Added.
   37214         * layout-tests/editing/deleting/delete-tab-004.html: Added.
   37215         * layout-tests/editing/editing.js: Fixed a little bug in one of the "delayed" commands.
   37216         * layout-tests/editing/inserting/insert-tab-001-expected.txt: Added.
   37217         * layout-tests/editing/inserting/insert-tab-001.html: Added.
   37218         * layout-tests/editing/inserting/insert-tab-002-expected.txt: Added.
   37219         * layout-tests/editing/inserting/insert-tab-002.html: Added.
   37220         * layout-tests/editing/inserting/insert-tab-003-expected.txt: Added.
   37221         * layout-tests/editing/inserting/insert-tab-003.html: Added.
   37222         * layout-tests/editing/inserting/insert-tab-004-expected.txt: Added.
   37223         * layout-tests/editing/inserting/insert-tab-004.html: Added.
   37224 
   37225 2004-08-31  Ken Kocienda  <kocienda (a] apple.com>
   37226 
   37227         Reviewed by John
   37228 
   37229         Fix for this bug:
   37230         
   37231         <rdar://problem/3782521> Typing newline at start of block does not work
   37232 
   37233         * khtml/editing/htmlediting_impl.cpp:
   37234         (khtml::InputNewlineCommandImpl::doApply): Change handling of case to insert
   37235         newline at the start of a block.
   37236         * layout-tests/editing/inserting/insert-br-006-expected.txt: Updated layout test with
   37237         new results.
   37238 
   37239 2004-08-31  Ken Kocienda  <kocienda (a] apple.com>
   37240 
   37241         Checked in incorrect results for these tests. There are the right ones.
   37242 
   37243         * layout-tests/editing/deleting/collapse-whitespace-3587601-fix-expected.txt
   37244         * layout-tests/editing/selection/move-by-line-001-expected.txt
   37245 
   37246 2004-08-31  Ken Kocienda  <kocienda (a] apple.com>
   37247 
   37248         Added more editing layout tests.
   37249 
   37250         * layout-tests/editing/deleting/collapse-whitespace-3587601-fix-expected.txt: Added.
   37251         * layout-tests/editing/deleting/collapse-whitespace-3587601-fix.html: Added.
   37252         * layout-tests/editing/deleting/delete-block-merge-contents-001-expected.txt: Added.
   37253         * layout-tests/editing/deleting/delete-block-merge-contents-001.html: Added.
   37254         * layout-tests/editing/editing.js: Added some more navigation commands.
   37255         * layout-tests/editing/inserting/insert-3778059-fix-expected.txt: Added.
   37256         * layout-tests/editing/inserting/insert-3778059-fix.html: Added.
   37257         * layout-tests/editing/selection/move-by-line-001-expected.txt: Added.
   37258         * layout-tests/editing/selection/move-by-line-001.html: Added.
   37259         * layout-tests/editing/style/typing-style-003-expected.txt: Added.
   37260         * layout-tests/editing/style/typing-style-003.html: Added.
   37261 
   37262 2004-08-31  Ken Kocienda  <kocienda (a] apple.com>
   37263 
   37264         Added more editing layout tests. Renamed some others.
   37265 
   37266         * layout-tests/editing/inserting/insert-br-001-expected.txt: Added.
   37267         * layout-tests/editing/inserting/insert-br-001.html: Added.
   37268         * layout-tests/editing/inserting/insert-br-002-expected.txt: Added.
   37269         * layout-tests/editing/inserting/insert-br-002.html: Added.
   37270         * layout-tests/editing/inserting/insert-br-003-expected.txt: Added.
   37271         * layout-tests/editing/inserting/insert-br-003.html: Added.
   37272         * layout-tests/editing/inserting/insert-br-004-expected.txt: Added.
   37273         * layout-tests/editing/inserting/insert-br-004.html: Added.
   37274         * layout-tests/editing/inserting/insert-br-005-expected.txt: Added.
   37275         * layout-tests/editing/inserting/insert-br-005.html: Added.
   37276         * layout-tests/editing/inserting/insert-br-006-expected.txt: Added.
   37277         * layout-tests/editing/inserting/insert-br-006.html: Added.
   37278         * layout-tests/editing/inserting/insert-br-case1-expected.txt: Removed.
   37279         * layout-tests/editing/inserting/insert-br-case1.html: Removed.
   37280         * layout-tests/editing/inserting/insert-br-case2-expected.txt: Removed.
   37281         * layout-tests/editing/inserting/insert-br-case2.html: Removed.
   37282         * layout-tests/editing/inserting/insert-br-case3-expected.txt: Removed.
   37283         * layout-tests/editing/inserting/insert-br-case3.html: Removed.
   37284         * layout-tests/editing/inserting/insert-br-case6-expected.txt: Removed.
   37285         * layout-tests/editing/inserting/insert-br-case6.html: Removed.
   37286         * layout-tests/editing/inserting/insert-text-with-newlines-expected.txt: Added.
   37287         * layout-tests/editing/inserting/insert-text-with-newlines.html: Added.
   37288 
   37289 2004-08-31  Ken Kocienda  <kocienda (a] apple.com>
   37290 
   37291         * layout-tests/editing/editing.js: Modified typeCharacterCommand so it can accept a character
   37292         as an argument.
   37293 
   37294 2004-08-31  Ken Kocienda  <kocienda (a] apple.com>
   37295 
   37296         Reviewed by Hyatt
   37297 
   37298         Fix for these bugs:
   37299 
   37300         <rdar://problem/3777629> REGRESSION (Mail): can't delete blank lines in quoted text in HTML mail replies
   37301         <rdar://problem/3780309> REGRESSION (Mail): can't delete past an empty span in a particular test case
   37302         <rdar://problem/3780315> REGRESSION (Mail): right arrow works incorrectly in a particular test case with an empty span
   37303         <rdar://problem/3780320> REGRESSION (Mail): left arrow works incorrectly in a particular test case with an empty span
   37304         <rdar://problem/3780336> REGRESSION (Mail): down arrow fails in a reduction of a Mail reply test case (seems to be inside a span)
   37305 
   37306         * khtml/xml/dom_position.cpp:
   37307         (DOM::Position::upstream): If this position's node is a block, use it for the StayInBlock case, not the block's
   37308         enclosing block.
   37309         (DOM::Position::downstream): Ditto.
   37310         (DOM::Position::inRenderedContent): Refine the case for non-text nodes. This was erroneously returning true
   37311         for any empty element (like <span></span>).
   37312         * khtml/xml/dom_positioniterator.cpp: Change the following four functions to consider all nodes, not just
   37313         leaves of the DOM tree. This is a step towards making this iteration less cranky and unpredictable, and
   37314         was necessary to do now to keep the inRenderedContent() change above from breaking editign layout tests.
   37315         (DOM::PositionIterator::peekPrevious)
   37316         (DOM::PositionIterator::peekNext)
   37317         (DOM::PositionIterator::atStart)
   37318         (DOM::PositionIterator::atEnd)
   37319         * kwq/KWQKHTMLPart.mm:
   37320         (KWQKHTMLPart::fontForCurrentPosition): Check that the position being checked is an element and that the
   37321         element is in rendered content. I ran across some null-check failures while I was coding this fix, and
   37322         the additions seem prudent.
   37323         
   37324         Updated these layout tests with new results.
   37325         
   37326         * layout-tests/editing/deleting/delete-3608430-fix-expected.txt:
   37327         * layout-tests/editing/deleting/delete-3775172-fix-expected.txt:
   37328         * layout-tests/editing/deleting/delete-block-contents-001-expected.txt:
   37329         * layout-tests/editing/deleting/delete-block-contents-002-expected.txt:
   37330         * layout-tests/editing/deleting/delete-block-contents-003-expected.txt:
   37331         * layout-tests/editing/deleting/delete-image-004-expected.txt:
   37332         * layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt:
   37333         * layout-tests/editing/editing.js:
   37334         * layout-tests/editing/execCommand/boldSelection-expected.txt:
   37335         * layout-tests/editing/execCommand/italicizeByCharacter-expected.txt:
   37336         * layout-tests/editing/execCommand/modifyForeColorByCharacter-expected.txt:
   37337         * layout-tests/editing/execCommand/print-expected.txt:
   37338         * layout-tests/editing/execCommand/selectAll-expected.txt:
   37339         * layout-tests/editing/selection/extend-by-character-002-expected.txt:
   37340         * layout-tests/editing/selection/extend-by-character-004-expected.txt:
   37341         * layout-tests/editing/selection/extend-by-character-005-expected.txt:
   37342         * layout-tests/editing/selection/extend-by-character-006-expected.txt:
   37343         * layout-tests/editing/selection/select-all-001-expected.txt:
   37344         * layout-tests/editing/selection/select-all-002-expected.txt:
   37345         * layout-tests/editing/selection/select-all-003-expected.txt:
   37346 
   37347 2004-08-30  Darin Adler  <darin (a] apple.com>
   37348 
   37349         Reviewed by John.
   37350 
   37351         - fixed <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
   37352 
   37353         * kwq/KWQListBox.h: Added a clearCachedTextRenderers function.
   37354         * kwq/KWQListBox.mm:
   37355         (itemTextRenderer): Change to use globals that are outside the function, and added retain calls.
   37356         (groupLabelTextRenderer): Ditto.
   37357         (QListBox::clearCachedTextRenderers): Release global text renderers and nil out the globals.
   37358 
   37359         * kwq/WebCoreBridge.h: Removed updateAllViews; not needed any more.
   37360         * kwq/WebCoreBridge.mm: Ditto.
   37361 
   37362         * kwq/WebCoreTextRendererFactory.h: Added a clearCaches method.
   37363         * kwq/WebCoreTextRendererFactory.mm:
   37364         (-[WebCoreTextRendererFactory clearCaches]): Added. Tells all the views to repaint after clearing the cached
   37365         text renderers from KWQListBox. To be more elegant, we could generalize the KWQListBox trick, but for now why bother?
   37366 
   37367         * kwq/WebCoreTextRendererFactory.m: Removed. I needed to put some C++ code in here, so changed the extension to .mm.
   37368         * WebCore.pbproj/project.pbxproj: Removed WebCoreTextRendererFactory.m, and added WebCoreTextRendererFactory.mm.
   37369 
   37370 2004-08-30  Darin Adler  <darin (a] apple.com>
   37371 
   37372         Reviewed by John.
   37373 
   37374         - fixed <rdar://problem/3528538> can paste a Return character into the Search field at amazon.com, other browsers won't
   37375 
   37376         * kwq/KWQTextField.mm: (-[KWQTextFieldController controlTextDidChange:]):
   37377         Truncate text before the first line break.
   37378 
   37379 2004-08-30  Darin Adler  <darin (a] apple.com>
   37380 
   37381         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertOneChunkUsingTEC):
   37382         Added some more assertions I used to track down what looks like a TEC bug.
   37383 
   37384 2004-08-30  Darin Adler  <darin (a] apple.com>
   37385 
   37386         Reviewed by Ken.
   37387 
   37388         - fixed <rdar://problem/3779122> No accesskey support on LABEL element
   37389 
   37390         * khtml/html/html_formimpl.h: Change type of m_currValue to DOMString. Should have been done
   37391         as part of my form data check-in, but harmless to do now. Add accessKeyAction function for
   37392         HTMLLabelElementImpl.
   37393         * khtml/html/html_formimpl.cpp:
   37394         (DOM::HTMLButtonElementImpl::parseHTMLAttribute): Remove conversion of DOMString to QString
   37395         for m_currValue.
   37396         (DOM::HTMLLabelElementImpl::formElement): If there's no "for" attribute, search children for
   37397         the first control.
   37398         (DOM::HTMLLabelElementImpl::accessKeyAction): Forward the accesskey action to the formElement.
   37399 
   37400 2004-08-30  Darin Adler  <darin (a] apple.com>
   37401 
   37402         Reviewed by Dave.
   37403 
   37404         - fixed <rdar://problem/3303968> final newline character omitted from <textarea> when parsing a new page
   37405 
   37406         * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::processListing): Handle newline pending
   37407         cases as well as space and tab pending spaces at the end of this function. This seems right for
   37408         both scripts and text areas; it's not clear why omittiing the LF is ever needed. Tested by running
   37409         all the layout tests; no regressions.
   37410 
   37411         - fixed <rdar://problem/3552736> word wrapped text fields that blur/focus when you type move the insertion point strangely (vtext.com)
   37412 
   37413         * khtml/rendering/render_form.cpp: (RenderTextArea::updateFromElement): Call text() instead of
   37414         calling widget->text() directly. This prevents this function from running in cases where the
   37415         text didn't really change for text areas in wrap mode.
   37416 
   37417 2004-08-30  Darin Adler  <darin (a] apple.com>
   37418 
   37419         Reviewed by Dave.
   37420 
   37421         - got rid of ERROR message when running layout tests by implementing text-transform in computed style
   37422 
   37423         * khtml/css/css_computedstyle.cpp:
   37424         (DOM::numberAsString): Added. Helper that returns "1" rather then "1.0" for integer values.
   37425         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Fixed use of tabs instead of
   37426         spaces. Fixed switch statements so they don't use default so we get errors if we leave
   37427         a case out. Changed callers to use numberAsString instead of QString::number. Added implementation
   37428         of CSS_PROP_TEXT_TRANSFORM. Added code to prevent falling through to next property when no item
   37429         in a switch statement matches.
   37430 
   37431 2004-08-30  Darin Adler  <darin (a] apple.com>
   37432 
   37433         Reviewed by Chris.
   37434 
   37435         - did work to prepare for uploading files incrementally when submitting forms
   37436 
   37437         * khtml/misc/formdata.h: Added. Class for holding form data inside WebCore.
   37438         * khtml/misc/formdata.cpp: Added.
   37439 
   37440         * khtml/html/html_formimpl.h: Added the FormDataList type, changed the formData function parameters
   37441         and made it private, renamed the encoding method to appendFormData and changed the parameters around.
   37442         * khtml/html/html_formimpl.cpp:
   37443         (DOM::FormDataList): Added. Class that replaces the old use of QValueList<QCString> for form data.
   37444         Later we'll change it to accomodate filenames too.
   37445         (DOM::HTMLFormElementImpl::formData): Changed code to use FormDataList intsead of the old encodingList.
   37446         Also changed to return the "OK" result as the function result and put the form data into something
   37447         passed as an "out" parameter; the old way was the other way around.
   37448         (DOM::HTMLFormElementImpl::submit): Change to use FormData rather than a QByteArray when getting the
   37449         form data to submit.
   37450         (DOM::HTMLButtonElementImpl::appendFormData): Rename from encoding, and use the new appendData function
   37451         instead of the old way of doing += to put data on the list.
   37452         (DOM::HTMLInputElementImpl::appendFormData): Ditto.
   37453         (DOM::HTMLSelectElementImpl::appendFormData): Ditto.
   37454         (DOM::HTMLKeygenElementImpl::appendFormData): Ditto.
   37455         (DOM::HTMLTextAreaElementImpl::appendFormData): Ditto.
   37456         (DOM::FormDataList::FormDataList): Added.
   37457         (DOM::FormDataList::appendString): Added.
   37458         (DOM::FormDataList::begin): Added.
   37459         (DOM::FormDataList::end): Added.
   37460 
   37461         * khtml/khtml_part.h: Changed the type of the submitForm parameter to FormData instead of QByteArray.
   37462         * khtml/khtmlpart_p.h: Changed the type of the submitFormData data member to FormData instead of QByteArray.
   37463         * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Called the new flattenToString function in all the
   37464         code that handles mailto forms. Called the new flatten function in the non-Apple code path.
   37465 
   37466         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::submitForm): Pass NSArray for form data instead of NSData.
   37467 
   37468         * kwq/KWQKJob.h: Use FormData instead of QByteArray. A couple other small cleanups.
   37469         * kwq/KWQKJobClasses.h: Ditto.
   37470         * kwq/KWQKJobClasses.mm:
   37471         (KIO::TransferJobPrivate::TransferJobPrivate): Ditto.
   37472         (KIO::TransferJob::TransferJob): Ditto.
   37473         (KIO::TransferJob::postData): Ditto.
   37474         * kwq/KWQKPartsBrowserExtension.h: Ditto.
   37475         * kwq/KWQLoader.mm:
   37476         (KWQServeRequest): Ditto.
   37477         (KWQServeSynchronousRequest): Ditto.
   37478 
   37479         * kwq/KWQFormData.h: Added. A function to convert KHTML form data into an NSArray for communication
   37480         with the WebKit side.
   37481         * kwq/KWQFormData.mm: Added.
   37482 
   37483         * kwq/WebCoreBridge.h: Pass NSArray instead of NSData for form data.
   37484 
   37485         * kwq/KWQArrayImpl.h: Added a detach member function. The old version would do unnecessary work when
   37486         detach was called on an array that had exactly one reference.
   37487         * kwq/KWQArrayImpl.mm: (KWQArrayImpl::detach): Added.
   37488         * kwq/KWQMemArray.h: (QMemArray::detach): Call through to KWQArrayImpl.
   37489 
   37490         * kwq/KWQValueList.h:
   37491         (QValueList::first): Added overload for non-const.
   37492         (QValueList::last): Ditto.
   37493 
   37494         * ForwardingHeaders/misc/formdata.h: Added.
   37495         * WebCore.pbproj/project.pbxproj: Added formdata.h, formdata.cpp, KWQFormData.h, and KWQFormData.cpp.
   37496 
   37497         * WebCore-tests.exp: Updated for changes to QValueList, and re-sorted.
   37498         * WebCore-combined.exp: Regenerated.
   37499 
   37500 2004-08-30  Darin Adler  <darin (a] apple.com>
   37501 
   37502         Reviewed by Ken.
   37503 
   37504         - improved multiple submit logic in preparation for making command-click on a form
   37505           button load a form in another frame
   37506 
   37507         * kwq/KWQKHTMLPart.h: Added const to a bunch of member functions for cleanup.
   37508         Added prepareForUserAction member function.
   37509         * kwq/KWQKHTMLPart.mm:
   37510         (KWQKHTMLPart::submitForm): Simplified logic and removed special case for "http" and "https".
   37511         (KWQKHTMLPart::renderer): Added const.
   37512         (KWQKHTMLPart::keyEvent): Added call to prepareForUserAction.
   37513         (KWQKHTMLPart::lastEventIsMouseUp): Added const.
   37514         (KWQKHTMLPart::eventMayStartDrag): Added const.
   37515         (KWQKHTMLPart::mouseDown): Added call to prepareForUserAction.
   37516         (KWQKHTMLPart::overrideMediaType): Added const.
   37517         (KWQKHTMLPart::canGoBackOrForward): Added const.
   37518         (KWQKHTMLPart::prepareForUserAction): Added. Clears _submittedFormURL.
   37519         * kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityPerformAction:]): Added call to prepareForUserAction.
   37520 
   37521 2004-08-30  Ken Kocienda  <kocienda (a] apple.com>
   37522 
   37523         Reviewed by John
   37524 
   37525         Fix for this bug:
   37526 
   37527         <rdar://problem/3762231> REGRESSION (Mail): tab key inserts a single space
   37528 
   37529         * khtml/editing/htmlediting_impl.cpp:
   37530         (khtml::isTab): New helper. Checks a DOMString to see if it is one character and
   37531         that character is a tab.
   37532         (khtml::InputTextCommandImpl::execute): Trap tabs before handling insertion of
   37533         other kinds of whitespace. Treat a tab like four spaces. Rearrange the code to
   37534         update the ending position after the text insertion to cover the new tab case
   37535         where the amount of advance is not the same as the number of character in the
   37536         passed-in DOMString (i.e. tabs expand to four characters).
   37537         
   37538 2004-08-27  Ken Kocienda  <kocienda (a] apple.com>
   37539 
   37540         Reviewed by Chris
   37541 
   37542         Fix for this bug:
   37543         
   37544         <rdar://problem/3779706> plain text on pasteboard loses indentation when pasted into Blot
   37545 
   37546         * kwq/KWQKHTMLPart.h:
   37547         * kwq/KWQKHTMLPart.mm:
   37548         (KWQKHTMLPart::documentFragmentWithText): New function that takes over the code from
   37549         KWQKHTMLPart and improves it to handle converting tabs and spaces for suitable
   37550         display in HTML.
   37551         * kwq/WebCoreBridge.mm:
   37552         (-[WebCoreBridge documentFragmentWithText:]): Move smarts from here to KWQKHTMLPart.
   37553 
   37554 2004-08-27  Maciej Stachowiak  <mjs (a] apple.com>
   37555 
   37556         Reviewed by John.
   37557 
   37558 	<rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
   37559 
   37560 	Because we will stop parsing when there is a pending redirection,
   37561 	avoid setting one if no navigation would actually take place
   37562 	because the number of steps is out of range.
   37563 	
   37564         * khtml/khtml_part.cpp:
   37565         (KHTMLPart::scheduleHistoryNavigation):
   37566         * kwq/KWQKHTMLPart.h:
   37567         * kwq/KWQKHTMLPart.mm:
   37568         (KWQKHTMLPart::canGoBackOrForward):
   37569         * kwq/KWQKPartsBrowserInterface.h:
   37570         * kwq/WebCoreBridge.h:
   37571 
   37572 2004-08-27  Maciej Stachowiak  <mjs (a] apple.com>
   37573 
   37574         Reviewed by Chris.
   37575 
   37576 	- fixed <rdar://problem/3778043> REGRESSION: innerHTML is broken, breaks automated iBench testing
   37577 	- also fixed outerHTML, which would spill over past the node for whch it was supposed to get HTML
   37578 	
   37579         * khtml/html/html_elementimpl.cpp:
   37580         (HTMLElementImpl::outerHTML):
   37581         * khtml/xml/dom2_rangeimpl.cpp:
   37582         (DOM::RangeImpl::toHTML):
   37583         * khtml/xml/dom_nodeimpl.cpp:
   37584         (NodeImpl::toHTML):
   37585         (NodeImpl::recursive_toString):
   37586         (NodeImpl::recursive_toHTML):
   37587         * khtml/xml/dom_nodeimpl.h:
   37588         * kwq/WebCoreBridge.mm:
   37589         (-[WebCoreBridge markupStringFromNode:nodes:]):
   37590 
   37591 	- added new layout tests to cover the problems I fixed
   37592         
   37593 	* layout-tests/fast/innerHTML/001-expected.txt: Added.
   37594         * layout-tests/fast/innerHTML/001.html: Added.
   37595         * layout-tests/fast/innerHTML/002-expected.txt: Added.
   37596         * layout-tests/fast/innerHTML/002.html: Added.
   37597         * layout-tests/fast/innerHTML/003-expected.txt: Added.
   37598         * layout-tests/fast/innerHTML/003.html: Added.
   37599 
   37600 2004-08-27  David Hyatt  <hyatt (a] apple.com>
   37601 
   37602 	Fix for 3739239, getComputedStyle of top not being implemented broke a site that checked for it.
   37603 	
   37604         Reviewed by kocienda
   37605 
   37606         * khtml/css/css_computedstyle.cpp:
   37607         (DOM::valueForLength):
   37608         (DOM::CSSComputedStyleDeclarationImpl::getPositionOffsetValue):
   37609         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   37610         * khtml/css/css_computedstyle.h:
   37611 
   37612 2004-08-27  John Sullivan  <sullivan (a] apple.com>
   37613 
   37614         Reviewed by Ken.
   37615         
   37616         Tweaked option-tab handling to match good suggestion from Tim Omernick of OmniWeb
   37617 
   37618         * kwq/KWQTextArea.mm:
   37619         removed override of textDidChange:
   37620         (-[KWQTextAreaTextView keyDown:]):
   37621         moved option-tab handling that was in textDidChange to here. Rearranged existing code
   37622         a little for clarity.
   37623 
   37624 2004-08-27  Adele Amchan  <adele (a] apple.com>
   37625 
   37626         Reviewed by Darin.
   37627 
   37628 	Fix for:
   37629 	<rdar://problem/3689949> Provide contentWindow access on an iframe
   37630 
   37631         * khtml/ecma/kjs_html.cpp:
   37632         (KJS::HTMLElement::getValueProperty): added cases for contentWindow for frames and iframes
   37633         * khtml/ecma/kjs_html.h: added contentWindow to the list of properties for frames and iframes
   37634         * khtml/ecma/kjs_html.lut.h: regenerated file
   37635         * khtml/html/html_baseimpl.cpp:
   37636         (HTMLFrameElementImpl::contentPart): factored out old contentDocument code to return KHTMLPart for frame
   37637         (HTMLFrameElementImpl::contentDocument): now just gets the contentDocument from contentPart
   37638         * khtml/html/html_baseimpl.h: added declaration for contentPart
   37639 
   37640 === Safari-161 ===
   37641 
   37642 2004-08-27  Ken Kocienda  <kocienda (a] apple.com>
   37643 
   37644         Reviewed by Darin
   37645 
   37646         Fix for this bug:
   37647         
   37648         <rdar://problem/3778059> Odd behaviour when editing between blockquote elements
   37649 
   37650         * khtml/editing/htmlediting_impl.cpp:
   37651         (khtml::CompositeEditCommandImpl::deleteUnrenderedText): This function should not move
   37652         the selection out of the current block, ever. This is exactly what the bug reported.
   37653         What was I thinking? Now, the code looks at the passed-in position and then the equivalent
   37654         upstream and downstream positions to see if the selection can be placed there after the
   37655         delete, and settles on the block containing the passed-in position as a fallback.
   37656         * layout-tests/editing/inserting/insert-3778059-fix-expected.txt: Added.
   37657         * layout-tests/editing/inserting/insert-3778059-fix.html: Added.
   37658 
   37659 2004-08-26  Richard Williamson   <rjw (a] apple.com>
   37660 
   37661         Boiler plate for canvas gradients and patterns.
   37662 
   37663         Reviewed by John.
   37664 
   37665         * khtml/ecma/kjs_html.cpp:
   37666         (KJS::Context2DFunction::tryCall):
   37667         (Context2D::tryPut):
   37668         (Context2D::~Context2D):
   37669         (KJS::GradientFunction::tryCall):
   37670         (Gradient::Gradient):
   37671         (Gradient::tryGet):
   37672         (Gradient::getValueProperty):
   37673         (Gradient::tryPut):
   37674         (Gradient::putValue):
   37675         (Gradient::~Gradient):
   37676         (ImagePattern::ImagePattern):
   37677         (ImagePattern::tryGet):
   37678         (ImagePattern::getValueProperty):
   37679         (ImagePattern::tryPut):
   37680         (ImagePattern::putValue):
   37681         (ImagePattern::~ImagePattern):
   37682         * khtml/ecma/kjs_html.h:
   37683         (KJS::Gradient::toBoolean):
   37684         (KJS::Gradient::classInfo):
   37685         (KJS::Gradient::):
   37686         (KJS::ImagePattern::toBoolean):
   37687         (KJS::ImagePattern::classInfo):
   37688         (KJS::ImagePattern::):
   37689         * khtml/ecma/kjs_html.lut.h:
   37690         (KJS::):
   37691 
   37692 2004-08-26  Ken Kocienda  <kocienda (a] apple.com>
   37693 
   37694         Reviewed by John
   37695 
   37696         Fix for this bug:
   37697         
   37698         <rdar://problem/3777899> REGRESSION (Mail): only first of several misspelled words separated by 
   37699         carriage returns is marked
   37700 
   37701         * khtml/editing/htmlediting_impl.cpp:
   37702         (khtml::TypingCommandImpl::markMisspellingsAfterTyping): Give the spellchecker a slightly larger 
   37703         selection to work with while typing. This should preclude bugs of this type.
   37704 
   37705 2004-08-26  Ken Kocienda  <kocienda (a] apple.com>
   37706 
   37707         Reviewed by Chris
   37708         
   37709         Fix for this bug:
   37710         
   37711         <rdar://problem/3777804> Deleting all content in a document can result in giant tall-as-window insertion point
   37712 
   37713         * khtml/rendering/render_box.cpp:
   37714         (RenderBox::caretPos): Always use the font height for calculating the caret height in 
   37715         non-replaced elements (like blocks), rather than the height of the box.
   37716 
   37717 2004-08-26  Ken Kocienda  <kocienda (a] apple.com>
   37718 
   37719         Silly me. Forgot to add this file before.
   37720 
   37721         * layout-tests/editing/inserting/insert-3775316-fix-expected.txt: Added.
   37722 
   37723 2004-08-26  David Hyatt  <hyatt (a] apple.com>
   37724 
   37725 	Fix for 3777172, crash from nested colgroup.  Don't allow nested table sections or col groups.
   37726 	
   37727         Reviewed by darin
   37728 
   37729         * khtml/html/htmlparser.cpp:
   37730         (KHTMLParser::insertNode):
   37731 
   37732 2004-08-26  Ken Kocienda  <kocienda (a] apple.com>
   37733 
   37734         Reviewed by Hyatt
   37735 
   37736         Fix for this bug:
   37737         
   37738         <rdar://problem/3775316> document sprouts an extra newline character at the end
   37739 
   37740         * khtml/editing/htmlediting_impl.cpp:
   37741         (khtml::InputNewlineCommandImpl::doApply): There was in insufficient check
   37742         in the code which adds extra BR elements at the ends of blocks, which we do 
   37743         to work around the fact that BR elements, when they are the last element in a
   37744         block, do not render. Now the code sees whether there already is one of these
   37745         extra BR's in the document and won't add and "extra" extra. 
   37746         * layout-tests/editing/inserting/insert-3775316-fix.html: Added.
   37747 
   37748 2004-08-26  David Hyatt  <hyatt (a] apple.com>
   37749 
   37750 	Fix for 3710721 and 3504114, crashes because of bad ownership model for list markers.
   37751 	
   37752         Reviewed by mjs
   37753 
   37754         * khtml/rendering/render_container.cpp:
   37755         (RenderContainer::detach):
   37756         * khtml/rendering/render_list.cpp:
   37757         (RenderListItem::setStyle):
   37758         (RenderListItem::detach):
   37759         (RenderListItem::updateMarkerLocation):
   37760         * khtml/rendering/render_list.h:
   37761 
   37762 2004-08-26  Ken Kocienda  <kocienda (a] apple.com>
   37763 
   37764         Reviewed by John
   37765 
   37766         * khtml/editing/htmlediting_impl.cpp:
   37767         (khtml::ApplyStyleCommandImpl::doApply): Remove the StayInBlock modifier from the
   37768         call to upstream when passing the start position to removeStyle(). This makes the
   37769         start position sufficiently upstream so that all relevant style tags are removed.
   37770         (khtml::ApplyStyleCommandImpl::removeStyle): Pass the start position to nodeFullySelected.
   37771         (khtml::ApplyStyleCommandImpl::nodeFullySelected): Change interface so start position
   37772         for calculation is passed in, rather than recalculating it every time.
   37773         * khtml/editing/htmlediting_impl.h: nodeFullySelected interface change.
   37774         * khtml/xml/dom_position.h: Add a comment about the working of upstream() and
   37775         downstream().
   37776 
   37777 2004-08-26  Ken Kocienda  <kocienda (a] apple.com>
   37778 
   37779         Fix garbled contenteditable attribute. I must have checked
   37780         this in with a typo.
   37781 
   37782         * layout-tests/editing/deleting/delete-3775172-fix.html
   37783 
   37784 2004-08-25  Kevin Decker  <kdecker (a] apple.com>
   37785 
   37786         Reviewed by John and Maciej.
   37787 
   37788 	- Fixes SAP bug <rdar://problem/3751295> Personalize link at the
   37789  	top gives an error in the pop-up window. 
   37790 
   37791         * khtml/ecma/kjs_window.cpp:
   37792         (WindowFunc::tryCall): Passes a referrer to KHTMLPart::begin() 
   37793 
   37794 2004-08-25  Richard Williamson   <rjw (a] apple.com>
   37795 
   37796 	Updated to <canvas> API to match the spec.  (Still need
   37797 	to implement gradients and patterns.)
   37798 
   37799         Reviewed by Ken.
   37800 
   37801         * khtml/ecma/kjs_html.cpp:
   37802         (KJS::Context2DFunction::tryCall):
   37803         (Context2D::getValueProperty):
   37804         (Context2D::drawingContext):
   37805         (Context2D::colorRefFromValue):
   37806         (Context2D::colorFromValue):
   37807         (Context2D::setShadow):
   37808         (Context2D::putValue):
   37809         (Context2D::save):
   37810         (Context2D::restore):
   37811         (Context2D::Context2D):
   37812         * khtml/ecma/kjs_html.h:
   37813         (KJS::Context2D::):
   37814         * khtml/ecma/kjs_html.lut.h:
   37815         (KJS::):
   37816 
   37817 2004-08-25  Ken Kocienda  <kocienda (a] apple.com>
   37818 
   37819         * layout-tests/editing/deleting/delete-3775172-fix.html: Wrong version of test checked in
   37820         a moment ago.
   37821 
   37822 2004-08-25  Ken Kocienda  <kocienda (a] apple.com>
   37823 
   37824         Added test case for <rdar://problem/3775172> Blot crashes after typing one character then deleting it
   37825 
   37826         * layout-tests/editing/deleting/delete-3775172-fix-expected.txt: Added.
   37827         * layout-tests/editing/deleting/delete-3775172-fix.html: Added.
   37828 
   37829 2004-08-25  Ken Kocienda  <kocienda (a] apple.com>
   37830 
   37831         * layout-tests/editing/style/style-3690704-fix-expected.txt: Fewer styling spans added
   37832         on this test as a result of the previously-checked-in fix.
   37833 
   37834 2004-08-25  Ken Kocienda  <kocienda (a] apple.com>
   37835 
   37836         Reviewed by John
   37837 
   37838         Fix for this bug:
   37839         
   37840         <rdar://problem/3775214> BR elements cause unnecessary spans to be added when applying style
   37841 
   37842         * khtml/editing/htmlediting_impl.cpp:
   37843         (khtml::ApplyStyleCommandImpl::doApply): BR elements can be grouped more liberally with other nodes
   37844         now in the iteration when attempting to find nodes that can be styled together with one span.
   37845         * layout-tests/editing/style/style-3690704-fix-expected.txt: Updated with new results after
   37846         bug fix.
   37847 
   37848 2004-08-25  Ken Kocienda  <kocienda (a] apple.com>
   37849 
   37850         Reviewed by John
   37851 
   37852         Fix for this bug:
   37853         
   37854         <rdar://problem/3775172> Blot crashes after typing one character then deleting it
   37855 
   37856         * khtml/css/css_computedstyle.cpp:
   37857         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Bail early if the element
   37858         being queried does not have a renderer or that renderer does not have a style. Prevents
   37859         a crash in the cases that it does not.
   37860         * khtml/editing/htmlediting_impl.cpp:
   37861         (khtml::DeleteSelectionCommandImpl::doApply): Add one more case to deleting when the
   37862         start and end nodes are different. If the downstream end node is the last node in the
   37863         block, then it may need to be deleted completely. Before this patch, the code
   37864         erroneously assumed that any deletion in this node had to be trimming of a text node.
   37865         This was asserted, and the description in 3775172 shows a simple case where this assertion
   37866         does not hold. The additional case and associated checks now make it all better.
   37867         * layout-tests/editing/deleting/delete-3775172-fix.html: Added.
   37868 
   37869 2004-08-25  David Hyatt  <hyatt (a] apple.com>
   37870 
   37871 	Fix for 3365086, large tables crash Safari.  Make sure to use ints rather than shorts for row and column
   37872 	counts.  Also fix a pathological array resize scenario for tables as rows are added.
   37873 	
   37874         Reviewed by darin
   37875 
   37876         * khtml/rendering/render_table.cpp:
   37877         (RenderTable::splitColumn):
   37878         (RenderTable::appendColumn):
   37879         (RenderTableSection::RenderTableSection):
   37880         (RenderTableSection::ensureRows):
   37881         (RenderTableSection::setCellWidths):
   37882         (RenderTableSection::calcRowHeight):
   37883         (RenderTableSection::layoutRows):
   37884         (RenderTableSection::paint):
   37885         (RenderTableSection::recalcCells):
   37886         (RenderTableSection::clearGrid):
   37887         * khtml/rendering/render_table.h:
   37888         (khtml::RenderTableSection::numRows):
   37889 
   37890 2004-08-25  David Hyatt  <hyatt (a] apple.com>
   37891 
   37892 	To save memory in the common case, move the margin***Collapse variables into the CSS3 struct instead of
   37893 	bloating the surround struct.
   37894 	
   37895         * khtml/rendering/render_style.cpp:
   37896         (StyleSurroundData::StyleSurroundData):
   37897         (StyleSurroundData::operator==):
   37898         (marginBottomCollapse):
   37899         (StyleCSS3NonInheritedData::operator==):
   37900         (RenderStyle::diff):
   37901         * khtml/rendering/render_style.h:
   37902         (khtml::RenderStyle::marginTopCollapse):
   37903         (khtml::RenderStyle::marginBottomCollapse):
   37904         (khtml::RenderStyle::setMarginTopCollapse):
   37905         (khtml::RenderStyle::setMarginBottomCollapse):
   37906 
   37907 2004-08-25  David Hyatt  <hyatt (a] apple.com>
   37908 
   37909 	Fix the "extra space in TypePad blogs" Emerson problem by adding the ability to collapse away margins.
   37910 	Also added support for explicitly preventing margin collapsing.
   37911 	
   37912         Reviewed by mjs
   37913 
   37914         * khtml/css/cssparser.cpp:
   37915         (CSSParser::parseValue):
   37916         * khtml/css/cssproperties.c:
   37917         (hash_prop):
   37918         (findProp):
   37919         * khtml/css/cssproperties.h:
   37920         * khtml/css/cssproperties.in:
   37921         * khtml/css/cssstyleselector.cpp:
   37922         (khtml::CSSStyleSelector::applyProperty):
   37923         * khtml/css/cssvalues.c:
   37924         (hash_val):
   37925         (findValue):
   37926         * khtml/css/cssvalues.h:
   37927         * khtml/css/cssvalues.in:
   37928         * khtml/rendering/render_block.cpp:
   37929         (khtml::RenderBlock::isSelfCollapsingBlock):
   37930         (khtml::RenderBlock::layoutBlockChildren):
   37931         * khtml/rendering/render_style.cpp:
   37932         (StyleSurroundData::StyleSurroundData):
   37933         (StyleSurroundData::operator==):
   37934         (RenderStyle::diff):
   37935         * khtml/rendering/render_style.h:
   37936         (khtml::):
   37937         (khtml::RenderStyle::marginTopCollapse):
   37938         (khtml::RenderStyle::marginBottomCollapse):
   37939         (khtml::RenderStyle::setMarginTopCollapse):
   37940         (khtml::RenderStyle::setMarginBottomCollapse):
   37941         (khtml::RenderStyle::initialMarginTopCollapse):
   37942         (khtml::RenderStyle::initialMarginBottomCollapse):
   37943 
   37944 2004-08-24  Ken Kocienda  <kocienda (a] apple.com>
   37945 
   37946         Reviewed by Hyatt
   37947 
   37948         Improved the ability of the bridge to report selection state.     
   37949 
   37950         * khtml/editing/htmlediting_impl.cpp:
   37951         (khtml::TypingCommandImpl::doApply): Bail when there is no selection.
   37952         * kwq/WebCoreBridge.h: Added an enum to report selection state. These constants
   37953         mirror those used in DOM::Selection.
   37954         * kwq/WebCoreBridge.mm:
   37955         (-[WebCoreBridge selectionState]): Replacement for haveSelection. Returns a value 
   37956         from an enum telling whether the selection is in the None, Caret, or Range state, 
   37957         rather than just true/false for the Range state as it did before.
   37958 
   37959 2004-08-24  David Hyatt  <hyatt (a] apple.com>
   37960 
   37961 	Make sure the ifdef XSLT is present for Panther.
   37962 	
   37963         * khtml/xml/xml_tokenizer.cpp:
   37964         (khtml::XMLTokenizer::insertErrorMessageBlock):
   37965 
   37966 2004-08-24  David Hyatt  <hyatt (a] apple.com>
   37967 
   37968 	Polish the XML error message so that it indicates when a document is the result of an XSL transformation
   37969 	when reporting line/col #s.
   37970 	
   37971         * khtml/xml/dom_docimpl.cpp:
   37972         (DocumentImpl::applyXSLTransform):
   37973         * khtml/xml/xml_tokenizer.cpp:
   37974         (khtml::XMLTokenizer::insertErrorMessageBlock):
   37975         * khtml/xsl/xslt_processorimpl.cpp:
   37976         (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
   37977 
   37978 2004-08-24  David Hyatt  <hyatt (a] apple.com>
   37979 
   37980 	Add support for Atom and RSS MIME types to the set of XML types.
   37981 	
   37982         Reviewed by rjw
   37983 
   37984         * khtml/ecma/xmlhttprequest.cpp:
   37985         (KJS::XMLHttpRequest::getValueProperty):
   37986         * khtml/khtml_part.cpp:
   37987         (KHTMLPart::begin):
   37988         * khtml/misc/loader.cpp:
   37989         (CachedXSLStyleSheet::CachedXSLStyleSheet):
   37990         (CachedXBLDocument::CachedXBLDocument):
   37991         * khtml/xml/dom_xmlimpl.cpp:
   37992         (DOM::ProcessingInstructionImpl::checkStyleSheet):
   37993 
   37994 2004-08-24  Chris Blumenberg  <cblu (a] apple.com>
   37995 
   37996 	Fixed: <rdar://problem/3746447> hang loading geocities.com/cinemaorchestra
   37997 
   37998         Reviewed by john.
   37999 
   38000         * khtml/rendering/render_frames.cpp:
   38001         (RenderPartObject::updateWidget): do nothing if the src URL is the same as the part's URL
   38002 
   38003 2004-08-24  Ken Kocienda  <kocienda (a] apple.com>
   38004 
   38005         Reviewed by Chris
   38006 
   38007         Fix for this bug:
   38008         
   38009         <rdar://problem/3773564> REGRESSION (125-159): Code to remove HTML styles before applying new HTML styles is broken
   38010 
   38011         * khtml/editing/htmlediting_impl.cpp:
   38012         (khtml::ApplyStyleCommandImpl::doApply): Unrelated change to constrain downstream position of selection
   38013         start to block boundaries. This is a new feature of the downstream function and I missed this usage
   38014         when adding the feature.
   38015         (khtml::ApplyStyleCommandImpl::removeCSSStyle): There once was code to remove style attributes from spans
   38016         which became emptied as a result of removing CSS properties, but I do not see such code in the 
   38017         tree any more. A quick review of the ChangeLog did not reveal anything. I do not remember making such
   38018         a change myself...
   38019         
   38020         In any case, I have restored logic to prune out styling spans we insert if the process of 
   38021         removing styles caused a span-plus-styles node to become emptied of markup which changes the style
   38022         of its contents. This fixes the bug.
   38023 
   38024 2004-08-24  Ken Kocienda  <kocienda (a] apple.com>
   38025 
   38026         Reviewed by John
   38027 
   38028         Fix for this bug:
   38029         
   38030         <rdar://problem/3765535> paste of text with newlines into text with newlines results in broken doc, crash
   38031         
   38032         This is a "belt and suspenders" fix. The issue is with the paste code path which was creating
   38033         zero-length DOM text nodes when a selection being pasted ended with a newline. The normal
   38034         code path for parsing HTML does not allow this, but the code to convert newlines to BR's 
   38035         during paste was creating such nodes. This will no longer happen.
   38036         
   38037         In the case where someone inserts such zero-length nodes using the DOM API, the render tree
   38038         will no longer create render objects for these nodes, and it was these empty render text 
   38039         nodes that was confusing the code doing editing navigation.
   38040 
   38041         * khtml/xml/dom_textimpl.cpp:
   38042         (CharacterDataImpl::rendererIsNeeded): Do not create renderers for zero-length DOM text nodes.
   38043         * khtml/xml/dom_textimpl.h:
   38044         * kwq/WebCoreBridge.mm:
   38045         (-[WebCoreBridge documentFragmentWithText:]): Do not insert zero-length DOM text nodes as part
   38046         of converting line-end sequences to BR's.
   38047 
   38048 2004-08-23  Maciej Stachowiak  <mjs (a] apple.com>
   38049 
   38050         Reviewed by Richard.
   38051 
   38052 	- reduce cost of innerHTML from O(N^2) to O(N*D) where N is the
   38053 	number of nodes and D is the maximum DOM tree depth.
   38054 	
   38055         * khtml/xml/dom_nodeimpl.cpp:
   38056         (NodeImpl::recursive_toString): New static helper method for
   38057 	recursive_toHTML - this is recursive for children but iterative
   38058 	for siblings.
   38059         (NodeImpl::recursive_toHTML): Call the helper with this as the
   38060 	first argument.
   38061         * khtml/xml/dom_nodeimpl.h:
   38062 
   38063 2004-08-23  David Hyatt  <hyatt (a] apple.com>
   38064 
   38065 	Fix for 3558334. 
   38066 
   38067 	Init the encodedURL explicitly for CSSStyleSelectors.  Construction time was too early to be passing in the
   38068 	document m_url, since it doesn't get set during construction.
   38069 
   38070 	Fix for 3769643, crash on vancouverblast.org.
   38071 	
   38072         Reviewed by darin
   38073 
   38074         * khtml/css/cssstyleselector.cpp:
   38075         (khtml::CSSStyleSelector::CSSStyleSelector):
   38076         (khtml::CSSStyleSelector::init):
   38077         (khtml::CSSStyleSelector::setEncodedURL):
   38078         * khtml/css/cssstyleselector.h:
   38079         * khtml/xml/dom_docimpl.cpp:
   38080         (DocumentImpl::DocumentImpl):
   38081         (DocumentImpl::setURL):
   38082         (DocumentImpl::recalcStyleSelector):
   38083         * khtml/xml/dom_docimpl.h:
   38084         (DOM::DocumentImpl::URL):
   38085 
   38086 2004-08-23  Kevin Decker  <kdecker (a] apple.com>
   38087 
   38088         Reviewed by Maciej.
   38089 
   38090 	- fixed rdar://problem/3681094> Crash in KJS::WindowFunc::tryCall 	with application/xhtml+xml Content-Type
   38091         * khtml/ecma/kjs_window.cpp:
   38092         (WindowFunc::tryCall): since this is an xml document, we get the
   38093 	domain from the xmlDocImpl(), not docImpl().
   38094 
   38095 2004-08-23  Maciej Stachowiak  <mjs (a] apple.com>
   38096 
   38097         Reviewed by Darin.
   38098 
   38099 	<rdar://problem/3771426> assertion failed due to reentering dispatchImageLoadEventsNow
   38100         
   38101 	* khtml/xml/dom_docimpl.cpp:
   38102         (DocumentImpl::dispatchImageLoadEventsNow): Avoid re-entering this
   38103 	function, since it uses a data member for the copy of the list of events
   38104 	to be dispatched.
   38105 
   38106 2004-08-23  Maciej Stachowiak  <mjs (a] apple.com>
   38107 
   38108         Reviewed by Darin.
   38109 
   38110 	<rdar://problem/3770306> XMLHttpRequest does not honor character set encoding
   38111 
   38112         * khtml/ecma/xmlhttprequest.cpp:
   38113         (KJS::XMLHttpRequest::slotData): Get encoding from the transfer job.
   38114         * kwq/KWQKJobClasses.h:
   38115         * kwq/KWQKJobClasses.mm:
   38116         (KIO::TransferJobPrivate::TransferJobPrivate): Added retrievedCharset
   38117 	flag.
   38118         (KIO::TransferJob::retrieveCharset): New method, gets the charset
   38119 	from the response.
   38120         (KIO::TransferJob::queryMetaData): Handle charset.
   38121         (KIO::TransferJob::emitReceivedResponse): Clear retreivedCharset flag.
   38122         * kwq/KWQLoader.h:
   38123         * kwq/KWQLoader.mm:
   38124         (KWQResponseTextEncodingName): New function, gets the encoding from the response.
   38125 
   38126 2004-08-23  David Hyatt  <hyatt (a] apple.com>
   38127 
   38128 	Apply leo's fix to marquees.
   38129 	
   38130         Reviewed by hyatt
   38131 
   38132         * khtml/rendering/render_layer.cpp:
   38133         (Marquee::start):
   38134 
   38135 2004-08-20  Darin Adler  <darin (a] apple.com>
   38136 
   38137         Reviewed by Maciej.
   38138 
   38139         - added an ascii() member function to DOMString and DOMStringImpl to help debugging
   38140 
   38141         * khtml/dom/dom_string.h: Add ascii member function for debugging.
   38142         * khtml/dom/dom_string.cpp: (DOM::DOMString::ascii): Added. Calls through to DOMStringImpl::ascii.
   38143         * khtml/xml/dom_stringimpl.h: Add ascii member function for debugging.
   38144         * khtml/xml/dom_stringimpl.cpp: (DOM::DOMStringImpl::ascii): Added. Makes a new buffer and puts
   38145         a simple ASCII version in it. Maybe make it better about characters outside the 0x20-0x7E range
   38146         some day, but for now this is way better than what we had before.
   38147 
   38148 2004-08-20  David Hyatt  <hyatt (a] apple.com>
   38149 
   38150 	Divorce the notion of a marquee being stopped from JS from the notion of being suspended by the back/forward cache.
   38151 
   38152         * khtml/ecma/kjs_html.cpp:
   38153         (KJS::HTMLElementFunction::tryCall):
   38154         * khtml/rendering/render_layer.cpp:
   38155         (m_direction):
   38156         (Marquee::start):
   38157         (Marquee::stop):
   38158         (Marquee::updateMarqueePosition):
   38159         * khtml/rendering/render_layer.h:
   38160 
   38161 2004-08-20  Richard Williamson   <rjw (a] apple.com>
   38162 
   38163         Implemented new JNI abstraction.  We no longer invoke Java methods
   38164         directly with JNI, rather we call into the plugin.  This allows the
   38165         plugin to dispatch the call to the appropriate VM thread.  This
   38166         change should (will?) fix a whole class of threading related problems with
   38167         the Java VM.
   38168 
   38169         Reviewed by Hyatt.
   38170 
   38171         * kwq/KWQKHTMLPart.mm:
   38172         (KWQKHTMLPart::getAppletInstanceForView):
   38173         * kwq/WebCoreBridge.mm:
   38174         (rootForView):
   38175         (-[WebCoreBridge executionContextForView:]):
   38176 
   38177 2004-08-19  Maciej Stachowiak  <mjs (a] apple.com>
   38178 
   38179         Reviewed by Darin.
   38180 
   38181 	More text paint cleanup. Separated the background and foreground
   38182 	passes instead of doing a weird for loop thing. Eliminated
   38183 	redundant if conditions. Added comments.
   38184 
   38185         * khtml/rendering/render_text.cpp:
   38186         (RenderText::paint):
   38187 
   38188 2004-08-19  Ken Kocienda  <kocienda (a] apple.com>
   38189 
   38190         Reviewed by Darin
   38191 
   38192         * khtml/css/css_computedstyle.cpp:
   38193         (DOM::): Changed CopyProperties constant to InheritableProperties. This reflects the
   38194         name change of copy() to copyInheritableProperties()
   38195         (DOM::CSSComputedStyleDeclarationImpl::copyInheritableProperties: Renamed from copy().
   38196         Now just copies those properties which can be inherited.
   38197         (DOM::CSSComputedStyleDeclarationImpl::diff): Add a couple null checks.
   38198         * khtml/css/css_computedstyle.h: copyInheritableProperties name change. No longer needs to be virtual.
   38199         * khtml/css/css_valueimpl.cpp: Removed unneeded copy() function from CSSStyleDeclarationImpl.
   38200         * khtml/css/css_valueimpl.h: Ditto.
   38201         * khtml/editing/htmlediting.cpp:
   38202         (khtml::EditCommand::typingStyle): Added.
   38203         (khtml::EditCommand::setTypingStyle): Added.
   38204         * khtml/editing/htmlediting.h:
   38205         * khtml/editing/htmlediting_impl.cpp:
   38206         (khtml::StyleChange::currentlyHasStyle): Fix leak of computed style used in this function.
   38207         (khtml::EditCommandImpl::EditCommandImpl): Initialize m_typingStyle.
   38208         (khtml::EditCommandImpl::~EditCommandImpl): Deref m_typingStyle.
   38209         (khtml::EditCommandImpl::assignTypingStyle): New helper used in setting typing style.
   38210         (khtml::EditCommandImpl::setTypingStyle): New setter.
   38211         (khtml::DeleteSelectionCommandImpl::doApply): Use new method for managing typing style.
   38212         * khtml/editing/htmlediting_impl.h:
   38213         (khtml::EditCommandImpl::typingStyle): New accessor.
   38214         * khtml/khtml_part.cpp:
   38215         (KHTMLPart::appliedEditing): Restores typing style from command after setting selection.
   38216         (KHTMLPart::applyStyle): Does a diff between the current style and the style of the caret.
   38217         * khtml/khtml_part.h:
   38218         * khtml/xml/dom_position.cpp:
   38219         (DOM::Position::computedStyle): Now returns a CSSComputedStyleDeclarationImpl instead of a plain
   38220         CSSStyleDeclarationImpl.
   38221         * khtml/xml/dom_position.h:
   38222         * layout-tests/editing/style/style-3681552-fix-002-expected.txt:
   38223 
   38224 2004-08-20  Trey Matteson  <trey (a] apple.com>
   38225 
   38226 	3655407 - Editing: -complete: method unimplemented (WebKit editing API)
   38227 
   38228 	One new support routine here.
   38229 
   38230         Reviewed by John
   38231 
   38232         * kwq/WebCoreBridge.h:
   38233         * kwq/WebCoreBridge.mm:
   38234         (-[WebCoreBridge caretRectAtNode:offset:]):  New routine.
   38235         (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
   38236 	Fixed former misleading method name.
   38237 
   38238 2004-08-20  Ken Kocienda  <kocienda (a] apple.com>
   38239 
   38240         Reviewed by Trey
   38241 
   38242         Fix for this bug:
   38243         
   38244         <rdar://problem/3768378> crash typing newline in Blot
   38245 
   38246         * khtml/editing/htmlediting_impl.cpp:
   38247         (khtml::InputNewlineCommandImpl::doApply): Adding an assert in a recent change
   38248         showed up that inserting newlines that was not being handled correctly for the 
   38249         case described in the bug. I added a new case to handle inserting BR's when
   38250         at the caret max offset for a node, and this new code runs instead of the
   38251         fall-through case that should not have been running and triggered the assert.
   38252         * layout-tests/editing/inserting/insert-br-case2-expected.txt: Regenerated results.
   38253         * layout-tests/editing/inserting/insert-br-case6-expected.txt: Added.
   38254         * layout-tests/editing/inserting/insert-br-case6.html: Added.
   38255 
   38256 2004-08-20  Trey Matteson  <trey (a] apple.com>
   38257 
   38258         Fixing: Spellchecker called once or twice for every char typed.
   38259 
   38260         Reviewed by Ken
   38261 
   38262         * khtml/khtml_part.cpp:
   38263         (KHTMLPart::setSelection):  Don't do any spell checking if we're typing (it's done
   38264         elsewhere, in markMisspellingsAfterTyping)
   38265  
   38266 2004-08-19  Maciej Stachowiak  <mjs (a] apple.com>
   38267 
   38268         Reviewed by John.
   38269 
   38270 	- fixed <rdar://problem/3549369> Crash at www.e1.ru in HTMLTokenizer::notifyFinished
   38271 
   38272 	Probably also fixed the following likely duplicates:
   38273 
   38274 	<rdar://problem/3503938> Safari crashed opening many tabs (HTMLTokenizer::notifyFinished(khtml::CachedObject*))
   38275 	<rdar://problem/3566332> CrashTracer: ..405 crashes at com.apple.WebCore: QString::QString[unified] + 0x5c
   38276 	<rdar://problem/3703964> CrashTracer: ...86 crashes at com.apple.WebCore: QString::QString[unified] + 0x5c
   38277 	<rdar://problem/3703969> CrashTracer: ..234 crashes at com.apple.WebCore: HTMLTokenizer::notifyFinished + 0x1c8
   38278 
   38279         * khtml/xml/dom_docimpl.cpp:
   38280         (DocumentImpl::open): call setParsing(true), because we need to know we are once again
   38281 	parsing when we re-open a document that has previously completed loading.
   38282 
   38283 2004-08-19  Maciej Stachowiak  <mjs (a] apple.com>
   38284 
   38285         Reviewed by Dave and Darin.
   38286 
   38287         * khtml/rendering/render_text.cpp:
   38288         (RenderText::paint): Split apple and non-apple code paths to allow further cleanup.
   38289 
   38290 2004-08-19  Darin Adler  <darin (a] apple.com>
   38291 
   38292         Reviewed by Dave.
   38293 
   38294         - fixed <rdar://problem/3767274> crash in partForWidget inside setFocus (test page attached)
   38295 
   38296         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Remove code to do position
   38297         the widget; no longer needed since we reworked how widgets get their positions.
   38298         * kwq/KWQWidget.mm: (QWidget::setFocus): Ditto. This was the one that caused the bug.
   38299 
   38300 2004-08-19  David Hyatt  <hyatt (a] apple.com>
   38301 
   38302 	Fix crash when text is contained inside a table-colgroup.
   38303 	
   38304         Reviewed by john
   38305 
   38306         * khtml/xml/dom_textimpl.cpp:
   38307         (TextImpl::rendererIsNeeded):
   38308 
   38309 2004-08-19  Trey Matteson  <trey (a] apple.com>
   38310 
   38311 	Unexpected errors hit while finding word boundaries, leading to crash.
   38312 
   38313         Reviewed by Ken.
   38314 
   38315         * kwq/KWQTextUtilities.cpp:
   38316         (KWQFindWordBoundary):  Don't call UCFindTextBreak with edge cases it thinks
   38317 	are param errors, and pass correct mask for forward case.  Also fix off-by-one
   38318 	crashers in fallback code.
   38319 
   38320 2004-08-19  David Hyatt  <hyatt (a] apple.com>
   38321 
   38322 	Make XSLT imports/includes work.  This code has to be turned off until the newer version of libxslt is
   38323 	available.
   38324 	
   38325         Reviewed by kocienda
   38326 
   38327         * khtml/css/css_ruleimpl.cpp:
   38328         (CSSImportRuleImpl::init):
   38329         * khtml/xml/dom_docimpl.cpp:
   38330         (DocumentImpl::DocumentImpl):
   38331         (DocumentImpl::~DocumentImpl):
   38332         (DocumentImpl::applyXSLTransform):
   38333         * khtml/xml/dom_docimpl.h:
   38334         (DOM::DocumentImpl::setTransformSource):
   38335         (DOM::DocumentImpl::transformSource):
   38336         * khtml/xml/dom_xmlimpl.cpp:
   38337         (DOM::ProcessingInstructionImpl::checkStyleSheet):
   38338         * khtml/xml/xml_tokenizer.cpp:
   38339         (khtml::matchFunc):
   38340         (khtml::openFunc):
   38341         (khtml::readFunc):
   38342         (khtml::writeFunc):
   38343         (khtml::createQStringParser):
   38344         (khtml::XMLTokenizer::setTransformSource):
   38345         * khtml/xsl/xsl_stylesheetimpl.cpp:
   38346         (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):
   38347         (DOM::XSLStyleSheetImpl::~XSLStyleSheetImpl):
   38348         (DOM::XSLStyleSheetImpl::isLoading):
   38349         (DOM::XSLStyleSheetImpl::clearDocuments):
   38350         (DOM::XSLStyleSheetImpl::parseString):
   38351         (DOM::XSLStyleSheetImpl::loadChildSheets):
   38352         (DOM::XSLStyleSheetImpl::loadChildSheet):
   38353         (DOM::XSLImportRuleImpl::parentStyleSheet):
   38354         (DOM::XSLStyleSheetImpl::compileStyleSheet):
   38355         (DOM::XSLStyleSheetImpl::locateStylesheetSubResource):
   38356         (DOM::XSLImportRuleImpl::XSLImportRuleImpl):
   38357         (DOM::XSLImportRuleImpl::~XSLImportRuleImpl):
   38358         (DOM::XSLImportRuleImpl::setStyleSheet):
   38359         (DOM::XSLImportRuleImpl::isLoading):
   38360         (DOM::XSLImportRuleImpl::loadSheet):
   38361         * khtml/xsl/xsl_stylesheetimpl.h:
   38362         (DOM::XSLStyleSheetImpl::setOwnerDocument):
   38363         (DOM::XSLStyleSheetImpl::setDocument):
   38364         (DOM::XSLStyleSheetImpl::markAsProcessed):
   38365         (DOM::XSLStyleSheetImpl::processed):
   38366         (DOM::XSLImportRuleImpl::href):
   38367         (DOM::XSLImportRuleImpl::styleSheet):
   38368         (DOM::XSLImportRuleImpl::isImportRule):
   38369         * khtml/xsl/xslt_processorimpl.cpp:
   38370         (DOM::m_sourceDocument):
   38371         (DOM::stylesheetLoadFunc):
   38372         (DOM::XSLTProcessorImpl::transformDocument):
   38373         * khtml/xsl/xslt_processorimpl.h:
   38374 
   38375 === Safari-158 ===
   38376 
   38377 2004-08-18  Trey Matteson  <trey (a] apple.com>
   38378 
   38379 	3765958	- downstreamPosition() can hit infinite loop when at end of doc
   38380 	
   38381 	The problem was that I had a position that was after the maximum position in the text
   38382 	node, because it was the old caret position before a backspace was processed.  Later
   38383 	I happened to call downstream() on that position, and hit the bug.  Fix is to consider
   38384 	a position past the end point of its node if it is *greater than* or equal to its max offset.
   38385 		 	
   38386         Reviewed by Ken.
   38387 
   38388         * khtml/xml/dom_positioniterator.cpp:
   38389         (DOM::PositionIterator::atEnd):
   38390 
   38391 2004-08-18  David Hyatt  <hyatt (a] apple.com>
   38392 
   38393         - did WebCore part of <rdar://problem/3682969> SLIDER: absolute left position of slider should be headline only
   38394 
   38395 	Make the header overlap the footer in the zero-line case.  Changes to Emerson's template will ensure the
   38396 	header draws over the footer.
   38397 	
   38398         Reviewed by darin
   38399 
   38400         * khtml/rendering/render_block.cpp:
   38401         (khtml::getHeightForLineCount):
   38402 
   38403 2004-08-18  Richard Williamson   <rjw (a] apple.com>
   38404 
   38405         Replace horrible pollForAppletInView: with new
   38406         webPlugInGetApplet.  The details of how the applet instance
   38407         is provided now belong to the Java team.  Yeh.
   38408 		
   38409         Reviewed by Chris.
   38410 
   38411         * kwq/KWQKHTMLPart.mm:
   38412         (KWQKHTMLPart::getAppletInstanceForView):
   38413         * kwq/WebCoreBridge.h:
   38414 
   38415 2004-08-18  Chris Blumenberg  <cblu (a] apple.com>
   38416 
   38417 	Fixed: <rdar://problem/3692199> 8A146: Safari crashes in toHTMLWithOptions, selection with no renderer (various sites)
   38418 
   38419         Reviewed by trey.
   38420 
   38421         * khtml/xml/dom2_rangeimpl.cpp:
   38422         (DOM::RangeImpl::toHTML): renamed, don't assume that nodes of the range had renderers, use the common ancestor of the range as the root
   38423         * khtml/xml/dom2_rangeimpl.h:
   38424         * khtml/xml/dom_nodeimpl.cpp:
   38425         (NodeImpl::recursive_toHTML): renamed, removed code that determines whether to include the root in the HTML, leave this up to the caller
   38426         * khtml/xml/dom_nodeimpl.h:
   38427         * kwq/WebCoreBridge.mm:
   38428         (-[WebCoreBridge markupStringFromNode:nodes:]): call renamed methods
   38429         (-[WebCoreBridge markupStringFromRange:nodes:]): ditto
   38430 
   38431 2004-08-18  Ken Kocienda  <kocienda (a] apple.com>
   38432 
   38433         * khtml/css/css_valueimpl.cpp:
   38434         (CSSStyleDeclarationImpl::copy): Roll back silly last minute change that broke this code.
   38435         Note to self: read code before making changes to it.
   38436 
   38437 2004-08-18  Ken Kocienda  <kocienda (a] apple.com>
   38438 
   38439         Coded by Darin and Ken
   38440 
   38441         * khtml/css/css_computedstyle.cpp: Added CopyProperties static array. This contains
   38442         the properties we implement that we also want to copy in the new
   38443         CSSComputedStyleDeclarationImpl::copy described below.
   38444         (DOM::CSSComputedStyleDeclarationImpl::copy): New function. In this class, copies the
   38445         computed values of all the properties listed in CopyProperties. In essence, this makes
   38446         a freeze-dired version of a computed style.
   38447         (DOM::CSSComputedStyleDeclarationImpl::diff): Removes every property from the passed-in 
   38448         CSSStyleDeclarationImpl that is also in the computed style.
   38449         * khtml/css/css_computedstyle.h:
   38450         * khtml/css/css_valueimpl.cpp:
   38451         (CSSStyleDeclarationImpl::copy): New function. In this class, the copy operation is
   38452         straightforward. Returns a copy that will be unchanged when the original changes.
   38453         * khtml/css/css_valueimpl.h:
   38454         (DOM::CSSStyleDeclarationImpl::values): Added a accessor suitable for use when the 
   38455         CSSStyleDeclarationImpl is const.
   38456 
   38457 2004-08-17  Maciej Stachowiak  <mjs (a] apple.com>
   38458 
   38459         Reviewed by Darin.
   38460 
   38461 	<rdar://problem/3703768> CrashTracer: ...50 crashes at com.apple.WebCore: KHTMLPart::xmlDocImpl const + 0
   38462 	
   38463         * khtml/khtmlview.cpp:
   38464         (KHTMLView::viewportMouseMoveEvent): Add a nil check and an
   38465 	assertion for m_part being null. It seems impossible for this to
   38466 	happen, so we want to debug it ourselves, but in the meantime,
   38467 	let's try to avoid causing crashes for our users.
   38468 
   38469 2004-08-17  David Hyatt  <hyatt (a] apple.com>
   38470 
   38471 	Fix the line truncation function for Emerson so that at the far left setting of the slider, only the header
   38472 	is visible.
   38473 	
   38474         Reviewed by darin
   38475 
   38476         * khtml/rendering/render_block.cpp:
   38477         (khtml::getHeightForLineCount):
   38478         * khtml/rendering/render_flexbox.cpp:
   38479         (khtml::RenderFlexibleBox::layoutVerticalBox):
   38480 
   38481 2004-08-17  Ken Kocienda  <kocienda (a] apple.com>
   38482 
   38483         Reviewed by Hyatt
   38484 
   38485         Rewrite of the command that deletes a selection. I deleted great 
   38486         big swaths of bug-ridden code to accomplish this and replaced it
   38487         with code that is much cleaner and smarter.
   38488         
   38489         Also, renamed equivalentUpstreamPosition and equivalentDownstreamPosition to
   38490         upstream to downstream, respectively.
   38491         
   38492         Added a couple of new helper methods.
   38493         
   38494         * khtml/editing/htmlediting.cpp: DeleteCollapsibleWhitespaceCommand and
   38495         RemoveNodeAndPruneCommand now obsolete. A huge win.
   38496         * khtml/editing/htmlediting.h: Ditto.
   38497         * khtml/editing/htmlediting_impl.cpp:
   38498         (khtml::debugPosition): Fix printf which had a placeholder, but no argument passed in the varargs.
   38499         (khtml::CompositeEditCommandImpl::deleteUnrenderedText): New helper. Much simplified and cleaner
   38500         version of 
   38501         (khtml::ApplyStyleCommandImpl::doApply): upstream/downstream name change
   38502         (khtml::ApplyStyleCommandImpl::nodeFullySelected):  upstream/downstream name change
   38503         (khtml::DeleteSelectionCommandImpl::doApply):  upstream/downstream name change
   38504         (khtml::DeleteTextCommandImpl::DeleteTextCommandImpl): Add an assert to check that the
   38505         passed offset is less than the length of the text node.
   38506         (khtml::InputNewlineCommandImpl::insertNodeAfterPosition): upstream/downstream name change
   38507         (khtml::InputNewlineCommandImpl::insertNodeBeforePosition): upstream/downstream name change
   38508         (khtml::InputNewlineCommandImpl::doApply): upstream/downstream name change
   38509         (khtml::InputTextCommandImpl::prepareForTextInsertion): upstream/downstream name change
   38510         (khtml::InputTextCommandImpl::execute): upstream/downstream name change
   38511         (khtml::InputTextCommandImpl::insertSpace): upstream/downstream name change
   38512         (khtml::ReplaceSelectionCommandImpl::doApply): upstream/downstream name change
   38513         (khtml::TypingCommandImpl::issueCommandForDeleteKey): upstream/downstream name change
   38514         (khtml::TypingCommandImpl::deleteKeyPressed):
   38515         * khtml/editing/htmlediting_impl.h:
   38516         * khtml/xml/dom_position.cpp:
   38517         (DOM::Position::previousWordBoundary):
   38518         (DOM::Position::nextWordBoundary):
   38519         (DOM::Position::upstream):
   38520         (DOM::Position::downstream):
   38521         (DOM::Position::inRenderedText): Add null check.
   38522         (DOM::Position::isRenderedCharacter): New helper.
   38523         (DOM::isWS): New helper in this file.
   38524         (DOM::Position::leadingWhitespacePosition): New helper. Factored out from htmlediting_impl.cpp.
   38525         (DOM::Position::trailingWhitespacePosition): Ditto.
   38526         (DOM::Position::debugPosition): Add null check.
   38527         * khtml/xml/dom_position.h:
   38528         * khtml/xml/dom_selection.cpp:
   38529         (DOM::Selection::toRange): upstream/downstream name change
   38530         (DOM::Selection::validate): upstream/downstream name change
   38531         (DOM::Selection::debugPosition): upstream/downstream name change
   38532         * layout-tests/editing/deleting/delete-block-contents-003-expected.txt: Updated tests with new expected results.
   38533         * layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt: Ditto.
   38534         * layout-tests/editing/deleting/delete-selection-001-expected.txt: Ditto.
   38535         * layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt: Ditto.
   38536         * layout-tests/editing/inserting/insert-br-case1-expected.txt: Ditto.
   38537         * layout-tests/editing/inserting/insert-br-case2-expected.txt: Ditto.
   38538         * layout-tests/editing/style/style-3681552-fix-002-expected.txt: Ditto.
   38539 
   38540 2004-08-17  Trey Matteson  <trey (a] apple.com>
   38541 
   38542 	Various spelling fixes.
   38543 
   38544         Reviewed by Ken.
   38545 
   38546         * khtml/khtml_part.cpp:
   38547         (KHTMLPart::setSelection): No misspellings in the spelling code comments
   38548         * khtml/xml/dom_docimpl.cpp:
   38549         (DocumentImpl::removeMarker):  Repaint if doc changes.  Sometimes the markers
   38550 	were not being erased when you clicked in a word.
   38551         * khtml/xml/dom_position.cpp:
   38552         (DOM::Position::previousWordBoundary):  Small optimization.  Bail after first
   38553 	try if the second try will not come out any different.
   38554         (DOM::Position::nextWordBoundary):  Ditto
   38555         * kwq/KWQKHTMLPart.mm:
   38556         (KWQKHTMLPart::markMisspellingsInSelection):  Comment.
   38557 
   38558 2004-08-17  Darin Adler  <darin (a] apple.com>
   38559 
   38560         Reviewed by Maciej.
   38561 
   38562         - fixed <rdar://problem/3689700> crash loading page; stoxx.com (works in IE and Firefox)
   38563 
   38564         * khtml/khtml_part.h: Make completeURL public.
   38565         * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Complete the base URL
   38566         before passing it across the bridge. This sidesteps the crashing bug in CFURL, filed as
   38567         '<rdar://problem/3764632> CFURLCreateAbsoluteURLWithBytes crashes if passed the string "../.."'
   38568         and also is obviously correct behavior that may fix other sites too.
   38569 
   38570         - fixed <rdar://problem/3547725> Crashes at csuohio.edu, list box vs. mouse event problem (Spoof No Fix)
   38571 
   38572         * kwq/KWQListBox.mm:
   38573         (QListBox::~QListBox): Nil out the pointer from the KWQTableView back to the widget by calling
   38574         a new detach method.
   38575         (-[KWQTableView detach]): Set the pointer to the QListBox to 0. Also set the delegate and data
   38576         source to nil, so we don't need nil checks in delegate and data source methods.
   38577         (-[KWQTableView mouseDown:]): Add nil check.
   38578         (-[KWQTableView keyDown:]): Add nil check.
   38579         (-[KWQTableView keyUp:]): Add nil check.
   38580         (-[KWQTableView becomeFirstResponder]): Add nil check.
   38581         (-[KWQTableView resignFirstResponder]): Add nil check.
   38582         (-[KWQTableView canBecomeKeyView]): Add nil check.
   38583         (-[KWQTableView tableViewSelectionDidChange:]): Add nil checks, even though this is a delegate
   38584         callback, to handle cases where calls to JavaScript result in the QListBox going away partway
   38585         through.
   38586         (-[KWQTableView drawRow:clipRect:]): Add nil check.
   38587         (-[KWQTableView _accessibilityTableCell:tableColumn:]): Add nil check.
   38588 
   38589 2004-08-17  Trey Matteson  <trey (a] apple.com>
   38590 
   38591 	Fix ASSERT in spelling marker management.
   38592 
   38593         Reviewed by John.
   38594 
   38595         * khtml/xml/dom_docimpl.cpp:
   38596         (DocumentImpl::shiftMarkers):  Use assert instead of ASSERT.
   38597 	Tweak test to allow for a start position of 0.
   38598 
   38599 2004-08-17  Trey Matteson  <trey (a] apple.com>
   38600 
   38601 	3764147 - failure of subframe to load leaves links in parent doc broken
   38602 
   38603         Reviewed by Maciej.
   38604 
   38605         * khtml/khtml_part.cpp:
   38606         (KHTMLPart::childBegin):  New method to mark part as not complete.
   38607         (KHTMLPart::processObjectRequest):  Mark child part imcomplete, so if we
   38608 	later get a failure on load it won't think it's already complete and do nothing.
   38609         * khtml/khtml_part.h:
   38610 
   38611 === Safari-157 ===
   38612 
   38613 2004-08-16  David Hyatt  <hyatt (a] apple.com>
   38614 
   38615 	Fix the #define.  I had it all backwards.
   38616 	
   38617         * WebCorePrefix.h:
   38618 
   38619 2004-08-16  David Hyatt  <hyatt (a] apple.com>
   38620 
   38621 	Land initial support for XSLT using xml-stylesheet PIs.
   38622 	
   38623         * WebCore.pbproj/project.pbxproj:
   38624         * khtml/khtml_part.cpp:
   38625         (KHTMLPart::replaceDocImpl):
   38626         * khtml/khtml_part.h:
   38627         * khtml/khtmlview.h:
   38628         * khtml/xml/dom_docimpl.cpp:
   38629         (DocumentImpl::DocumentImpl):
   38630         (DocumentImpl::~DocumentImpl):
   38631         (DocumentImpl::recalcStyleSelector):
   38632         (DocumentImpl::applyXSLTransform):
   38633         (DocumentImpl::setTransformSourceDocument):
   38634         * khtml/xml/dom_docimpl.h:
   38635         (DOM::DocumentImpl::setTransformSource):
   38636         (DOM::DocumentImpl::transformSource):
   38637         (DOM::DocumentImpl::transformSourceDocument):
   38638         * khtml/xml/dom_xmlimpl.cpp:
   38639         (DOM::ProcessingInstructionImpl::checkStyleSheet):
   38640         * khtml/xml/dom_xmlimpl.h:
   38641         (DOM::ProcessingInstructionImpl::isXSL):
   38642         * khtml/xml/xml_tokenizer.cpp:
   38643         (khtml::matchFunc):
   38644         (khtml::openFunc):
   38645         (khtml::createQStringParser):
   38646         (khtml::XMLTokenizer::processingInstruction):
   38647         (khtml::XMLTokenizer::finish):
   38648         (khtml::XMLTokenizer::setTransformSource):
   38649         * khtml/xml/xml_tokenizer.h:
   38650         (khtml::Tokenizer::setTransformSource):
   38651         * khtml/xml/xsl_stylesheetimpl.cpp: Removed.
   38652         * khtml/xml/xsl_stylesheetimpl.h: Removed.
   38653         * khtml/xsl/xsl_stylesheetimpl.cpp: Added.
   38654         (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):
   38655         (DOM::XSLStyleSheetImpl::~XSLStyleSheetImpl):
   38656         (DOM::XSLStyleSheetImpl::isLoading):
   38657         (DOM::XSLStyleSheetImpl::checkLoaded):
   38658         (DOM::XSLStyleSheetImpl::docLoader):
   38659         (DOM::XSLStyleSheetImpl::parseString):
   38660         * khtml/xsl/xsl_stylesheetimpl.h: Added.
   38661         (DOM::XSLStyleSheetImpl::isXSLStyleSheet):
   38662         (DOM::XSLStyleSheetImpl::type):
   38663         (DOM::XSLStyleSheetImpl::ownerDocument):
   38664         (DOM::XSLStyleSheetImpl::document):
   38665         (DOM::XSLStyleSheetImpl::clearDocument):
   38666         * khtml/xsl/xslt_processorimpl.cpp: Added.
   38667         (DOM::m_sourceDocument):
   38668         (DOM::XSLTProcessorImpl::~XSLTProcessorImpl):
   38669         (DOM::XSLTProcessorImpl::transformDocument):
   38670         (DOM::bufferWrite):
   38671         (DOM::XSLTProcessorImpl::addToResult):
   38672         (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
   38673         * khtml/xsl/xslt_processorimpl.h: Added.
   38674 
   38675 2004-08-16  Maciej Stachowiak  <mjs (a] apple.com>
   38676 
   38677         Fix build.
   38678 
   38679         * khtml/khtml_part.cpp:
   38680         (KHTMLPart::isImmediateRedirectPending):
   38681 
   38682 2004-08-16  Richard Williamson   <rjw (a] apple.com>
   38683 
   38684 	Fixed <rdar://problem/3704339> Context2D forces integer positions in drawImage
   38685 
   38686 	Use floats instead of ints to draw images.
   38687 
   38688         Reviewed by Ken.
   38689 
   38690         * khtml/ecma/kjs_html.cpp:
   38691         (KJS::Context2DFunction::tryCall):
   38692         * kwq/KWQPainter.h:
   38693         * kwq/KWQPainter.mm:
   38694         (QPainter::drawPixmap):
   38695         (QPainter::drawFloatPixmap):
   38696 
   38697 2004-08-13  Maciej Stachowiak  <mjs (a] apple.com>
   38698 
   38699         Reviewed by Darin.
   38700 
   38701 	- fixed <rdar://problem/3752509> Pop up windows not showing up within SAP's BW Module (changing location.href on new window created by window.open)
   38702 	
   38703 	(actually the previous fix for this bug was mostly correct, but
   38704 	this additional change is needed to avoid the regression in
   38705 	<rdar://problem/3751025> REGRESSION: website rejects Safari 125.9
   38706 	as "need to upgrade to IE 6", but didn't reject 125.8
   38707 
   38708 	So if merging for a software update, make sure to include both
   38709 	this and the previous fix.
   38710 	
   38711         * khtml/html/htmltokenizer.cpp:
   38712         (khtml::HTMLTokenizer::write): When there is an immediate reidrect pending,
   38713 	make sure to stop tokenizing, because we need to make sure no further
   38714 	script tags are processed beyond the one that triggered the redirect.
   38715         * khtml/khtml_part.cpp:
   38716         (KHTMLPart::isImmediateRedirectPending): New method to allow
   38717 	checking if a redirect is pending.
   38718 	* khtml/khtml_part.h:
   38719 
   38720 2004-08-15  David Hyatt  <hyatt (a] apple.com>
   38721 
   38722         - fixed <rdar://problem/3760508> REGRESSION (154-155): No text in textarea
   38723 
   38724 	Fix the blank textarea problem by ensuring that any change to a <textarea>'s DOM children causes the form control
   38725 	to resync with the DOM.  This behavior matches WinIE.
   38726 	
   38727         Reviewed by kocienda
   38728 
   38729         * khtml/html/html_formimpl.cpp:
   38730         (HTMLTextAreaElementImpl::childrenChanged):
   38731         * khtml/html/html_formimpl.h:
   38732 
   38733 2004-08-13  Trey Matteson  <trey (a] apple.com>
   38734 
   38735 	3761794 Slider doesn't call onmouseup handler
   38736 
   38737         Reviewed by Hyatt
   38738 
   38739         * khtml/rendering/render_form.cpp:
   38740         (RenderSlider::RenderSlider):  Listen for signal.
   38741         (RenderSlider::slotClicked):  Pass to superclass.
   38742         * khtml/rendering/render_form.h:
   38743         * kwq/KWQSlider.h:
   38744         * kwq/KWQSlider.mm:
   38745         (-[KWQSlider mouseDown:]):  Generate mouseUp and clicked events,
   38746 	since AK consumes the mouseUp event in a modal tracking loop.
   38747         (QSlider::QSlider):  Make signal.
   38748         (QSlider::clicked):  Send signal.
   38749 
   38750 2004-08-12  Trey Matteson  <trey (a] apple.com>
   38751 
   38752 	3761329 - query result links all dead in ingrammicro.com (sometimes)
   38753 	3761328 - links in some docs dead when doc is loaded from WebArchive
   38754 
   38755 	Make sure to get part to completed state when end is called,
   38756 	even if we have no doc.  See WebKit changelog for more info.
   38757 
   38758         Reviewed by Richard and Darin.
   38759 
   38760         * khtml/khtml_part.cpp:
   38761         (KHTMLPart::end):
   38762 
   38763 2004-08-13  Trey Matteson  <trey (a] apple.com>
   38764 
   38765         3761098 - red dotted underline for misspelled words shows up in drag image
   38766 
   38767         Reviewed by Ken
   38768 
   38769         * khtml/rendering/render_text.cpp:
   38770         (RenderText::paint):  Don't draw misspelling when creating selection image.
   38771 
   38772 2004-08-12  Richard Williamson   <rjw (a] apple.com>
   38773 
   38774 	Bring npruntime.h and friends closer to compliance with
   38775 	latest spec.
   38776 
   38777         Reviewed by Maciej.
   38778 
   38779         * kwq/KWQKHTMLPart.mm:
   38780         (KWQKHTMLPart::windowScriptNPObject):
   38781 
   38782 2004-08-12  Maciej Stachowiak  <mjs (a] apple.com>
   38783 
   38784         Reviewed by Richard.
   38785 
   38786 	<rdar://problem/3245706> URLs with backslashes instead of slashes work on WinIE; should work on Safari (SAP)
   38787 	<rdar://problem/3506429> <BASE> tag containing backslash is breaking images with absolute URLs
   38788 	
   38789         * kwq/KWQKURL.mm:
   38790         (substituteBackslashes): Helper method
   38791         (KURL::KURL): If the URL contains any backslashes, substitute all
   38792 	that appear before the query or fragment.
   38793 
   38794 2004-08-12  Ken Kocienda  <kocienda (a] apple.com>
   38795 
   38796         Reviewed by Chris
   38797 
   38798         Fix for this bug:
   38799         
   38800         <rdar://problem/3761014> command-down-arrow takes you to start of document instead of end of document
   38801 
   38802         * khtml/xml/dom_selection.cpp:
   38803         (DOM::Selection::modifyExtendingRightForward): Code used to assume, incorrectly, that index 1 of the
   38804         document element was beyond the last node in the document. But this is not true, since the document
   38805         element is the HTML element (generally). Instead, move to the index equal to the number of children
   38806         of the document element. This puts us past everything.
   38807         (DOM::Selection::modifyMovingRightForward): Ditto.
   38808 
   38809 2004-08-12  Ken Kocienda  <kocienda (a] apple.com>
   38810 
   38811         Reviewed by Trey
   38812 
   38813         Fix for this bug:
   38814         
   38815         <rdar://problem/3695446> shift-down-arrow on last line of editable text should select to end of document
   38816         
   38817         Detect when current position is on first or last line and move to the
   38818         start or end of that line, respectively.
   38819 
   38820         * khtml/xml/dom_position.cpp:
   38821         (DOM::Position::previousLinePosition)
   38822         (DOM::Position::nextLinePosition)
   38823 
   38824 === Safari-156 ===
   38825 
   38826 2004-08-12  Ken Kocienda  <kocienda (a] apple.com>
   38827 
   38828         Reviewed by Darin
   38829 
   38830         Some consolidation in style application code.
   38831 
   38832         * khtml/editing/htmlediting_impl.cpp:
   38833         (khtml::StyleChange::StyleChange): Made this a full-on class and added a couple of 
   38834         members and a constructors to make a StyleChange from a CSSStyleDeclarationImpl, as
   38835         well as from a CSSStyleDeclarationImpl and a Position.
   38836         (khtml::StyleChange::init): Common init function for StyleChange constructors.
   38837         (khtml::StyleChange::currentlyHasStyle): Moved this here from ApplyStyleCommandImpl.
   38838         (khtml::CompositeEditCommandImpl::applyTypingStyle): Tweak to adjust to new StyleChange
   38839         interface.
   38840         (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Ditto.
   38841         * khtml/editing/htmlediting_impl.h:
   38842         (khtml::StyleChange::StyleChange):
   38843         (khtml::StyleChange::cssStyle): New accessor.
   38844         (khtml::StyleChange::applyBold): Ditto.
   38845         (khtml::StyleChange::applyItalic): Ditto.
   38846         * khtml/xml/dom_position.cpp:
   38847         (DOM::Position::computedStyle): New helper.
   38848         * khtml/xml/dom_position.h: Ditto.
   38849 
   38850 2004-08-12  Ken Kocienda  <kocienda (a] apple.com>
   38851 
   38852         Reviewed by Darin
   38853 
   38854         Fix for this bug:
   38855         <rdar://problem/3751098> HTML email has one set of SPAN tags per character in the message
   38856         
   38857         Progress on this bug:
   38858         <rdar://problem/3755562> Typing styles do not use same tag application conventions as font and color panel
   38859 
   38860         * khtml/editing/htmlediting_impl.cpp:
   38861         (khtml::CompositeEditCommandImpl::applyTypingStyle): Name changed from createTypingStyleElement.
   38862         Also, interface changed to take the node to which the typing style is to be applied. 
   38863         This makes it easier to apply what may be up to three levels of nested tags to get the 
   38864         desired style (<B>, <I>, and <SPAN STYLE="">).
   38865         Also, Borrow some of the style change smarts from ApplyStyleCommandImpl to use bold and
   38866         italic tags for applying styles when that is apprpriate. This creates on opportunity to
   38867         factor the code to do this so that this function and the ApplyStyleCommandImpl class can
   38868         share the implementation. I will follow up with a change to do that after landing this
   38869         change. Some future code factoring could be done here to bring together some similar code
   38870         into one place.
   38871         (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Add comment about code factoring work.
   38872         (khtml::ApplyStyleCommandImpl::computeStyleChange): StyleChange struct no longer a member of the
   38873         ApplyStyleCommandImpl class. CompositeEditCommandImpl needs it now in its applyTypingStyle()
   38874         function.
   38875         (khtml::InputNewlineCommandImpl::doApply): Pass along node to style to applyTypingStyle.
   38876         (khtml::InputTextCommandImpl::prepareForTextInsertion): Ditto.
   38877         * khtml/editing/htmlediting_impl.h:
   38878         (khtml::StyleChange::StyleChange): Pull this struct out of ApplyStyleCommandImpl so 
   38879         CompositeEditCommandImpl can use it.
   38880         * khtml/khtml_part.cpp:
   38881         (KHTMLPart::notifySelectionChanged): Always clear typing style when the selection
   38882         changes, not only when closing typing. This fixes 3751098.
   38883         
   38884         These three tests actually had results that treated the buggy behavior as correct!
   38885         
   38886         * layout-tests/editing/style/style-3681552-fix-001-expected.txt
   38887         * layout-tests/editing/style/style-3681552-fix-002-expected.txt
   38888         * layout-tests/editing/style/typing-style-002-expected.txt
   38889 
   38890 2004-08-12  Darin Adler  <darin (a] apple.com>
   38891 
   38892         Reviewed by Ken.
   38893 
   38894         - fixed <rdar://problem/3740485> Repro crash involving replacing content that includes form field
   38895 
   38896         * kwq/KWQLineEdit.mm: (QLineEdit::selectAll): Since this function calls selectText: which has a side
   38897         effect of making the text field be first responder, call to bridge first to make it first responder.
   38898         The bridge version lets WebHTMLView know we are changing the responder, avoiding some unpleasantness
   38899         because it sets the "changing focus programmatically" flag. Without that flag set, we were getting
   38900         an additional setFocusNode(0) call, which is unnecessary and incorrect.
   38901 
   38902 2004-08-12  Darin Adler  <darin (a] apple.com>
   38903 
   38904         Reviewed by Ken.
   38905 
   38906         - fixed <rdar://problem/3758756> copying text selected with down arrow results in all text to end of document
   38907 
   38908         * khtml/xml/dom2_rangeimpl.h: Make startNode and pastEndNode public.
   38909         * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::pastEndNode): Fix bug where this would return
   38910         one node too far in the case where the end container was not a text node.
   38911 
   38912         * khtml/xml/dom_nodeimpl.cpp:
   38913         (NodeImpl::recursive_toHTMLWithOptions): Rewrite loop, using startNode and pastEndNode,
   38914         to fix bug where it would run past the end node, including too many nodes in the generated
   38915         HTML. Nice side benefit: easier to read the code.
   38916 
   38917 2004-08-11  Chris Blumenberg  <cblu (a] apple.com>
   38918 
   38919 	Fixed: <rdar://problem/3758216> PARENTAL: buttons on parental controls page only work once
   38920 
   38921         Reviewed by john.
   38922 
   38923         * kwq/KWQKHTMLPart.mm:
   38924         (KWQKHTMLPart::submitForm): prevent a form from being submitted more than once only if it uses a scheme of http or https
   38925 
   38926 2004-08-11  Darin Adler  <darin (a] apple.com>
   38927 
   38928         Reviewed by Ken.
   38929 
   38930         - fixed <rdar://problem/3715878> 8A162: connect.apple.com password field showed in cleartext
   38931 
   38932         * kwq/KWQTextField.mm: (-[KWQSecureTextField textDidEndEditing:]):
   38933         Enhanced workaround for shifting focus from one secure text field to another so that it works
   38934         even for the case of shifting focus from a secure text field back to itself.
   38935 
   38936 2004-08-11  Ken Kocienda  <kocienda (a] apple.com>
   38937 
   38938         Missed adding this file before.
   38939 
   38940         * kwq/KWQTextUtilities.mm: Added.
   38941         (KWQFindNextWordFromIndex):
   38942 
   38943 2004-08-11  Ken Kocienda  <kocienda (a] apple.com>
   38944 
   38945         Reviewed by Trey
   38946 
   38947         Efficiency improvements on string manipulations in these two new function
   38948         implementations. Use the versions of QString append/prepend that take
   38949         (QChar *c, uint length) instead of creating new strings each time.
   38950 
   38951         * khtml/xml/dom_position.cpp:
   38952         (DOM::Position::previousWordPosition): Changed, as described above.
   38953         (DOM::Position::nextWordPosition): Ditto.
   38954 
   38955 2004-08-11  Ken Kocienda  <kocienda (a] apple.com>
   38956 
   38957         Reviewed by Darin
   38958 
   38959         Fix for this bug:
   38960         <rdar://problem/3675812> Moving a word at a time does not use the correct conception of "word"
   38961         
   38962         I have implemented versions of previousWordPosition and nextWordPosition that are now
   38963         different than previousWordBoundary and nextWordBoundary. The behavior of the new
   38964         functions attempts to match what Cocoa does as closely as it can. Let the bug filing begin! 
   38965 
   38966         * WebCore.pbproj/project.pbxproj: Added KWQTextUtilities.mm
   38967         * khtml/misc/helper.cpp:
   38968         (khtml::nextWordFromIndex): Glue to call through to KWQFindNextWordFromIndex.
   38969         * khtml/misc/helper.h: Declare the function above.
   38970         * khtml/misc/khtml_text_operations.cpp: Added SimplifiedBackwardsTextIterator class.
   38971         (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): New
   38972         (khtml::SimplifiedBackwardsTextIterator::advance): Ditto.
   38973         (khtml::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
   38974         (khtml::SimplifiedBackwardsTextIterator::handleReplacedElement): Ditto.
   38975         (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode): Ditto.
   38976         (khtml::SimplifiedBackwardsTextIterator::exitNode): Ditto.
   38977         (khtml::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
   38978         (khtml::SimplifiedBackwardsTextIterator::range): Ditto.
   38979         * khtml/misc/khtml_text_operations.h:
   38980         (khtml::SimplifiedBackwardsTextIterator::atEnd): Ditto.
   38981         (khtml::SimplifiedBackwardsTextIterator::length): Ditto.
   38982         (khtml::SimplifiedBackwardsTextIterator::characters): Ditto.
   38983         * khtml/xml/dom_position.cpp:
   38984         (DOM::Position::previousWordBoundary): Updated to gather appropriate text and call through to
   38985         AppKit to perform the same calculations NSText uses.
   38986         (DOM::Position::nextWordBoundary): Ditto.
   38987         (DOM::Position::previousWordPosition): Unrelated change to fix case where the function could get "stuck".
   38988         (DOM::Position::nextWordPosition): Ditto
   38989         (DOM::Position::equivalentDeepPosition): Changed to look backwards if the position's offset is equal
   38990         to the number of child nodes it has. This handles more cases correctly, like when the position is
   38991         gives as one beyond the end of a document element's last child.
   38992         * kwq/KWQTextUtilities.h: Declared KWQFindNextWordFromIndex.
   38993         * kwq/KWQTextUtilities.mm: Added.
   38994         (KWQFindNextWordFromIndex): New function.
   38995 
   38996 2004-08-11  Ken Kocienda  <kocienda (a] apple.com>
   38997 
   38998         Reviewed by John
   38999 
   39000         Fix for this bug:
   39001         
   39002         <rdar://problem/3732702> crash in CSSComputedStyleDeclarationImpl running devtools.com editing sample code
   39003 
   39004         * khtml/khtml_part.cpp:
   39005         (KHTMLPart::selectionComputedStyle): Added a null check.
   39006 
   39007 2004-08-10  Darin Adler  <darin (a] apple.com>
   39008 
   39009         Reviewed by Trey.
   39010 
   39011         - fixed <rdar://problem/3710123> Loading iframe that replaces content in the parent document crashes Safari
   39012 
   39013         I fixed three problems:
   39014 
   39015             1) script interpreter destroyed while it was interpreting scripts, caused random havoc
   39016             2) code trying to get to view after view was detached from part, caused nil-deref
   39017             3) signals sent to parent after child was no longer in the parent's frames list, caused nil-deref
   39018 
   39019         Now the test page works fine. Hope the real sites do too.
   39020 
   39021         * khtml/khtml_part.h: Add connectChild and disconnectChild helper functions (private).
   39022         * khtml/khtml_part.cpp:
   39023         (KHTMLPart::clear): Call disconnectChild on each frame as we detach it (see below).
   39024         (KHTMLPart::end): Ref the part at the start, and deref the part at the end, of this function.
   39025         Otherwise, we can end up destroying the part, and hence the interpreter, inside a script that
   39026         the interpreter itself is running.
   39027         (KHTMLPart::slotFinishedParsing): Add another check for a nil m_view, after the call to
   39028         checkCompleted.
   39029         (KHTMLPart::checkCompleted): Remove bogus if statement with empty body.
   39030         (KHTMLPart::processObjectRequest): Call disconnectChild to disconnect the child <-> parent signals of the
   39031         old child that the new one is replacing, and connectChild to connect the signals (nicer factoring).
   39032         (KHTMLPart::slotChildCompleted): Fixed up a confusing boolean if/expression to be simpler. Not related to
   39033         the bug fix, but an earlier version of the fix had changes in this function.
   39034         (KHTMLPart::connectChild): Added. Connects the appropriate signals for a child frame.
   39035         (KHTMLPart::disconnectChild): Added. Disconnects the same signals that connectChild connects.
   39036 
   39037         * kwq/KWQKHTMLPart.mm: (KHTMLPart::frameDetached): Added a call to disconnectChild before removing the
   39038         child from the frames list.
   39039 
   39040 2004-08-09  Maciej Stachowiak  <mjs (a] apple.com>
   39041 
   39042         Reviewed by Trey.
   39043 
   39044 	WebCore part of:
   39045 
   39046 	- made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing
   39047 
   39048         * kwq/WebCoreBridge.mm:
   39049         (-[WebCoreBridge setMarkedDOMRange:]): Added this new call to support storing
   39050 	a marked range in WebCore. The provided DOMRange must start and end in the same
   39051 	node, which must be a text node.
   39052         (-[WebCoreBridge markedDOMRange]): New call to get the marked range. 
   39053         (-[WebCoreBridge clearMarkedDOMRange]): New call to clear the marked range.
   39054         * kwq/WebCoreBridge.h: Prototype new methods.
   39055         * kwq/KWQKHTMLPart.mm:
   39056         (KWQKHTMLPart::markedRange): Implementation of WebCore call above.
   39057         (KWQKHTMLPart::setMarkedRange): Implementation of WebCore call above -
   39058 	store the marked range, and repaint new and old nodes if needed.
   39059         (KWQKHTMLPart::clear): Clear marked range.
   39060         * kwq/KWQKHTMLPart.h: Prototype new methods.
   39061         * khtml/rendering/render_text.cpp:
   39062         (InlineTextBox::paintMarkedTextBackground): New method to paint the background
   39063 	for marked text, modeled on paintSelection.
   39064 	(RenderText::paint): Optionally handle painting marked text
   39065 	background as well as selection background in the marked text
   39066 	pass.
   39067         * khtml/rendering/render_text.h: Prototype new method.
   39068 
   39069 2004-08-10  Darin Adler  <darin (a] apple.com>
   39070 
   39071         Reviewed by Dave.
   39072 
   39073         - switch PCRE to do UTF-16 directly instead of converting to/from UTF-8 for speed
   39074 
   39075         * kwq/KWQRegExp.mm:
   39076         (QRegExp::KWQRegExpPrivate::compile): Null-terminate the pattern and pass it.
   39077         (QRegExp::match): Use the 16-bit string directly, no need to convert to UTF-8.
   39078 
   39079 2004-08-10  Darin Adler  <darin (a] apple.com>
   39080 
   39081         Reviewed by Ken.
   39082 
   39083         - minor cleanup
   39084 
   39085         * khtml/editing/jsediting.cpp: Capitalize command names to match Windows.
   39086         The dictionary lookup is case insensitive.
   39087 
   39088         * kwq/KWQFoundationExtras.h: Remove inaccurate comment.
   39089 
   39090 2004-08-10  Trey Matteson  <trey (a] apple.com>
   39091 
   39092 	3757094 - crash spell checking after a paste
   39093 
   39094         Reviewed by Ken
   39095 
   39096         * khtml/rendering/render_text.cpp:
   39097         (InlineTextBox::paintSelection):  Add nil check.
   39098 
   39099 2004-08-09  Trey Matteson  <trey (a] apple.com>
   39100 
   39101 	3756195 - spell checking leaves misspelling marker behind after bad word is deleted
   39102 	... and other follow-on spell check fixes
   39103 
   39104         Reviewed by Ken
   39105 
   39106         * khtml/rendering/render_text.cpp:
   39107         (InlineTextBox::paintMarker):  Close inspection shows we were drawing the 
   39108 	misspelling marker one pixel lower than AK, and one pixel outside the selection
   39109 	rect we draw, in the case of Times-16.  So move it up one.  Still not an exact
   39110 	match for AK, but less bad.
   39111         * khtml/xml/dom_docimpl.cpp:
   39112         (DocumentImpl::removeMarker):  Track whether we make any changes, so we only
   39113 	repaint if something actually changed.
   39114         (DocumentImpl::removeAllMarkers):  New utility.
   39115         (DocumentImpl::removeAllMarkers):  Use clear() instead of (errant)
   39116 	hand-rolled loop to empty array.
   39117         (DocumentImpl::shiftMarkers):  Track whether we make any changes, so we only
   39118 	repaint if something actually changed.
   39119         * khtml/xml/dom_docimpl.h:
   39120         * khtml/xml/dom_textimpl.cpp:
   39121         (CharacterDataImpl::deleteData):  Along with shifting existing markers around,
   39122 	remove any markers in the deleted range.  Fixes 3756195.
   39123         (CharacterDataImpl::replaceData):  Ditto for the replaced range.
   39124         * kwq/KWQKHTMLPart.mm:
   39125         (KWQKHTMLPart::updateSpellChecking): comment
   39126 
   39127 2004-08-08  Trey Matteson  <trey (a] apple.com>
   39128 
   39129 	3745023 - Safari crashes trying to access anchor while downloading
   39130 
   39131 	I bet this is behind a few other crashers as well.  In this bug the start of the
   39132 	download leaves a KWQPageState hanging around, and when that is freed it damages
   39133 	the part and view.  If you're still using that page, you're dead.
   39134 
   39135 	The fix is to properly invalidate the PageState when we receive an error before
   39136 	reaching WebFrameCommitted state.  Normally this happens when a page is reheated
   39137 	from the PageState, but in this case we never manage to leave the page to begin
   39138 	with, although we've already created the PageState.
   39139 
   39140 	Other errors besides the synthetic one download generates would have caused similar
   39141 	crashing.  Another example would be clicking on a second link before the load
   39142 	caused by clicking on the first link reached committed state.
   39143 
   39144         Reviewed by Richard
   39145 
   39146         * kwq/WebCoreBridge.h:
   39147         * kwq/WebCoreBridge.mm:
   39148         (-[WebCoreBridge didNotOpenURL:pageCache:]):  Invalidate the pageCache state
   39149 	when a load doesn't get off the ground.
   39150 
   39151 2004-08-06  Ken Kocienda  <kocienda (a] apple.com>
   39152 
   39153         Reviewed by Maciej
   39154 
   39155         Finish off spellchecking support to HTML editing. Includes work to
   39156         enable continuous spellchecking.
   39157 
   39158         * khtml/editing/htmlediting_impl.cpp:
   39159         (khtml::EditCommandImpl::markMisspellingsInSelection): Basically, a one-liner convenience to
   39160         make the call over to the KWQKHTMLPart.
   39161         (khtml::ReplaceSelectionCommandImpl::doApply): Did some rearranging of code so that the
   39162         inserted content can be spell-checked. The function is basically the same, except for
   39163         the addition of calls to markMisspellingsInSelection.
   39164         (khtml::TypingCommandImpl::markMisspellingsAfterTyping): New function. Takes a look at the
   39165         selection that results after typing and determines whether it needs to spellcheck. 
   39166         Since the word containing the current selection is never marked, this does a check to
   39167         see if typing made a new word that is not in the current selection. Basically, you
   39168         get this by being at the end of a word and typing a space.
   39169         (khtml::TypingCommandImpl::typingAddedToOpenCommand): Call markMisspellingsAfterTyping.
   39170         * khtml/editing/htmlediting_impl.h: Add new function declarations.
   39171          * khtml/khtml_part.cpp:
   39172         (KHTMLPart::setSelection): Since spell checks are updated when the selection changes, 
   39173         and every selection change passes through here, this is a good place to put the call 
   39174         to the spellchecker.
   39175         * khtml/rendering/render_text.cpp:
   39176         (InlineTextBox::paintMarker): Remove temporary misspelling line drawing code. Replace with
   39177         call that does AppKit-style drawing. Fix up some comments.
   39178         * khtml/xml/dom_docimpl.cpp:
   39179         (DocumentImpl::addMarker): Repaint the node that had the marker added. This makes it show 
   39180         up on setting it.
   39181         (DocumentImpl::removeMarker): Ditto.
   39182         (DocumentImpl::removeAllMarkers): New function. Convenience for clearing all markers.
   39183         Used when not in continuous spellchecking mode.
   39184         (DocumentImpl::shiftMarkers): Moves markers in response to changes in a node's contents.
   39185         This shifts the marker offsets by a given amount. This keeps the markers in the right
   39186         place when a user types in a node with markers already set on it.
   39187         * khtml/xml/dom_docimpl.h: Added new functions. Removed unnecessary enum qualifier from some
   39188         declarations.
   39189         * khtml/xml/dom_position.cpp:
   39190         (DOM::Position::previousWordBoundary): This function was susceptible to endless loops...and
   39191         needlessly so. Basically, if the current position is at a word boundary, run the code again
   39192         to find the previous word boundary.
   39193         (DOM::Position::nextWordBoundary): Same as above, but for next word boundary.
   39194         * khtml/xml/dom_textimpl.cpp:
   39195         (CharacterDataImpl::setData): Call shiftMarkers to update markers when this node changes.
   39196         (CharacterDataImpl::insertData): Ditto.
   39197         (CharacterDataImpl::deleteData): Ditto.
   39198         (CharacterDataImpl::replaceData): Ditto.
   39199         * kwq/KWQKHTMLPart.h:
   39200         * kwq/KWQKHTMLPart.mm:
   39201         (KWQKHTMLPart::advanceToNextMisspelling):
   39202         (KWQKHTMLPart::markMisspellingsInSelection):
   39203         (KWQKHTMLPart::updateSpellChecking):
   39204         (KWQKHTMLPart::respondToChangedSelection):
   39205         * kwq/KWQPainter.h:
   39206         * kwq/KWQPainter.mm:
   39207         (QPainter::drawLineForMisspelling): New function. Call over to WebKit to do the drawing.
   39208         * kwq/WebCoreBridge.h:
   39209         * kwq/WebCoreBridge.mm:
   39210         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Pass markMisspellings flag to
   39211         setSelection call. 
   39212         * kwq/WebCoreTextRenderer.h:
   39213 
   39214 === Safari-155 ===
   39215 
   39216 2004-08-05  David Hyatt  <hyatt (a] apple.com>
   39217 
   39218 	Fix for 3752542, stack overflow that crashes Safari at www.dr.dk.  This bug is a regression caused by a fix that
   39219 	attempted to repair <caption> behavior to make it behave like Panther.  This fix was incorrect, and in addition
   39220 	even our <caption> behavior on Panther was incorrect.
   39221 
   39222 	The patch that fixes this bug also makes <caption> handling work when <caption>s are contained inside a <td>, a <tr>,
   39223 	a <th>, or various table section tags (<tbody>, <tfoot>, <thead>).  The <caption> is pulled out and inserted just before
   39224 	the relevant ancestor table section.  This behavior matches other browsers.
   39225 	
   39226         Reviewed by mjs
   39227 
   39228         * khtml/html/htmlparser.cpp:
   39229         (KHTMLParser::insertNode):
   39230 
   39231 2004-08-04  David Hyatt  <hyatt (a] apple.com>
   39232 
   39233 	The top-level XSL sheet is now loaded and shows up in the activity window.  It is not yet parsed.
   39234 	
   39235         Reviewed by kocienda
   39236 
   39237         * WebCore.pbproj/project.pbxproj:
   39238         * khtml/css/css_base.h:
   39239         (DOM::StyleBaseImpl::isXSLStyleSheet):
   39240         * khtml/css/css_stylesheetimpl.cpp:
   39241         (CSSStyleSheetImpl::CSSStyleSheetImpl):
   39242         * khtml/css/css_stylesheetimpl.h:
   39243         (DOM::StyleSheetImpl::isLoading):
   39244         * khtml/misc/loader.cpp:
   39245         * khtml/xml/dom_xmlimpl.cpp:
   39246         (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
   39247         (DOM::ProcessingInstructionImpl::checkStyleSheet):
   39248         (DOM::ProcessingInstructionImpl::sheet):
   39249         (DOM::ProcessingInstructionImpl::isLoading):
   39250         (DOM::ProcessingInstructionImpl::setStyleSheet):
   39251         * khtml/xml/dom_xmlimpl.h:
   39252 
   39253 2004-08-04  David Hyatt  <hyatt (a] apple.com>
   39254 
   39255 	Add XSL Stylesheets to the WebCore cache.
   39256 	
   39257         Reviewed by kocienda
   39258 
   39259         * khtml/misc/loader.cpp:
   39260         (CachedXSLStyleSheet::CachedXSLStyleSheet):
   39261         (CachedXSLStyleSheet::ref):
   39262         (CachedXSLStyleSheet::deref):
   39263         (CachedXSLStyleSheet::data):
   39264         (CachedXSLStyleSheet::checkNotify):
   39265         (CachedXSLStyleSheet::error):
   39266         (DocLoader::requestXSLStyleSheet):
   39267         (Cache::requestXSLStyleSheet):
   39268         (Cache::getStatistics):
   39269         * khtml/misc/loader.h:
   39270         (khtml::CachedObject::):
   39271         (khtml::CachedXSLStyleSheet::sheet):
   39272         (khtml::CachedXSLStyleSheet::schedule):
   39273 
   39274 2004-08-03  Ken Kocienda  <kocienda (a] apple.com>
   39275 
   39276         Reviewed by Hyatt
   39277 
   39278         Changes to improve our handling of object tags during editing, including
   39279         fixing this bug:
   39280         
   39281         <rdar://problem/3744533> Problem editing <OBJECT> elements displayed by WebPlugIns 
   39282 
   39283         Part of the fix for this bug involves removing the close() function from render objects.
   39284         It was decided that this code was no longer needed, as the work it did could be moved
   39285         to other, more modern, places.
   39286 
   39287         Fixed this bug:
   39288         
   39289         <rdar://problem/3748537> crash due to nil node passed into parentNode in computeTypingStyle deleting text
   39290 
   39291         Finally, I filed and fixed this bug I discovered while fixing the one above:
   39292         
   39293         <rdar://problem/3749338> Select-all + delete leaves editing view without blinking caret
   39294 
   39295         * khtml/editing/htmlediting_impl.cpp:
   39296         (khtml::DeleteSelectionCommandImpl::computeTypingStyle): Fix for 3748537. Put in some more null
   39297         checks. Bail, returning 0 for typing style if any null checks yield a null.
   39298         (khtml::DeleteSelectionCommandImpl::doApply): Fix for 3749338. A removeNodeAndPrune call may wind
   39299         up deleting the node where we calculated that we wanted to put the selection after deleting.
   39300         If this happens, move this ending selection to a sensible alternative.
   39301         (khtml::RemoveNodeAndPruneCommandImpl::doApply): Call previousNodeConsideringAtomicNodes instead 
   39302         of traversePreviousNode when doing the prune.
   39303         * khtml/html/html_objectimpl.cpp:
   39304         (HTMLObjectElementImpl::attach): Part of the fix for 3744533.
   39305         (HTMLObjectElementImpl::recalcStyle): Change old strcmp check for type of renderer to be a call
   39306         to canRenderImageType.
   39307         (HTMLObjectElementImpl::childrenChanged): New function. Helps to keep object tags up to date 
   39308         as their children change. This also will help to make object tags respond properly to having their
   39309         params changed by DOM calls.
   39310         * khtml/html/html_objectimpl.h: Cosmetic change.
   39311         * khtml/html/htmlparser.cpp:
   39312         (KHTMLParser::insertNode): Remove call to obsolete closeRenderer() function.
   39313         (KHTMLParser::popOneBlock): Ditto.
   39314         * khtml/rendering/render_block.cpp:
   39315         (khtml::RenderBlock::makeChildrenNonInline): Remove call to obsolete close() function.
   39316         * khtml/rendering/render_container.cpp:
   39317         (RenderContainer::updatePseudoChild): Ditto.
   39318         * khtml/rendering/render_form.cpp: Remove obsolete close() function.
   39319         * khtml/rendering/render_form.h: Ditto.
   39320         * khtml/rendering/render_frames.cpp: Ditto.
   39321         * khtml/rendering/render_frames.h: Ditto.
   39322         * khtml/rendering/render_inline.cpp:
   39323         (RenderInline::splitFlow): Remove calls to obsolete close() function.
   39324         * khtml/rendering/render_object.h: Remove obsolete close() function.
   39325         * khtml/rendering/render_table.cpp:
   39326         (RenderTableCell::layout): Ditto.
   39327         * khtml/rendering/render_table.h: Ditto.
   39328         * khtml/xml/dom_docimpl.cpp:
   39329         (DocumentImpl::closeInternal): Remove call to obsolete close() function.
   39330         * khtml/xml/dom_nodeimpl.cpp: Remove obsolete m_rendererNeedsClose initialization.
   39331         (NodeImpl::NodeImpl): Remove obsolete closeRenderer() function.
   39332         (NodeImpl::attach): Remove call to obsolete close() function.
   39333         (NodeImpl::isAtomicNode): New function. Helps to fix 3744533. Determines if a node should
   39334         be treated as an atomic node for the purposes of editing.
   39335         (NodeImpl::previousNodeConsideringAtomicNodes): New helper to traverse tree taking atomic nodes
   39336         into account.
   39337         (NodeImpl::nextNodeConsideringAtomicNodes): Ditto.
   39338         (NodeImpl::previousLeafNode): Now calls nextNodeConsideringAtomicNodes to iterate. This helps to 
   39339         prevent deleting PARAM tag portions of object tags erroneously.
   39340         (NodeImpl::nextLeafNode): Ditto.
   39341         * khtml/xml/dom_nodeimpl.h: Removed m_rendererNeedsClose bit. Added declarations for new functions.
   39342         * khtml/xml/dom_position.cpp:
   39343         (DOM::Position::equivalentDeepPosition): Now takes atomic nodes into account as it drills down into the
   39344         tree.
   39345         * khtml/xml/xml_tokenizer.cpp:
   39346         (khtml::XMLTokenizer::endElement): Remove call to obsolete closeRenderer() function.
   39347 
   39348 2004-08-03  David Hyatt  <hyatt (a] apple.com>
   39349 
   39350 	Add the deprecated text/xsl MIME type (introduced by Internet Explorer 5) as an acceptable MIME type for XML
   39351 	documents.
   39352 	
   39353         Reviewed by john
   39354 
   39355         * khtml/ecma/xmlhttprequest.cpp:
   39356         (KJS::XMLHttpRequest::getValueProperty):
   39357         * khtml/khtml_part.cpp:
   39358         (KHTMLPart::begin):
   39359         * khtml/misc/loader.cpp:
   39360         (CachedXBLDocument::CachedXBLDocument):
   39361 
   39362 2004-08-03  Maciej Stachowiak  <mjs (a] apple.com>
   39363 
   39364         Reviewed by Ken.
   39365 
   39366 	- remove assertions that asserted text is non-empty, just avoid
   39367 	doing anything for the empty case; this is needed because input
   39368 	methods like to insert empty text in various cases.
   39369 
   39370         * khtml/editing/htmlediting_impl.cpp:
   39371         (khtml::InsertTextCommandImpl::InsertTextCommandImpl):
   39372         (khtml::InsertTextCommandImpl::doApply):
   39373         (khtml::InsertTextCommandImpl::doUnapply):
   39374 
   39375 2004-08-03  Darin Adler  <darin (a] apple.com>
   39376 
   39377         Reviewed by Ken.
   39378 
   39379         - fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
   39380 
   39381         * khtml/xml/dom2_rangeimpl.h: Added text function. Like innerText, but on a range.
   39382         * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::text): Added.
   39383 
   39384         * kwq/DOM.mm: (-[DOMRange _text]): Added. Calls DOM::RangeImpl::text.
   39385         * kwq/DOMPrivate.h: Added.
   39386 
   39387         * WebCore.pbproj/project.pbxproj: Added DOMPrivate.h, an internal header (private in WebKit, internal here).
   39388 
   39389 2004-08-02  John Sullivan  <sullivan (a] apple.com>
   39390 
   39391         Reviewed by Darin.
   39392         
   39393         WebCore part of fix for <rdar://problem/3631868> NSToolbar adoption: 
   39394         Tab key should cycle around toolbar and page content
   39395 
   39396         * kwq/WebCoreBridge.mm:
   39397         (-[WebCoreBridge nextKeyViewInsideWebFrameViews]):
   39398         Made this method start looking from the current focus node. This won't
   39399         affect any existing callers because there were no existing callers.
   39400         (-[WebCoreBridge previousKeyViewInsideWebFrameViews]):
   39401         ditto
   39402 
   39403 2004-08-02  David Hyatt  <hyatt (a] apple.com>
   39404 
   39405 	Create a #define for XSLT support that at the moment will only be enabled on Tiger.
   39406 	
   39407         Reviewed by kocienda
   39408 
   39409         * WebCorePrefix.h:
   39410 
   39411 2004-08-02  Ken Kocienda  <kocienda (a] apple.com>
   39412 
   39413         Reviewed by Hyatt
   39414 
   39415         Fix for this bug:
   39416         
   39417         <rdar://problem/3747945> Deleting replaced element can cause crash
   39418 
   39419         * khtml/xml/dom_selection.cpp:
   39420         (DOM::Selection::layoutCaret): The crux of the problem is that
   39421         the caret drawing code tries to draw the caret at the image
   39422         offset after it has been removed from the document. So, make
   39423         sure the start node for the selection is in the document before
   39424         trying to lay out the caret using that node.
   39425 
   39426 2004-07-31  Ken Kocienda  <kocienda (a] apple.com>
   39427 
   39428         Reviewed by John
   39429 
   39430         <rdar://problem/3745498> HTMLCompose: Can't edit new empty message (and typing eventually crashes)
   39431         <rdar://problem/3746408> HTMLCompose: cannot type in message body of new messages (and tabbing causes a crash.)
   39432         
   39433         * kwq/KWQKHTMLPart.mm:
   39434         (KWQKHTMLPart::setDisplaysWithFocusAttributes): Add in some smarts to look around for
   39435         a good place to put the caret if focus is turning "on", the part is contentEditable,
   39436         and it does not currently have a selection. This has the effect of flashing the caret 
   39437         in a contentEditable view automatically without requiring the programmer to set a 
   39438         selection explicitly. This also fixes the bug listed above. Both are cases where the
   39439         bad behavior happened since the editing code tried to process input without an active 
   39440         selection. I always took the extra step of setting the selection explicitly when
   39441         opening new windows in programs like Blot, but it seems silly to require developers to
   39442         do this in general. With this patch, they no longer need to.
   39443 
   39444 2004-07-30  Ken Kocienda  <kocienda (a] apple.com>
   39445 
   39446         Reviewed by John
   39447 
   39448         Fix for this bug:
   39449         
   39450         <rdar://problem/3745498> HTMLCompose: Can't edit new empty message (and typing eventually crashes)
   39451 
   39452         * khtml/xml/dom_selection.cpp:
   39453         (DOM::Selection::layoutCaret): Don't bail when the start position of the selection is not in rendered
   39454         content. The validate() bottleneck function will do all it can to make sure that the start is
   39455         moved to rendered content if at all possible before this function runs. If no rendered position can
   39456         be found, like in the case of an empty body element, we still want to flash the caret there.
   39457         (DOM::Selection::validate): Look for rendered positions for the base and extent, but save off the
   39458         base before making this move, and set the selection to the enclosing block flow element of this
   39459         original base if no rendered positions can be found. This has the effect of flashing the caret 
   39460         someplace in an editable block, even if it does not contain any rendered content.
   39461 
   39462 2004-07-30  Ken Kocienda  <kocienda (a] apple.com>
   39463 
   39464         Reviewed by John
   39465 
   39466         Fix a large number of editing layout test regressions.
   39467 
   39468         * khtml/misc/khtml_text_operations.cpp:
   39469         (khtml::TextIterator::TextIterator): Use a new way to compute the end offset of a node for
   39470         purposes of text iteration. The end offset is either child count of a node with children,
   39471         or the maxOffset() of a node that does not.
   39472         * khtml/xml/dom_nodeimpl.cpp: Remove maxOffset() implementation from NodeBaseImpl. This 
   39473         conflicted with the usage of this function that is needed for editing.
   39474         * khtml/xml/dom_nodeimpl.h: Ditto.
   39475 
   39476 2004-07-30  Trey Matteson  <trey (a] apple.com>
   39477 
   39478 	Next steps for spell checking:  We have data structures for the marked pieces of
   39479 	text and the smarts to draw them (although at this point, they just get a green
   39480 	underline instead of using the real AppKit pattern.)
   39481 
   39482 	Note we don't call this code outside of development, since at this point I suspect
   39483 	it could be made to crash by mixing spelling and editing. 
   39484 
   39485         Reviewed by Ken.
   39486 
   39487         * khtml/rendering/render_text.cpp:
   39488         (InlineTextBox::paintMarker):  Paint one marker's intersection with a text run
   39489         (RenderText::paint):  Find intersections of all markers and runs, call paintMarker
   39490         * khtml/rendering/render_text.h:
   39491         * khtml/xml/dom_docimpl.cpp:
   39492         (DocumentImpl::addMarker):  Adds a marker to a DOM Range.
   39493         (DocumentImpl::removeMarker):  Removes a marker from a DOM Range.
   39494         (DocumentImpl::addMarker):  Adds a marker to a single DOM Node, merging previous
   39495 	markers as needed.
   39496         (DocumentImpl::removeMarker):  Removes a marker from a single DOM Node, breaking
   39497 	up previous markers as needed.
   39498         (DocumentImpl::markersForNode):  Return markers for a Node.
   39499         * khtml/xml/dom_docimpl.h:
   39500         (DOM::DocumentMarker::):  New marker struct
   39501         (DOM::DocumentMarker::operator == ):
   39502         (DOM::DocumentMarker::operator != ):
   39503         * kwq/KWQKHTMLPart.mm:
   39504         (KWQKHTMLPart::advanceToNextMisspelling):  Mark misspelled ranges when we find them.
   39505 	Debug only for now.
   39506 
   39507 2004-07-29  Maciej Stachowiak  <mjs (a] apple.com>
   39508 
   39509         Reviewed by Darin.
   39510 
   39511 	<rdar://problem/3745808> Seed: WebKit: Table's caption broken
   39512 	
   39513         * khtml/html/htmlparser.cpp:
   39514         (KHTMLParser::insertNode): When a caption appears in an illegal
   39515 	place in a table, pop blocks until we hit a place where it's
   39516 	allowed.
   39517 
   39518 === Safari-154 ===
   39519 
   39520 2004-07-29  Darin Adler  <darin (a] apple.com>
   39521 
   39522         Reviewed by Ken.
   39523 
   39524         - added constants for motion across entire document for use in operations like
   39525           move to beginning of document
   39526 
   39527         * khtml/xml/dom_selection.h: Added DOCUMENT to ETextGranularity.
   39528         * khtml/xml/dom_selection.cpp:
   39529         (DOM::Selection::modifyExtendingRightForward): Added case for DOCUMENT.
   39530         (DOM::Selection::modifyMovingRightForward): Added case for DOCUMENT.
   39531         (DOM::Selection::modifyExtendingLeftBackward): Added case for DOCUMENT.
   39532         (DOM::Selection::modifyMovingLeftBackward): Added case for DOCUMENT.
   39533         (DOM::Selection::validate): Changed if statements into switch statement,
   39534         added case for DOCUMENT.
   39535 
   39536         * kwq/WebCoreBridge.h: Added WebCoreBridge to WebSelectionGranularity.
   39537 
   39538 2004-07-28  Trey Matteson  <trey (a] apple.com>
   39539 
   39540 	Small refinement of last checkin.  The text iterators now return reasonable values
   39541 	for range() when atEnd, which gets rid of special cases and pitfalls in the client.
   39542 
   39543         Reviewed by Ken.
   39544 
   39545         * khtml/misc/khtml_text_operations.cpp:
   39546         (khtml::TextIterator::TextIterator):  Set endOffset to a valid value instead of
   39547 	using LONG_MAX.
   39548         (khtml::TextIterator::range):  Implement when atEnd.
   39549         (khtml::CharacterIterator::range):  Don't massage result when atEnd.
   39550         (khtml::WordAwareIterator::WordAwareIterator):  Now that this is fixed, we no
   39551 	longer need this special case.
   39552         (khtml::WordAwareIterator::advance):  Always set range, even when atEnd, now that
   39553 	TextIterator::range() always works.
   39554         * khtml/xml/dom_nodeimpl.cpp:
   39555         (NodeImpl::childNodeCount):  Made const
   39556         (NodeBaseImpl::maxOffset):  Add missing implementation
   39557         * khtml/xml/dom_nodeimpl.h:
   39558         * kwq/KWQKHTMLPart.mm:
   39559         (KWQKHTMLPart::advanceToNextMisspelling):  Get rid of special cases, always call
   39560 	range on our iterator even when it is atEnd.
   39561 
   39562 2004-07-28  Maciej Stachowiak  <mjs (a] apple.com>
   39563 
   39564         Reviewed by Trey.
   39565 
   39566 	<rdar://problem/3678534> controls on page at http://help.sap.com don't work properly
   39567 
   39568         To fix this I implemented the various JavaScript BarInfo properties in JavaScript.
   39569 	
   39570 	* khtml/ecma/kjs_window.cpp:
   39571         (Window::Window):
   39572         (Window::locationbar):
   39573         (Window::menubar):
   39574         (Window::personalbar):
   39575         (Window::statusbar):
   39576         (Window::toolbar):
   39577         (Window::scrollbars):
   39578         (Window::mark):
   39579         (Window::get):
   39580         (SelectionFunc::tryCall):
   39581         (BarInfo::BarInfo):
   39582         (BarInfo::~BarInfo):
   39583         (BarInfo::get):
   39584         (BarInfo::put):
   39585         * khtml/ecma/kjs_window.h:
   39586         (KJS::Window::):
   39587         (KJS::BarInfo::):
   39588         (KJS::BarInfo::part):
   39589         (KJS::BarInfo::classInfo):
   39590         * khtml/ecma/kjs_window.lut.h:
   39591         (KJS::):
   39592         * kwq/KWQKHTMLPart.h:
   39593         * kwq/KWQKHTMLPart.mm:
   39594         (KWQKHTMLPart::locationbarVisible):
   39595         (KWQKHTMLPart::menubarVisible):
   39596         (KWQKHTMLPart::personalbarVisible):
   39597         (KWQKHTMLPart::scrollbarsVisible):
   39598         (KWQKHTMLPart::statusbarVisible):
   39599         (KWQKHTMLPart::toolbarVisible):
   39600 
   39601 2004-07-28  Ken Kocienda  <kocienda (a] apple.com>
   39602 
   39603         Added more layout tests.
   39604 
   39605         * layout-tests/editing/style/style-3681552-fix-001-expected.txt: Added.
   39606         * layout-tests/editing/style/style-3681552-fix-001.html: Added.
   39607         * layout-tests/editing/style/style-3681552-fix-002-expected.txt: Added.
   39608         * layout-tests/editing/style/style-3681552-fix-002.html: Added.
   39609         * layout-tests/editing/style/style-3690704-fix-expected.txt: Added.
   39610         * layout-tests/editing/style/style-3690704-fix.html: Added.
   39611         * layout-tests/editing/style/typing-style-001-expected.txt: Added.
   39612         * layout-tests/editing/style/typing-style-001.html: Added.
   39613         * layout-tests/editing/style/typing-style-002-expected.txt: Added.
   39614         * layout-tests/editing/style/typing-style-002.html: Added.
   39615 
   39616 2004-07-28  Ken Kocienda  <kocienda (a] apple.com>
   39617 
   39618         Added some layout tests.
   39619 
   39620         * layout-tests/editing/selection/select-all-001-expected.txt: Added.
   39621         * layout-tests/editing/selection/select-all-001.html: Added.
   39622         * layout-tests/editing/selection/select-all-002-expected.txt: Added.
   39623         * layout-tests/editing/selection/select-all-002.html: Added.
   39624         * layout-tests/editing/selection/select-all-003-expected.txt: Added.
   39625         * layout-tests/editing/selection/select-all-003.html: Added.
   39626 
   39627 2004-07-28  Trey Matteson  <trey (a] apple.com>
   39628 
   39629 	Spellchecking, Part I.  Basic spellcheck is working.  Spelling panel is hooked up.
   39630 
   39631 	At this point, no special marking of misspellings, no grammar check, no context
   39632 	menu integration, no "check continually" mode.
   39633 
   39634 	Much of the TextIterator and CharacterIterator interface got published outside
   39635 	of khtml_text_operations.cpp, with a little API rationalizing.
   39636 
   39637         Reviewed by Ken.
   39638 
   39639         * khtml/misc/khtml_text_operations.cpp:
   39640         (khtml::TextIterator::range):  Name changes.
   39641         (khtml::CharacterIterator::CharacterIterator):  Ditto.
   39642         (khtml::CharacterIterator::range):  Ditto.
   39643         (khtml::CharacterIterator::advance):  Ditto.
   39644         (khtml::CharacterIterator::string):  New method to consume chars into a string.
   39645         (khtml::WordAwareIterator::WordAwareIterator):  New class that iterates over
   39646 	the text respecting word boundaries.
   39647         (khtml::WordAwareIterator::advance):
   39648         (khtml::WordAwareIterator::length):
   39649         (khtml::WordAwareIterator::characters):
   39650         (khtml::plainText):  Name changes.
   39651         (khtml::findPlainText):  Ditto.
   39652 
   39653 	API moved from cpp to header file.
   39654         * khtml/misc/khtml_text_operations.h:
   39655         (khtml::TextIterator::atEnd):
   39656         (khtml::TextIterator::length):
   39657         (khtml::TextIterator::characters):
   39658         (khtml::CharacterIterator::atBreak):
   39659         (khtml::CharacterIterator::atEnd):
   39660         (khtml::CharacterIterator::length):
   39661         (khtml::CharacterIterator::characters):
   39662         (khtml::CharacterIterator::characterOffset):
   39663         (khtml::WordAwareIterator::atEnd):
   39664         (khtml::WordAwareIterator::range):
   39665 
   39666         * khtml/xml/dom_position.cpp:
   39667         (DOM::Position::previousWordBoundary):  New name for the old routine.  This routines semantics
   39668 	match the current behavior of this code.
   39669         (DOM::Position::nextWordBoundary):  Ditto.
   39670         (DOM::Position::previousWordPosition):  Call old code with the new name.  When we fix
   39671 	word advancement, this routine will have its own impl.
   39672         (DOM::Position::nextWordPosition):  Ditto.
   39673         * khtml/xml/dom_position.h:
   39674         * khtml/xml/dom_selection.h:
   39675         (DOM::Selection::rangeStart):  New convenience methods
   39676         (DOM::Selection::rangeEnd):
   39677         * kwq/KWQKHTMLPart.h:
   39678         * kwq/KWQKHTMLPart.mm:
   39679         (KWQKHTMLPart::findString):  Ensure we use range-compatible positions.
   39680         (KWQKHTMLPart::advanceToNextMisspelling):  Brand new.
   39681         * kwq/WebCoreBridge.h:
   39682         * kwq/WebCoreBridge.mm:
   39683         (-[WebCoreBridge advanceToNextMisspelling]):  Typical bridge glue.
   39684 
   39685 2004-07-28  Ken Kocienda  <kocienda (a] apple.com>
   39686 
   39687         Reviewed by Maciej
   39688         
   39689         Fixed this bug:
   39690         
   39691         <rdar://problem/3690704> marking partly bold text italic across blocks wrongly extends the bold section
   39692 
   39693         * khtml/editing/htmlediting_impl.cpp:
   39694         (khtml::ApplyStyleCommandImpl::doApply): Fixed loop that gathers up groups of nodes to
   39695         pass off to the function that applies styles. While this is meant to be conservative in
   39696         order to leave the DOM well-formed in all cases, it contained an error where the set
   39697         of nodes to be styled together erroneously could include a node that was meant for 
   39698         the next set. Fixed.
   39699         (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Unrelated change to remove DOM:: scope
   39700         resolution qualifier. Unneeded here.
   39701 
   39702 2004-07-28  Darin Adler  <darin (a] apple.com>
   39703 
   39704         Reviewed by Trey.
   39705 
   39706         - fixed <rdar://problem/3658471> REGRESSION: Node.appendChild( ) fails when parent already contains that child
   39707 
   39708         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::isAncestor): Restore the original meaning of this function.
   39709         It returns true if the parameter is an ancestor of this, but had been changed to return true if this
   39710         is an ancestor of the parameter. However, we do retain one change we made at the same time, which is
   39711         that it does not consider a node an ancestor of itself.
   39712 
   39713         * khtml/editing/htmlediting_impl.cpp: (khtml::ApplyStyleCommandImpl::nodeFullySelected):
   39714         * khtml/xml/dom2_traversalimpl.cpp: (DOM::NodeIteratorImpl::notifyBeforeNodeRemoval):
   39715         Reverse parameters for callers who wanted the new meaning of isAncestor, with care to not use it in
   39716         any cases where the pointer might be 0.
   39717 
   39718         * khtml/xml/dom_nodeimpl.h: Added const to the parameter to make things more symmetric and allow the
   39719         new uses to all compile.
   39720 
   39721 2004-07-28  Ken Kocienda  <kocienda (a] apple.com>
   39722 
   39723         Reviewed by Darin
   39724 
   39725         Fix for this bug:
   39726         
   39727         <rdar://problem/3681552> html editing needs to preserve typing font when replacing selection
   39728 
   39729         * khtml/css/css_valueimpl.cpp:
   39730         (CSSStyleDeclarationImpl::merge): New helper that merges styles together. Helpful for
   39731         dealing with typing styles.
   39732         * khtml/css/css_valueimpl.h:
   39733         * khtml/editing/htmlediting_impl.cpp:
   39734         (khtml::DeleteSelectionCommandImpl::computeTypingStyle): New helper that updates the
   39735         typing style based on the current selection. This is a convenient bottleneck for all
   39736         the code that needs to worry about typing style.
   39737         (khtml::DeleteSelectionCommandImpl::doApply): Update typing style before doing the delete.
   39738         (khtml::InputNewlineCommandImpl::doApply): No need to redeclare exceptionCode local.
   39739         Improve comments. 
   39740         (khtml::InputTextCommandImpl::prepareForTextInsertion): Remove unneeded complication when 
   39741         figuring out where to insert style node. Not even sure what I was trying to do here, but
   39742         it does not seem to be needed any more.
   39743         (khtml::InputTextCommandImpl::execute): Remove unneeded comment.
   39744         * khtml/editing/htmlediting_impl.h: Declare new computeTypingStyle helper.
   39745         * khtml/khtml_part.cpp:
   39746         (KHTMLPart::setCaretVisible): Call selectionLayoutChanged instead of notifySelectionChanged
   39747         in this function. The selection did not change simply by calling this function, but it
   39748         does need a layout.
   39749         (KHTMLPart::notifySelectionChanged): Treat clearing the typing style much like closing typing,
   39750         instead of clearing it unconditionally.
   39751         (KHTMLPart::applyStyle): In the case where the current selection is a caret, merge the
   39752         style being applied with any current typing style that already exists.
   39753 
   39754 2004-07-28  Darin Adler  <darin (a] apple.com>
   39755 
   39756         Reviewed by Ken.
   39757 
   39758         - fixed <rdar://problem/3711080> REGRESSION (125-146): form fields have shrunk by 1 pixel, and now clip descenders
   39759 
   39760         * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth):
   39761         Compute the size without ever calling cellSize. After talking with Andrew Platzer,
   39762         we decided that hard-coding the size of the borders of a text field was the best
   39763         way for WebCore to handle this.
   39764 
   39765 2004-07-28  Darin Adler  <darin (a] apple.com>
   39766 
   39767         Reviewed by Ken.
   39768 
   39769         - fixed <rdar://problem/3743204> REGRESSION: crash at startribune.com in InlineBox::root()
   39770 
   39771         * khtml/rendering/render_flow.cpp: (RenderFlow::dirtyLinesFromChangedChild):
   39772         Added a check for nil.
   39773 
   39774 2004-07-27  Darin Adler  <darin (a] apple.com>
   39775 
   39776         Reviewed by Trey.
   39777 
   39778         - fixed <rdar://problem/3743138> opaque colors come out of getComputedStyle as "rgba", transparent ones as "rgb"
   39779 
   39780         * khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cssText): Use "rgb" rather than
   39781         "rgba" when alpha is 0xFF, not when alpha is 0.
   39782 
   39783 2004-07-27  Ken Kocienda  <kocienda (a] apple.com>
   39784 
   39785         Reviewed by Hyatt
   39786         
   39787         Fixed the problem where BR elements on lines by themselves don't paint when selected.
   39788 
   39789         * khtml/khtml_part.cpp:
   39790         (KHTMLPart::selectAll): Related fix. Include BR's when figuring out what "all" is.
   39791         * khtml/rendering/render_br.cpp:
   39792         (RenderBR::paint): New function implementation. Teach BR's how to paint selections.
   39793         * khtml/rendering/render_br.h:
   39794         * khtml/rendering/render_text.cpp: 
   39795         (InlineTextBox::paintSelection): Fix some geometry calculations to be more readable (i.e. don't
   39796         reuse function argument as a local). Also, improve the logic for determining whether to 
   39797         extend the selection to block boundaries.
   39798         (RenderText::paint): Remove extendSelection argument from paintSelection. The logic to figure out
   39799         extensions is now fully contained in paintSelection.
   39800         * khtml/rendering/render_text.h:
   39801 
   39802 2004-07-27  David Hyatt  <hyatt (a] apple.com>
   39803 
   39804 	Fix for 3665211 (again).  Make sure not to leave child line boxes pointing to deleted ancestor line boxes.
   39805 	
   39806         Reviewed by kocienda
   39807 
   39808         * khtml/rendering/render_block.cpp:
   39809         (khtml::RenderBlock::removeChild):
   39810 
   39811 2004-07-26  Chris Blumenberg  <cblu (a] apple.com>
   39812 
   39813 	Fixed: WebView scrolls to the top after making an editing change via drag & drop
   39814 
   39815         Fixed by Ken, reviewed by me.
   39816 
   39817         * kwq/WebCoreBridge.mm:
   39818         (-[WebCoreBridge ensureCaretVisible]): do nothing if the selection is not a caret
   39819 
   39820 === Safari-153 ===
   39821 
   39822 2004-07-26  Maciej Stachowiak  <mjs (a] apple.com>
   39823 
   39824         Reviewed by John.
   39825 
   39826 	<rdar://problem/3740855> REGRESSION: Flash incorrectly positioned at macromedia.com
   39827         
   39828         * khtml/html/htmltokenizer.cpp:
   39829         (khtml::HTMLTokenizer::scriptExecution): Do the prepending-src
   39830 	trick as for inline script execution.
   39831 
   39832 	Added new layout tests covering this and other recent tokenizer
   39833 	bugs.
   39834 	
   39835         * layout-tests/fast/tokenizer/001-expected.txt: Added.
   39836         * layout-tests/fast/tokenizer/001.html: Added.
   39837         * layout-tests/fast/tokenizer/002-expected.txt: Added.
   39838         * layout-tests/fast/tokenizer/002.html: Added.
   39839         * layout-tests/fast/tokenizer/003-expected.txt: Added.
   39840         * layout-tests/fast/tokenizer/003.html: Added.
   39841         * layout-tests/fast/tokenizer/resources/003-script.js: Added.
   39842 
   39843 2004-07-23  Ken Kocienda  <kocienda (a] apple.com>
   39844 
   39845         Reviewed by Trey
   39846 
   39847         Fix for this bug:
   39848         
   39849         <rdar://problem/3738920> Caret blinks in inactive window
   39850 
   39851         As part of the fix, I cleaned up the way we handle special drawing that needs
   39852         to be done in the HTML view that is first responder in the key window (e.g the
   39853         drawing of text selection highlight and caret blinking).
   39854 
   39855         * khtml/khtml_part.cpp: Removed setCaretVisible function. Updating caret visibility
   39856         is now done in setDisplaysWithFocusAttributes, described below.
   39857         * khtml/khtml_part.h: Ditto.
   39858         * khtml/khtmlpart_p.h:
   39859         (KHTMLPartPrivate::KHTMLPartPrivate): m_caretVisible now defaults to false. This prevents
   39860         the caret from blinking when an app is started from the command line and remains in the
   39861         background.
   39862         * khtml/khtmlview.cpp:
   39863         (KHTMLView::focusInEvent): Remove caret code from here. Not needed.
   39864         (KHTMLView::focusOutEvent): Ditto.
   39865         * kwq/KWQKHTMLPart.h:
   39866         (KWQKHTMLPart::displaysWithFocusAttributes): New accessor to return cached value to other code
   39867         in WebCore.
   39868         * kwq/KWQKHTMLPart.mm:
   39869         (KWQKHTMLPart::KWQKHTMLPart):
   39870         (KWQKHTMLPart::setDisplaysWithFocusAttributes): Renamed from setShowsFirstResponder and modified
   39871         to do the display updating in a clearer way....and now has comments!
   39872         * kwq/WebCoreBridge.h: Remove several obsolete functions that use to try to do the work of the new
   39873         setDisplaysWithFocusAttributes function (and did so less well).
   39874         * kwq/WebCoreBridge.mm:
   39875         (-[WebCoreBridge drawRect:]): Now calls displaysWithFocusAttributes to figure out how to draw the
   39876         text selection background.
   39877         (-[WebCoreBridge setDisplaysWithFocusAttributes:]): Calls through to setDisplaysWithFocusAttributes in 
   39878         KWQKHTMLPart.
   39879         (-[WebCoreBridge selectionColor]): Flipped the value of this ternary expression to accommodate the
   39880         change from usesInactiveTextBackgroundColor to setDisplaysWithFocusAttributes.
   39881         (-[WebCoreBridge setCaretVisible:]): Removed.
   39882 
   39883 2004-07-23  John Sullivan  <sullivan (a] apple.com>
   39884 
   39885         Reviewed by Maciej.
   39886 
   39887         - fixed <rdar://problem/3691569> REGRESSION (142): cmd-shift-clicking on a link 
   39888         now also extends selection (even if there wasn't one before)
   39889 
   39890         * khtml/khtml_part.cpp:
   39891         (KHTMLPart::handleMousePressEventSingleClick):
   39892         Uh, duh. Got a ! wrong last time somehow, so it did even more the wrong thing
   39893         than ever. I did test this before, so my best guess is an accidental undo or
   39894         something before committing.
   39895 
   39896 2004-07-23  David Hyatt  <hyatt (a] apple.com>
   39897 
   39898 	Fix for 3735084 and 3737209, when you can find no line boxes in your previous sibling, the line box to dirty
   39899 	should be the *first* line box and not the last.
   39900 	
   39901         Reviewed by kocienda
   39902 
   39903         * khtml/rendering/render_flow.cpp:
   39904         (RenderFlow::dirtyLinesFromChangedChild):
   39905 
   39906 2004-07-23  Ken Kocienda  <kocienda (a] apple.com>
   39907 
   39908         Reviewed by John
   39909 
   39910         * khtml/xml/dom_selection.cpp:
   39911         (DOM::Selection::validate): Not exactly a fix of anything per se, but more of a refinement
   39912         of how selection validation works. The idea is to let the selection validation process
   39913         end up with an empty selection given real DOM position inputs if the validation code
   39914         cannot find a rendered position. Since selection is all about display, this makes sense.
   39915         Currently, the code will allow the selection to be placed in a location that is not
   39916         rendered, and this does nobody any good, as it can lead to bugs like accepting key input
   39917         in a div that is set to display:none.
   39918 
   39919 2004-07-23  Ken Kocienda  <kocienda (a] apple.com>
   39920 
   39921         Updated layout tests with new expected results.
   39922 
   39923         * layout-tests/editing/execCommand/boldSelection-expected.txt
   39924         * layout-tests/editing/selection/extend-by-character-001-expected.txt
   39925         * layout-tests/editing/selection/extend-by-character-003-expected.txt
   39926         * layout-tests/editing/selection/unrendered-005-expected.txt
   39927 
   39928 2004-07-22  Maciej Stachowiak  <mjs (a] apple.com>
   39929 
   39930         Reviewed by Kevin.
   39931 
   39932 	<rdar://problem/3725467> REGRESSION(140-142) nothing displayed at http://Ye-Olde-Movies.tripod.com
   39933 	<rdar://problem/3599494> REGRESSION (100-125): Frame does not refresh until user clicks on browser.
   39934 	
   39935         * khtml/rendering/render_frames.cpp:
   39936         (RenderFrameSet::layout): When returning early because there are
   39937 	no children, make sure to mark self as no longer needing
   39938 	layout. Otherwise, when children are added, we'll fail to
   39939 	propagate childrenNeedLayout to our own parent! This is almost
   39940 	certainly a long-standing bug that was just masked by our old
   39941 	layout tomfoolery.
   39942 
   39943 2004-07-22  Kevin Decker  <kdecker (a] apple.com>
   39944 
   39945 	Reviewed by Darin
   39946 
   39947 	Fixed <rdar://problem/3682340> (error console does not include source urls or line numbers of event exceptions).
   39948 
   39949         * khtml/ecma/kjs_events.cpp:
   39950         (JSLazyEventListener::JSLazyEventListener):
   39951         (JSLazyEventListener::parseCode):
   39952         * khtml/ecma/kjs_events.h:
   39953         * khtml/ecma/kjs_proxy.cpp:
   39954         (KJSProxyImpl::createHTMLEventHandler):
   39955         * khtml/ecma/kjs_window.cpp:
   39956         (Window::getJSLazyEventListener):
   39957         * khtml/ecma/kjs_window.h:
   39958 
   39959 2004-07-22  Ken Kocienda  <kocienda (a] apple.com>
   39960 
   39961         Reviewed by Hyatt
   39962 
   39963         Fix for this bug:
   39964 
   39965         <rdar://problem/3724344> Bolding and unbolding creates extraneous tags
   39966 
   39967         * khtml/editing/htmlediting_impl.cpp:
   39968         (khtml::ApplyStyleCommandImpl::doApply): Move the start of the selection upstream
   39969         before calling removeStyle. This makes sure we remove all styles that could apply to the 
   39970         selection, and not just ones in from the start position of the selection passed to us. 
   39971         This fixes the bug.
   39972         * khtml/xml/dom_selection.cpp:
   39973         (DOM::Selection::validate): Related fix to "constrain" the selection to be the 
   39974         smallest equivalent range of nodes, in effect making a "canonical" version of the
   39975         selection. While this is not strictly necessary to fix the bug, it is a step I have been 
   39976         wanting to take this step for a long time, and some recent improvements made it 
   39977         possible for me to do now in just two lines of code.
   39978 
   39979 2004-07-22  Ken Kocienda  <kocienda (a] apple.com>
   39980 
   39981         Reviewed by Hyatt
   39982 
   39983         Fix for this bug:
   39984         
   39985         <rdar://problem/3711264> difficult (impossible?) to get cursor in an editable webview containing only tags
   39986 
   39987         * khtml/rendering/render_container.cpp:
   39988         (RenderContainer::positionForCoordinates): Don't assume you can pass off
   39989         the check to a first child if there is one, since the child can be an element
   39990         we do not want to place the caret in, like a table row with no cells (the case
   39991         in the bug above). So now, we iterate of the renderer's children looking for
   39992         the closest one, but only consider those renderers which either have children
   39993         themselves, or are render block flows or are render inlines. 
   39994 
   39995 2004-07-22  Darin Adler  <darin (a] apple.com>
   39996 
   39997         - remove a bunch of now-unused code
   39998 
   39999         * ForwardingHeaders/qxml.h: Removed.
   40000         * kwq/KWQXmlAttributes.h: Removed.
   40001         * kwq/KWQXmlAttributes.mm: Removed.
   40002         * kwq/KWQXmlDefaultHandler.h: Removed.
   40003         * kwq/KWQXmlDefaultHandler.mm: Removed.
   40004         * kwq/KWQXmlSimpleReader.h: Removed.
   40005         * kwq/KWQXmlSimpleReader.mm: Removed.
   40006 
   40007 2004-07-22  Darin Adler  <darin (a] apple.com>
   40008 
   40009         Reviewed by Dave.
   40010 
   40011         - got rid of QXml classes and changed XML parsing to use libxml directly
   40012 
   40013         This is the first step toward more direct use of libxml and libxslt.
   40014         Dave is planning to build on this to implement XSLT and to improve our handling
   40015         of XML documents (faster and more feature complete, including DTDs).
   40016 
   40017         * khtml/html/html_elementimpl.cpp:
   40018         (HTMLElementImpl::createContextualFragment):
   40019         * khtml/html/htmltokenizer.cpp:
   40020         (khtml::HTMLTokenizer::HTMLTokenizer):
   40021         * khtml/html/htmltokenizer.h:
   40022         * khtml/xml/dom_docimpl.cpp:
   40023         (DocumentImpl::createTokenizer):
   40024         (DocumentImpl::open):
   40025         * khtml/xml/dom_docimpl.h:
   40026         (DOM::DocumentImpl::tokenizer):
   40027         * khtml/xml/dom_xmlimpl.cpp:
   40028         (DOM::ProcessingInstructionImpl::checkStyleSheet):
   40029         * khtml/xml/dom_xmlimpl.h:
   40030         * khtml/xml/xml_tokenizer.h:
   40031         * khtml/xml/xml_tokenizer.cpp: Redid this all to use libxml directly.
   40032 
   40033         * WebCore.pbproj/project.pbxproj: Removed a bunch of files.
   40034 
   40035 2004-07-21  Trey Matteson  <trey (a] apple.com>
   40036 
   40037 	DHTML dragging should use UTI for MIME-pboard type conversion
   40038 
   40039         Reviewed by Ken
   40040 
   40041         * kwq/KWQClipboard.mm:
   40042         (cocoaTypeFromMIMEType):  Use UTI, except for cases we need to hardwire.  Only cut off
   40043 	MIME args following a semi-colon for text/plain.
   40044         (MIMETypeFromCocoaType): Use UTI, except for cases we need to hardwire.  
   40045         (KWQClipboard::types):  Filter out ancient NSAsciiPboardType so DHTML never sees this cruft.
   40046 
   40047 2004-07-21  Ken Kocienda  <kocienda (a] apple.com>
   40048 
   40049         Reviewed by Trey
   40050 
   40051         Remove handling of HTML editing key events from WebCore.
   40052         This now happens in WebKit if an event passes all the
   40053         way through WebCore without being handled by the DOM.
   40054 
   40055         In each case below, function were removed, as their
   40056         only purpose was to handle editing key events.
   40057 
   40058         * khtml/xml/dom_elementimpl.cpp
   40059         * khtml/xml/dom_elementimpl.h
   40060         * kwq/KWQKHTMLPart.h
   40061         * kwq/KWQKHTMLPart.mm
   40062         * kwq/WebCoreBridge.h
   40063 
   40064 2004-07-21  Ken Kocienda  <kocienda (a] apple.com>
   40065 
   40066         Reviewed by John
   40067 
   40068         * khtml/xml/dom_selection.cpp:
   40069         (DOM::Selection::modifyExtendingRightForward): Add LINE_BOUNDARY case to the switch statement in this
   40070         function. Use the startAndEndLineNodesIncludingNode helper which already existed to get the right
   40071         position.
   40072         (DOM::Selection::modifyMovingRightForward): Ditto
   40073         (DOM::Selection::modifyExtendingLeftBackward): Ditto
   40074         (DOM::Selection::modifyMovingLeftBackward): Ditto
   40075         * khtml/xml/dom_selection.h: 
   40076         (DOM::Selection::): Add LINE_BOUNDARY constant to ETextGranularity enum. This
   40077         specifies a new kind of movement that we need to implement the "move-to beggining/end of line"
   40078         behavior which AppKit binds to cmd+left/right arrow keys.
   40079         * kwq/WebCoreBridge.h: Add WebSelectToLineBoundary constant. This matches
   40080 
   40081 2004-07-20  David Hyatt  <hyatt (a] apple.com>
   40082 
   40083 	Fix for 3714434, user stylesheet is always parsed in strict mode, when it should honor the document's setting.
   40084 	
   40085         Reviewed by john
   40086 
   40087         * khtml/css/cssstyleselector.cpp:
   40088         (khtml::CSSStyleSelector::CSSStyleSelector):
   40089 
   40090 2004-07-20  Ken Kocienda  <kocienda (a] apple.com>
   40091 
   40092         Reviewed by Richard
   40093 
   40094         * khtml/xml/dom_elementimpl.cpp:
   40095         (ElementImpl::defaultEventHandler): No longer check whether
   40096         the command key is modifying the key event. This check is
   40097         now done elsewhere in the code. See the WebKit checkin that
   40098         added the _web_keyBindingManagerHasBinding method to 
   40099         WebNSEventExtras.
   40100 
   40101 2004-07-20  Chris Blumenberg  <cblu (a] apple.com>
   40102 
   40103 	Fixed:
   40104 	<rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded
   40105 	<rdar://problem/3612691> Missing image icons (blue ?) lack context menu
   40106 
   40107         Reviewed by john.
   40108 
   40109         * kwq/WebCoreBridge.mm:
   40110         (-[WebCoreBridge elementAtPoint:]): if there is no image, put the image URL on the element anyway
   40111 
   40112 2004-07-20  David Hyatt  <hyatt (a] apple.com>
   40113 
   40114 	Fix for alt text not working on images.
   40115 	
   40116         Reviewed by john
   40117 
   40118         * khtml/rendering/render_image.cpp:
   40119         (RenderImage::RenderImage):
   40120         (RenderImage::setPixmap):
   40121         (RenderImage::paint):
   40122         (RenderImage::calcReplacedWidth):
   40123         (RenderImage::calcReplacedHeight):
   40124 
   40125 2004-07-20  Maciej Stachowiak  <mjs (a] apple.com>
   40126 
   40127         Reviewed by Dave.
   40128 
   40129 	<rdar://problem/3720111> REGRESSION(125-152): map fails to load depending on banner ad; weather.com (works in IE and Firefox)
   40130 	
   40131         * khtml/html/htmltokenizer.cpp:
   40132         (khtml::HTMLTokenizer::begin): Initialize currentPrependingSrc.
   40133         (khtml::HTMLTokenizer::scriptHandler): Store a pointer to the currently
   40134 	active prependingSrc variable on the stack, the better to handle weird cases
   40135 	of scripts writing out additional script tags and so forth.
   40136         (khtml::HTMLTokenizer::write): Deal with the above.
   40137         * khtml/html/htmltokenizer.h: Declare new member field.
   40138 
   40139 2004-07-20  David Hyatt  <hyatt (a] apple.com>
   40140 
   40141 	Fix for layer positioning error that occurs when absolute positioned blocks are inside static positioned overflow:auto
   40142 	elements.
   40143 	
   40144         Reviewed by john
   40145 
   40146         * khtml/rendering/render_layer.cpp:
   40147         (RenderLayer::updateLayerPosition):
   40148 
   40149 2004-07-20  Trey Matteson  <trey (a] apple.com>
   40150 
   40151 	3705624	REGRESSION: can't rearrange photos on homepage.mac.com album
   40152 
   40153 	A subtle problem stemming from some interaction between focus handing and
   40154 	event propagation.  We previously made it so when a focus shift fails we
   40155 	don't propagate the event to KHTML.  The fix is to get rid of the inverse
   40156 	effect, so now even if a focus shift succeeds, we don't propagate to KHTML if
   40157 	the page already canceled default behavior.
   40158 
   40159 	In this specific case, the page is cancelling default behavior since it
   40160 	does its own dragging, and the bug was our new system dragging was
   40161 	kicking in.
   40162 
   40163         Reviewed by Ken.
   40164 
   40165         * khtml/khtmlview.cpp:
   40166         (KHTMLView::dispatchMouseEvent):  What he said.
   40167 
   40168 2004-07-20  Ken Kocienda  <kocienda (a] apple.com>
   40169 
   40170         Reviewed by Darin
   40171 
   40172         Fix for this bug:
   40173         
   40174         <rdar://problem/3695240> pasting plain text with newlines in it turns them into spaces
   40175 
   40176         * kwq/WebCoreBridge.mm:
   40177         (-[WebCoreBridge documentFragmentWithText:]): Refine this function to be smart about converting
   40178         line endings into BR elements.
   40179 
   40180 2004-07-20  Ken Kocienda  <kocienda (a] apple.com>
   40181 
   40182         Reviewed by Hyatt
   40183 
   40184         Fix for this bug:
   40185         
   40186         <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body
   40187 
   40188         * khtml/khtml_part.cpp:
   40189         (KHTMLPart::setCaretVisible): This method renamed from setSelectionVisible. Since it really only operates
   40190         on the caret, this seems like a better name.
   40191         * khtml/khtml_part.h:
   40192         * khtml/khtmlview.cpp:
   40193         (KHTMLView::focusInEvent): Call setCaretVisible(true)
   40194         (KHTMLView::focusOutEvent): Call setCaretVisible(false)
   40195         * kwq/KWQKHTMLPart.mm:
   40196         (KWQKHTMLPart::setShowsFirstResponder): Name change: setSelectionVisible becomes setCaretVisible.
   40197         * kwq/WebCoreBridge.h: Expose setCaretVisible as a bridge method.
   40198         * kwq/WebCoreBridge.mm:
   40199         (-[WebCoreBridge setCaretVisible:]): Ditto.
   40200 
   40201 2004-07-19  Maciej Stachowiak  <mjs (a] apple.com>
   40202 
   40203         Reviewed by Trey.
   40204 
   40205 	<rdar://problem/3721428> REGRESSION (125.8-146): external javascript statements produce extra garbage character (sina.com)
   40206         
   40207 	* khtml/misc/stringit.h:
   40208         (khtml::TokenizerSubstring::TokenizerSubstring): For the apple branch, use the new
   40209 	stableUnicode() method to get the unicode pointer.
   40210         * kwq/KWQString.h:
   40211         * kwq/KWQString.mm:
   40212         (QString::detachIfInternal): Reorganize this to be a bit less wacky about refcounts.
   40213 	It does not leave around a zombie internal data handle but rather destroys it right away,
   40214 	and leaves the object pointing to the new handle (which it can then deref). This makes
   40215 	the code more clear.
   40216         (QString::~QString): Simplify.
   40217         (QString::stableUnicode): New method that detaches a copy of the KWQStringData if it
   40218 	is internal to a string besides this one. This guarantees that if you get the unicode()
   40219 	pointer, it won't go bad so long as this string is still alive.
   40220 
   40221 2004-07-19  David Hyatt  <hyatt (a] apple.com>
   40222 
   40223 	Fix for 3715117, crash from a bug in removeChildren.  Clean up node removal and fix an n-squared removal
   40224 	bug.  Also clean up checks in removeChild and in the dispatch of removedFromDocument mutation events to
   40225 	make node removal more efficient.
   40226 	
   40227         Reviewed by kocienda
   40228 
   40229         * khtml/xml/dom_nodeimpl.cpp:
   40230 
   40231 2004-07-19  John Sullivan  <sullivan (a] apple.com>
   40232 
   40233         Reviewed by Trey.
   40234         
   40235         - fixed <rdar://problem/3141150> can't undo in form textarea fields
   40236 
   40237         * kwq/KWQTextArea.mm:
   40238         (-[KWQTextArea _createTextView]):
   40239         call setAllowsUndo:YES. My, wasn't this easy?
   40240 
   40241 2004-07-19  David Hyatt  <hyatt (a] apple.com>
   40242 
   40243 	Merge @import fix for CSS1 test suite from Stephan Kulow.
   40244 	
   40245         Reviewed by hyatt
   40246 
   40247         * khtml/css/parser.cpp:
   40248         * khtml/css/parser.y:
   40249         * layout-tests/css1/basic/containment-expected.txt:
   40250 
   40251 2004-07-19  David Hyatt  <hyatt (a] apple.com>
   40252 
   40253 	Fix for 3718697, crash clicking on JS tab at alaskaair.com.
   40254 	
   40255         Reviewed by kocienda
   40256 
   40257         * khtml/rendering/render_flow.cpp:
   40258         (RenderFlow::detach):
   40259         (RenderFlow::dirtyLinesFromChangedChild):
   40260         * khtml/rendering/render_flow.h:
   40261         * khtml/rendering/render_object.cpp:
   40262         (RenderObject::dirtyLinesFromChangedChild):
   40263         * khtml/rendering/render_object.h:
   40264 
   40265 2004-07-16  David Hyatt  <hyatt (a] apple.com>
   40266 
   40267 	Fix for 3726471, need to ensure that it's safe to do updateRendering from within layout, since isContentEditable
   40268 	relies on it.  The fix is to just recalcStyle up front before beginning the layout, so that all of our renderobjects
   40269 	will be up-to-date.
   40270 	
   40271         Reviewed by john
   40272 
   40273         * khtml/khtmlview.cpp:
   40274         (KHTMLView::layout):
   40275 
   40276 2004-07-16  Ken Kocienda  <kocienda (a] apple.com>
   40277 
   40278         Reviewed by Hyatt
   40279 
   40280         Fix for this bug:
   40281         
   40282         <rdar://problem/3722153> Random crash while typing (DOM::NodeImpl::parentNode (this=0x0))
   40283 
   40284         * khtml/editing/htmlediting_impl.cpp:
   40285         (khtml::DeleteSelectionCommandImpl::doApply): This check merely makes the code
   40286         more robust. I do not understand how Grant ended up with null start or end 
   40287         blocks in the case of his bug report, but by adding two null checks, the code is 
   40288         now hardened a bit in case it happens again.
   40289 
   40290 2004-07-16  Ken Kocienda  <kocienda (a] apple.com>
   40291 
   40292         Reviewed by Hyatt
   40293 
   40294         Fix for these bugs:
   40295 
   40296         <rdar://problem/3730785> Crash when arrow navigation goes to empty table cell
   40297         <rdar://problem/3730790> Caret does not blink when placed in empty table cell
   40298 
   40299         * khtml/rendering/render_block.cpp:
   40300         (khtml::RenderBlock::paintObject): Caret node's renderer might be this block, so
   40301         don't block the painting of the caret in this case. This was the case in 3730790.
   40302         We had the right geometry for the caret but blocked its painting. 
   40303         * khtml/xml/dom_position.cpp:
   40304         (DOM::Position::previousLinePosition): Rework the logic here. This function asserted
   40305         that the new position we would navigate to had a line box, but empty table cells, for
   40306         instance will not. So, deal with this situation as well. The end result is a 
   40307         function that worked like it did before in cases where the previous line position has
   40308         a line box, but now also will allow navigation to work when it does not.
   40309         (DOM::Position::nextLinePosition): Ditto.
   40310 
   40311 2004-07-16  Ken Kocienda  <kocienda (a] apple.com>
   40312 
   40313         Reviewed by Hyatt
   40314 
   40315         Fix for this bug:
   40316         
   40317         <rdar://problem/3687216> editable inline causes crash when focused
   40318 
   40319         * khtml/xml/dom_docimpl.cpp:
   40320         (DocumentImpl::relinquishesEditingFocus): Add null check for rootEditableElement.
   40321         (DocumentImpl::acceptsEditingFocus): Ditto.
   40322 
   40323 2004-07-16  David Hyatt  <hyatt (a] apple.com>
   40324 
   40325 	Fix for 3709337, crash when using display: compact.  Need to make sure that the isCompact() check in bidi.cpp is
   40326 	also checking for RenderBlocks, since otherwise you match text nodes (and that's just wrong).
   40327 	
   40328         Reviewed by kocienda
   40329 
   40330         * khtml/rendering/bidi.cpp:
   40331         (khtml::RenderBlock::layoutInlineChildren):
   40332 
   40333 === Safari-152 ===
   40334 
   40335 2004-07-15  David Hyatt  <hyatt (a] apple.com>
   40336 
   40337 	Fix for 3625611, images offset on first visit to page.  The method for determining the last clean line was
   40338 	flawed and would incorrectly miss dirty lines that occurred after the first clean line.
   40339 	
   40340         Reviewed by john
   40341 
   40342         * khtml/rendering/bidi.cpp:
   40343         (khtml::RenderBlock::determineEndPosition):
   40344 
   40345 2004-07-15  Ken Kocienda  <kocienda (a] apple.com>
   40346 
   40347         Reviewed by John
   40348 
   40349         Fix for this bug:
   40350         <rdar://problem/3587601> reproducible assertion failure in Blot deleting text, then image at Yahoo.com
   40351         
   40352         * khtml/editing/htmlediting_impl.cpp:
   40353         (khtml::DeleteCollapsibleWhitespaceCommandImpl::deleteWhitespace): Relax assertion
   40354         that nodes are text nodes during the walk of eligible nodes that could possibly be
   40355         deleted. Change the assertion to an conditional check for text nodes. We may have 
   40356         unrendered nodes in the mix here (as is the case in the bug where the assertion
   40357         failed on an AREA element), and the conditional check is sufficient to
   40358         skip them while leaving the delete logic we want unperturbed. 
   40359 
   40360 2004-07-14  Ken Kocienda  <kocienda (a] apple.com>
   40361 
   40362         Reviewed by John
   40363 
   40364         * khtml/rendering/render_block.cpp:
   40365         (khtml::RenderBlock::paintObject): Add null check on DOM node before
   40366         asking if it is contentEditable.
   40367 
   40368 2004-07-14  David Hyatt  <hyatt (a] apple.com>
   40369 
   40370 	Fix for 3595073, setting innerHTML on a <table> should work.
   40371 	
   40372         Reviewed by rjw
   40373 
   40374         * khtml/html/html_elementimpl.cpp:
   40375         (HTMLElementImpl::createContextualFragment):
   40376 
   40377 2004-07-14  Ken Kocienda  <kocienda (a] apple.com>
   40378 
   40379         Reviewed by Hyatt
   40380         
   40381         Updated these layout tests as a result of the last patch.
   40382         These results are better.
   40383 
   40384         * layout-tests/editing/execCommand/selectAll-expected.txt
   40385         * layout-tests/editing/selection/extend-by-character-006-expected.txt
   40386         * layout-tests/editing/selection/unrendered-001-expected.txt
   40387         * layout-tests/editing/selection/unrendered-003-expected.txt
   40388 
   40389 2004-07-14  Ken Kocienda  <kocienda (a] apple.com>
   40390 
   40391         Reviewed by Hyatt
   40392 
   40393         * khtml/rendering/render_block.cpp: 
   40394         (khtml::RenderBlock::paintObject): Change back to start() from caretPosition().
   40395         Since the policy is now to move the selection to rendered content, if possible,
   40396         when the selection is set, there is no longer any reason to have the additional
   40397         caretPosition() function to store where the caret should be drawn.
   40398         * khtml/xml/dom_docimpl.cpp:
   40399         (DocumentImpl::updateSelection): No longer any need to call closestRenderedPosition here.
   40400         This is done in Selection::validate.
   40401         * khtml/xml/dom_position.cpp:
   40402         (DOM::Position::closestRenderedPosition): Improved algorithm. Now much simpler.
   40403         * khtml/xml/dom_selection.cpp:
   40404         (DOM::Selection::Selection): caretPosition() and m_caretPosition now obsolete.
   40405         (DOM::Selection::init): Ditto.
   40406         (DOM::Selection::modifyExtendingRightForward): No longer any need to call 
   40407         closestRenderedPosition here. This is done in Selection::validate.
   40408         (DOM::Selection::modifyMovingRightForward): Ditto.
   40409         (DOM::Selection::modifyExtendingLeftBackward): Ditto.
   40410         (DOM::Selection::modifyMovingLeftBackward): Ditto.
   40411         (DOM::Selection::layoutCaret): Ditto.
   40412         (DOM::Selection::validate): Add code to move the selection to rendered content if possible.
   40413         * khtml/xml/dom_selection.h: caretPosition() and m_caretPosition now obsolete.
   40414 
   40415 2004-07-14  David Hyatt  <hyatt (a] apple.com>
   40416 
   40417 	Fix for 3716082, assert when you dynamically remove float or position styles.
   40418 	
   40419         Reviewed by kevin
   40420 
   40421         * khtml/rendering/render_object.cpp:
   40422         (RenderObject::setStyle):
   40423 
   40424 2004-07-14  David Hyatt  <hyatt (a] apple.com>
   40425 
   40426 	Fix for various table regressions (malumovies.com and cityofheroes.gameamp.com) involving bungling of
   40427 	percentage heights.
   40428 	
   40429         Reviewed by kocienda
   40430 
   40431         * khtml/rendering/render_box.cpp:
   40432         (RenderBox::calcPercentageHeight):
   40433         (RenderBox::availableHeightUsing):
   40434         * khtml/rendering/render_table.cpp:
   40435         (RenderTable::layout):
   40436         (RenderTableSection::calcRowHeight):
   40437         (RenderTableSection::layoutRows):
   40438         (RenderTableCell::updateFromElement):
   40439         * khtml/rendering/render_table.h:
   40440 
   40441 2004-07-14  Ken Kocienda  <kocienda (a] apple.com>
   40442 
   40443         Reviewed by John
   40444 
   40445         * khtml/xml/dom_position.cpp:
   40446         (DOM::Position::equivalentDeepPosition): New helper function to improve selection handling.
   40447         Soon, I plan to land some changes that use this new function.
   40448         * khtml/xml/dom_position.h:
   40449 
   40450 2004-07-14  Ken Kocienda  <kocienda (a] apple.com>
   40451 
   40452         Reviewed by Vicki
   40453 
   40454         * WebCore-combined.exp: Added QString.at symbol to tests exports to facilitate debugging
   40455         data formatting change that is to come.
   40456         * WebCore-tests.exp:
   40457         
   40458 2004-07-13  John Sullivan  <sullivan (a] apple.com>
   40459 
   40460         Reviewed by Ken.
   40461         
   40462         - fixed <rdar://problem/3705500> REGRESSION (125.8-146): Cmd-E on an 
   40463         HTML page puts a trailing space on Find pasteboard
   40464 
   40465         * khtml/misc/khtml_text_operations.cpp:
   40466         (khtml::TextIterator::handleTextBox):
   40467         In the case where a subrun doesn't extend to the end of the text box,
   40468         the well-commented code was supposed to return from this routine, but
   40469         the wrong variable was being compared. This would send us through another
   40470         pass of the loop, which would end up worrying about collapsed space at the
   40471         end of the current box, even though we only cared about the beginning of the
   40472         current box.
   40473 
   40474 2004-07-12  Richard Williamson   <rjw (a] apple.com>
   40475 
   40476 	Fixed 3717982.  Implemented navigator.language!
   40477 
   40478         Reviewed by John.
   40479 
   40480         * khtml/ecma/kjs_navigator.cpp:
   40481         (Navigator::getValueProperty):
   40482 
   40483 2004-07-12  Ken Kocienda  <kocienda (a] apple.com>
   40484 
   40485         Reviewed by Hyatt
   40486 
   40487         * khtml/xml/dom_position.cpp:
   40488         (DOM::Position::inRenderedContent): I broke selection drawing with my last patch. This 
   40489         function is now used in selection drawing, and it was making an unneeded check to see
   40490         that content was editable to answer whether or not is was rendered. Bad. Fixed.
   40491 
   40492 2004-07-12  David Hyatt  <hyatt (a] apple.com>
   40493 
   40494 	Fix for 3621138, crash on hrweb.apple.com.  Make sure that in the case where objects get pulled up from merging
   40495 	blocks that we just delete all line boxes.
   40496 	
   40497         Reviewed by kocienda
   40498 
   40499         * khtml/rendering/render_block.cpp:
   40500         (khtml::RenderBlock::removeChild):
   40501 
   40502 2004-07-10  Maciej Stachowiak  <mjs (a] apple.com>
   40503 
   40504         Reviewed by John.
   40505 
   40506 	<rdar://problem/3706080>: (REGRESSION (125.8-147u): Nested <ul> do not display bullets)
   40507 	<rdar://problem/3676376>: (Second level bullets not printed when printing Xcode release notes)
   40508 	
   40509         * kwq/KWQPainter.h:
   40510         * kwq/KWQPainter.mm:
   40511         (CGColorFromNSColor):
   40512         (QPainter::drawEllipse):
   40513         (QPainter::setShadow):
   40514 
   40515 2004-07-12  Ken Kocienda  <kocienda (a] apple.com>
   40516 
   40517         Added new editing-related layout tests
   40518 
   40519         * layout-tests/editing/deleting/delete-after-span-ws-001-expected.txt: Added.
   40520         * layout-tests/editing/deleting/delete-after-span-ws-001.html: Added.
   40521         * layout-tests/editing/deleting/delete-after-span-ws-002-expected.txt: Added.
   40522         * layout-tests/editing/deleting/delete-after-span-ws-002.html: Added.
   40523         * layout-tests/editing/deleting/delete-after-span-ws-003-expected.txt: Added.
   40524         * layout-tests/editing/deleting/delete-after-span-ws-003.html: Added.
   40525         * layout-tests/editing/selection/unrendered-001-expected.txt: Added.
   40526         * layout-tests/editing/selection/unrendered-001.html: Added.
   40527         * layout-tests/editing/selection/unrendered-002-expected.txt: Added.
   40528         * layout-tests/editing/selection/unrendered-002.html: Added.
   40529         * layout-tests/editing/selection/unrendered-003-expected.txt: Added.
   40530         * layout-tests/editing/selection/unrendered-003.html: Added.
   40531         * layout-tests/editing/selection/unrendered-004-expected.txt: Added.
   40532         * layout-tests/editing/selection/unrendered-004.html: Added.
   40533         * layout-tests/editing/selection/unrendered-005-expected.txt: Added.
   40534         * layout-tests/editing/selection/unrendered-005.html: Added.
   40535         * layout-tests/traversal/node-iterator-008-expected.txt: Added.
   40536         * layout-tests/traversal/node-iterator-008.html: Added.
   40537         * layout-tests/traversal/tree-walker-005-expected.txt: Added.
   40538         * layout-tests/traversal/tree-walker-005.html: Added.
   40539 
   40540 2004-07-12  Ken Kocienda  <kocienda (a] apple.com>
   40541 
   40542         Reviewed by Hyatt
   40543 
   40544         Fixes for these bugs:
   40545         
   40546         <rdar://problem/3723359> Extending then "unextending" selection with arrow keys should draw caret but doesn't
   40547         <rdar://problem/3724626> White-space deletion code deletes wrong character when space follows span
   40548         
   40549         * khtml/editing/htmlediting_impl.cpp:
   40550         (khtml::DeleteSelectionCommandImpl::doApply): Modify special-case white-space deletion code so it runs
   40551         only in the special case. It was throwing its net too widely, catching the case described in 3724626.
   40552         By tightening up the special-case white-space deletion, and allowing the more general-purpose code to run,
   40553         the bug is fixed.
   40554         * khtml/xml/dom_docimpl.cpp:
   40555         (DocumentImpl::updateSelection): Use recently-added closestRenderedPosition helper in Position class
   40556         to figure out the start and end positions for selection drawing.
   40557         * khtml/xml/dom_position.cpp:
   40558         (DOM::Position::equivalentUpstreamPosition): Added code to handle white-space that causes line breaks.
   40559         (DOM::Position::equivalentDownstreamPosition): Ditto.
   40560         (DOM::Position::closestRenderedPosition): Trap empty selections at function entry, return *this.
   40561         (DOM::Position::isFirstRenderedPositionOnLine): Can't be first rendered position on line if not rendered.
   40562         Add check for this.
   40563         (DOM::Position::isLastRenderedPositionOnLine): Ditto, but s/first/last/
   40564         * khtml/xml/dom_selection.cpp:
   40565         (DOM::Selection::validate): A selection is in caret state if the start and end are equal *or* equivalent.
   40566         The equivalence case is new, and fixes 3723359.
   40567 
   40568 2004-07-09  Kevin Decker  <kdecker (a] apple.com>
   40569 
   40570         Reviewed by Hyatt.
   40571         
   40572         fixes the width:auto problem in
   40573         <rdar://problem/3698344> REGRESSION (143?-144): macrumors.com tabs are compressed and illegible
   40574         
   40575         * khtml/css/cssstyleselector.cpp:
   40576         (khtml::CSSStyleSelector::applyProperty):
   40577 
   40578 2004-07-09  Ken Kocienda  <kocienda (a] apple.com>
   40579 
   40580         Updated some layout test results.
   40581 
   40582         * layout-tests/editing/deleting/delete-image-004-expected.txt:
   40583         * layout-tests/editing/selection/extend-by-character-006-expected.txt:
   40584 
   40585 2004-07-09  Chris Blumenberg  <cblu (a] apple.com>
   40586 
   40587 	Allowed my change for 3715785 to compile on Jaguar.
   40588 
   40589         Reviewed by kocienda.
   40590 
   40591         * kwq/WebCoreBridge.h:
   40592         * kwq/WebCoreBridge.mm:
   40593         (-[WebCoreBridge domain]): new, allows access to the domain without using the DOM API which doesn't exist on Jaguar
   40594 
   40595 2004-07-09  Ken Kocienda  <kocienda (a] apple.com>
   40596 
   40597         Reviewed by Hyatt
   40598         
   40599         Some improvements to fix:
   40600         
   40601         <rdar://problem/3723111> Caret not drawn when selection set to unrendered content
   40602 
   40603         * khtml/editing/htmlediting_impl.cpp:
   40604         (khtml::TypingCommandImpl::issueCommandForDeleteKey): Adjust selection to delete if
   40605         selected position is not rendered.
   40606         * khtml/rendering/render_block.cpp:
   40607         (khtml::RenderBlock::paintObject): Use new caretPosition() function on Selection to
   40608         figure out whether to paint.
   40609         * khtml/xml/dom_position.cpp:
   40610         (DOM::Position::previousCharacterPosition): Now correctly deals with a start
   40611         position that is not rendered.
   40612         (DOM::Position::nextCharacterPosition): Ditto.
   40613         (DOM::Position::closestRenderedPosition): New helper.
   40614         * khtml/xml/dom_position.h:
   40615         (DOM::): Moved in EAffinity from Selection header. Now used in closestRenderedPosition function.
   40616         * khtml/xml/dom_selection.cpp:
   40617         (DOM::Selection::Selection): Added new m_caretPosition member. This is the position of the caret
   40618         after a caret layout. This may be different from start or end if start and end are not rendered. 
   40619         (DOM::Selection::init):
   40620         (DOM::Selection::modifyExtendingRightForward): New helper to clean up modify() and make it more readble.
   40621         (DOM::Selection::modifyMovingRightForward): Ditto.
   40622         (DOM::Selection::modifyExtendingLeftBackward): Ditto.
   40623         (DOM::Selection::modifyMovingLeftBackward): Ditto.
   40624         (DOM::Selection::modify): Use new helpers to make this more readble.
   40625         (DOM::Selection::layoutCaret): Uses new closestRenderedPosition helper to place the caret if in unrendered
   40626         content.
   40627         (DOM::Selection::paintCaret): Remove moveToRenderedContent. obsolete.
   40628         * khtml/xml/dom_selection.h:
   40629         (DOM::Selection::caretPosition): New accessor.
   40630         * kwq/WebCoreBridge.mm:
   40631         (-[WebCoreBridge setSelectedDOMRange:affinity:]): EAffinity no longer a member enum of Selection class.
   40632 
   40633 2004-07-08  David Hyatt  <hyatt (a] apple.com>
   40634 
   40635 	Fix for the table layout test that failed because of a change in how innerText worked.  We need to do
   40636 	updateLayout now when using innerText, since the method has been changed to use line boxes in the render tree
   40637 	that might otherwise be out of date.
   40638 	
   40639         Reviewed by kocienda
   40640 
   40641         * khtml/html/html_elementimpl.cpp:
   40642         (HTMLElementImpl::innerText):
   40643 
   40644 2004-07-08  John Sullivan  <sullivan (a] apple.com>
   40645 
   40646         Reviewed by Ken.
   40647         
   40648         - fixed <rdar://problem/3691569> REGRESSION (142): cmd-shift-clicking on a link 
   40649         now also extends selection (even if there wasn't one before)
   40650 
   40651         * khtml/khtml_part.cpp:
   40652         (KHTMLPart::handleMousePressEventSingleClick):
   40653         if there's a URL associated with the event, don't extend the selection
   40654 
   40655 2004-07-08  Ken Kocienda  <kocienda (a] apple.com>
   40656 
   40657         Reviewed by Vicki
   40658 
   40659         Added some helper functions which provide strings to display in the 
   40660         Xcode debugger's variable inspector window. These functions are called
   40661         from the LabyrinthDataFormatter debugger plugin I just checked in to 
   40662         the Labyrinth/Tools directory.
   40663         
   40664         Note that these functions are compiled in on Development builds only.
   40665 
   40666         * WebCore-combined.exp:
   40667         * WebCore-tests.exp: Export all the formatForDebugger symbols so the
   40668         debugger program can link with them.
   40669         * khtml/xml/dom2_rangeimpl.cpp:
   40670         (DOM::RangeImpl::formatForDebugger):
   40671         * khtml/xml/dom2_rangeimpl.h:
   40672         * khtml/xml/dom_elementimpl.cpp:
   40673         (ElementImpl::formatForDebugger):
   40674         * khtml/xml/dom_elementimpl.h:
   40675         * khtml/xml/dom_nodeimpl.cpp:
   40676         * khtml/xml/dom_nodeimpl.h:
   40677         * khtml/xml/dom_position.cpp:
   40678         (DOM::Position::formatForDebugger):
   40679         * khtml/xml/dom_position.h:
   40680         * khtml/xml/dom_selection.cpp:
   40681         (DOM::Selection::formatForDebugger):
   40682         * khtml/xml/dom_selection.h:
   40683         * khtml/xml/dom_textimpl.cpp:
   40684         (TextImpl::formatForDebugger):
   40685         * khtml/xml/dom_textimpl.h:
   40686 
   40687 2004-07-08  John Sullivan  <sullivan (a] apple.com>
   40688 
   40689         Reviewed by Vicki.
   40690         
   40691         - fixed <rdar://problem/3721544> crash increasing font size; 
   40692         entrezeroetun.com (works in IE and Firefox)
   40693 
   40694         * khtml/rendering/render_block.cpp:
   40695         (khtml::RenderBlock::updateFirstLetter):
   40696         Check for nil originalString() before dereffing
   40697 
   40698 2004-07-08  David Hyatt  <hyatt (a] apple.com>
   40699 
   40700 	Fix for 3721453, CSS3 initial property caused crashes because the macros were not written correctly.
   40701 	
   40702         Reviewed by john
   40703 
   40704         * khtml/css/cssstyleselector.cpp:
   40705 
   40706 === Safari-151 ===
   40707 
   40708 2004-07-07  David Hyatt  <hyatt (a] apple.com>
   40709 
   40710 	Fix for 3712133, crash from first-line pseudo-style use.
   40711 	
   40712         Reviewed by kocienda
   40713 
   40714         * khtml/css/cssstyleselector.cpp:
   40715         (khtml::CSSStyleSelector::styleForElement):
   40716         * khtml/css/cssstyleselector.h:
   40717         * khtml/rendering/render_object.cpp:
   40718         (RenderObject::getPseudoStyle):
   40719 
   40720 2004-07-07  Ken Kocienda  <kocienda (a] apple.com>
   40721 
   40722         Reviewed by Hyatt
   40723 
   40724         Fix for this bug:
   40725         
   40726         <rdar://problem/3716479> calling setInnerHTML during a webViewDidChange delegate call causes a crash
   40727         
   40728         The fix involves some rearrangement of code in TypingCommand and TypingCommandImpl.
   40729         Formerly, new TypingCommands would apply themselves (which was a no-op) and then
   40730         do their action in some code a way different than other commands. This type of command
   40731         application is different than for all other commands since TypingCommands can be coalesced.
   40732         The crash occurred as a result of the "no-op" TypingCommand having the unconsidered
   40733         consequence of causing editing delegate notifications to be sent before the command 
   40734         has actually run. This change takes a small step towards making TypingCommandImpl function like
   40735         other commands, where the command work is done in doApply. This makes the notification
   40736         happen in the right order.
   40737 
   40738         * khtml/editing/htmlediting.cpp:
   40739         (khtml::TypingCommand::TypingCommand):
   40740         (khtml::TypingCommand::insertText):
   40741         (khtml::TypingCommand::insertNewline):
   40742         (khtml::TypingCommand::deleteKeyPressed):
   40743         * khtml/editing/htmlediting.h:
   40744         (khtml::TypingCommand::):
   40745         * khtml/editing/htmlediting_impl.cpp:
   40746         (khtml::TypingCommandImpl::TypingCommandImpl):
   40747         (khtml::TypingCommandImpl::doApply):
   40748         * khtml/editing/htmlediting_impl.h:
   40749 
   40750 2004-07-06  Ken Kocienda  <kocienda (a] apple.com>
   40751 
   40752         * khtml/html/html_tableimpl.cpp:
   40753         (HTMLTableElementImpl::addChild): Added a better comment in the
   40754         code I just checked in a few minutes ago.
   40755 
   40756 2004-07-06  Ken Kocienda  <kocienda (a] apple.com>
   40757 
   40758         Reviewed by Hyatt
   40759         
   40760         Fix for this bug:
   40761         
   40762         <rdar://problem/3672377> assertion failure in AppendNodeCommandImpl::doApply 
   40763         due to non-0 exception code trying to insert a DIV markup string
   40764         
   40765         The solution was to revert to the code that was rolled out, and removing
   40766         the child checks from NodeImpl::checkAddChild. However, this time, I added
   40767         code very similar to this check into the code that runs while HTML is 
   40768         being parsed to build up tables. This code relies on child-add failure
   40769         to ensure the proper construction of well-formed tables (as gross as that
   40770         sounds), so the check needs to be retained there. No other code seems to
   40771         be so affected. Layout tests are unchanged by this patch.
   40772 
   40773         * khtml/html/html_tableimpl.cpp:
   40774         (HTMLTableElementImpl::addChild):
   40775         * khtml/xml/dom_nodeimpl.cpp:
   40776         (NodeImpl::checkAddChild):
   40777 
   40778 2004-07-06  Ken Kocienda  <kocienda (a] apple.com>
   40779 
   40780         Reviewed by John
   40781         
   40782         Simple change. I switched the arguments of the appendNode helper function
   40783         and the AppendNodeCommand and AppendNodeCommandImpl classes. The node to 
   40784         insert now comes before the parent node in the argument list. I did this
   40785         to make this function match the convention of others in the HTML editing code.
   40786         This was the only one that was "different" in the way that it ordered arguments.
   40787         As a result, I was always looking to see that I was passing things in the right
   40788         order.
   40789         
   40790         * khtml/editing/htmlediting.cpp:
   40791         (khtml::AppendNodeCommand::AppendNodeCommand):
   40792         (khtml::AppendNodeCommand::appendChild):
   40793         (khtml::AppendNodeCommand::parentNode):
   40794         * khtml/editing/htmlediting.h:
   40795         * khtml/editing/htmlediting_impl.cpp:
   40796         (khtml::CompositeEditCommandImpl::insertNodeAfter):
   40797         (khtml::CompositeEditCommandImpl::insertNodeAt):
   40798         (khtml::CompositeEditCommandImpl::appendNode):
   40799         (khtml::AppendNodeCommandImpl::AppendNodeCommandImpl):
   40800         (khtml::AppendNodeCommandImpl::~AppendNodeCommandImpl):
   40801         (khtml::AppendNodeCommandImpl::doApply):
   40802         (khtml::AppendNodeCommandImpl::doUnapply):
   40803         (khtml::ApplyStyleCommandImpl::surroundNodeRangeWithElement):
   40804         (khtml::DeleteSelectionCommandImpl::doApply):
   40805         (khtml::InputNewlineCommandImpl::insertNodeAfterPosition):
   40806         (khtml::InputNewlineCommandImpl::insertNodeBeforePosition):
   40807         (khtml::InputTextCommandImpl::prepareForTextInsertion):
   40808         * khtml/editing/htmlediting_impl.h:
   40809         (khtml::AppendNodeCommandImpl::parentNode):
   40810 
   40811 2004-07-06  Ken Kocienda  <kocienda (a] apple.com>
   40812 
   40813         Reviewed by Trey
   40814 
   40815         Fixed several problems with traversal classes. For one, NodeIterators treat
   40816         FILTER_REJECT and FILTER_SKIP the same, since it treats the DOM tree as a
   40817         flat collection of nodes free of hierarchy. The code before this change did
   40818         not do this correctly. It sure pays to go back and read the specs. :)
   40819         
   40820         Also, the code to traverse from node to node when filters were applied was
   40821         not working correctly. My first attemmpt to implement this was just plain
   40822         buggy, as I discovered when I tried to write tests for my WWDC talk. I have
   40823         settled on an implementation which is much simpler and worked for all the
   40824         tests I threw at it. 
   40825 
   40826         * khtml/xml/dom2_traversalimpl.cpp:
   40827         (DOM::NodeIteratorImpl::findNextNode):
   40828         (DOM::NodeIteratorImpl::nextNode):
   40829         (DOM::NodeIteratorImpl::findPreviousNode):
   40830         (DOM::NodeIteratorImpl::previousNode):
   40831         (DOM::TreeWalkerImpl::parentNode):
   40832         (DOM::TreeWalkerImpl::firstChild):
   40833         (DOM::TreeWalkerImpl::lastChild):
   40834         (DOM::TreeWalkerImpl::previousSibling):
   40835         (DOM::TreeWalkerImpl::nextSibling):
   40836         (DOM::TreeWalkerImpl::previousNode):
   40837         (DOM::TreeWalkerImpl::nextNode):
   40838         (DOM::TreeWalkerImpl::ancestorRejected):
   40839         * khtml/xml/dom2_traversalimpl.h:
   40840 
   40841 2004-07-06  Vicki Murley  <vicki (a] apple.com>
   40842 
   40843         Reviewed by kocienda.
   40844 
   40845 	- added backColorCommand, foreColorCommand, fontNameCommand, 
   40846 	and fontSizeCommand
   40847   
   40848         * layout-tests/editing/editing.js:
   40849 
   40850 2004-07-06  Trey Matteson  <trey (a] apple.com>
   40851 
   40852 	3716053 - www.theage.com.au has extra back/forward items due to ads
   40853 
   40854 	This turned out to be easily fixed by generalizing the fix to 3438441.  We prevent
   40855 	addition to the b/f list not just during an onload event, but during any non-user
   40856 	gesture, which includes top level script executing.
   40857 
   40858         Reviewed by Richard.
   40859 
   40860         * kwq/KWQKHTMLPart.mm:
   40861         (KWQKHTMLPart::openURL):  Only real change - prevent adding to b/f list if not
   40862 	a user gesture.
   40863         (KWQKHTMLPart::openURLRequest):  Rename "onLoadEvent" to "userGesture", swap sense
   40864         (KWQKHTMLPart::submitForm):  Ditto
   40865         (KWQKHTMLPart::urlSelected): Ditto
   40866         * kwq/KWQKHTMLPartBrowserExtension.mm:
   40867         (KHTMLPartBrowserExtension::createNewWindow):  Ditto
   40868         * kwq/WebCoreBridge.h:
   40869 
   40870 2004-07-02  Darin Adler  <darin (a] apple.com>
   40871 
   40872         Reviewed by Dave.
   40873 
   40874         - fixed half of <rdar://problem/3709244> utf-8 meta tag not parsed when page title contains angle brackets or if </meta> tag used
   40875 
   40876         * khtml/misc/decoder.cpp: (Decoder::decode): Allow </meta> tags without deciding we
   40877         are done with the header.
   40878 
   40879 2004-06-30  Trey Matteson  <trey (a] apple.com>
   40880 
   40881 	Dragging within a web view should be allowed to start when the window isn't key.
   40882 
   40883 	A few months ago, Chris made this work, but it relied on the fact that all dragging
   40884 	was done in WebKit.  When WebCore got involved in dragging, it was broken.  Now we
   40885 	have a new scheme that gets it working again that properly involves WebCore.
   40886 
   40887 	The general idea is that when AK asks us whether to accept the first mouse and do
   40888 	"delayed window ordering", we must consult WC to see if we might start a drag.  In
   40889 	addition, instead of these drags in non-active windows being started as a special
   40890 	case in WK, they go through the normal WK-WC drag machinery.
   40891 
   40892         Reviewed by John.
   40893 
   40894         * khtml/khtml_part.cpp:
   40895         (KHTMLPart::shouldDragAutoNode):  New x,y args.
   40896         * khtml/khtml_part.h:
   40897         * khtml/rendering/render_object.cpp:
   40898         (RenderObject::draggableNode):  Pass through new x,y args.
   40899         * khtml/rendering/render_object.h:
   40900         * kwq/KWQKHTMLPart.h:
   40901         (KWQKHTMLPart::setActivationEventNumber):  New setter.
   40902         * kwq/KWQKHTMLPart.mm:
   40903         (KWQKHTMLPart::KWQKHTMLPart):  Init new ivar.
   40904         (KWQKHTMLPart::eventMayStartDrag):  New routine that checks if we might start
   40905 	a drag in response to a mouseDown.
   40906         (KWQKHTMLPart::khtmlMouseMoveEvent):  Pass x,y to the routine that finds a draggable
   40907 	node.  This eventually gets back up to WK's _mayStartDragAtEventLocation:.
   40908 	Delay requirement when dragging the selection now implemented here.
   40909         (KWQKHTMLPart::khtmlMouseReleaseEvent):  Must avoid changing the selection if we
   40910 	wind up here as part of the first click in a window (because we started handling
   40911 	the click to possible start a drag, but that never came through).
   40912         (KWQKHTMLPart::mouseDown): Save away event timestamp.
   40913         (KWQKHTMLPart::shouldDragAutoNode):  Pass location up to WK instead of the
   40914 	most recent event we stashed.
   40915         * kwq/WebCoreBridge.h:
   40916         * kwq/WebCoreBridge.mm:
   40917         (-[WebCoreBridge setActivationEventNumber:]):  Trivial glue.
   40918         (-[WebCoreBridge eventMayStartDrag:]):  Ditto.
   40919 
   40920 2004-06-29  Trey Matteson  <trey (a] apple.com>
   40921 
   40922 	Need to tighten up JS error checking for requesting drag props
   40923 	in the wrong cases.
   40924 
   40925         Reviewed by John.
   40926 
   40927         * khtml/ecma/kjs_events.cpp:
   40928         (Clipboard::getValueProperty):  Assert if someone somehow set
   40929 	dropEffect or effectAllowed and it's a copy/paste clipboard
   40930 	instead of a dragging clipboard.
   40931         (Clipboard::putValue):  Don't let anyone set dropEffect or
   40932 	effectAllowed on a copy/paste clipboard.
   40933         (ClipboardProtoFunc::tryCall):  Disallow setting dragImage on
   40934 	a copy/paste clipboard.
   40935 
   40936 2004-06-29  Trey Matteson  <trey (a] apple.com>
   40937 
   40938 	DHTML dragging - source should have access to the operation chosen
   40939 	by the destination.
   40940 
   40941         Reviewed by John
   40942 
   40943         * kwq/KWQKHTMLPart.h:
   40944         * kwq/KWQKHTMLPart.mm:
   40945         (KWQKHTMLPart::dragSourceEndedAt):  Set the destination's operation
   40946 	on the clipboard.
   40947         * kwq/WebCoreBridge.mm:
   40948         (-[WebCoreBridge dragExitedWithDraggingInfo:]):  For completeness
   40949 	we set the source op for the ondragexit event.
   40950         (-[WebCoreBridge concludeDragForDraggingInfo:]):  Ditto for the
   40951 	drop event.
   40952         (-[WebCoreBridge dragSourceEndedAt:operation:]):  Pass through of operation.
   40953 
   40954 2004-06-24  Trey Matteson  <trey (a] apple.com>
   40955 
   40956 	3710422 - REGRESSION: Safari crashes trying to send onbeforecut event at about://blank
   40957 
   40958 	Simple fix - don't try to send the event to the body element if we have no body element.
   40959 
   40960         Reviewed by John
   40961 
   40962         * kwq/KWQKHTMLPart.mm:
   40963         (KWQKHTMLPart::dispatchCPPEvent):
   40964 
   40965 2004-06-24  Trey Matteson  <trey (a] apple.com>
   40966 
   40967 	3704950	drag image in DB ConfigBar has horizontal graphics turd	WebCore JavaScript
   40968 
   40969 	When we generate a drag image (or a selection image too, for that matter) we
   40970 	translate the CTM using a CG call.  Later, WebImageRenderer adjusts the pattern
   40971 	phase based on the CTM of the focused view, which doesn't include our translate.
   40972 	So we must inform WebKit about the additional phase adjustment.
   40973 
   40974         Reviewed by Richard
   40975 
   40976         * kwq/KWQKHTMLPart.mm:  Tell WebKit about the phase adjustment.
   40977         (KWQKHTMLPart::imageFromRect):
   40978         * kwq/WebCoreGraphicsBridge.h:
   40979         * kwq/WebCoreGraphicsBridge.m:
   40980         (-[WebCoreGraphicsBridge setAdditionalPatternPhase:]):  New routine to receive
   40981 	the phase adjustment.
   40982 
   40983 2004-06-24  Trey Matteson  <trey (a] apple.com>
   40984 
   40985 	3679986 - screenX and screenY are flipped and relative to the bottom left of the WebView, rather than the screen
   40986 	3699510 - synthesized click events have bogus screen coords
   40987 
   40988         Reviewed by Darin.
   40989 
   40990         * khtml/khtmlview.cpp:
   40991         (KHTMLView::dispatchDragEvent):  Generate screen coords for drag events using new func.
   40992         (KHTMLView::dispatchMouseEvent):   Ditto.
   40993         * khtml/khtmlview.h:
   40994         * khtml/xml/dom_nodeimpl.cpp:
   40995         (NodeImpl::dispatchMouseEvent):  Comment tricky semantics.
   40996 	Calc screen coords in apple-specific way.
   40997         * kwq/KWQKHTMLView.mm:
   40998         (KHTMLView::viewportToGlobal):  Passthrough to window widget.
   40999         * kwq/KWQScrollView.mm:
   41000         * kwq/KWQWindowWidget.h:
   41001         * kwq/KWQWindowWidget.mm:
   41002         (KWQWindowWidget::mapToGlobal):  Call former code factored to new method below.
   41003         (KWQWindowWidget::viewportToGlobal):  New method to convert "viewport" (which for us
   41004 	really means NSWindow coords) to screen coords.
   41005 
   41006 2004-06-24  Trey Matteson  <trey (a] apple.com>
   41007 
   41008 	3693420 - onbeforecut and onbeforepaste need real implementaion
   41009 
   41010         Reviewed by Chris.
   41011 
   41012         * kwq/KWQKHTMLPart.h:
   41013         * kwq/KWQKHTMLPart.mm:
   41014         (KWQKHTMLPart::mayCut):  Dispatch event to DHTML.
   41015         (KWQKHTMLPart::mayCopy):  Ditto
   41016         (KWQKHTMLPart::mayPaste):  Ditto
   41017         (KWQKHTMLPart::tryCut):  No more need to send fake onbefore event
   41018         (KWQKHTMLPart::tryCopy):  Ditto
   41019         (KWQKHTMLPart::tryPaste): Ditto
   41020         * kwq/WebCoreBridge.h:
   41021         * kwq/WebCoreBridge.mm:
   41022         (-[WebCoreBridge mayDHTMLCut]):  Standard glue
   41023         (-[WebCoreBridge mayDHTMLCopy]):  Ditto
   41024         (-[WebCoreBridge mayDHTMLPaste]):  Ditto
   41025 
   41026 2004-06-24  Darin Adler  <darin (a] apple.com>
   41027 
   41028         Reviewed by John.
   41029 
   41030         - fixed <rdar://problem/3709385> Find on page doesn't find a string at the very end of the file
   41031 
   41032         * khtml/misc/khtml_text_operations.cpp: (khtml::findPlainText): Rearrange loop to avoid an early
   41033         exit once we have all the characters we need, but are at the end of the range we are searching.
   41034 
   41035         - fixed <rdar://problem/3102271>: (text areas have scroll bars even when they don't need them)
   41036         - fixed <rdar://problem/3665430>: (horizontal scroll bar of text area does not show, even when text is wide in "no wrap" mode)
   41037 
   41038         * kwq/KWQTextArea.mm:
   41039         (-[KWQTextArea _configureTextViewForWordWrapMode]): Added. Helper method that sets up the
   41040         view for a new word wrap mode.
   41041         (-[KWQTextArea _createTextView]): Moved much of the code inside _configureTextViewForWordWrapMode.
   41042         (-[KWQTextArea _frameSizeChanged]): Added. Method shared by setFrame: and initWithFrame: to
   41043         avoid duplicate code that was there before. The old code also had redundant code to update
   41044         the text container size, but NSText handles that automatically.
   41045         (-[KWQTextArea initWithFrame:]): Set wrap to YES by default, which is the key to fixing bug 3665430.
   41046         Call setAutohidesScrollers:YES, which fixes bug 3102271. Also call the new _frameSizeChanged method.
   41047         (-[KWQTextArea setWordWrap:]): Call _configureTextViewForWordWrapMode instead of trying
   41048         to do the work here. The old version did both too little and too much.
   41049         (-[KWQTextArea setFrame:]): Call _frameSizeChanged instead of trying to do the work here.
   41050         The old version did both too little and too much.
   41051 
   41052 2004-06-24  John Sullivan  <sullivan (a] apple.com>
   41053 
   41054         Darin made this change on my machine; I reviewed it.
   41055         
   41056         - fixed <rdar://problem/3698333> Find on page doesn't find a particular string 
   41057         with a newline in the source
   41058 
   41059         * khtml/misc/khtml_text_operations.cpp:
   41060         (khtml::TextIterator::handleTextBox):
   41061         Clear m_lastTextNodeEndedWithCollapsedSpace after taking it into account.
   41062 
   41063 2004-06-23  Richard Williamson   <rjw (a] apple.com>
   41064 
   41065 	Implemented changes for latest npruntime.h.
   41066 
   41067         Reviewed by Chris.
   41068 
   41069         * kwq/KWQKHTMLPart.h:
   41070         * kwq/KWQKHTMLPart.mm:
   41071         (KWQKHTMLPart::KWQKHTMLPart):
   41072         (KWQKHTMLPart::windowScriptNPObject):
   41073         (KWQKHTMLPart::getEmbedInstanceForView):
   41074         * kwq/WebCoreBridge.h:
   41075         * kwq/WebCoreBridge.mm:
   41076         (-[WebCoreBridge windowScriptObject]):
   41077         (-[WebCoreBridge windowScriptNPObject]):
   41078 
   41079 2004-06-22  Richard Williamson   <rjw (a] apple.com>
   41080 
   41081 	Fixed <rdar://problem/3707162>: accessing embeds[] plug-in interface may crash
   41082 
   41083 	embedInstance was uninitialized.
   41084 
   41085         Reviewed by Chris.
   41086 
   41087         * khtml/html/html_objectimpl.cpp:
   41088         (HTMLEmbedElementImpl::HTMLEmbedElementImpl):
   41089 
   41090 2004-06-18  John Sullivan  <sullivan (a] apple.com>
   41091 
   41092         Reviewed by Darin
   41093         
   41094         - fixed <rdar://problem/3534851> Pop up windows not showing up within SAP's 
   41095         BW Module (changing location.href on new window created by window.open)
   41096 
   41097         * khtml/khtml_part.cpp:
   41098         (KHTMLPart::scheduleRedirection):
   41099         allow new redirect to win if delay <= current delay, not just <
   41100 
   41101 === WebCore-146.1 ===
   41102 
   41103 2004-06-18  Trey Matteson  <trey (a] apple.com>
   41104 
   41105 	3702053 - DHTML dragging destination can't control the cursor (by setting the drop operation)
   41106 
   41107 	Fallout from security work, but an easy fix.
   41108 
   41109         Reviewed by Darin
   41110 
   41111         * kwq/KWQClipboard.mm:
   41112         (KWQClipboard::setDropEffect):  Allow dest side to set dropEffect.
   41113 
   41114 2004-06-18  Darin Adler  <darin (a] apple.com>
   41115 
   41116         Reviewed by John.
   41117 
   41118         - re-fixed <rdar://problem/3701893> show expert preferences notes in xcode causes crash (in EllipsisBox code)
   41119 
   41120         * khtml/rendering/render_block.cpp: (khtml::RenderBlock::paintEllipsisBoxes):
   41121         Check !isInlineFlow rather than checking hasMarkupTruncation. Otherwise, we break
   41122         plain old non-markup truncation.
   41123 
   41124 2004-06-18  Darin Adler  <darin (a] apple.com>
   41125 
   41126         Reviewed by John.
   41127 
   41128         - fixed <rdar://problem/3701893> show expert preferences notes in xcode causes crash (in EllipsisBox code)
   41129 
   41130         * khtml/rendering/render_block.cpp: (khtml::RenderBlock::paintEllipsisBoxes):
   41131         Only walk the ellipsis list if hasMarkupTruncation is true.
   41132 
   41133 === Safari-146 ===
   41134 
   41135 2004-06-17  Richard Williamson   <rjw (a] apple.com>
   41136 
   41137 	Fixed <rdar://problem/3698867> setting the canvas or parent to display:none and updating the causes a nil-deref
   41138 
   41139 	Ensured that we have a renderer before rendering.
   41140 
   41141         Reviewed by John.
   41142 
   41143         * khtml/ecma/kjs_html.cpp:
   41144         (KJS::Context2DFunction::tryCall):
   41145 
   41146 2004-06-17  David Hyatt  <hyatt (a] apple.com>
   41147 
   41148 	Fix for 3674601, "Read More..." links should trail articles in Emerson.
   41149 	
   41150         Reviewed by darin
   41151 
   41152         * khtml/rendering/bidi.cpp:
   41153         (khtml::RenderBlock::layoutInlineChildren):
   41154         (khtml::RenderBlock::deleteEllipsisLineBoxes):
   41155         (khtml::RenderBlock::checkLinesForTextOverflow):
   41156         * khtml/rendering/render_block.cpp:
   41157         (khtml:::RenderFlow):
   41158         (khtml::RenderBlock::paintEllipsisBoxes):
   41159         (khtml::RenderBlock::nodeAtPoint):
   41160         (khtml::shouldCheckLines):
   41161         (khtml::getLineAtIndex):
   41162         (khtml::getHeightForLineCount):
   41163         (khtml::RenderBlock::lineAtIndex):
   41164         (khtml::RenderBlock::lineCount):
   41165         (khtml::RenderBlock::heightForLineCount):
   41166         (khtml::RenderBlock::clearTruncation):
   41167         * khtml/rendering/render_block.h:
   41168         (khtml::RenderBlock::setHasMarkupTruncation):
   41169         (khtml::RenderBlock::hasMarkupTruncation):
   41170         * khtml/rendering/render_flexbox.cpp:
   41171         (khtml::RenderFlexibleBox::layoutVerticalBox):
   41172         * khtml/rendering/render_line.cpp:
   41173         (khtml::EllipsisBox::m_str):
   41174         (khtml::InlineBox::adjustPosition):
   41175         (khtml::InlineFlowBox::adjustPosition):
   41176         (khtml::InlineFlowBox::clearTruncation):
   41177         (khtml::EllipsisBox::paint):
   41178         (khtml::EllipsisBox::nodeAtPoint):
   41179         (khtml::RootInlineBox::clearTruncation):
   41180         (khtml::RootInlineBox::placeEllipsis):
   41181         (khtml::RootInlineBox::paintEllipsisBox):
   41182         (khtml::RootInlineBox::hitTestEllipsisBox):
   41183         (khtml::RootInlineBox::adjustPosition):
   41184         (khtml::RootInlineBox::childRemoved):
   41185         * khtml/rendering/render_line.h:
   41186         (khtml::InlineBox::clearTruncation):
   41187         * khtml/rendering/render_text.cpp:
   41188         * khtml/rendering/render_text.h:
   41189         (khtml::InlineTextBox::clearTruncation):
   41190 
   41191 2004-06-17  Trey Matteson  <trey (a] apple.com>
   41192 
   41193 	3698514 - coordinates in ondragstart and ondrag events are wrong
   41194 
   41195 	This part fixes the ondragstart coords.  We salt away the window-based mouseDown
   41196 	location, since we need that when we dispatch the ondragstart event.  Previously
   41197 	we were errantly using a mouseDown point that had already been converted to view
   41198 	coords, and then the dispatch converted it again.
   41199 
   41200         Reviewed by Maciej.
   41201 
   41202         * kwq/KWQKHTMLPart.h:
   41203         * kwq/KWQKHTMLPart.mm:
   41204         (KWQKHTMLPart::khtmlMouseMoveEvent):  Use window based mouse event coords to dispatch event.
   41205         (KWQKHTMLPart::mouseDown):  Save window based mouse event coords .
   41206 
   41207 2004-06-16  David Hyatt  <hyatt (a] apple.com>
   41208 
   41209 	Fix for 3596620, implement a subset of CSS3 text truncation for Emerson.
   41210 	
   41211         Reviewed by mjs
   41212 
   41213         * khtml/rendering/bidi.cpp:
   41214         (khtml::RenderBlock::checkLinesForTextOverflow):
   41215         * khtml/rendering/font.cpp:
   41216         (Font::checkSelectionPoint):
   41217         * khtml/rendering/font.h:
   41218         * khtml/rendering/render_block.cpp:
   41219         (khtml::RenderBlock::paintObject):
   41220         (khtml::RenderBlock::paintFloats):
   41221         (khtml::RenderBlock::paintEllipsisBoxes):
   41222         * khtml/rendering/render_block.h:
   41223         * khtml/rendering/render_line.cpp:
   41224         (InlineBox::canAccommodateEllipsis):
   41225         (InlineBox::placeEllipsisBox):
   41226         (InlineFlowBox::paintDecorations):
   41227         (InlineFlowBox::placeEllipsisBox):
   41228         (EllipsisBox::paint):
   41229         (RootInlineBox::placeEllipsis):
   41230         (RootInlineBox::placeEllipsisBox):
   41231         * khtml/rendering/render_line.h:
   41232         (khtml::EllipsisBox::m_str):
   41233         (khtml::RootInlineBox::ellipsisBox):
   41234         * khtml/rendering/render_text.cpp:
   41235         (InlineTextBox::placeEllipsisBox):
   41236         (InlineTextBox::paintDecoration):
   41237         (InlineTextBox::offsetForPosition):
   41238         (RenderText::positionForCoordinates):
   41239         (RenderText::paint):
   41240         * khtml/rendering/render_text.h:
   41241         * kwq/KWQFontMetrics.h:
   41242         * kwq/KWQFontMetrics.mm:
   41243         (QFontMetrics::checkSelectionPoint):
   41244         * kwq/WebCoreTextRenderer.h:
   41245 
   41246 === WebCore-145.1 ===
   41247 
   41248 2004-06-16  Maciej Stachowiak  <mjs (a] apple.com>
   41249 
   41250         Reviewed by John.
   41251 
   41252 	<rdar://problem/3697602> REGRESSION (144.2-TOT) Selection highlight does not draw
   41253 
   41254         * khtml/rendering/render_canvas.cpp:
   41255         (RenderCanvas::setSelection):
   41256 
   41257 === Safari-145 ===
   41258 
   41259 2004-06-16  Richard Williamson   <rjw (a] apple.com>
   41260 
   41261 	Fixed 3695730:  Added support for embeds[], much like
   41262 	applets[], to allow access to a plugin's exported interface.
   41263 
   41264         Reviewed by Chris.
   41265 
   41266         * khtml/dom/html_document.cpp:
   41267         (HTMLDocument::embeds):
   41268         * khtml/dom/html_document.h:
   41269         * khtml/ecma/kjs_dom.cpp:
   41270         (KJS::getRuntimeObject):
   41271         * khtml/ecma/kjs_html.cpp:
   41272         (KJS::HTMLDocument::tryGet):
   41273         (KJS::HTMLElement::tryGet):
   41274         (KJS::HTMLCollection::tryGet):
   41275         (KJS::HTMLCollection::getNamedItems):
   41276         * khtml/ecma/kjs_html.h:
   41277         (KJS::HTMLDocument::):
   41278         * khtml/ecma/kjs_html.lut.h:
   41279         (KJS::):
   41280         * khtml/html/html_miscimpl.cpp:
   41281         (HTMLCollectionImpl::calcLength):
   41282         (HTMLCollectionImpl::getItem):
   41283         (HTMLCollectionImpl::getNamedItem):
   41284         * khtml/html/html_miscimpl.h:
   41285         (DOM::HTMLCollectionImpl::):
   41286         * khtml/html/html_objectimpl.cpp:
   41287         (HTMLEmbedElementImpl::getEmbedInstance):
   41288         * khtml/html/html_objectimpl.h:
   41289         * kwq/KWQKHTMLPart.h:
   41290         * kwq/KWQKHTMLPart.mm:
   41291         (KWQKHTMLPart::getEmbedInstanceForView):
   41292 
   41293 2004-06-15  Maciej Stachowiak  <mjs (a] apple.com>
   41294 
   41295         Reviewed by Dave.
   41296 
   41297 	<rdar://problem/3695907>: (can't enable selection inside parent where it is disabled via CSS)
   41298 
   41299         * khtml/css/cssparser.cpp:
   41300         (CSSParser::parseValue): 
   41301         * khtml/css/cssstyleselector.cpp:
   41302         (khtml::CSSStyleSelector::applyProperty):
   41303         * khtml/rendering/render_object.cpp:
   41304         (RenderObject::shouldSelect):
   41305         * khtml/rendering/render_style.h:
   41306         (khtml::):
   41307         (khtml::RenderStyle::userSelect):
   41308         (khtml::RenderStyle::setUserSelect):
   41309         (khtml::RenderStyle::initialUserSelect):
   41310 
   41311 2004-06-15  David Hyatt  <hyatt (a] apple.com>
   41312 
   41313 	Initial impl of the EllipsisBox.  This code just gets the box created and gets it placed vertically.  The next
   41314 	stage will be to position the box horizontally as well.
   41315 	
   41316         Reviewed by trey
   41317 
   41318         * khtml/rendering/bidi.cpp:
   41319         (khtml::RenderBlock::checkLinesForTextOverflow):
   41320         * khtml/rendering/render_line.cpp:
   41321         (RootInlineBox::placeEllipsis):
   41322         * khtml/rendering/render_line.h:
   41323         (khtml::EllipsisBox::m_str):
   41324 
   41325 2004-06-15  David Hyatt  <hyatt (a] apple.com>
   41326 
   41327 	Implement canAccommodateEllipsis.  The basic idea is that everything on a line will allow an ellipsis to be
   41328 	drawn on top of it unless it's a replaced element.  Then, if the replaced element overlaps, the ellipsis won't
   41329 	be allowed.
   41330 	
   41331         Reviewed by john
   41332 
   41333         * khtml/rendering/bidi.cpp:
   41334         (khtml::RenderBlock::checkLinesForTextOverflow):
   41335         * khtml/rendering/render_line.cpp:
   41336         (InlineBox::closestLeafChildForXPos):
   41337         (InlineBox::canAccommodateEllipsis):
   41338         (InlineFlowBox::canAccommodateEllipsis):
   41339         (RootInlineBox::canAccommodateEllipsis):
   41340         * khtml/rendering/render_line.h:
   41341 
   41342 2004-06-15  Vicki Murley <vicki (a] apple.com>
   41343 
   41344 	- added a few layout tests, rdar://3694510
   41345 
   41346         * layout-tests/editing/deleting/delete-image-004-expected.txt: Added.
   41347         * layout-tests/editing/deleting/delete-image-004.html: Added.
   41348         * layout-tests/editing/selection/extend-by-character-006-expected.txt: Added.
   41349         * layout-tests/editing/selection/extend-by-character-006.html: Added.
   41350 
   41351 2004-06-15  Trey Matteson  <trey (a] apple.com>
   41352 
   41353 	Dragging tweak:  We pass the mouse down coords instead of the
   41354 	latest mouse drag coords to the ondragstart event.  This makes it
   41355 	easy for the client to figure the correct drag image offset,
   41356 	whereas the mouse drag location is next to useless for that.
   41357 
   41358         Reviewed by Louch
   41359 
   41360         * kwq/KWQKHTMLPart.mm:
   41361         (KWQKHTMLPart::khtmlMouseMoveEvent):
   41362 
   41363 2004-06-15  Maciej Stachowiak  <mjs (a] apple.com>
   41364 
   41365         Reviewed by Darin.
   41366 
   41367 	<rdar://problem/3685236>: (Safari does not support onselectstart event handler)
   41368 
   41369         * khtml/ecma/kjs_dom.cpp:
   41370         (DOMNode::getValueProperty):
   41371         (DOMNode::putValue):
   41372         * khtml/ecma/kjs_dom.h:
   41373         (KJS::DOMNode::):
   41374         * khtml/ecma/kjs_dom.lut.h:
   41375         (KJS::):
   41376         * khtml/html/html_elementimpl.cpp:
   41377         (HTMLElementImpl::parseHTMLAttribute):
   41378         * khtml/misc/htmlattrs.c:
   41379         (hash_attr):
   41380         (findAttr):
   41381         * khtml/misc/htmlattrs.h:
   41382         * khtml/misc/htmlattrs.in:
   41383         * khtml/rendering/render_object.cpp:
   41384         (RenderObject::shouldSelect):
   41385         * khtml/xml/dom2_eventsimpl.cpp:
   41386         (EventImpl::typeToId):
   41387         (EventImpl::idToType):
   41388         * khtml/xml/dom2_eventsimpl.h:
   41389         (DOM::EventImpl::):
   41390 
   41391 2004-06-15  Maciej Stachowiak  <mjs (a] apple.com>
   41392 
   41393         Reviewed by Darin.
   41394 
   41395 	Fix crash with last checkin.
   41396 
   41397         * khtml/ecma/kjs_binding.cpp:
   41398         (ScriptInterpreter::domObjectsPerDocument): check the same
   41399 	property we want to initialize.
   41400 
   41401 2004-06-15  Maciej Stachowiak  <mjs (a] apple.com>
   41402 
   41403         Reviewed by Darin.
   41404 
   41405 	<rdar://problem/3685309>: (properties not shared for JS wrappers of same DOM object, accessed from different frames)
   41406 
   41407         * khtml/ecma/kjs_binding.cpp:
   41408         (ScriptInterpreter::domObjects):
   41409         (ScriptInterpreter::domObjectsPerDocument):
   41410         (ScriptInterpreter::ScriptInterpreter):
   41411         (ScriptInterpreter::forgetDOMObject):
   41412         (ScriptInterpreter::getDOMObjectForDocument):
   41413         (ScriptInterpreter::putDOMObjectForDocument):
   41414         (ScriptInterpreter::deleteDOMObjectsForDocument):
   41415         (ScriptInterpreter::mark):
   41416         (ScriptInterpreter::forgetDOMObjectsForDocument):
   41417         (ScriptInterpreter::updateDOMObjectDocument):
   41418         * khtml/ecma/kjs_binding.h:
   41419         (KJS::ScriptInterpreter::getDOMObject):
   41420         (KJS::ScriptInterpreter::putDOMObject):
   41421         (KJS::ScriptInterpreter::deleteDOMObject):
   41422 
   41423 2004-06-15  Darin Adler  <darin (a] apple.com>
   41424 
   41425         - rolled out Ken's fix for <rdar://problem/3672377> assertion failure in AppendNodeCommandImpl::doApply due to non-0 exception code trying to insert a DIV markup string
   41426           (it was making most layout tests fail)
   41427 
   41428         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkAddChild): Rolled check back in.
   41429 
   41430 2004-06-15  David Hyatt  <hyatt (a] apple.com>
   41431 
   41432 	Add a truncation variable to text run boxes that will eventually be used to know how to cut out some of the glyphs when
   41433 	rendering.
   41434 	
   41435         Reviewed by darin
   41436 
   41437         * khtml/rendering/render_text.cpp:
   41438         (RenderText::clearTextOverflowTruncation):
   41439         * khtml/rendering/render_text.h:
   41440         (khtml::InlineTextBox:::InlineRunBox):
   41441         (khtml::InlineTextBox::clearTruncation):
   41442 
   41443 2004-06-14  Darin Adler  <darin (a] apple.com>
   41444 
   41445         Reviewed by Maciej.
   41446 
   41447         - fixed some things for GC that Patrick missed, or that happened after the branch
   41448 
   41449         * kwq/DOM-CSS.mm:
   41450         (-[DOMStyleSheet finalize]): Added.
   41451         (-[DOMStyleSheetList finalize]): Added.
   41452         (-[DOMCSSStyleSheet finalize]): Added.
   41453         (-[DOMMediaList finalize]): Added.
   41454         (-[DOMCSSRuleList finalize]): Added.
   41455         (-[DOMCSSRule finalize]): Added.
   41456         (-[DOMCSSStyleDeclaration finalize]): Added.
   41457         (-[DOMCSSValue finalize]): Added.
   41458         (-[DOMRGBColor finalize]): Added.
   41459         (-[DOMRect finalize]): Added.
   41460         (-[DOMCounter finalize]): Added.
   41461         * kwq/DOM.mm:
   41462         (-[DOMObject finalize]): Added.
   41463         (-[DOMNode finalize]): Added.
   41464         (-[DOMNamedNodeMap finalize]): Added.
   41465         (-[DOMNodeList finalize]): Added.
   41466         (-[DOMImplementation finalize]): Added.
   41467         (-[DOMRange finalize]): Added.
   41468         (-[DOMNodeFilter finalize]): Added.
   41469         (-[DOMNodeIterator finalize]): Added.
   41470         (-[DOMTreeWalker dealloc]): Removed unneeded nil check.
   41471         (-[DOMTreeWalker finalize]): Added.
   41472         * kwq/DOMHTML.mm:
   41473         (-[DOMHTMLCollection finalize]): Added.
   41474         (-[DOMHTMLOptionsCollection finalize]): Added.
   41475         * kwq/KWQClipboard.mm:
   41476         (KWQClipboard::KWQClipboard): Use KWQRetain instead of retain.
   41477         (KWQClipboard::~KWQClipboard): Use KWQRelease instead of release.
   41478         * kwq/KWQEditCommand.mm:
   41479         (-[KWQEditCommand finalize]): Added.
   41480         * kwq/KWQFont.mm:
   41481         (QFont::~QFont): Use KWQRelease instead of release.
   41482         * kwq/KWQKHTMLPart.mm:
   41483         (KWQKHTMLPart::keyEvent): Use KWQRetain instead of retain, and KWQRelease instead of release.
   41484         (KWQKHTMLPart::mouseDown): Use KWQRetain instead of retain, and KWQRelease instead of release.
   41485         (KWQKHTMLPart::mouseDragged): Use KWQRetain instead of retain, and KWQRelease instead of release.
   41486         (KWQKHTMLPart::mouseUp): Use KWQRetain instead of retain, and KWQRelease instead of release.
   41487         (KWQKHTMLPart::mouseMoved): Use KWQRetain instead of retain, and KWQRelease instead of release.
   41488         (KWQKHTMLPart::sendContextMenuEvent): Use KWQRetain instead of retain, and KWQRelease instead of release.
   41489         * kwq/KWQPageState.mm:
   41490         (-[KWQPageState finalize]): Added. Filed <rdar://problem/3694163> about the fact that this is not right.
   41491         * kwq/KWQTimer.mm:
   41492         (-[KWQSingleShotTimerTarget finalize]): Added.
   41493         * kwq/WebCoreBridge.mm:
   41494         (-[WebCoreBridge finalize]): Added. Filed <rdar://problem/3694165> about the fact that this is not right.
   41495 
   41496 2004-06-15  David Hyatt  <hyatt (a] apple.com>
   41497 
   41498 	Initial work on text truncation.  Working top-down, I think I've made all the changes I will need to bidi.cpp
   41499 	and to the block code itself.  The rest of the code can be concentrated in the render_line and render_text files.
   41500 	
   41501         Reviewed by darin
   41502 
   41503         * khtml/rendering/bidi.cpp:
   41504         (khtml::RenderBlock::layoutInlineChildren):
   41505         (khtml::RenderBlock::findNextLineBreak):
   41506         (khtml::RenderBlock::deleteEllipsisLineBoxes):
   41507         (khtml::RenderBlock::checkLinesForTextOverflow):
   41508         * khtml/rendering/render_block.h:
   41509         * khtml/rendering/render_line.cpp:
   41510         (RootInlineBox::detach):
   41511         (RootInlineBox::detachEllipsisBox):
   41512         (RootInlineBox::canAccommodateEllipsis):
   41513         (RootInlineBox::placeEllipsis):
   41514         * khtml/rendering/render_line.h:
   41515         (khtml::RootInlineBox::RootInlineBox):
   41516         * khtml/rendering/render_text.cpp:
   41517         (RenderText::clearTextOverflowTruncation):
   41518         * khtml/rendering/render_text.h:
   41519 
   41520 2004-06-14  Trey Matteson  <trey (a] apple.com>
   41521 
   41522 	3692690 - REGRESSION: canceling drag from WebView cause link to load
   41523 	Just need to take extra care to cancel any click handling in
   41524 	all cases once we're committed to doing the drag.
   41525 
   41526         Reviewed by Darin.
   41527 
   41528         * kwq/KWQKHTMLPart.mm:
   41529         (KWQKHTMLPart::khtmlMouseMoveEvent):  Call invalidateClick once
   41530 	we're past the hysteresis point, and definitely going to try
   41531 	to start a drag and drop.
   41532 
   41533 2004-06-14  Darin Adler  <darin (a] apple.com>
   41534 
   41535         - fixed crash on boot
   41536 
   41537         * kwq/KWQFoundationExtras.h: (KWQRetainNSRelease):
   41538         Fixed return value of this method; was uninitialized.
   41539 
   41540 2004-06-14  Trey Matteson  <trey (a] apple.com>
   41541 
   41542 	Dashboard wants access to pastboard data during the drag gesture.
   41543 
   41544 	We address this need be allowing docs that are local files to access the
   41545 	pasteboard data during a drag, while other pages can only get at the types
   41546 	list until the drop happens.  This is deemed safe because local files already
   41547 	have such broad super powers.
   41548 
   41549         Reviewed by Maciej.
   41550 
   41551         * kwq/KWQKURL.h:
   41552         * kwq/KWQKURL.mm:
   41553         (KURL::isLocalFile):  Implement this QT method to look for the file scheme.
   41554         * kwq/WebCoreBridge.mm:
   41555         (-[WebCoreBridge dragOperationForDraggingInfo:]):  Use more relaxed clipboard
   41556 	security for local file pages.
   41557         (-[WebCoreBridge dragExitedWithDraggingInfo:]):  Ditto.
   41558 
   41559 2004-06-14  Darin Adler  <darin (a] apple.com>
   41560 
   41561         Reviewed by me, code changes by Patrick Beard.
   41562 
   41563         - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
   41564 
   41565         * WebCore.pbproj/project.pbxproj: Added KWQFoundationExtras.h.
   41566         * kwq/KWQFoundationExtras.h: Added.
   41567         (KWQRetain): Cover for CFRetain that is tolerant of nil.
   41568         (KWQRelease): Cover for CFRelease that is tolerant of nil.
   41569         (KWQRetainNSRelease): Combination of a CFRetain and an -[NSObject release] that is tolerant of nil.
   41570         Also includes a declaration of finalize so we can call [super finalize] without warnings on Panther.
   41571 
   41572         * kwq/DOM.mm:
   41573         (ObjCNodeFilterCondition::ObjCNodeFilterCondition): Use CFRetain instead of retain.
   41574         (ObjCNodeFilterCondition::~ObjCNodeFilterCondition): Use CFRelease instead of release.
   41575         * kwq/KWQComboBox.mm:
   41576         (QComboBox::~QComboBox): Use KWQRelease instead of release.
   41577         (QComboBox::setFont): Use KWQRelease instead of release.
   41578         (QComboBox::labelFont): Use KWQRetain instead of retain.
   41579         * kwq/KWQCursor.mm:
   41580         (QCursor::QCursor): Use KWQRetain instead of retain.
   41581         (QCursor::~QCursor): Use KWQRelease instead of release.
   41582         (QCursor::operator=): More of the same.
   41583         * kwq/KWQFileButton.mm:
   41584         (KWQFileButton::KWQFileButton): Use KWQRetainNSRelease to retain a newly-allocated object.
   41585         (KWQFileButton::~KWQFileButton): Use CFRelease instead of release.
   41586         * kwq/KWQFont.mm:
   41587         (QFont::QFont): Use KWQRetain instead of retain.
   41588         (QFont::operator=): More of the same.
   41589         (QFont::setFamily): Use KWQRelease instead of release.
   41590         (QFont::setFirstFamily): Use KWQRelease instead of release.
   41591         (QFont::setPixelSize): Use KWQRelease instead of release.
   41592         (QFont::setWeight): Use KWQRelease instead of release.
   41593         (QFont::setItalic): Use KWQRelease instead of release.
   41594         (QFont::getNSFont): Use KWQRetain instead of retain.
   41595         * kwq/KWQFontMetrics.mm:
   41596         (QFontMetricsPrivate::~QFontMetricsPrivate): Use KWQRelease instead of release.
   41597         (QFontMetricsPrivate::getRenderer): Use KWQRetain instead of retain.
   41598         (QFontMetricsPrivate::setFont): Use KWQRelease instead of release.
   41599         * kwq/KWQKHTMLPart.mm:
   41600         (KWQKHTMLPart::~KWQKHTMLPart): Use KWQRelease instead of release.
   41601         (KWQKHTMLPart::clearRecordedFormValues): Use KWQRelease instead of release.
   41602         (KWQKHTMLPart::recordFormValue): Use KWQRetainNSRelease and use KWQRetain instead of retain.
   41603         (KWQKHTMLPart::windowScriptObject): Use KWQRetainNSRelease.
   41604         * kwq/KWQKJobClasses.mm:
   41605         (KIO::TransferJobPrivate::TransferJobPrivate): Use KWQRetainNSRelease.
   41606         (KIO::TransferJobPrivate::~TransferJobPrivate): Use KWQRelease instead of release.
   41607         (KIO::TransferJob::setLoader): More of the same.
   41608         * kwq/KWQLoader.mm:
   41609         (KWQRetainResponse): Use KWQRetain instead of retain.
   41610         (KWQReleaseResponse): Use KWQRelease instead of release.
   41611         * kwq/KWQPainter.mm:
   41612         (QPainterPrivate::~QPainterPrivate): Use KWQRelease instead of release.
   41613         (QPainter::_updateRenderer): More of the same.
   41614         (QPainter::initFocusRing): Use KWQRetainNSRelease.
   41615         (QPainter::clearFocusRing): Use KWQRelease instead of release.
   41616         * kwq/KWQPixmap.mm:
   41617         (QPixmap::QPixmap): Use KWQRetain instead of retain.
   41618         (QPixmap::~QPixmap): Use KWQRelease instead of release.
   41619         (QPixmap::receivedData): Use KWQRetain instead of retain.
   41620         (QPixmap::resize): Use KWQRetainNSRelease and use KWQRelease instead of release.
   41621         (QPixmap::operator=): More of the same.
   41622         * kwq/KWQRegion.mm:
   41623         (QRegion::QRegion): Use KWQRetain instead of retain.
   41624         (QRegion::~QRegion): Use KWQRelease instead of release.
   41625         (QRegion::operator=): More of the same.
   41626         * kwq/KWQTimer.mm:
   41627         (QTimer::start): Use KWQRetain instead of retain.
   41628         (QTimer::stop): Use KWQRelease instead of release.
   41629         (QTimer::fire): Use KWQRelease instead of release.
   41630         * kwq/KWQWidget.mm:
   41631         (QWidget::QWidget): Use KWQRetain instead of retain.
   41632         (QWidget::~QWidget): Use KWQRelease instead of release.
   41633         (QWidget::setView): More of the same.
   41634         * kwq/WebCoreSettings.mm: (-[WebCoreSettings finalize]):
   41635         Delete the storage here, as well as in dealloc.
   41636 
   41637 2004-06-14  Maciej Stachowiak  <mjs (a] apple.com>
   41638 
   41639         Reviewed by Trey.
   41640 
   41641 	<rdar://problem/3693818>: (Safari should use CG calls for circle drawing for better performance)
   41642 
   41643 	* kwq/KWQPainter.mm:
   41644         (QPainter::drawEllipse): Use CG calls instead of NS calls for faster circle drawing.
   41645         (QPainter::drawArc): Ditto.
   41646 
   41647 2004-06-14  Ken Kocienda  <kocienda (a] apple.com>
   41648 
   41649         Reviewed by Vicki
   41650 
   41651         Fix for this bug:
   41652         
   41653         <rdar://problem/3690115> Crash deleting text out of iChat's profile (an editable Webview)
   41654 
   41655         * khtml/html/html_elementimpl.cpp:
   41656         (HTMLElementImpl::isFocusable): Added null-check of parent node before deref'ing it.
   41657 
   41658 2004-06-14  Trey Matteson  <trey (a] apple.com>
   41659 
   41660 	Two tweaks to recently added "drag" pseudo-class, as suggested by
   41661 	Dave.  The class is renamed to "-khtml-drag", and we update layout
   41662 	when using it, instead of only updating styles.
   41663 
   41664         Reviewed by hyatt.
   41665 
   41666         * khtml/css/css_base.cpp:
   41667         (CSSSelector::extractPseudoType):
   41668         * kwq/KWQKHTMLPart.mm:
   41669         (KWQKHTMLPart::snapshotDragImage):
   41670 
   41671 2004-06-13  Trey Matteson  <trey (a] apple.com>
   41672 
   41673 	Support for DHTML cut/copy/paste.  We now support oncut, oncopy, onpaste.  The events
   41674 	are sent to the first node in the selection, or else the body.  Current holes are
   41675 	that we do not send events for operations in text fields or text areas (because it
   41676 	is hard to get the right hooks into the AppKit).
   41677 
   41678 	We also send onbeforecut, onbeforecopy, onbeforepaste before the other events, which
   41679 	isn't really WinIE compatible, but is close.  WinIE uses these to enable cut/paste
   41680 	menu items in its UI.  DB doesn't need this for now.
   41681 
   41682         Reviewed by Chris
   41683 
   41684         * khtml/ecma/kjs_dom.cpp:
   41685         (DOMNode::getValueProperty):  Boilerplate for new events
   41686         (DOMNode::putValue):    Boilerplate for new events
   41687         * khtml/ecma/kjs_dom.h:
   41688         (KJS::DOMNode::):    Boilerplate for new events
   41689         * khtml/ecma/kjs_dom.lut.h:
   41690         * khtml/ecma/kjs_events.cpp:
   41691         (DOMEvent::DOMEvent): "dataTransfer" and "clipboardData" properties are conditionally
   41692 	defined on DOMEvent, depending on if the event is a dragging or clipboard event.
   41693         (DOMMouseEvent::mark):  Pass mark along to any clipboard object we have.
   41694         (DOMEvent::getValueProperty):  Return "dataTransfer" or "clipboardData".
   41695         (DOMMouseEvent::getValueProperty):  Returning "dataTransfer" now handled by
   41696 	the superclass.
   41697         * khtml/ecma/kjs_events.h:
   41698         (KJS::DOMEvent::):
   41699         (KJS::DOMMouseEvent::DOMMouseEvent):
   41700         (KJS::DOMMouseEvent::):
   41701         (KJS::DOMMouseEvent::toMouseEvent):
   41702         * khtml/ecma/kjs_events.lut.h:
   41703         * khtml/html/html_elementimpl.cpp:
   41704         (HTMLElementImpl::parseHTMLAttribute):  Boilerplate for new events
   41705         * khtml/misc/htmlattrs.c:
   41706         * khtml/misc/htmlattrs.h:
   41707         * khtml/misc/htmlattrs.in:  Boilerplate for new events
   41708         * khtml/xml/dom2_eventsimpl.cpp:
   41709         (EventImpl::typeToId):  Boilerplate for new events
   41710         (EventImpl::idToType):  Boilerplate for new events
   41711         (EventImpl::isDragEvent):  New utility
   41712         (EventImpl::isClipboardEvent):  New utility
   41713         (MouseEventImpl::isDragEvent):  New utility
   41714         (ClipboardEventImpl::ClipboardEventImpl):  ref optional clipboard
   41715         (ClipboardEventImpl::~ClipboardEventImpl):  deref optional clipboard
   41716         (ClipboardEventImpl::isClipboardEvent):  New utility
   41717         * khtml/xml/dom2_eventsimpl.h:
   41718         (DOM::EventImpl::):  Boilerplate for new events
   41719         (DOM::ClipboardEventImpl::clipboard):
   41720         * kwq/KWQClipboard.h:  Monkey business so this file is includable in C++.
   41721         * kwq/KWQClipboard.mm:
   41722         * kwq/KWQKHTMLPart.h:
   41723         * kwq/KWQKHTMLPart.mm:
   41724         (KWQKHTMLPart::dispatchCPPEvent):  Send one of the new events.
   41725         (KWQKHTMLPart::tryCut):  Declare pasteboard types, send cut events.
   41726         (KWQKHTMLPart::tryCopy):  Declare pasteboard types, send copy events.
   41727         (KWQKHTMLPart::tryPaste):  Send paste events.
   41728         * kwq/WebCoreBridge.h:
   41729         * kwq/WebCoreBridge.mm:
   41730         (-[WebCoreBridge tryDHTMLCut]):  Pass through to part
   41731         (-[WebCoreBridge tryDHTMLCopy]):  Ditto
   41732         (-[WebCoreBridge tryDHTMLPaste]):  Ditto
   41733 
   41734 2004-06-14  Trey Matteson  <trey (a] apple.com>
   41735 
   41736 	A new CSS pseudo-class ".drag" is added.  Analogous to the "hover" class,
   41737 	this class determines styles used while an element is generating a drag
   41738 	image.
   41739 
   41740         Reviewed by hyatt.
   41741 
   41742         * khtml/css/css_base.cpp:
   41743         (CSSSelector::extractPseudoType):  Boilerplate for adding new class.
   41744         * khtml/css/css_base.h:  Boilerplate for adding new class.
   41745         * khtml/css/cssstyleselector.cpp:
   41746         (khtml::CSSStyleSelector::checkOneSelector):  Match new class against
   41747 	elements being dragged.
   41748         * khtml/css/cssstyleselector.h:
   41749         (khtml::StyleSelector::):  Boilerplate for adding new class.
   41750         * khtml/rendering/render_object.cpp:
   41751         (RenderObject::RenderObject):  Init new member.
   41752         (RenderObject::isDragging):  Return whether this object is being dragged.
   41753         (RenderObject::updateDragState):  Paint us an all children with a new dragged state.
   41754         * khtml/rendering/render_object.h:
   41755         * khtml/rendering/render_style.h: Boilerplate for adding new class.
   41756         (khtml::RenderStyle::NonInheritedFlags::operator==):
   41757         (khtml::RenderStyle::setBitDefaults):
   41758         (khtml::RenderStyle::affectedByDragRules):
   41759         (khtml::RenderStyle::setAffectedByDragRules):
   41760         * kwq/KWQClipboard.mm:
   41761         (KWQClipboard::dragNSImage):  Method rename.
   41762         * kwq/KWQKHTMLPart.h:
   41763         * kwq/KWQKHTMLPart.mm:
   41764         (KWQKHTMLPart::snapshotDragImage):  Mark the element as being dragged before
   41765 	we snapshot it, so new style class will apply.
   41766 
   41767 2004-06-14  Ken Kocienda  <kocienda (a] apple.com>
   41768 
   41769         Added a few more editing-related layout tests.
   41770 
   41771         * layout-tests/editing/inserting/insert-3654864-fix-expected.txt: Added.
   41772         * layout-tests/editing/inserting/insert-3654864-fix.html: Added.
   41773         * layout-tests/editing/inserting/insert-3659587-fix-expected.txt: Added.
   41774         * layout-tests/editing/inserting/insert-3659587-fix.html: Added.
   41775         * layout-tests/editing/inserting/insert-after-delete-001-expected.txt: Added.
   41776         * layout-tests/editing/inserting/insert-after-delete-001.html: Added.
   41777         * layout-tests/editing/inserting/insert-br-case1-expected.txt: Added.
   41778         * layout-tests/editing/inserting/insert-br-case1.html: Added.
   41779         * layout-tests/editing/inserting/insert-br-case2-expected.txt: Added.
   41780         * layout-tests/editing/inserting/insert-br-case2.html: Added.
   41781         * layout-tests/editing/inserting/insert-br-case3-expected.txt: Added.
   41782         * layout-tests/editing/inserting/insert-br-case3.html: Added.
   41783 
   41784 2004-06-14  Ken Kocienda  <kocienda (a] apple.com>
   41785 
   41786         Regarding the bug below, removing some tests since we have removed the execCommand("paste") 
   41787         feature, at least for now.
   41788 
   41789         <rdar://problem/3684792>: (JavaScript execCommand("paste") presents security issues)
   41790 
   41791         * layout-tests/editing/pasteboard/copy-paste-text-001-expected.txt: Removed.
   41792         * layout-tests/editing/pasteboard/copy-paste-text-001.html: Removed.
   41793         * layout-tests/editing/pasteboard/cut-paste-text-002-expected.txt: Removed.
   41794         * layout-tests/editing/pasteboard/cut-paste-text-002.html: Removed.
   41795 
   41796 2004-06-14  Ken Kocienda  <kocienda (a] apple.com>
   41797 
   41798         Reviewed by Darin
   41799 
   41800         Fix for this bug:
   41801         
   41802         <rdar://problem/3672377> assertion failure in AppendNodeCommandImpl::doApply due to non-0 exception code trying to insert a DIV markup string
   41803         
   41804         * khtml/xml/dom_nodeimpl.cpp:
   41805         (NodeImpl::checkAddChild): This function was being too strict in disallowing certain nodes
   41806         to be added as other child nodes, applying rules we typically use for parsing. However,
   41807         those parsing rules are primarily for dealing with "bad" HTML, and should not be
   41808         applied to programmatic DOM operations. The fix involves removing calls to childAllowed().
   41809 
   41810 2004-06-12  Trey Matteson  <trey (a] apple.com>
   41811 
   41812 	The drag image may be updated during a DHTML drag.  This includes updating
   41813 	from a Timer instead of a drag event handler.  In addition, an arbitrary
   41814 	element can be set as the one to snapshot for the drag image.
   41815 
   41816         Reviewed by John
   41817 
   41818         * khtml/ecma/kjs_events.cpp:
   41819         (ClipboardProtoFunc::tryCall):  setDragImage accepts a node.  Previously,
   41820 	it had to be an Image object.
   41821         * khtml/rendering/render_object.cpp:
   41822         (RenderObject::paintingRootRect):  Also returns top element's rect.
   41823         * khtml/rendering/render_object.h:
   41824         * khtml/xml/dom2_eventsimpl.h:
   41825         * kwq/KWQClipboard.h:  New security mode where image is still writable, but
   41826 	pasteboard is not.
   41827         (KWQClipboard::):
   41828         (KWQClipboard::setDragHasStarted):
   41829         * kwq/KWQClipboard.mm:
   41830         (KWQClipboard::KWQClipboard):    Part may be passed.  Needed in the source
   41831 	case to generate an image from an element.
   41832         (KWQClipboard::setAccessPolicy):  New, replaces former becomeNumb method
   41833 	which wasn't flexible enough.
   41834         (KWQClipboard::accessPolicy):  New getter.
   41835         (KWQClipboard::dragImage):  No change, diff confusion.
   41836         (KWQClipboard::setDragImage):  Call new helper, below.
   41837         (KWQClipboard::dragImageElement):  New, return any element set.
   41838         (KWQClipboard::setDragImageElement):  New, call new helper.
   41839         (KWQClipboard::setDragImage):  New helper, set the image via either a
   41840 	pixmap or an element to snapshot, pushes the result to WebKit if we've
   41841 	already started the drag.
   41842         (KWQClipboard::dragNSImage):  Generate an NSImage and mouse offset, no
   41843 	matter how the drag image was set (Image or element).
   41844         * kwq/KWQKHTMLPart.h:  A single clipboard is kept over the life of a
   41845 	source drag instead of making one for each event.
   41846         * kwq/KWQKHTMLPart.mm:
   41847         (KWQKHTMLPart::KWQKHTMLPart):  Init clipboard.
   41848         (KWQKHTMLPart::~KWQKHTMLPart):  Free clipboard.
   41849         (KWQKHTMLPart::freeClipboard):  New helper.
   41850         (KWQKHTMLPart::dispatchDragSrcEvent):  Most code moved to caller.
   41851         (KWQKHTMLPart::khtmlMouseMoveEvent):  Make clipboard for this drag session.
   41852 	Init clipboard to make an image from the dragSource element.  Mark the
   41853 	drag as having started.
   41854         (KWQKHTMLPart::dragSourceMovedTo):  Clipboard will update WK with any new
   41855 	drag image, so we don't need to.
   41856         (KWQKHTMLPart::dragSourceEndedAt):  Ditto.
   41857         (KWQKHTMLPart::elementImage):  Also return element rect.
   41858         * kwq/WebCoreBridge.h:  Glue moved to WebCoreGraphicsBridge.
   41859         * kwq/WebCoreBridge.mm:
   41860         (-[WebCoreBridge dragOperationForDraggingInfo:]):  Use new method.
   41861         (-[WebCoreBridge dragExitedWithDraggingInfo:]):  Ditto
   41862         (-[WebCoreBridge concludeDragForDraggingInfo:]):  Ditto
   41863         * kwq/WebCoreGraphicsBridge.h:
   41864         * kwq/WebCoreGraphicsBridge.m:
   41865         (-[WebCoreGraphicsBridge setDraggingImage:at:]):  Glue moved from WebBridge
   41866 
   41867 2004-06-11  Chris Blumenberg  <cblu (a] apple.com>
   41868 
   41869 	Support for WebKit drag & drop API.
   41870 
   41871         Reviewed by trey.
   41872 
   41873         * kwq/WebCoreBridge.h:
   41874         * kwq/WebCoreBridge.mm:
   41875         (-[WebCoreBridge _positionForPoint:]): new
   41876         (-[WebCoreBridge moveDragCaretToPoint:]): call _positionForPoint
   41877         (-[WebCoreBridge editableDOMRangeForPoint:]): new
   41878 
   41879 2004-06-11  Darin Adler  <darin (a] apple.com>
   41880 
   41881         Reviewed by Dave.
   41882 
   41883         - fixed <rdar://problem/3645846>: (REGRESSION: Stuck "Loading" when logging into Google's Gmail on newer versions of Safari)
   41884 
   41885         * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::parseHTMLAttribute):
   41886         Call through to base class for ATTR_ID so the "has ID" bit gets set.
   41887         * khtml/html/html_imageimpl.cpp:
   41888         (HTMLImageElementImpl::parseHTMLAttribute): Move ATTR_COMPOSITE code up and out of the way so
   41889         it doesn't screw up ATTR_ID parsing.
   41890         (HTMLMapElementImpl::parseHTMLAttribute): Call through to base class for ATTR_ID
   41891         so the "has ID" bit gets set.
   41892         * khtml/html/html_objectimpl.cpp:
   41893         (HTMLAppletElementImpl::parseHTMLAttribute): Remove ATTR_ID case; not needed.
   41894         (HTMLParamElementImpl::parseHTMLAttribute): Call through to base class for ATTR_ID
   41895         so the "has ID" bit gets set.
   41896 
   41897 2004-06-11  Ken Kocienda  <kocienda (a] apple.com>
   41898 
   41899         Reviewed by Hyatt
   41900 
   41901         Fix for this bug:
   41902         
   41903         <rdar://problem/3659587>: "when typing in Blot, bold style does not carry over to next line after pressing 'return'"
   41904 
   41905         Did some work to improve the insert newline command. The refinement is to insert the newline
   41906         at the upstream position of the caret, ensuring that the newline takes on the 
   41907         appropriate style, and does not let the caret "escape" from an element that is
   41908         conferring style.
   41909 
   41910         * khtml/editing/htmlediting_impl.cpp:
   41911         (khtml::InputNewlineCommandImpl::insertNodeAfterPosition): New helper. Adds smarts about adding
   41912         newlines when the selection is a caret in a block.
   41913         (khtml::InputNewlineCommandImpl::insertNodeBeforePosition): Ditto.
   41914         (khtml::InputNewlineCommandImpl::doApply): Simplified cases. One case in the code could not
   41915         happen.
   41916         * khtml/editing/htmlediting_impl.h:
   41917 
   41918         Fix for this bug:
   41919     
   41920         <rdar://problem/3654864>: "Pasting content at start of line places it at end of previous line"
   41921 
   41922         (khtml::InputTextCommandImpl::prepareForTextInsertion): Simple code mistake. Content was indeed
   41923         being added to the line before. Fixed to add new content after the line break.
   41924 
   41925 2004-07-10  Trey Matteson  <trey (a] apple.com>
   41926 
   41927 	Prep work for latest delegate API for dragging.  In addition, I also straightened out all
   41928 	the cases of DHTML setting a drag image or setting pasteboard data, and how that would
   41929 	override WebKit's default behavior (which follows how WinIE does things).
   41930 
   41931         Reviewed by Chris.
   41932 
   41933         * khtml/rendering/render_object.cpp:
   41934         (RenderObject::draggableNode):  Obey new params for whether a DHTML or UserAgent (i.e.,
   41935 	WebKit) drag source is allowed.
   41936         * khtml/rendering/render_object.h:
   41937         * kwq/KWQKHTMLPart.h:
   41938         * kwq/KWQKHTMLPart.mm:
   41939         (KWQKHTMLPart::dispatchDragSrcEvent):  Setting pasteboard data was moved out of here, now
   41940 	caller's responsibility.
   41941         (KWQKHTMLPart::khtmlMouseMoveEvent):  Ask bridge for allowable drag actions (DHTML vs UA).
   41942 	Only send drag events if DHTML is allowed.  Only generate a drag image if the source is
   41943 	a DHTML element.  Note whether event handler set any pasteboard	data, and pass that fact
   41944 	to WebKit.
   41945         (KWQKHTMLPart::dragSourceMovedTo): Only send drag events if DHTML is allowed.  
   41946         (KWQKHTMLPart::dragSourceEndedAt): Only send drag events if DHTML is allowed.  
   41947         * kwq/WebCoreBridge.h:
   41948 
   41949 2004-06-11  Ken Kocienda  <kocienda (a] apple.com>
   41950 
   41951         Reviewed by Trey
   41952 
   41953         Lay some groundwork for better testing of inserting newlines. Layout
   41954         tests that use this new code will be coming soon.
   41955 
   41956         * khtml/editing/jsediting.cpp: Add commands for bold and inserting newlines.
   41957         * layout-tests/editing/editing.js: Added new insertNewline command.
   41958         which calls through to TypingCommand::insertNewline. There was no way to get
   41959         to this command from JS before this addition.
   41960 
   41961 2004-06-11  Ken Kocienda  <kocienda (a] apple.com>
   41962 
   41963         Reviewed by Darin
   41964 
   41965         Javascript execCommand system wants to use case-insensitive QDict.
   41966         The interface for QDict offers this feature, but it was never implemented.
   41967         Now it is.
   41968 
   41969         * kwq/KWQDictImpl.h: Declare bool to store case-sensitive bit.
   41970         * kwq/KWQDictImpl.mm:
   41971         (KWQDictImpl::KWQDictImpl): No longer drops caseSensitive on the floor; stores
   41972         it in instance variable.
   41973         (KWQDictImpl::insert): Make lowercase version of key for operation, if necessary.
   41974         (KWQDictImpl::remove): Ditto.
   41975         (KWQDictImpl::find): Ditto.
   41976         (KWQDictIteratorImpl::currentStringKey): Whitespace cleanup.
   41977 
   41978 === Safari-144 ===
   41979 
   41980 2004-06-10  Ken Kocienda  <kocienda (a] apple.com>
   41981 
   41982         Reviewed by Darin
   41983 
   41984         Fix for this bug:
   41985         
   41986         <rdar://problem/3654850>: "Style changes do not work across blocks"
   41987         
   41988         Now, applying styles works across blocks. I did quite a bit
   41989         of internal redsign on the member functions of this class to
   41990         make this work. As a bonus, from an architectural standpoint,
   41991         all style changes are now done "in place". There is no more
   41992         copying of content in order to perform style changes.
   41993 
   41994         * khtml/editing/htmlediting_impl.cpp:
   41995         (khtml::ApplyStyleCommandImpl::doApply):
   41996         (khtml::ApplyStyleCommandImpl::removeHTMLStyleNode):
   41997         (khtml::ApplyStyleCommandImpl::removeCSSStyle):
   41998         (khtml::ApplyStyleCommandImpl::removeStyle):
   41999         (khtml::ApplyStyleCommandImpl::nodeFullySelected):
   42000         (khtml::ApplyStyleCommandImpl::splitTextAtStartIfNeeded):
   42001         (khtml::ApplyStyleCommandImpl::splitTextAtEndIfNeeded):
   42002         (khtml::ApplyStyleCommandImpl::surroundNodeRangeWithElement):
   42003         (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded):
   42004         (khtml::ApplyStyleCommandImpl::positionInsertionPoint):
   42005         * khtml/editing/htmlediting_impl.h:
   42006 
   42007 2004-06-10  Darin Adler  <darin (a] apple.com>
   42008 
   42009         Reviewed by Ken.
   42010 
   42011         - filled out execCommand a lot more
   42012         - fixed <rdar://problem/3685231>: (execCommand italic is not implemented)
   42013         - fixed <rdar://problem/3685232>: (execCommand bold is not implemented)
   42014         - fixed <rdar://problem/3675899>: (Make queryCommandIndeterm work as specified in the Javascript execCommand Compatibility Plan)
   42015         - fixed <rdar://problem/3675901>: (Make queryCommandState work as specified in the Javascript execCommand Compatibility Plan)
   42016         - fixed <rdar://problem/3675904>: (Make queryCommandValue work as specified in the Javascript execCommand Compatibility Plan)
   42017 
   42018         * khtml/editing/jsediting.cpp:
   42019         (DOM::JSEditor::queryCommandIndeterm): Changed to use KHTMLPart::TriState instead of CommandState.
   42020         (DOM::JSEditor::queryCommandState): Ditto.
   42021         (execStyleChange): Changed to use KHTMLPart::applyStyle.
   42022         (stateStyle): Used KHTMLPart::selectionHasStyle for this.
   42023         (selectionStartHasStyle): Use KHTMLPart::selectionStartHasStyle for this.
   42024         (valueStyle): Used KHTMLPart::selectionStartStylePropertyValue for this.
   42025         (execBold): Implemented toggling, using selectionStartHasStyle.
   42026         (execItalic): Implemented toggling, using selectionStartHasStyle.
   42027         (execPrint): Implemented.
   42028         (enabledRedo): Implemented, using canRedo.
   42029         (enabledUndo): Implemented, using canUndo.
   42030         (stateNone): Renamed from stateNo.
   42031         (valueBackColor): Implemented, using valueStyle.
   42032         (valueFontName): Implemented, using valueStyle.
   42033         (valueFontSize): Implemented, using valueStyle.
   42034         (valueForeColor): Implemented, using valueStyle.
   42035         (valueFontSize): Implemented, using valueStyle.
   42036 
   42037         * khtml/khtml_part.h: Added editing operations.
   42038         * khtml/khtml_part.cpp:
   42039         (KHTMLPart::copyToPasteboard): Added.
   42040         (KHTMLPart::cutToPasteboard): Added.
   42041         (KHTMLPart::redo): Added.
   42042         (KHTMLPart::undo): Added.
   42043         (KHTMLPart::applyStyle): Added.
   42044         (updateState): Added.
   42045         (KHTMLPart::selectionHasStyle): Added.
   42046         (KHTMLPart::selectionStartHasStyle): Added.
   42047         (KHTMLPart::selectionStartStylePropertyValue): Added.
   42048         (KHTMLPart::selectionComputedStyle): Added.
   42049         (KHTMLPart::print): Added.
   42050 
   42051         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Call print() on plain old part, not KWQ(part).
   42052 
   42053         * kwq/KWQKHTMLPart.h: Removed print(), added _haveUndoRedoOperations.
   42054         * kwq/KWQKHTMLPart.mm:
   42055         (KHTMLPart::print): Moved from KWQKHTMLPart to KHTMLPart.
   42056         (KWQKHTMLPart::registerCommandForUndo): Moved code here from bridge.
   42057         (KWQKHTMLPart::registerCommandForRedo): Moved code here from bridge.
   42058         (KWQKHTMLPart::clearUndoRedoOperations): Moved code here from bridge.
   42059         (KWQKHTMLPart::issueUndoCommand): Moved code here from bridge.
   42060         (KWQKHTMLPart::issueRedoCommand): Moved code here from bridge.
   42061         (KWQKHTMLPart::issuePasteCommand): Moved code here from bridge.
   42062         (KHTMLPart::canUndo): Added.
   42063         (KHTMLPart::canRedo): Added.
   42064 
   42065         * kwq/WebCoreBridge.h: Added undoManager, removed undo-related methods.
   42066         * kwq/WebCoreBridge.mm: (-[WebCoreBridge applyStyle:]): Changed to call
   42067         KHTMLPart::applyStyle.
   42068 
   42069         * WebCore.pbproj/.cvsignore: Updated for new Xcode files.
   42070 
   42071 2004-06-09  Maciej Stachowiak  <mjs (a] apple.com>
   42072 
   42073         Reviewed by Dave.
   42074 
   42075 	<rdar://problem/3671555>: Blot scrolls to the top every time you type
   42076 	
   42077         * khtml/xml/dom_selection.cpp:
   42078         (DOM::Selection::getRepaintRect): If the caret position is invalid, recompute it.
   42079 
   42080 2004-06-09  David Hyatt  <hyatt (a] apple.com>
   42081 
   42082 	Fix for 3607091, implement a style that prevents zoom and min font size from taking effect.
   42083 	The name of the new style is "-apple-text-size-adjust" with values of "none" and "auto."  The default
   42084 	is "auto."
   42085 	
   42086         Reviewed by mjs
   42087 
   42088         * khtml/css/cssparser.cpp:
   42089         (CSSParser::parseValue):
   42090         * khtml/css/cssproperties.c:
   42091         (hash_prop):
   42092         (findProp):
   42093         * khtml/css/cssproperties.h:
   42094         * khtml/css/cssproperties.in:
   42095         * khtml/css/cssstyleselector.cpp:
   42096         (khtml::CSSStyleSelector::styleForElement):
   42097         (khtml::CSSStyleSelector::pseudoStyleForElement):
   42098         (khtml::CSSStyleSelector::applyDeclarations):
   42099         (khtml::CSSStyleSelector::applyProperty):
   42100         (khtml::CSSStyleSelector::checkForTextSizeAdjust):
   42101         * khtml/css/cssstyleselector.h:
   42102         * khtml/rendering/render_style.cpp:
   42103         (textSizeAdjust):
   42104         (StyleCSS3InheritedData):
   42105         (StyleCSS3InheritedData::operator==):
   42106         (RenderStyle::diff):
   42107         * khtml/rendering/render_style.h:
   42108         (khtml::RenderStyle::lineClamp):
   42109         (khtml::RenderStyle::textSizeAdjust):
   42110         (khtml::RenderStyle::setTextSizeAdjust):
   42111         (khtml::RenderStyle::initialTextSizeAdjust):
   42112 
   42113 2004-06-09  David Hyatt  <hyatt (a] apple.com>
   42114 
   42115 	Implement parsing and setting of the text-overflow CSS3 property.
   42116 	
   42117         Reviewed by kocienda
   42118 
   42119         * khtml/css/cssparser.cpp:
   42120         (CSSParser::parseValue):
   42121         * khtml/css/cssproperties.c:
   42122         (hash_prop):
   42123         (findProp):
   42124         * khtml/css/cssproperties.h:
   42125         * khtml/css/cssproperties.in:
   42126         * khtml/css/cssstyleselector.cpp:
   42127         (khtml::CSSStyleSelector::applyProperty):
   42128         * khtml/css/cssvalues.c:
   42129         (hash_val):
   42130         (findValue):
   42131         * khtml/css/cssvalues.h:
   42132         * khtml/css/cssvalues.in:
   42133         * khtml/rendering/render_style.cpp:
   42134         (textOverflow):
   42135         (StyleCSS3NonInheritedData::operator==):
   42136         (RenderStyle::diff):
   42137         * khtml/rendering/render_style.h:
   42138         (khtml::RenderStyle::textOverflow):
   42139         (khtml::RenderStyle::setTextOverflow):
   42140         (khtml::RenderStyle::initialTextOverflow):
   42141 
   42142 2004-06-09  David Hyatt  <hyatt (a] apple.com>
   42143 
   42144 	Fix for 3678031, implement better flexing for Emerson headers.  This involved adding support for max-width: intrinsic,
   42145 	fixing the box layout algorithm to properly deal with max-widths, and implementing support for baseline alignment
   42146 	so that boxes can be aligned vertically along their interior baselines.
   42147 	
   42148         Reviewed by kocienda
   42149 
   42150         * khtml/css/cssparser.cpp:
   42151         (CSSParser::parseValue):
   42152         (CSSParser::parseShadow):
   42153         * khtml/css/cssparser.h:
   42154         * khtml/css/cssproperties.c:
   42155         (hash_prop):
   42156         (findProp):
   42157         * khtml/css/cssproperties.h:
   42158         * khtml/css/cssproperties.in:
   42159         * khtml/css/cssstyleselector.cpp:
   42160         (khtml::CSSStyleSelector::applyProperty):
   42161         * khtml/css/cssvalues.c:
   42162         (hash_val):
   42163         (findValue):
   42164         * khtml/css/cssvalues.h:
   42165         * khtml/css/cssvalues.in:
   42166         * khtml/misc/khtmllayout.h:
   42167         (khtml::):
   42168         * khtml/rendering/render_block.cpp:
   42169         (khtml::RenderBlock::baselinePosition):
   42170         (khtml::RenderBlock::getBaselineOfFirstLineBox):
   42171         * khtml/rendering/render_block.h:
   42172         * khtml/rendering/render_box.cpp:
   42173         (RenderBox::RenderBox):
   42174         (RenderBox::overrideWidth):
   42175         (RenderBox::overrideHeight):
   42176         (RenderBox::calcWidth):
   42177         (RenderBox::calcHeight):
   42178         * khtml/rendering/render_box.h:
   42179         (khtml::RenderBox::overrideSize):
   42180         (khtml::RenderBox::setOverrideSize):
   42181         * khtml/rendering/render_flexbox.cpp:
   42182         (khtml::RenderFlexibleBox::calcMinMaxWidth):
   42183         (khtml::RenderFlexibleBox::layoutBlock):
   42184         (khtml::RenderFlexibleBox::layoutHorizontalBox):
   42185         (khtml::RenderFlexibleBox::layoutVerticalBox):
   42186         (khtml::RenderFlexibleBox::placeChild):
   42187         (khtml::RenderFlexibleBox::allowedChildFlex):
   42188         * khtml/rendering/render_flexbox.h:
   42189         * khtml/rendering/render_image.cpp:
   42190         (RenderImage::isWidthSpecified):
   42191         (RenderImage::isHeightSpecified):
   42192         * khtml/rendering/render_object.h:
   42193         (khtml::RenderObject::getBaselineOfFirstLineBox):
   42194         (khtml::RenderObject::overrideSize):
   42195         (khtml::RenderObject::overrideWidth):
   42196         (khtml::RenderObject::overrideHeight):
   42197         (khtml::RenderObject::setOverrideSize):
   42198         * khtml/rendering/render_style.cpp:
   42199         (StyleFlexibleBoxData::StyleFlexibleBoxData):
   42200         (StyleFlexibleBoxData::operator==):
   42201         (ShadowData::operator==):
   42202         * khtml/rendering/render_style.h:
   42203         (khtml::RenderStyle::boxPack):
   42204         (khtml::RenderStyle::setBoxPack):
   42205         * khtml/rendering/table_layout.cpp:
   42206         (AutoTableLayout::layout):
   42207 
   42208 2004-06-09  Richard Williamson   <rjw (a] apple.com>
   42209 
   42210 	Added support for drawing un-rasterized transformed PDFs.
   42211 
   42212         Reviewed by John.
   42213 
   42214         * khtml/ecma/kjs_html.cpp:
   42215         (KJS::Context2DFunction::tryCall):
   42216 
   42217 2004-06-09  Darin Adler  <darin (a] apple.com>
   42218 
   42219         Reviewed by Ken.
   42220 
   42221         - implemented still more execCommand commands
   42222 
   42223         * khtml/editing/jsediting.cpp: Added a lot more commands, and reformatted a bit.
   42224 
   42225 2004-06-08  Darin Adler  <darin (a] apple.com>
   42226 
   42227         Reviewed by Maciej.
   42228 
   42229         - implemented a bunch more execCommand commands
   42230         - fixed <rdar://problem/3684792>: (JavaScript execCommand("paste") presents security issues)
   42231         - fixed <rdar://problem/3675898>: (Make queryCommandEnabled work as specified in the Javascript execCommand Compatibility Plan)
   42232         - fixed <rdar://problem/3675903>: (Make queryCommandSupported work as specified in the Javascript execCommand Compatibility Plan)
   42233         - about half of <rdar://problem/3685231>: (execCommand italic is not implemented)
   42234         - about half of <rdar://problem/3685232>: (execCommand bold is not implemented)
   42235 
   42236         * khtml/editing/jsediting.h: Made constructor inline. Deleted a few unneeded member functions
   42237         that are now just private functions inside jsediting.cpp.
   42238 
   42239         * khtml/editing/jsediting.cpp:
   42240         (commandImp): Changed this around, so the dictionary is a static local to this function,
   42241         and initialized with C++ "first time initialization" rule.
   42242         (DOM::JSEditor::execCommand): Got rid of special case for 0 for function pointer and added const.
   42243         (DOM::JSEditor::queryCommandEnabled): Ditto.
   42244         (DOM::JSEditor::queryCommandIndeterm): Got rid of special case for 0 for function pointer, added const,
   42245         and use a common three-state state function rather than a separate "indeterm" function.
   42246         (DOM::JSEditor::queryCommandState): Ditto.
   42247         (DOM::JSEditor::queryCommandValue): More of the same.
   42248         (execNotImplemented): Added. Used for unimplemented commands; there are only a few left.
   42249         (execCopy): Renamed.
   42250         (execCut): Renamed.
   42251         (execDelete): Renamed.
   42252         (execInsertText): Renamed.
   42253         (execPaste): Renamed, and disabled.
   42254         (execRedo): Renamed.
   42255         (execSelectAll): Renamed.
   42256         (execUndo): Renamed.
   42257         (execStyleChange): Added. Helper function for commands that are style changes.
   42258         (execBold): Added.
   42259         (execItalic): Added.
   42260         (execJustifyCenter): Added.
   42261         (execJustifyFull): Added.
   42262         (execJustifyLeft): Added.
   42263         (execJustifyRight): Added.
   42264         (execSubscript): Added.
   42265         (execSuperscript): Added.
   42266         (execUnselect): Added.
   42267         (stateNotImplemented): Added. Used for unimplemented state queries; there are a few left.
   42268         (noState): Added.
   42269         (valueNotImplemented): Added. Used for unimplemented value queries; there are a few left.
   42270         (nullStringValue): Added.
   42271         (createCommandDictionary): Changed the initDict function into this function. Added implementations
   42272         for many commands and condensed format so it's easier to work with.
   42273 
   42274 2004-06-08  Darin Adler  <darin (a] apple.com>
   42275 
   42276         Reviewed by Vicki.
   42277 
   42278         - our part of fix to <rdar://problem/3629334>: (REGRESSION (Tiger): titles on pop-ups menus are truncated and show ellipses)
   42279 
   42280         * kwq/KWQComboBox.mm: (QComboBox::QComboBox): Call setLineBreakMode:NSLineBreakByClipping.
   42281         In the current version of Tiger I am using, this is not implemented yet.
   42282 
   42283         - a couple of other unrelated changes
   42284 
   42285         * khtml/rendering/render_form.cpp: (RenderTextArea::calcMinMaxWidth): Put a little more code
   42286         inside the APPLE_CHANGES ifdef.
   42287         * kwq/KWQTextEdit.h: Remove unused setTabStopWidth function, and make empty setTextFormat
   42288         function an inline for slightly smaller code size.
   42289         * kwq/KWQTextEdit.mm: Ditto.
   42290         * kwq/KWQTextField.mm: Update copyright date.
   42291 
   42292 2004-06-08  Trey Matteson  <trey (a] apple.com>
   42293 
   42294 	A DHTML drag source can now change the dragging image during the drag.  Currently
   42295 	it may only be set to a static image.
   42296 
   42297         Reviewed by John
   42298 
   42299         * kwq/KWQKHTMLPart.mm:
   42300         (KWQKHTMLPart::dragSourceMovedTo):  If the ondrag event handler set an image,
   42301 	pass it to WebKit.
   42302         * kwq/WebCoreBridge.h:
   42303 
   42304 2004-06-08  Ken Kocienda  <kocienda (a] apple.com>
   42305 
   42306         Reviewed by Hyatt
   42307 
   42308         Changes to the selection state for these tests as a result of my previous
   42309         checkin. The changes are minor to a couple of offsets. I looked at the
   42310         changes and approve them.
   42311 
   42312         * layout-tests/editing/deleting/delete-block-contents-001-expected.txt
   42313         * layout-tests/editing/deleting/delete-block-contents-002-expected.txt
   42314         * layout-tests/editing/deleting/delete-block-contents-003-expected.txt
   42315 
   42316 2004-06-08  Ken Kocienda  <kocienda (a] apple.com>
   42317 
   42318         Reviewed by Hyatt
   42319 
   42320         Fix for this bug:
   42321 
   42322         <rdar://problem/3654841>: "Hitting delete key with start of block selected 
   42323         does not merge content with preceding block"
   42324 
   42325         Selections that span blocks now work correctly for deleting the selection and inserting
   42326         over the selection. The largest part of the change is adding a new field to the 
   42327         RemoveNodeAndPruneCommand and its impl version. This was done since the starting block
   42328         for a multi-block selection should always be preserved when deleting, and this was
   42329         a convenient way to express this using the code structure already in place.
   42330         
   42331         * khtml/editing/htmlediting.cpp:
   42332         (khtml::RemoveNodeAndPruneCommand::RemoveNodeAndPruneCommand): Modify this command to 
   42333         take two nodes: the node to remove and a node to stop at when pruning back up the tree.
   42334         (khtml::RemoveNodeAndPruneCommand::pruneNode): New accessor, replaces old node() accessor.
   42335         (khtml::RemoveNodeAndPruneCommand::stopNode): New accessor for additional feature described 
   42336         above.
   42337         * khtml/editing/htmlediting.h:
   42338         * khtml/editing/htmlediting_impl.cpp:
   42339         (khtml::shouldPruneNode): blow flow renderers can now be deleted, but not if they are a 
   42340         rootEditableElement.
   42341         (khtml::CompositeEditCommandImpl::removeNodeAndPrune): Pass new stopNode param and change the
   42342         name of the existing node argument to pruneNode to distinguish it.
   42343         (khtml::DeleteSelectionCommandImpl::doApply): Pass the block containing the start of the
   42344         selection to removeNodeAndPrune in each case. Also, add one little loop to move all
   42345         the content from the block containing the end of the selection if that block is different
   42346         than the start block.
   42347         (khtml::RemoveNodeAndPruneCommandImpl::RemoveNodeAndPruneCommandImpl): Implement the
   42348         pruneNode/stopNode design already described.
   42349         (khtml::RemoveNodeAndPruneCommandImpl::~RemoveNodeAndPruneCommandImpl): Manage the
   42350         lifecycle of stopNode.
   42351         (khtml::RemoveNodeAndPruneCommandImpl::doApply): Add a check to stop at the stop
   42352         node while pruning.
   42353         * khtml/editing/htmlediting_impl.h:
   42354         (khtml::RemoveNodeAndPruneCommandImpl::pruneNode): New accessor.
   42355         (khtml::RemoveNodeAndPruneCommandImpl::stopNode): Ditto.
   42356 
   42357 2004-06-07  Trey Matteson  <trey (a] apple.com>
   42358 
   42359 	Clipboard access during DHTML dragging is made secure.
   42360 
   42361         Reviewed by John.
   42362 
   42363         * kwq/KWQClipboard.h:
   42364         (KWQClipboard::):
   42365         * kwq/KWQClipboard.mm:
   42366         (KWQClipboard::KWQClipboard):    Init new policy and changeCount members.
   42367         (KWQClipboard::becomeNumb):  Set policy to numb.
   42368         (KWQClipboard::clearData):   Check policy.
   42369         (KWQClipboard::clearAllData):   Check policy.
   42370         (KWQClipboard::getData):   Check policy and changeCount.
   42371         (KWQClipboard::setData):   Check policy.
   42372         (KWQClipboard::types):   Check policy and ChangeCount.
   42373         (KWQClipboard::setDragLocation):   Check policy.
   42374         (KWQClipboard::setDragImage):   Check policy.
   42375         (KWQClipboard::setDropEffect):   Check policy.
   42376         (KWQClipboard::setEffectAllowed):   Check policy.
   42377         * kwq/KWQKHTMLPart.mm:
   42378         (KWQKHTMLPart::dispatchDragSrcEvent):  Set policy when creating clipboard,
   42379 	and numb-ify it when we're done.
   42380         * kwq/WebCoreBridge.mm:
   42381         (-[WebCoreBridge dragOperationForDraggingInfo:]): Set policy when creating clipboard,
   42382 	and numb-ify it when we're done.
   42383         (-[WebCoreBridge dragExitedWithDraggingInfo:]):  Ditto
   42384         (-[WebCoreBridge concludeDragForDraggingInfo:]):  Ditto
   42385 
   42386 2004-06-08  Ken Kocienda  <kocienda (a] apple.com>
   42387 
   42388         * khtml/editing/jsediting.cpp:
   42389         (DOM::EditorCommand::): Stray capital letter in "selectAll" command static
   42390         initializer prevented the command from ever working since the command
   42391         strings are lower-cased when trying to find a match, but not when they
   42392         are inserted into the dictionary. This is a one character change to make
   42393         the string "selectall" in the initializer.
   42394 
   42395 2004-06-07  Trey Matteson  <trey (a] apple.com>
   42396 
   42397 	WebCore will now generate a default drag image when an element serves as a drag
   42398 	source.  The basic idea is the image contains the element and all its children.
   42399 
   42400 	As for the implementation, instead of adding a new paintAction I added a new
   42401 	field to the paintInfo struct, "paintingRoot".  If this field is set, painting will
   42402 	only paint that root's descendants.
   42403 
   42404 	Some code also moved from the bridge to the part, to be available within WebCore.
   42405 
   42406         Reviewed by hyatt.
   42407 
   42408         * khtml/rendering/render_block.cpp:
   42409         (khtml::RenderBlock::paintObject):  Pass along paintingRoot to kids.
   42410         (khtml::RenderBlock::paintFloats):  Pass along paintingRoot to kids.
   42411         * khtml/rendering/render_box.cpp:
   42412         (RenderBox::paintBoxDecorations):  Test paintingRoot before painting.
   42413         * khtml/rendering/render_canvasimage.cpp:
   42414         (RenderCanvasImage::paint):    Test paintingRoot before painting.
   42415         * khtml/rendering/render_flow.cpp:
   42416         (RenderFlow::paintLineBoxBackgroundBorder):    Test paintingRoot before painting.
   42417         (RenderFlow::paintLineBoxDecorations):    Test paintingRoot before painting.
   42418         * khtml/rendering/render_image.cpp:
   42419         (RenderImage::paint):    Test paintingRoot before painting.
   42420         * khtml/rendering/render_inline.cpp:
   42421         (RenderInline::paint):    Pass along paintingRoot to kids.
   42422         * khtml/rendering/render_layer.cpp:
   42423         (RenderLayer::paint):   Pass along paintingRoot to kids.
   42424         (RenderLayer:: paintLayer):  Pass along paintingRoot to kids.  Test if we are within the
   42425 	paintingRoot to decide whether to pass the root to our renderer.
   42426         * khtml/rendering/render_layer.h:
   42427         * khtml/rendering/render_object.cpp:
   42428         (RenderObject::hasAncestor):  New utility.
   42429         (RenderObject::absoluteBoundingBoxRect): Helper for paintingRootRect
   42430         (RenderObject::addAbsoluteRectForLayer):  Helper for paintingRootRect
   42431         (RenderObject::paintingRootRect):  Return rect that will be painted if we are
   42432 	the painting root.
   42433         (RenderObject::draggableNode):  Add test to avoid rare NULL ptr crash.
   42434         * khtml/rendering/render_object.h:
   42435         (khtml::RenderObject::PaintInfo::PaintInfo):  Add paintingRoot field.
   42436         (khtml::RenderObject::paintingRootForChildren):  New utility.  Return the current
   42437 	paintingRoot, or nil if we are the root (so kids draw normally).
   42438         (khtml::RenderObject::shouldPaintWithinRoot):  New utility.  We can paint if we
   42439 	are the paintingRoot, or no root is set.
   42440         * khtml/rendering/render_replaced.cpp:
   42441         (RenderReplaced::shouldPaint):  Pass along paintingRoot to kids.
   42442         * khtml/rendering/render_table.cpp:
   42443         (RenderTable::paint):   Pass along paintingRoot to kids.
   42444         * khtml/rendering/render_text.cpp:
   42445         (RenderText::paint):  Test paintingRoot before painting.
   42446         * kwq/KWQKHTMLPart.h:
   42447         * kwq/KWQKHTMLPart.mm:
   42448         (KWQKHTMLPart::KWQKHTMLPart):  Init new _elementToDraw member.
   42449         (KWQKHTMLPart::paint):  Generalized to handle cases of painting selection or a
   42450 	given element.
   42451         (KWQKHTMLPart::khtmlMouseMoveEvent):  Make a default image if dragSrc didn't
   42452 	provide one.
   42453         (KWQKHTMLPart::selectionRect):  Moved from bridge.
   42454         (KWQKHTMLPart::visibleSelectionRect):  Ditto.
   42455         (KWQKHTMLPart::imageFromRect):  Newly factored code, from bridge.
   42456         (KWQKHTMLPart::selectionImage):  Moved from bridge, wrapper around imageFromRect.
   42457         (KWQKHTMLPart::elementImage):  New method, wrapper around imageFromRect.
   42458         * kwq/WebCoreBridge.h:
   42459         * kwq/WebCoreBridge.mm:
   42460         (-[WebCoreBridge drawRect:withPainter:]):  Just call part to draw.
   42461         (-[WebCoreBridge visibleSelectionRect]):  Guts moved to part.
   42462         (-[WebCoreBridge selectionImage]):  Ditto.
   42463 
   42464 2004-06-07  Darin Adler  <darin (a] apple.com>
   42465 
   42466         Reviewed by Chris.
   42467 
   42468         - fixed <rdar://problem/3682821>: (setTimeout fails when additional parameters are used and timeout function is a string)
   42469 
   42470         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Ignore excess arguments instead
   42471         of rejecting the argument list for window.scrollBy, scroll, scrollTo, moveBy, moveTo,
   42472         resizeBy, resizeTo, and setTimeout (when the timeout is a string rather than an object).
   42473 
   42474         - did a refinement of JSEditor to be slightly more efficient, and not have to edit
   42475           both the .cpp file and the .h when adding more implementation
   42476 
   42477         * khtml/khtml_part.h: Hack so we can get to the docImpl and xmlDocImpl without being a friend.
   42478         * khtml/editing/jsediting.h: Simplified a bit.
   42479         * khtml/editing/jsediting.cpp: Redid to use a table, and simplified a bit.
   42480 
   42481 2004-06-07  Ken Kocienda  <kocienda (a] apple.com>
   42482 
   42483         Reviewed by Hyatt
   42484 
   42485         Fix for this bug:
   42486         
   42487         <rdar://problem/3682354>: "Typing style does not work yet"
   42488         
   42489         Did the final hook-up of support that has landed in the tree in the
   42490         recent past as part of ongoing style-application work.
   42491         
   42492         For the most part, this patch modifies the InputNewlineCommandImpl and
   42493         InputTextCommandImpl commands to insert a styling span when there is
   42494         a typing style active. 
   42495 
   42496         * khtml/editing/htmlediting_impl.cpp:
   42497         (khtml::CompositeEditCommandImpl::createTypingStyleElement): Helper
   42498         shared by the two commands modified.
   42499         (khtml::InputNewlineCommandImpl::doApply): Create a styling span if the
   42500         part has a typing style. Maintain a nodeToInsert local variable, which is
   42501         either the break to insert or a styling span containing the break. Also,
   42502         remove some utterly bogus derefs. They are just plain wrong.
   42503         (khtml::InputTextCommandImpl::InputTextCommandImpl): Don't need to keep
   42504         m_insertedTextNode. The composite commands this command uses will keep
   42505         track of that object's lifetime. We do not need to do that here.
   42506         (khtml::InputTextCommandImpl::~InputTextCommandImpl): No longer need 
   42507         to deref obsolete m_insertedTextNode.
   42508         (khtml::InputTextCommandImpl::prepareForTextInsertion): Handle the case
   42509         where a styling span needs to be added.
   42510         (khtml::TypingCommandImpl::insertText): Create a new InputTextCommand when
   42511         there is an active typping style.
   42512         * khtml/editing/htmlediting_impl.h: Declare createTypingStyleElement helper.
   42513         Remove m_insertedTextNode from InputTextCommandImpl.
   42514         * kwq/WebCoreBridge.mm:
   42515         (-[WebCoreBridge applyStyle:]): Swicth on the state of the selection, calling
   42516         setTypingStyle when a caret and ApplyStyleCommand when a range.
   42517 
   42518 2004-06-07  Darin Adler  <darin (a] apple.com>
   42519 
   42520         Reviewed by Ken.
   42521 
   42522         * khtml/editing/jsediting.h: Elide some unnecessary namespace prefixes.
   42523         * khtml/editing/jsediting.cpp: Make typed constants instead of macros.
   42524         (DOM::JSEditor::commandDict): Elide unnecessary namespace prefix.
   42525         (DOM::JSEditor::execCommand): Remove xxxNotImplemented functions; just return false instead.
   42526         (DOM::JSEditor::queryCommandEnabled): Ditto.
   42527         (DOM::JSEditor::queryCommandIndeterm): Ditto.
   42528         (DOM::JSEditor::queryCommandState): Ditto.
   42529         (DOM::JSEditor::queryCommandSupported): Ditto.
   42530         (DOM::JSEditor::queryCommandValue): Ditto.
   42531 
   42532 2004-06-05  Trey Matteson  <trey (a] apple.com>
   42533 
   42534 	As agreed with Hyatt and Louch, do not post incoming dragging events
   42535 	to text nodes.
   42536 
   42537         Reviewed by Maciej
   42538 
   42539         * khtml/khtmlview.cpp:
   42540         (KHTMLView::updateDragAndDrop):  For any drag target that is a text node,
   42541 	use its parent instead.
   42542 
   42543 2004-06-03  Trey Matteson  <trey (a] apple.com>
   42544 
   42545 	DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
   42546 
   42547 	In addition, I caught a prime gaffe where I had used "dropAllowed" instead of "effectAllowed"
   42548 	for that particular WinIE property.  That is renamed throughout.
   42549 
   42550         Reviewed by rjw
   42551 
   42552         * khtml/ecma/kjs_events.cpp:
   42553         (stringOrUndefined):  New little helper.
   42554         (Clipboard::getValueProperty):  Return Undefined if dropEffect or effectAllowed are not set.
   42555         (Clipboard::putValue):  Rename.
   42556         * khtml/ecma/kjs_events.h:
   42557         (KJS::Clipboard::):  Rename.
   42558         * khtml/ecma/kjs_events.lut.h:
   42559         * khtml/xml/dom2_eventsimpl.h:  Rename.
   42560         * kwq/KWQClipboard.h: Rename, add access to Cocoa drag op.
   42561         * kwq/KWQClipboard.mm:
   42562         (KWQClipboard::dropEffect):   These 4 just moved in the file.
   42563         (KWQClipboard::setDropEffect):
   42564         (KWQClipboard::effectAllowed):
   42565         (KWQClipboard::setEffectAllowed):
   42566         (cocoaOpFromIEOp):  Convert from an IE operation string to a Cocoa DragOp
   42567         (IEOpFromCocoaOp):  and vice-versa
   42568         (KWQClipboard::sourceOperation):  Return effectAllowed, converted to a NSDragOp
   42569         (KWQClipboard::destinationOperation):  Return dropEffect, converted to a NSDragOp
   42570         (KWQClipboard::setSourceOperation):  Set effectAllowed, using a Cocoa value
   42571         (KWQClipboard::setDestinationOperation):  Set dropEffect, using a Cocoa value
   42572         * kwq/KWQKHTMLPart.h:
   42573         * kwq/KWQKHTMLPart.mm:
   42574         (KWQKHTMLPart::dispatchDragSrcEvent):  Return the drag op specified by the source element.
   42575         (KWQKHTMLPart::khtmlMouseMoveEvent):  Pass our drag op up to WebKit.
   42576         (KWQKHTMLPart::dragSourceMovedTo):  Pass NULL for new arg.
   42577         (KWQKHTMLPart::dragSourceEndedAt):  Ditto
   42578         * kwq/WebCoreBridge.h:
   42579         * kwq/WebCoreBridge.mm:
   42580         (-[WebCoreBridge dragOperationForDraggingInfo:]):  Set the incoming dragOp onto the clipboard
   42581 	so DHTML can access it.  In addition, validate whatever op DHTML returns so we play well
   42582 	with Cocoa.
   42583 
   42584 2004-06-04  David Hyatt  <hyatt (a] apple.com>
   42585 
   42586 	Add support for auto values in flex transitions.  Add support for mapping the back end values to
   42587 	front end values.  Next it's time to actually try to use this stuff in render_flexbox.
   42588 	
   42589         Reviewed by darin
   42590 
   42591         * khtml/css/css_valueimpl.cpp:
   42592         (length):
   42593         * khtml/css/css_valueimpl.h:
   42594         (DOM::FlexGroupTransitionValueImpl::isAuto):
   42595         * khtml/css/cssparser.cpp:
   42596         (FlexGroupTransitionParseContext::length):
   42597         (FlexGroupTransitionParseContext::commitAutoValue):
   42598         (FlexGroupTransitionParseContext::commitValue):
   42599         (CSSParser::parseFlexGroupTransition):
   42600         * khtml/css/cssstyleselector.cpp:
   42601         (khtml::CSSStyleSelector::applyProperty):
   42602         * khtml/rendering/render_style.cpp:
   42603         (FlexGroupTransitionData::operator==):
   42604         * khtml/rendering/render_style.h:
   42605         (khtml::FlexGroupTransitionData::next):
   42606         (khtml::FlexGroupTransitionData::isAuto):
   42607 
   42608 === Safari-143 ===
   42609 
   42610 2004-06-04  Kevin Decker  <kdecker (a] apple.com>
   42611 
   42612         Reviewed by Dave.
   42613 
   42614         - kwq/KWQKHTMLPart.mm: addMessagetoConsole places sourceURL in the dictionary
   42615         - khtml/xml/dom_docimpl.cpp: right now, we don't have a way to get a url,
   42616           so we leave this blank
   42617         - khtml/ecma/kjs_window.cpp: still need to get the real line number and sourceURL
   42618         - khtml/ecma/kjs_proxy.cpp: now passing the sourceURL to addMessageToConsole
   42619         - khtml/ecma/kjs_events.cpp: still need to grab an accurate line number and sourceURL
   42620         
   42621         * khtml/ecma/kjs_events.cpp:
   42622         (JSEventListener::handleEvent):
   42623         (JSLazyEventListener::handleEvent):
   42624         * khtml/ecma/kjs_proxy.cpp:
   42625         (KJSProxyImpl::evaluate):
   42626         * khtml/ecma/kjs_window.cpp:
   42627         (Window::isSafeScript):
   42628         (ScheduledAction::execute):
   42629         * khtml/xml/dom_docimpl.cpp:
   42630         (DocumentImpl::open):
   42631         * kwq/KWQKHTMLPart.h:
   42632         * kwq/KWQKHTMLPart.mm:
   42633         (KWQKHTMLPart::addMessageToConsole):
   42634 
   42635 2004-06-04  Ken Kocienda  <kocienda (a] apple.com>
   42636 
   42637         Reviewed by Hyatt
   42638 
   42639         Fix a comical little bug where the style-applying code did not take into
   42640         account deleting content from the start of a block. After the deletion, 
   42641         the caret is placed in the node before the deleted content and so 
   42642         inserting a styled fragment after the deletion position works great.
   42643         The problem is that if the selectionis at the start of a block, there
   42644         is no "position before the deletion" and the caret is placed in the new
   42645         first child of the block. Inserting the styled content after this 
   42646         node is just plain wrong. Now, this case is handled correctly, and the
   42647         styled content is inserted in the proper position.
   42648 
   42649         * khtml/editing/htmlediting_impl.cpp:
   42650         (khtml::ApplyStyleCommandImpl::insertFragment):
   42651 
   42652 2004-06-04  Ken Kocienda  <kocienda (a] apple.com>
   42653 
   42654         Reviewed by Hyatt
   42655 
   42656         * khtml/rendering/bidi.cpp:
   42657         (khtml::RenderBlock::layoutInlineChildren): Only add additional line height
   42658         in for root editable elements. This helps to keep layout from deviating too
   42659         much from the intended page layout, but still gives an empty document a line
   42660         in which it can blink the caret.
   42661 
   42662 2004-06-04  Ken Kocienda  <kocienda (a] apple.com>
   42663 
   42664         Reviewed by Hyatt
   42665 
   42666         Made some progress on this set of related bugs:
   42667         
   42668         <rdar://problem/3675867>: "Make execCommand work as specified in the Javascript execCommand Compatibility Plan"
   42669         <rdar://problem/3675898>: "Make queryCommandEnabled work as specified in the Javascript execCommand Compatibility Plan"
   42670         <rdar://problem/3675899>: "Make queryCommandIndeterm work as specified in the Javascript execCommand Compatibility Plan"
   42671         <rdar://problem/3675901>: "Make queryCommandState work as specified in the Javascript execCommand Compatibility Plan"
   42672         <rdar://problem/3675903>: "Make queryCommandSupported work as specified in the Javascript execCommand Compatibility Plan"
   42673         <rdar://problem/3675904>: "Make queryCommandValue work as specified in the Javascript execCommand Compatibility Plan"
   42674         
   42675         I did several things to move the ahead with the plan:
   42676         
   42677         1. The latter five methods did not appear in the tree at all. Now they do, although
   42678         
   42679         2. I removed the implementation for these editing methods from dom_docimpl.cpp, and moved
   42680            them out to new js_editing.cpp/js_editing.h files. The remaining code in dom_docimpl.cpp
   42681            is glue to call over to the new JSEditor object defined in the new files.
   42682            
   42683         3. For a couple of the command implementations in js_editing.cpp, I made a stab at returning sensible values.
   42684            For others, I just return place-holder values. I have added some comments to describe what has been done and
   42685            what still needs to be done. 
   42686 
   42687         * WebCore.pbproj/project.pbxproj:
   42688         * khtml/dom/dom_doc.cpp: Add call-overs for these methods.
   42689         (DOM::Document::queryCommandEnabled):
   42690         (DOM::Document::queryCommandIndeterm):
   42691         (DOM::Document::queryCommandState):
   42692         (DOM::Document::queryCommandSupported):
   42693         (DOM::Document::queryCommandValue):
   42694         * khtml/dom/dom_doc.h:
   42695         * khtml/ecma/kjs_dom.cpp: Add queryCommandXXX terminology.
   42696         (DOMDocumentProtoFunc::tryCall):
   42697         * khtml/ecma/kjs_dom.h:
   42698         (KJS::DOMDocument::):
   42699         * khtml/ecma/kjs_dom.lut.h:
   42700         (KJS::):
   42701         * khtml/editing/jsediting.cpp: Added. This file implements the guts of editing-related JS methods.
   42702         (DOM::execCommandNotImplemented):
   42703         (DOM::queryBoolNotImplemented):
   42704         (DOM::queryValueNotImplemented):
   42705         (DOM::JSEditor::commandDict):
   42706         (DOM::JSEditor::JSEditor):
   42707         (DOM::JSEditor::~JSEditor):
   42708         (DOM::JSEditor::commandIdentifier):
   42709         (DOM::JSEditor::addCommand):
   42710         (DOM::JSEditor::initDict):
   42711         (DOM::JSEditor::execCommand):
   42712         (DOM::JSEditor::queryCommandEnabled):
   42713         (DOM::JSEditor::queryCommandIndeterm):
   42714         (DOM::JSEditor::queryCommandState):
   42715         (DOM::JSEditor::queryCommandSupported):
   42716         (DOM::JSEditor::queryCommandValue):
   42717         (DOM::JSEditor::execCommandCopy):
   42718         (DOM::JSEditor::execCommandCut):
   42719         (DOM::JSEditor::execCommandDelete):
   42720         (DOM::JSEditor::execCommandInsertText):
   42721         (DOM::JSEditor::execCommandPaste):
   42722         (DOM::JSEditor::execCommandRedo):
   42723         (DOM::JSEditor::execCommandSelectAll):
   42724         (DOM::JSEditor::execCommandUndo):
   42725         (DOM::JSEditor::enabledIfPartNotNull):
   42726         (DOM::JSEditor::enabledIfSelectionNotEmpty):
   42727         (DOM::JSEditor::enabledIfSelectionIsRange):
   42728         (DOM::JSEditor::commandSupported):
   42729         * khtml/editing/jsediting.h: Added.
   42730         (DOM::JSEditor::CommandIdentifier::CommandIdentifier):
   42731         (DOM::JSEditor::document):
   42732         (DOM::JSEditor::part):
   42733         * khtml/xml/dom_docimpl.cpp: Rework JS editing support into glue that calls over into new JSEditor object.
   42734         (DocumentImpl::DocumentImpl):
   42735         (DocumentImpl::~DocumentImpl):
   42736         (DocumentImpl::jsEditor):
   42737         (DocumentImpl::execCommand):
   42738         (DocumentImpl::queryCommandEnabled):
   42739         (DocumentImpl::queryCommandIndeterm):
   42740         (DocumentImpl::queryCommandState):
   42741         (DocumentImpl::queryCommandSupported):
   42742         (DocumentImpl::queryCommandValue):
   42743         * khtml/xml/dom_docimpl.h:
   42744 
   42745 2004-06-03  Richard Williamson   <rjw (a] apple.com>
   42746 
   42747 	Added setCompositeOperation method to Context2D.
   42748 	Actually pass composite operation to drawPixmap (instead of 1).
   42749 
   42750         Reviewed by jay lo.
   42751 
   42752         * khtml/ecma/kjs_html.cpp:
   42753         (KJS::Context2DFunction::tryCall):
   42754         * khtml/ecma/kjs_html.h:
   42755         (KJS::Context2D::):
   42756         * khtml/ecma/kjs_html.lut.h:
   42757         (KJS::):
   42758         * kwq/KWQPainter.h:
   42759         * kwq/KWQPainter.mm:
   42760         (QPainter::compositeOperatorFromString):
   42761         (QPainter::drawPixmap):
   42762 
   42763 2004-06-03  David Hyatt  <hyatt (a] apple.com>
   42764 
   42765 	Add support for box-flex-group-transition (whew!), a new property that is going to enable some incredibly
   42766 	complicated flexing layouts in HTML.
   42767 
   42768 	This is Stage 1 - wire up the CSS property and make it get parsed into front-end data.  Nobody actually looks
   42769 	at this data yet.
   42770 	
   42771         Reviewed by darin
   42772 
   42773         * khtml/css/css_valueimpl.cpp:
   42774         (CSSInheritedValueImpl::cssText):
   42775         (ShadowValueImpl::cssText):
   42776         (length):
   42777         (FlexGroupTransitionValueImpl::~FlexGroupTransitionValueImpl):
   42778         (FlexGroupTransitionValueImpl::cssText):
   42779         * khtml/css/css_valueimpl.h:
   42780         (DOM::FlexGroupTransitionValueImpl::cssValueType):
   42781         * khtml/css/cssparser.cpp:
   42782         (CSSParser::parseValue):
   42783         (CSSParser::parseShadow):
   42784         (FlexGroupTransitionParseContext::length):
   42785         (FlexGroupTransitionParseContext::~FlexGroupTransitionParseContext):
   42786         (FlexGroupTransitionParseContext::failed):
   42787         (FlexGroupTransitionParseContext::allowGroup):
   42788         (FlexGroupTransitionParseContext::commitGroup):
   42789         (FlexGroupTransitionParseContext::commitSlash):
   42790         (FlexGroupTransitionParseContext::commitLength):
   42791         (FlexGroupTransitionParseContext::commitValue):
   42792         (CSSParser::parseFlexGroupTransition):
   42793         * khtml/css/cssparser.h:
   42794         * khtml/css/cssproperties.c:
   42795         (hash_prop):
   42796         (findProp):
   42797         * khtml/css/cssproperties.h:
   42798         * khtml/css/cssproperties.in:
   42799         * khtml/rendering/render_style.cpp:
   42800         (StyleFlexibleBoxData::StyleFlexibleBoxData):
   42801         (StyleFlexibleBoxData::operator==):
   42802         (StyleFlexibleBoxData::transitionDataEquivalent):
   42803         (StyleCSS3InheritedData::operator==):
   42804         (StyleCSS3InheritedData::shadowDataEquivalent):
   42805         (ShadowData::operator==):
   42806         (RenderStyle::setBoxFlexGroupTransition):
   42807         (length):
   42808         (FlexGroupTransitionData::operator==):
   42809         * khtml/rendering/render_style.h:
   42810         (khtml::FlexGroupTransitionData::next):
   42811         (khtml::FlexGroupTransitionData::~FlexGroupTransitionData):
   42812         (khtml::FlexGroupTransitionData::operator!=):
   42813         (khtml::StyleFlexibleBoxData::~StyleFlexibleBoxData):
   42814         (khtml::RenderStyle::boxFlexGroupTransition):
   42815 
   42816 2004-06-03  Richard Williamson   <rjw (a] apple.com>
   42817 
   42818 	Add extra sanity check to Image parameter of drawImage...
   42819 
   42820         Reviewed by Hyatt.
   42821 
   42822         * khtml/ecma/kjs_html.cpp:
   42823         (KJS::Context2DFunction::tryCall):
   42824 
   42825 2004-06-02  David Hyatt  <hyatt (a] apple.com>
   42826 
   42827 	Fix for 3673931, negative margins on objects that dodge floats not handled correctly.
   42828 	
   42829         Reviewed by darin
   42830 
   42831         * khtml/rendering/render_block.cpp:
   42832         (khtml::RenderBlock::layoutBlockChildren):
   42833 
   42834 2004-06-03  Ken Kocienda  <kocienda (a] apple.com>
   42835 
   42836         Reviewed by Hyatt
   42837 
   42838         Fix for layout regression I caused when fixing:
   42839 
   42840         <rdar://problem/3668619>: "REGRESSION: text placed on pasteboard by WebKit is offset by one character"
   42841 
   42842         Extra height is added to empty blocks that are editable, so we can click to place
   42843         the caret in them. This extra height was erroneously being added to non-editable
   42844         blocks as a result of my earlier change. After looking at this and doing some
   42845         code review, there are the following changes:
   42846         
   42847         Change away from "containingBlock" terminology in the NodeImpl class. The
   42848         operation we are doing in NodeImpl is not the same as what is done in CSS
   42849         when it uses the term "containingBlock" so:
   42850             containingBlock changes to enclosingBlockFlowElement, and
   42851             rootEditableBlock changes to rootEditableElement
   42852         
   42853         The vast majority of changes here are to make these name changes. The other
   42854         significant piece of work, and the fix for the regression, is to change 
   42855         bidi.cpp to only include this extra line height if a block is empty
   42856         and is content-editable.    
   42857 
   42858         * khtml/editing/htmlediting_impl.cpp:
   42859         (khtml::leadingWhitespacePosition):
   42860         (khtml::trailingWhitespacePosition):
   42861         (khtml::DeleteSelectionCommandImpl::doApply):
   42862         (khtml::InputNewlineCommandImpl::doApply):
   42863         (khtml::RemoveNodeAndPruneCommandImpl::doApply):
   42864         (khtml::TypingCommandImpl::issueCommandForDeleteKey):
   42865         * khtml/rendering/bidi.cpp:
   42866         (khtml::RenderBlock::layoutInlineChildren):
   42867         * khtml/xml/dom_docimpl.cpp:
   42868         (DocumentImpl::relinquishesEditingFocus):
   42869         (DocumentImpl::acceptsEditingFocus):
   42870         * khtml/xml/dom_nodeimpl.cpp:
   42871         * khtml/xml/dom_nodeimpl.h:
   42872         * khtml/xml/dom_position.cpp:
   42873         (DOM::Position::equivalentLeafPosition):
   42874         (DOM::Position::previousCharacterPosition):
   42875         (DOM::Position::nextCharacterPosition):
   42876         (DOM::Position::previousLinePosition):
   42877         (DOM::Position::nextLinePosition):
   42878         (DOM::Position::equivalentUpstreamPosition):
   42879         (DOM::Position::equivalentDownstreamPosition):
   42880         (DOM::Position::atStartOfRootEditableElement):
   42881         (DOM::Position::inRenderedContent):
   42882         (DOM::Position::rendersOnSameLine):
   42883         (DOM::Position::rendersInDifferentPosition):
   42884         (DOM::Position::isLastRenderedPositionInEditableBlock):
   42885         (DOM::Position::inFirstEditableInRootEditableElement):
   42886         (DOM::Position::inLastEditableInRootEditableElement):
   42887         (DOM::Position::inFirstEditableInContainingEditableBlock):
   42888         (DOM::Position::inLastEditableInContainingEditableBlock):
   42889         * khtml/xml/dom_position.h:
   42890         * khtml/xml/dom_selection.cpp:
   42891         (DOM::Selection::moveToRenderedContent):
   42892 
   42893 2004-06-02  Trey Matteson  <trey (a] apple.com>
   42894 
   42895 	Added types property to JS clipboard object.
   42896 
   42897         Reviewed by Richard.
   42898 
   42899         * khtml/ecma/kjs_events.cpp:
   42900         (Clipboard::getValueProperty):  Create JS array for strings coming from the clipboard impl.
   42901         * khtml/ecma/kjs_events.h:
   42902         (KJS::Clipboard::):
   42903         * khtml/ecma/kjs_events.lut.h:
   42904         * kwq/KWQClipboard.mm:
   42905         (MIMETypeFromCocoaType):  New helper routine to map types.
   42906         (KWQClipboard::types):  Implement based on NSPasteboard's types.
   42907 
   42908 2004-06-02  Richard Williamson   <rjw (a] apple.com>
   42909 
   42910 	Corrected typo ID_IMG should have been ID_CANVAS when
   42911 	checking for the canvas composite operator.
   42912 
   42913         Reviewed by Ken.
   42914 
   42915         * khtml/rendering/render_canvasimage.cpp:
   42916         (RenderCanvasImage::paint):
   42917 
   42918 2004-06-02  Richard Williamson   <rjw (a] apple.com>
   42919 
   42920 	Correctly size the <CANVAS> if margins, borders, or
   42921 	padding is added.
   42922 
   42923         Reviewed by Trey.
   42924 
   42925         * khtml/rendering/render_canvasimage.cpp:
   42926         (RenderCanvasImage::createDrawingContext):
   42927 
   42928 2004-06-01  Trey Matteson  <trey (a] apple.com>
   42929 
   42930 	First cut at the source side of DHTML dragging.  Following IE, new events are added:
   42931 	ondragstart, ondrag, ondragend.  The recently added CSS property -khtml-user-drag can
   42932 	be used to make an element draggable.  event.dataTransfer.setDragImage(ImageObject,x,y)
   42933 	can be used from ondragstart to set a static image for the dragImage.  x,y is the location
   42934 	of the mouse within the image from the upper right corner.  clipboard methods setdata
   42935 	and cleardata are implemented.
   42936 
   42937         Reviewed by hyatt.
   42938 
   42939         * khtml/ecma/kjs_dom.cpp:
   42940         (DOMNode::getValueProperty):  Boilerplate for new events
   42941         (DOMNode::putValue):  Boilerplate for new events
   42942         * khtml/ecma/kjs_dom.h:
   42943         (KJS::DOMNode::):   Boilerplate for new events
   42944         * khtml/ecma/kjs_dom.lut.h:
   42945         * khtml/ecma/kjs_events.cpp:
   42946         (DOMMouseEvent::getValueProperty):  Return undefined for clipboard when its not a drag event.
   42947         (ClipboardProtoFunc::tryCall):  setDragImage glue to clipboard routine.
   42948         * khtml/ecma/kjs_events.h:
   42949         (KJS::Clipboard::):
   42950         * khtml/ecma/kjs_events.lut.h:
   42951         * khtml/html/html_elementimpl.cpp:
   42952         (HTMLElementImpl::parseHTMLAttribute):  Boilerplate for new events
   42953         * khtml/khtml_part.cpp:
   42954         (KHTMLPart::shouldDragAutoNode):  Empty impl of new method, where UA determines
   42955 	draggability for events with -khtml-user-drag=auto
   42956         * khtml/khtml_part.h:
   42957         * khtml/misc/htmlattrs.c:
   42958         * khtml/misc/htmlattrs.h:
   42959         * khtml/misc/htmlattrs.in:  Boilerplate for new events
   42960         * khtml/rendering/render_object.cpp:
   42961         (RenderObject::draggableNode):  Find the node or parent node which might be dragged.
   42962         * khtml/rendering/render_object.h:
   42963         * khtml/xml/dom2_eventsimpl.cpp:
   42964         (EventImpl::typeToId):  Boilerplate for new events
   42965         (EventImpl::idToType):  Boilerplate for new events
   42966         * khtml/xml/dom2_eventsimpl.h:
   42967         (DOM::EventImpl::):  Boilerplate for new events
   42968         * kwq/KWQClipboard.h:
   42969         * kwq/KWQClipboard.mm:
   42970         (KWQClipboard::clearData):  Implemented to call NSPasteboard
   42971         (KWQClipboard::clearAllData): ditto
   42972         (KWQClipboard::getData):  fix corner case that came up testing
   42973         (KWQClipboard::setData):  Implemented to call NSPasteboard
   42974         (KWQClipboard::dragLocation):  Simple setter/getters
   42975         (KWQClipboard::setDragLocation):
   42976         (KWQClipboard::dragImage):
   42977         (KWQClipboard::setDragImage):
   42978         (KWQClipboard::dragNSImage):
   42979         * kwq/KWQKHTMLPart.h:
   42980         * kwq/KWQKHTMLPart.mm:
   42981         (KWQKHTMLPart::KWQKHTMLPart): init new member var
   42982         (KWQKHTMLPart::dragHysteresisExceeded):  Hysteresis moved here from WebKit
   42983         (KWQKHTMLPart::dispatchDragSrcEvent):  Send a dragging event to the current dragSource
   42984         (KWQKHTMLPart::khtmlMouseMoveEvent):  Initiate dragging, now including consulting DHTML,
   42985 	hysteresis and sending ondragstart.
   42986         (KWQKHTMLPart::dragSourceMovedTo):  simple passthrough
   42987         (KWQKHTMLPart::dragSourceEndedAt):  simple passthrough
   42988         (KWQKHTMLPart::mouseDown):  salt away _mouseDownX, _mouseDownY
   42989         (KWQKHTMLPart::shouldDragAutoNode):  Called for -khtml-user-drag=auto.  We just call
   42990 	out to WebKit.
   42991         * kwq/WebCoreBridge.h:
   42992         * kwq/WebCoreBridge.mm:
   42993         (-[WebCoreBridge dragSourceMovedTo:]):  New glue to drive new dragging events.
   42994         (-[WebCoreBridge dragSourceEndedAt:operation:]):
   42995 
   42996 2004-06-02  Ken Kocienda  <kocienda (a] apple.com>
   42997 
   42998         Finish off name change from previous check-in by changing dom_edititerator
   42999         file names to dom_positioniterator. Files copied and renamed in repository.
   43000         Includes updated as needed.
   43001 
   43002         * ForwardingHeaders/xml/dom_edititerator.h: Removed.
   43003         * ForwardingHeaders/xml/dom_positioniterator.h: Added.
   43004         * WebCore.pbproj/project.pbxproj:
   43005         * khtml/editing/htmlediting_impl.cpp:
   43006         * khtml/xml/dom_edititerator.cpp: Removed.
   43007         * khtml/xml/dom_edititerator.h: Removed.
   43008         * khtml/xml/dom_position.cpp:
   43009         * khtml/xml/dom_positioniterator.cpp: Added.
   43010         (DOM::PositionIterator::peekPrevious):
   43011         (DOM::PositionIterator::peekNext):
   43012         (DOM::PositionIterator::atStart):
   43013         (DOM::PositionIterator::atEnd):
   43014         * khtml/xml/dom_positioniterator.h: Added.
   43015         (DOM::PositionIterator::PositionIterator):
   43016         (DOM::PositionIterator::current):
   43017         (DOM::PositionIterator::previous):
   43018         (DOM::PositionIterator::next):
   43019         (DOM::PositionIterator::setPosition):
   43020         (DOM::PositionIterator::isEmpty):
   43021         * khtml/xml/dom_selection.cpp:
   43022 
   43023 2004-06-02  Ken Kocienda  <kocienda (a] apple.com>
   43024 
   43025         Reviewed by Darin
   43026 
   43027         Probable fix for this bug:
   43028         
   43029         <rdar://problem/3668619>: "REGRESSION: text placed on pasteboard by WebKit is offset by one character"
   43030         
   43031         I could not reproduce the bug myself, which is why I call the fix
   43032         as probable.
   43033         
   43034         Darin and I did some code inspection and found some problems
   43035         with the equivalentUpstreamPosition and
   43036         equivalentDownstreamPosition functions on DOM::Position and how
   43037         these functions dealt with changing from editable to
   43038         non-editable content. As a result of these discoveries, I went
   43039         over this code and the helpers and functions which support them,
   43040         and made some corrections and simplifications. The big changes
   43041         are as follows:
   43042         
   43043         1. Rename EditIterator class to PositionIterator. This class needs
   43044         to run code for selections in non-editable content, so the name
   43045         change is appropriate.
   43046         
   43047         2. Change containingEditableBlock to containingBlock. It turns out
   43048         that none of the editing code relies on the distinction between
   43049         editable blocks and non-editable blocks. The important distinction
   43050         is the block boundary. The notion of rootEditableBlock remains.
   43051          
   43052         * khtml/editing/htmlediting_impl.cpp:
   43053         (khtml::DeleteCollapsibleWhitespaceCommandImpl::deleteWhitespace): PositionIterator name change.
   43054         (khtml::DeleteSelectionCommandImpl::joinTextNodesWithSameStyle): Ditto.
   43055         (khtml::DeleteSelectionCommandImpl::containsOnlyWhitespace): Ditto.
   43056         (khtml::DeleteSelectionCommandImpl::doApply): Ditto.
   43057         (khtml::InputNewlineCommandImpl::doApply): Ditto.
   43058         (khtml::RemoveNodeAndPruneCommandImpl::doApply): Ditto.
   43059         * khtml/rendering/bidi.cpp:
   43060         (khtml::RenderBlock::layoutInlineChildren): Ditto.
   43061         * khtml/xml/dom_edititerator.cpp:
   43062         (DOM::PositionIterator::peekPrevious): Call for previousLeafNode instead of previousEditable.
   43063         Editable check is not appropriate as this class is used for non-editable content.
   43064         (DOM::PositionIterator::peekNext): Call nextLeafNode instead of nextEditable, as above.
   43065         (DOM::PositionIterator::atStart): Call for previousLeafNode instead of previousEditable, as above.
   43066         (DOM::PositionIterator::atEnd): Call nextLeafNode instead of nextEditable, as above.
   43067         * khtml/xml/dom_edititerator.h:
   43068         (DOM::PositionIterator::PositionIterator): PositionIterator name change. Remove unused and unneeded constructors.
   43069         * khtml/xml/dom_nodeimpl.cpp:
   43070         (NodeImpl::previousEditable): Simplify. Rely on previousLeafNode as a helper.
   43071         (NodeImpl::nextEditable): Ditto, but rely on nextLeafNode.
   43072         (NodeImpl::previousLeafNode): Remove tree-walking code. Rely on traversePreviousNode as a helper.
   43073         (NodeImpl::nextLeafNode): Ditto, but rely on traverseNextNode.
   43074         (NodeImpl::containingBlock): Renamed replacement for containingEditableBlock.
   43075         (NodeImpl::inSameContainingEditableBlock): Call renamed containingBlock.
   43076         * khtml/xml/dom_nodeimpl.h:
   43077         * khtml/xml/dom_position.cpp:
   43078         (DOM::Position::previousCharacterPosition): Various name changes, as described above.
   43079         (DOM::Position::nextCharacterPosition): Ditto.
   43080         (DOM::Position::previousWordPosition): Ditto.
   43081         (DOM::Position::nextWordPosition): Ditto.
   43082         (DOM::Position::previousLinePosition): Ditto.
   43083         (DOM::Position::nextLinePosition): Ditto.
   43084         (DOM::Position::equivalentUpstreamPosition): Remove bogus check for editable node in loop. Perform
   43085         improved block-crossing check at start of loop which works for editable and non-editable content.
   43086         This is the crux of the fix for the bug.
   43087         (DOM::Position::equivalentDownstreamPosition): Ditto.
   43088         (DOM::Position::inRenderedContent): Various name changes, as described above.
   43089         (DOM::Position::rendersOnSameLine): Ditto.
   43090         (DOM::Position::rendersInDifferentPosition): Ditto.
   43091         (DOM::Position::isFirstRenderedPositionOnLine): Ditto.
   43092         (DOM::Position::isLastRenderedPositionOnLine): Ditto.
   43093         (DOM::Position::isLastRenderedPositionInEditableBlock): Ditto.
   43094         (DOM::Position::inFirstEditableInRootEditableBlock): Ditto.
   43095         (DOM::Position::inLastEditableInRootEditableBlock): Ditto.
   43096         (DOM::Position::inFirstEditableInContainingEditableBlock): Ditto.
   43097         (DOM::Position::inLastEditableInContainingEditableBlock): Ditto.
   43098 
   43099 2004-06-01  Richard Williamson   <rjw (a] apple.com>
   43100 
   43101         Fixed deployment build warning.
   43102 
   43103         * khtml/rendering/render_canvasimage.cpp:
   43104         (RenderCanvasImage::paint):
   43105 
   43106 2004-06-01  Richard Williamson   <rjw (a] apple.com>
   43107 
   43108         Added support for composite attribute to <CANVAS>
   43109         Added support for drawImage and drawImageFromRect to <CANVAS>, i.e.:
   43110 
   43111             <html>
   43112             <head>
   43113             <script>
   43114             
   43115             var img = new Image(600,600);
   43116             
   43117             function drawImage()
   43118             {
   43119                     var aCanvas = document.getElementById ("canvas1");
   43120                     var context = aCanvas.getContext("context-2d");
   43121                     context.drawImage (img, 0, 0, 600, 600, "copy");
   43122             }
   43123             
   43124             img.onload = drawImage;
   43125             img.src = "http://www.google.com/images/logo.gif";
   43126             
   43127             </script>
   43128             </head>
   43129             <body>
   43130             <canvas id="canvas1" width=600 height=600>
   43131             </body>
   43132             <html>
   43133 
   43134         Reviewed by Trey.
   43135 
   43136         * khtml/ecma/kjs_html.cpp:
   43137         (KJS::Context2DFunction::tryCall):
   43138         (Context2D::Context2D):
   43139         * khtml/ecma/kjs_html.h:
   43140         * khtml/rendering/render_canvasimage.cpp:
   43141         (RenderCanvasImage::paint):
   43142         * kwq/KWQPainter.h:
   43143         * kwq/KWQPainter.mm:
   43144         (QPainter::getCompositeOperation):
   43145         (QPainter::setCompositeOperation):
   43146         (QPainter::drawPixmap):
   43147         (QPainter::drawTiledPixmap):
   43148         * kwq/KWQPixmap.h:
   43149         * kwq/KWQPixmap.mm:
   43150         (QPixmap::flushRasterCache):
   43151         * kwq/WebCoreImageRenderer.h:
   43152         * kwq/WebCoreImageRendererFactory.h:
   43153 
   43154 2004-06-01  Ken Kocienda  <kocienda (a] apple.com>
   43155 
   43156         Reviewed by Darin
   43157 
   43158         Fix for these bugs:
   43159         
   43160         <rdar://problem/3655028>: "Text styles have hard-coded values making bold the only supported text style"
   43161         <rdar://problem/3656969>: "HTML Editing: Font panel doesn't work"
   43162 
   43163         * khtml/css/css_valueimpl.cpp:
   43164         (FontFamilyValueImpl::cssText): Added implementation for this subclass. Returns parsedFontName.  
   43165         * khtml/css/css_valueimpl.h: Declare cssText() on FontFamilyValueImpl.
   43166         (DOM::CSSProperty::value):
   43167         * khtml/editing/htmlediting.cpp:
   43168         (khtml::ApplyStyleCommand::ApplyStyleCommand): Changed signature to take a CSSStyleDeclarationImpl.
   43169         (khtml::ApplyStyleCommand::style): Added accessor.
   43170         * khtml/editing/htmlediting.h: Changed constructor signature to take a CSSStyleDeclarationImpl.
   43171         * khtml/editing/htmlediting_impl.cpp:
   43172         (khtml::styleSpanClassString): Added helper to return attribute used to tag spans we add to apply styles.
   43173         (khtml::ApplyStyleCommandImpl::ApplyStyleCommandImpl): Ref style passed in.
   43174         (khtml::ApplyStyleCommandImpl::~ApplyStyleCommandImpl): Deref style passed in.
   43175         (khtml::ApplyStyleCommandImpl::doApply): m_removingStyle is obsolete. Removed.
   43176         (khtml::ApplyStyleCommandImpl::isHTMLStyleNode): Now checks all properties in the object's declaration.
   43177         (khtml::ApplyStyleCommandImpl::removeCSSStyle): Again, now is multi-property-savvy. Will now remove an empty span
   43178         if we added it.
   43179         (khtml::ApplyStyleCommandImpl::currentlyHasStyle): Replaced, bold-only code with code that can handle all styles.
   43180         (khtml::ApplyStyleCommandImpl::computeStyleChange): Helper which helps to determine whether we want to apply
   43181         HTML-style markup for bold and italic, and gathers up all style changes that need to be done.
   43182         (khtml::ApplyStyleCommandImpl::positionInsertionPoint): Added comment explaining possible optimization that might be
   43183         done in the future.
   43184         (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Significant reworking; now handles applying multiple styles.
   43185         (khtml::ApplyStyleCommandImpl::cloneSelection): Assert fragment has at least one child. Don't want to work
   43186         on empty fragments.
   43187         (khtml::ApplyStyleCommandImpl::surroundContentsWithElement): New helper.
   43188         (khtml::RemoveCSSPropertyCommandImpl::~RemoveCSSPropertyCommandImpl): Juggle asserts and lifecycle methods to be
   43189         more like other commands.
   43190         (khtml::RemoveCSSPropertyCommandImpl::doApply): Ditto.
   43191         (khtml::RemoveNodeAttributeCommandImpl::~RemoveNodeAttributeCommandImpl): Ditto.
   43192         (khtml::RemoveNodeAttributeCommandImpl::doApply):Ditto.
   43193         * khtml/editing/htmlediting_impl.h:
   43194         (khtml::ApplyStyleCommandImpl::style): Added.
   43195         (khtml::ApplyStyleCommandImpl::StyleChange::StyleChange): Added.
   43196         * kwq/DOM-CSS.mm:
   43197         (-[DOMCSSStyleDeclaration setProperty:::]): Fix problem where passing an empty NSString to a function expecting a boolean
   43198         made all properties important priority.
   43199         * kwq/WebCoreBridge.mm:
   43200         (-[WebCoreBridge applyStyle:]): Remove provisional code and comment. Now pass along style, following the intended design.
   43201 
   43202 2004-06-01  Chris Blumenberg  <cblu (a] apple.com>
   43203 
   43204         Reviewed by kocienda.
   43205 
   43206         * kwq/WebCoreBridge.h:
   43207         * kwq/WebCoreBridge.mm:
   43208         (-[WebCoreBridge dragCaretDOMRange]): new, lets WebKit pass the drag caret DOM range to the editing delegate
   43209 
   43210 2004-05-28  John Louch  <ouch (a] apple.com>
   43211 
   43212         Reviewed by gramps.
   43213 
   43214         - removed setShadowWithColor and change setShadow to work with optional attributes
   43215           it follows the same rules as setFill/StrokeColor
   43216         - Fixed bug in setFillColor and setStrokeColor for CMYK colors (missing break in case).
   43217 
   43218         * khtml/ecma/kjs_html.cpp:
   43219         (KJS::Context2DFunction::tryCall):
   43220         * khtml/ecma/kjs_html.h:
   43221         (KJS::Context2D::):
   43222         * khtml/ecma/kjs_html.lut.h:
   43223         (KJS::):
   43224 
   43225 2004-05-28  Darin Adler  <darin (a] apple.com>
   43226 
   43227         Reviewed by Ken.
   43228 
   43229         - various editing-related improvements
   43230 
   43231         * khtml/xml/dom_selection.h: Removed UP and DOWN directions, and added PARAGRAPH granularity.
   43232         * khtml/xml/dom_selection.cpp:
   43233         (DOM::Selection::modify): Got rid of the UP and DOWN directions, and made movement
   43234         between lines happen when granularity is LINE. Added a new unimplemented granularity:
   43235         PARAGRAPH.
   43236         (DOM::Selection::validate): Remove some unneeded APPLE_CHANGES. The code need not be ifdef'd.
   43237         (DOM::Selection::debugPosition): Ditto.
   43238 
   43239         * kwq/WebCoreBridge.h: Removed WebSelectUp and WebSelectDown, and added WebSelectByParagraph.
   43240         Added stringForRange: and selectedDOMRangeWithGranularity:, and renamed replaceSelectionWithNewline
   43241         to insertNewline because it has the insertText: semantic, not the replaceSelectionWithText: one.
   43242         * kwq/WebCoreBridge.mm:
   43243         (-[WebCoreBridge stringForRange:]): Added.
   43244         (-[WebCoreBridge selectedDOMRangeWithGranularity:]): Added.
   43245         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Updated code to understand
   43246         that vertical movement is based on granularity now, not direction.
   43247         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:]): Moved an ensureCaretVisible
   43248         from the WebKit down here. I think perhaps this should go down even further in WebCore.
   43249         (-[WebCoreBridge insertNewline]): Renamed, and moved ensureCaretVisible here.
   43250         (-[WebCoreBridge insertText:]): Moved ensureCaretVisible here.
   43251         (-[WebCoreBridge deleteKeyPressed]): Moved ensureCaretVisible here.
   43252 
   43253         * khtml/xml/dom_position.cpp: Some ifdef tweaks.
   43254 
   43255         * khtml/misc/helper.cpp: Namespace and formatting tweaks.
   43256         * khtml/misc/helper.h: Removed some unused stuff.
   43257 
   43258         * khtml/dom/dom2_range.h: Make range constructor public so that anyone with
   43259         a RangeImpl can easily make a Range.
   43260 
   43261 2004-05-28  Richard Williamson   <rjw (a] apple.com>
   43262 
   43263 	setStrokeColor and setFillColor now support
   43264 	old school web color string, oswcs+alpha, gray, gray+alpha,
   43265 	rgba, and cmyka.
   43266 
   43267         Reviewed by jay-lo.
   43268 
   43269         * khtml/css/cssparser.cpp:
   43270         (CSSParser::parseColor):
   43271         (CSSParser::parseColorFromValue):
   43272         * khtml/css/cssparser.h: Made parseColor static public class method
   43273         * khtml/ecma/kjs_html.cpp:
   43274         (KJS::Context2DFunction::tryCall):
   43275 
   43276 2004-05-28  David Hyatt  <hyatt (a] apple.com>
   43277 
   43278 	Implement -khtml-user-select and add support for the property -khtml-user-drag (although someone will still
   43279 	need to wire it up).
   43280 	
   43281         Reviewed by rjw
   43282 
   43283         * khtml/css/cssparser.cpp:
   43284         (CSSParser::parseValue):
   43285         * khtml/css/cssproperties.c:
   43286         (hash_prop):
   43287         (findProp):
   43288         * khtml/css/cssproperties.h:
   43289         * khtml/css/cssproperties.in:
   43290         * khtml/css/cssstyleselector.cpp:
   43291         (khtml::CSSStyleSelector::applyProperty):
   43292         * khtml/css/cssvalues.c:
   43293         (hash_val):
   43294         (findValue):
   43295         * khtml/css/cssvalues.h:
   43296         * khtml/css/cssvalues.in:
   43297         * khtml/khtml_part.cpp:
   43298         (KHTMLPart::handleMousePressEventDoubleClick):
   43299         (KHTMLPart::handleMousePressEventTripleClick):
   43300         (KHTMLPart::handleMousePressEventSingleClick):
   43301         (KHTMLPart::handleMouseMoveEventSelection):
   43302         * khtml/rendering/render_canvas.cpp:
   43303         (RenderCanvas::setSelection):
   43304         * khtml/rendering/render_object.cpp:
   43305         (RenderObject::shouldSelect):
   43306         * khtml/rendering/render_object.h:
   43307         * khtml/rendering/render_style.cpp:
   43308         (userSelect):
   43309         (StyleCSS3NonInheritedData::operator==):
   43310         (RenderStyle::diff):
   43311         * khtml/rendering/render_style.h:
   43312         (khtml::):
   43313         (khtml::RenderStyle::userDrag):
   43314         (khtml::RenderStyle::userSelect):
   43315         (khtml::RenderStyle::setUserDrag):
   43316         (khtml::RenderStyle::setUserSelect):
   43317         (khtml::RenderStyle::initialUserDrag):
   43318         (khtml::RenderStyle::initialUserSelect):
   43319 
   43320 2004-05-28  John Louch  <set EMAIL_ADDRESS environment variable>
   43321 	added addArc and clip path routines.
   43322 
   43323         Reviewed by sullivan.
   43324 
   43325         * khtml/ecma/kjs_html.cpp:
   43326         (KJS::Context2DFunction::tryCall):
   43327         * khtml/ecma/kjs_html.h:
   43328         (KJS::Context2D::):
   43329         * khtml/ecma/kjs_html.lut.h:
   43330         (KJS::):
   43331 
   43332 2004-05-28  John Louch  <ouch (a] apple.com>
   43333 
   43334 	Added addArcToPoint and addRect path routines.
   43335 
   43336         Reviewed by sullivan.
   43337 
   43338         * khtml/ecma/kjs_html.cpp:
   43339         (KJS::Context2DFunction::tryCall):
   43340         * khtml/ecma/kjs_html.h:
   43341         (KJS::Context2D::):
   43342         * khtml/ecma/kjs_html.lut.h:
   43343         (KJS::):
   43344 
   43345 2004-05-27  Ken Kocienda  <kocienda (a] apple.com>
   43346 
   43347         Reviewed by John
   43348 
   43349         * khtml/xml/dom_selection.cpp:
   43350         (DOM::Selection::toRange): Add call to update document layout before returning a Range.
   43351         This is done to ensure recently-done editing changes are reflected in the calculation
   43352         of the Range. This change solves a specific problem with updating the font panel, where
   43353         the wrong Range was used, resulting in an incorrect font. Also, defer converting 
   43354         positions to be range-compliant positions. The nodeIsBeforeNode function is not 
   43355         range-compliant-position-savvy.
   43356 
   43357 2004-05-27  Kevin Decker  <kdecker (a] apple.com>
   43358 
   43359         Reviewed by Ken.
   43360         
   43361         - added support for the new JavaScript error console
   43362         - error messages are now wired directly to the bridge
   43363         - revised generated error message content
   43364         
   43365         * khtml/ecma/kjs_events.cpp:
   43366         (JSEventListener::handleEvent):
   43367         * khtml/ecma/kjs_proxy.cpp:
   43368         (KJSProxyImpl::evaluate):
   43369         * khtml/ecma/kjs_window.cpp:
   43370         (Window::isSafeScript):
   43371         (ScheduledAction::execute):
   43372         * kwq/KWQKHTMLPart.h:
   43373         * kwq/KWQKHTMLPart.mm:
   43374         (KWQKHTMLPart::addMessageToConsole):
   43375         * kwq/WebCoreBridge.h:
   43376         * kwq/WebCoreBridge.mm:
   43377 
   43378 2004-05-27  Trey Matteson  <trey (a] apple.com>
   43379 
   43380 	Two dragging tweaks:  ondragleave events are sent before ondragenter events when
   43381 	going across element boundaries, to match WinIE.
   43382 	For compatibility with WinIE, we honor MIME types of "Text" and "URL".
   43383 
   43384         Reviewed by rjw.
   43385 
   43386         * khtml/khtmlview.cpp:
   43387         (KHTMLView::updateDragAndDrop):
   43388         * kwq/KWQClipboard.mm:
   43389         (cocoaTypeFromMIMEType):
   43390 
   43391 === Safari-142 ===
   43392 
   43393 2004-05-27  Vicki Murley <vicki (a] apple.com>
   43394 
   43395         Reviewed by Darin.
   43396 
   43397 	- Fix Tiger build failure.  Rename constant "S" to "WHITESPACE",
   43398 	and change all instances of S to WHITESPACE.
   43399 
   43400         * khtml/css/cssparser.cpp:
   43401         (DOM::CSSParser::lex): S to WHITESPACE
   43402         * khtml/css/parser.cpp: regenerated file
   43403         * khtml/css/parser.h: regenerated file
   43404         * khtml/css/parser.y: S to WHITESPACE
   43405         * khtml/css/tokenizer.cpp: regenerated file
   43406         * khtml/css/tokenizer.flex: S to WHITESPACE
   43407 
   43408 2004-05-27  John Louch  <set EMAIL_ADDRESS environment variable>
   43409 
   43410         * khtml/ecma/kjs_html.cpp:
   43411         (KJS::Context2DFunction::tryCall):
   43412         * khtml/ecma/kjs_html.h:
   43413         (KJS::Context2D::):
   43414         * khtml/ecma/kjs_html.lut.h:
   43415         (KJS::):
   43416 
   43417 2004-05-27  Trey Matteson  <trey (a] apple.com>
   43418 
   43419  	First cut at DHTML dragging, destination side.  Dragging text, files
   43420         and URLs onto elements works.  Type conversion from NSPasteboard to
   43421 	MIME types is hardwired.  No JS access yet to modifier keys, or
   43422 	drag operations mask.
   43423 
   43424 	Per IE's dragging API, we have the new DOM events ondragenter,
   43425 	ondragover, ondragleave and ondrop.
   43426 	We also have an event.dataTransfer object providing access to the
   43427 	NSPasteboard bearing the incoming data.
   43428 
   43429         Reviewed by rjw.
   43430 
   43431         * WebCore.pbproj/project.pbxproj:  add 2 new files.
   43432         * khtml/ecma/kjs_dom.cpp:
   43433         (DOMNode::getValueProperty):  JS access to ondragenter and pals
   43434         (DOMNode::putValue):  Ditto
   43435         * khtml/ecma/kjs_dom.h:
   43436         (KJS::DOMNode::):  New attr enum values.
   43437         * khtml/ecma/kjs_dom.lut.h:
   43438         (KJS::):
   43439         * khtml/ecma/kjs_events.cpp:
   43440         (DOMMouseEvent::mark):  Pass along mark to dataTransfer we hold.
   43441         (DOMMouseEvent::getValueProperty):  Create and return dataTransfer.
   43442         (Clipboard::Clipboard):  New class exposed in JS.
   43443         (Clipboard::~Clipboard):
   43444         (Clipboard::tryGet):  Boilerplate.
   43445         (Clipboard::getValueProperty):  Return the clipboard's props.
   43446         (Clipboard::tryPut):  Boilerplate.
   43447         (Clipboard::putValue):  Set the clipboard's props.
   43448         (ClipboardProtoFunc::tryCall): Implement clipboard's funcs.
   43449         * khtml/ecma/kjs_events.h:
   43450         (KJS::DOMMouseEvent::DOMMouseEvent):  Init clipboard ptr.
   43451         (KJS::DOMMouseEvent::):
   43452         (KJS::Clipboard::toBoolean):
   43453         (KJS::Clipboard::classInfo):
   43454         (KJS::Clipboard::):
   43455         * khtml/ecma/kjs_events.lut.h:
   43456         (KJS::):
   43457         * khtml/html/html_elementimpl.cpp:
   43458         (HTMLElementImpl::parseHTMLAttribute):  Enable setting ondragenter
   43459 	and friends as html attributes.
   43460         * khtml/khtmlview.cpp:
   43461         (KHTMLView::dispatchDragEvent):  Send a drag related event to the DOM.
   43462         (KHTMLView::updateDragAndDrop):  Handle a dragenter or dragupdate.
   43463         (KHTMLView::cancelDragAndDrop):  Handle a dragexit.
   43464         (KHTMLView::performDragAndDrop):  Handle an actual drop.
   43465         * khtml/khtmlview.h:
   43466         * khtml/misc/htmlattrs.c:  Generated code.
   43467         * khtml/misc/htmlattrs.h:  Generated code.
   43468         * khtml/misc/htmlattrs.in:  Add ondragenter, etc
   43469         * khtml/xml/dom2_eventsimpl.cpp:
   43470         (EventImpl::typeToId):  Handle new event types for dragging.
   43471         (EventImpl::idToType):  Ditto.
   43472         (MouseEventImpl::MouseEventImpl):  Init new clipboard ptr.
   43473         (MouseEventImpl::~MouseEventImpl):  Deref clipboard.
   43474         (ClipboardImpl::ClipboardImpl):
   43475         (ClipboardImpl::~ClipboardImpl):
   43476         * khtml/xml/dom2_eventsimpl.h:
   43477         (DOM::EventImpl::):  New event enums.
   43478         (DOM::MouseEventImpl::clipboard):
   43479         * kwq/KWQClipboard.h: Added.
   43480         * kwq/KWQClipboard.mm: Added.
   43481         (KWQClipboard::KWQClipboard):
   43482         (KWQClipboard::~KWQClipboard):
   43483         (KWQClipboard::isForDragging): Trivial getter/setters.
   43484         (KWQClipboard::dropEffect):
   43485         (KWQClipboard::setDropEffect):
   43486         (KWQClipboard::dropAllowed):
   43487         (KWQClipboard::setDropAllowed):
   43488         (cocoaTypeFromMIMEType):  Convert MIME pboard type to Cocoa type.
   43489         (KWQClipboard::clearData):  OSX specific clipboard impl. of IE func
   43490         (KWQClipboard::clearAllData):   Ditto
   43491         (KWQClipboard::getData): Ditto
   43492         (KWQClipboard::setData): Ditto
   43493         * kwq/WebCoreBridge.h:
   43494         * kwq/WebCoreBridge.mm:
   43495         (-[WebCoreBridge dragOperationForDraggingInfo:]):  Passthrough from WebKit to khtmlpart
   43496         (-[WebCoreBridge dragExitedWithDraggingInfo:]):  Ditto
   43497         (-[WebCoreBridge concludeDragForDraggingInfo:]): Ditto
   43498 
   43499 2004-05-27  Ken Kocienda  <kocienda (a] apple.com>
   43500 
   43501         Reviewed by Gramps
   43502 
   43503         * kwq/KWQKHTMLPart.h: Declare new fontForCurrentPosition helper.
   43504         * kwq/KWQKHTMLPart.mm:
   43505         (KWQKHTMLPart::fontForCurrentPosition): Determines the "current font" in the way that Cocoa
   43506         does. Either the font of the character before the caret, when the selection is a caret, or
   43507         the font of the first character selected, when the selection is a range.
   43508         * kwq/WebCoreBridge.h: Declare bridge method so this can be called from WebKit.
   43509         * kwq/WebCoreBridge.mm:
   43510         (-[WebCoreBridge fontForCurrentPosition]): Calls through to fontForCurrentPosition on KWQKHTMLPart.
   43511 
   43512 2004-05-27  Ken Kocienda  <kocienda (a] apple.com>
   43513 
   43514         Reviewed by Gramps
   43515         
   43516         Adds a typing style member variable to khtml part.
   43517         This patch adds basic life-cycle management and 
   43518         accessors. In addition, one essential piece of
   43519         behavior has been added: Clearing the typing style
   43520         whenever the selection changes.
   43521 
   43522         Follow-on work will make this typing style a fully 
   43523         functional part of applying styles to text while typing.
   43524 
   43525         * khtml/khtml_part.cpp:
   43526         (KHTMLPart::notifySelectionChanged): Clear typing style.
   43527         (KHTMLPart::typingStyle): Getter.
   43528         (KHTMLPart::setTypingStyle): Setter.
   43529         (KHTMLPart::clearTypingStyle): Convenience. Sets to 0.
   43530         * khtml/khtml_part.h: Function declarations.
   43531         * khtml/khtmlpart_p.h:
   43532         (KHTMLPartPrivate::KHTMLPartPrivate): Initialize member variable.
   43533         (KHTMLPartPrivate::~KHTMLPartPrivate): Deref if necessary.
   43534 
   43535 2004-05-27  Ken Kocienda  <kocienda (a] apple.com>
   43536 
   43537         Reviewed by Gramps
   43538 
   43539         Add helper to get the DOM element for a Position.
   43540         
   43541         * khtml/xml/dom_position.cpp:
   43542         (DOM::Position::element): Returns the Position's node if it is an element, or
   43543         the first ancestor of the node that is an element. Returns 0 if node is not
   43544         an element and has no parent that is an element.
   43545         * khtml/xml/dom_position.h: Added declaration.
   43546 
   43547 2004-05-27  Darin Adler  <darin (a] apple.com>
   43548 
   43549         Reviewed by Maciej.
   43550 
   43551         - moved to new symlink technique for embedding frameworks
   43552 
   43553         * WebCore.pbproj/project.pbxproj: Get rid of embed-frameworks build step
   43554         because we don't need it any more.
   43555 
   43556 2004-05-27  Darin Adler  <darin (a] apple.com>
   43557 
   43558         - fixed bug where all pages with images would cause a crash
   43559         - fixed Deployment build
   43560 
   43561         * kwq/KWQPainter.mm: (QPainter::drawPixmap): Put #if 0 around placeholder code
   43562         for setting up the graphics context.
   43563 
   43564 2004-05-26  Richard Williamson   <rjw (a] apple.com>
   43565 
   43566 	Added shadow support (w/ Louch).
   43567 	Added infrastructure for drawing images.
   43568 
   43569 	New context methods:
   43570 
   43571 	setShadow
   43572 	setShadowWithColor
   43573 	clearShadow
   43574 
   43575 	Reviewed by me and Louch.
   43576 
   43577         * khtml/ecma/kjs_html.cpp:
   43578         (KJS::Context2DFunction::tryCall):
   43579         * khtml/ecma/kjs_html.h:
   43580         (KJS::Image::image):
   43581         (KJS::Context2D::):
   43582         * khtml/ecma/kjs_html.lut.h:
   43583         (KJS::):
   43584         * kwq/KWQPainter.h:
   43585         * kwq/KWQPainter.mm:
   43586         (QPainter::drawPixmap):
   43587 
   43588 2004-05-26  Richard Williamson   <rjw (a] apple.com>
   43589 
   43590 	Fixed build snafu.
   43591 
   43592         * khtml/ecma/kjs_html.cpp:
   43593         (KJS::Context2DFunction::tryCall):
   43594         * khtml/ecma/kjs_html.h:
   43595         (KJS::Context2D::):
   43596         * khtml/ecma/kjs_html.lut.h:
   43597         (KJS::):
   43598 
   43599 2004-05-26  Richard Williamson   <rjw (a] apple.com>
   43600 
   43601 	Part 2 of the new <CANVAS> tag implementation.  This adds the 
   43602 	basic machinery and draw operations for the <CANVAS> tag.  Pretty cool.  
   43603 
   43604         function drawLine() {
   43605 	    var canvas1 = document.getElementById ("canvas1");
   43606 	    var context = canvas1.getContext("context-2d");
   43607 
   43608 	    context.setStrokeColor ("red");
   43609 	    context.setLineWidth (10);
   43610 	    context.beginPath();
   43611 	    context.moveToPoint (0,0);
   43612 	    context.addLineToPoint (400,400);
   43613 	    context.strokePath();
   43614         }
   43615 
   43616         ...
   43617 
   43618         <canvas id="canvas1" width="400" height="400">
   43619 
   43620 Currently supported operations on the 2D context are:
   43621 
   43622 Save, Restore,
   43623 Scale, Rotate, Translate,
   43624 BeginPath, ClosePath,
   43625 SetStrokeColor, SetFillColor, SetLineWidth, SetLineCap, SetLineJoin, SetMiterLimit,
   43626 FillPath, StrokePath,
   43627 MoveToPoint, AddLineToPoint, AddQuadraticCurveToPoint, AddBezierCurveToPoint,
   43628 ClearRect
   43629 
   43630 	More to come.
   43631 
   43632         Reviewed by Dave.
   43633 
   43634         * khtml/ecma/kjs_html.cpp:
   43635         (KJS::HTMLElementFunction::tryCall):
   43636         (KJS::Context2DFunction::tryCall):
   43637         (Context2D::tryGet):
   43638         (Context2D::getValueProperty):
   43639         (Context2D::tryPut):
   43640         (Context2D::putValue):
   43641         (Context2D::Context2D):
   43642         (Context2D::~Context2D):
   43643         * khtml/ecma/kjs_html.h:
   43644         (KJS::Context2D::toBoolean):
   43645         (KJS::Context2D::classInfo):
   43646         (KJS::Context2D::):
   43647         * khtml/ecma/kjs_html.lut.h:
   43648         (KJS::):
   43649         * khtml/html/html_canvasimpl.cpp:
   43650         (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
   43651         * khtml/html/htmlparser.cpp:
   43652         (KHTMLParser::getElement):
   43653         * khtml/rendering/render_canvasimage.cpp:
   43654         (RenderCanvasImage::RenderCanvasImage):
   43655         (RenderCanvasImage::~RenderCanvasImage):
   43656         (RenderCanvasImage::createDrawingContext):
   43657         (RenderCanvasImage::drawingContext):
   43658         (RenderCanvasImage::setNeedsImageUpdate):
   43659         (RenderCanvasImage::updateDrawnImage):
   43660         (RenderCanvasImage::drawnImage):
   43661         (RenderCanvasImage::paint):
   43662         (RenderCanvasImage::layout):
   43663         * khtml/rendering/render_canvasimage.h:
   43664         * khtml/rendering/render_image.cpp:
   43665         (RenderImage::paint):
   43666         * khtml/rendering/render_image.h:
   43667         * khtml/rendering/render_replaced.cpp:
   43668         (RenderReplaced::shouldPaint):
   43669         (RenderWidget::paint):
   43670         * kwq/KWQPainter.h:
   43671         * kwq/KWQPainter.mm:
   43672         (QPainter::currentContext):
   43673 
   43674 2004-05-26  Darin Adler  <darin (a] apple.com>
   43675 
   43676         - fixed warning that prevents Deployment build from compiling
   43677 
   43678         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMousePressEvent):
   43679         Moved use of single-click boolean outside the scope of the "block exceptions" macros.
   43680 
   43681 2004-05-25  Chris Blumenberg  <cblu (a] apple.com>
   43682 
   43683 	Fixed a regression where selections that were created via double or triple were not draggable.
   43684 
   43685         Reviewed by darin.
   43686 
   43687         * kwq/KWQKHTMLPart.mm:
   43688         (KWQKHTMLPart::khtmlMousePressEvent): if the click count is greater than 1, don't allow drags
   43689         (KWQKHTMLPart::khtmlMouseMoveEvent): allow drags to occur even if the selection was originally created via double or triple click
   43690 
   43691 2004-05-25  Chris Blumenberg  <cblu (a] apple.com>
   43692 
   43693 	Fixed regression where undoing typing would undo character-by-character.
   43694 
   43695         Reviewed by kocienda.
   43696 
   43697         * kwq/WebCoreBridge.h:
   43698         * kwq/WebCoreBridge.mm:
   43699         (-[WebCoreBridge insertText:]): new, this method used to be replaceSelectionWithText, but replaceSelectionWithText now is one operation whereas calls to insertText: are coalesced
   43700 
   43701 2004-05-25  Ken Kocienda  <kocienda (a] apple.com>
   43702 
   43703         Reviewed by John
   43704 
   43705         Change postDidChangeSelectionNotification and postDidChangeNotification tp
   43706         respondToChangedSelection and respondToChangedContents, respectively, to
   43707         account for the fact that we do work in these calls other than post a
   43708         notification.
   43709 
   43710         * khtml/khtml_part.cpp:
   43711         (KHTMLPart::notifySelectionChanged): Use new names.
   43712         (KHTMLPart::appliedEditing): Ditto.
   43713         (KHTMLPart::unappliedEditing): Ditto.
   43714         (KHTMLPart::reappliedEditing): Ditto.
   43715         * kwq/KWQKHTMLPart.h: Change name of functions as described.
   43716         * kwq/KWQKHTMLPart.mm:
   43717         (KWQKHTMLPart::respondToChangedSelection): Ditto.
   43718         (KWQKHTMLPart::respondToChangedContents): Ditto.
   43719         * kwq/WebCoreBridge.h: Ditto.
   43720 
   43721 2004-05-25  Maciej Stachowiak  <mjs (a] apple.com>
   43722 
   43723         Fixed build.
   43724 
   43725         * ForwardingHeaders/misc/khtml_text_operations.h: Added.
   43726 
   43727 2004-05-25  Richard Williamson   <rjw (a] apple.com>
   43728 
   43729 	Part 1 of the new <CANVAS> tag implementation.  This patch
   43730 	adds the boiler plate for the new element.
   43731 
   43732         Reviewed by Dave.
   43733 
   43734         * ForwardingHeaders/html/html_canvasimpl.h: Added.
   43735         * ForwardingHeaders/rendering/render_canvasimage.h: Added.
   43736         * WebCore.pbproj/project.pbxproj:
   43737         * khtml/ecma/kjs_html.cpp:
   43738         (KJS::HTMLElement::classInfo):
   43739         (KJS::HTMLElementFunction::tryCall):
   43740         * khtml/ecma/kjs_html.h:
   43741         (KJS::HTMLElement::):
   43742         * khtml/ecma/kjs_html.lut.h:
   43743         (KJS::):
   43744         * khtml/html/dtd.cpp:
   43745         (DOM::checkChild):
   43746         * khtml/html/html_canvasimpl.cpp: Added.
   43747         (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
   43748         (HTMLCanvasElementImpl::~HTMLCanvasElementImpl):
   43749         (HTMLCanvasElementImpl::id):
   43750         (HTMLCanvasElementImpl::mapToEntry):
   43751         (HTMLCanvasElementImpl::parseHTMLAttribute):
   43752         (HTMLCanvasElementImpl::createRenderer):
   43753         (HTMLCanvasElementImpl::attach):
   43754         (HTMLCanvasElementImpl::detach):
   43755         (HTMLCanvasElementImpl::isURLAttribute):
   43756         * khtml/html/html_canvasimpl.h: Added.
   43757         * khtml/html/htmlparser.cpp:
   43758         (KHTMLParser::getElement):
   43759         * khtml/misc/htmltags.c:
   43760         (hash_tag):
   43761         (findTag):
   43762         * khtml/misc/htmltags.h:
   43763         * khtml/misc/htmltags.in:
   43764         * khtml/rendering/render_canvasimage.cpp: Added.
   43765         (RenderCanvasImage::RenderCanvasImage):
   43766         (RenderCanvasImage::~RenderCanvasImage):
   43767         (RenderCanvasImage::paint):
   43768         (RenderCanvasImage::layout):
   43769         * khtml/rendering/render_canvasimage.h: Added.
   43770         (khtml::RenderCanvasImage::renderName):
   43771         (khtml::RenderCanvasImage::element):
   43772 
   43773 2004-05-25  Chris Blumenberg  <cblu (a] apple.com>
   43774 
   43775 	Fixed: <rdar://problem/3546418>: (when dragging text within an editable HTML doc, the selection should be moved not copied)
   43776 
   43777         Reviewed by kocienda.
   43778 
   43779         * khtml/editing/htmlediting_impl.cpp:
   43780         (khtml::MoveSelectionCommandImpl::doApply): implemented
   43781         * khtml/khtml_part.cpp:
   43782         (KHTMLPart::setDragCaret): make the old drag cursor rect dirty
   43783         * khtml/khtml_part.h:
   43784 
   43785 2004-05-25  Maciej Stachowiak  <mjs (a] apple.com>
   43786 
   43787         Reviewed by John.
   43788 
   43789 	- fixed <rdar://problem/3657363>: (Editing: export innerText, innerHTML, outerText, outerHTML and setters to Objective-C)
   43790 	- partial fix for <rdar://problem/3656706>: (Fix innerText and setInnerText DOM extensions)
   43791 	
   43792         * khtml/html/html_elementimpl.cpp:
   43793 	(HTMLElementImpl::innerText): Use plainText() to make the text, to
   43794 	match other browsers.
   43795         (HTMLElementImpl::outerText): Extended comment.
   43796         * khtml/misc/khtml_text_operations.h:
   43797         * kwq/DOMExtensions.h:
   43798         * kwq/DOMHTML.mm:
   43799         (-[DOMHTMLElement outerText]): Added new ObjC wrapper for this.
   43800         (-[DOMHTMLElement setOuterText:]): Ditto.
   43801 
   43802 2004-05-25  Ken Kocienda  <kocienda (a] apple.com>
   43803 
   43804         Reviewed by Chris
   43805         
   43806         Defer setting the selection to delete when none has been passed in to the
   43807         time that the command is run. This fixes a problem where a command nested
   43808         in a composite was not correctly picking up the right selection to begin
   43809         its work. Now, the command will correctly use the ending selection of
   43810         its parent when no selection has been passed in.
   43811 
   43812         * khtml/editing/htmlediting_impl.cpp:
   43813         (khtml::DeleteCollapsibleWhitespaceCommandImpl::DeleteCollapsibleWhitespaceCommandImpl):
   43814         (khtml::DeleteCollapsibleWhitespaceCommandImpl::doApply):
   43815         (khtml::DeleteSelectionCommandImpl::DeleteSelectionCommandImpl):
   43816         (khtml::DeleteSelectionCommandImpl::doApply):
   43817         * khtml/editing/htmlediting_impl.h:
   43818 
   43819 2004-05-24  Maciej Stachowiak  <mjs (a] apple.com>
   43820 
   43821         Reviewed by Dave.
   43822 
   43823 	Added a new simple layout test for outerText.
   43824 
   43825         * layout-tests/fast/dom/outerText-expected.txt: Added.
   43826         * layout-tests/fast/dom/outerText.html: Added.
   43827 
   43828 2004-05-24  Darin Adler  <darin (a] apple.com>
   43829 
   43830         Reviewed by Vicki.
   43831 
   43832         - fixed <rdar://problem/3665813>: (iBench is crashing in TOT)
   43833 
   43834         * khtml/html/html_formimpl.cpp: (HTMLSelectElementImpl::HTMLSelectElementImpl):
   43835         Initialize m_options to 0.
   43836 
   43837 2004-05-24  Ken Kocienda  <kocienda (a] apple.com>
   43838 
   43839         Reviewed by Richard
   43840 
   43841         * khtml/xml/dom_selection.cpp:
   43842         (DOM::Selection::toRange): Improved the code to return ranges that are
   43843         convenient to use by WebKit code which needs to perform text-editor-like
   43844         operations with ranges. Comments in the code describe this behavior.
   43845         (DOM::Selection::nodeIsBeforeNode): Make this method const.
   43846         * khtml/xml/dom_selection.h: Ditto.
   43847 
   43848 2004-05-24  Chris Blumenberg  <cblu (a] apple.com>
   43849 
   43850 	Improved editing via drag.
   43851 
   43852         Reviewed by kocienda.
   43853 
   43854         * khtml/editing/htmlediting.cpp: Renamed PasteMarkupCommand to ReplaceSelectionCommand
   43855         (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand):
   43856         (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand):
   43857         (khtml::ReplaceSelectionCommand::impl):
   43858         (khtml::MoveSelectionCommand::MoveSelectionCommand):
   43859         (khtml::MoveSelectionCommand::~MoveSelectionCommand):
   43860         (khtml::MoveSelectionCommand::impl):
   43861         * khtml/editing/htmlediting.h:
   43862         (khtml::):
   43863         * khtml/editing/htmlediting_impl.cpp:
   43864         (khtml::ReplaceSelectionCommandImpl::ReplaceSelectionCommandImpl):
   43865         (khtml::ReplaceSelectionCommandImpl::~ReplaceSelectionCommandImpl):
   43866         (khtml::ReplaceSelectionCommandImpl::commandID):
   43867         (khtml::ReplaceSelectionCommandImpl::doApply):
   43868         (khtml::MoveSelectionCommandImpl::MoveSelectionCommandImpl): new command
   43869         (khtml::MoveSelectionCommandImpl::~MoveSelectionCommandImpl):
   43870         (khtml::MoveSelectionCommandImpl::commandID):
   43871         (khtml::MoveSelectionCommandImpl::doApply):
   43872         * khtml/editing/htmlediting_impl.h:
   43873         * khtml/khtml_part.cpp:
   43874         (KHTMLPart::dragCaret): new
   43875         (KHTMLPart::setDragCaret): new
   43876         (KHTMLPart::notifyDragCaretChanged): new
   43877         (KHTMLPart::paintDragCaret): new
   43878         * khtml/khtml_part.h:
   43879         * khtml/khtmlpart_p.h:
   43880         * khtml/rendering/render_block.cpp:
   43881         (khtml::RenderBlock::paintObject): paint the drag caret
   43882         * kwq/DOM.mm:
   43883         (+[DOMDocumentFragment _documentFragmentWithImpl:]): made internally available
   43884         (-[DOMDocumentFragment _fragmentImpl]):
   43885         * kwq/DOMInternal.h:
   43886         * kwq/WebCoreBridge.h:
   43887         * kwq/WebCoreBridge.mm:
   43888         (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): new
   43889         (-[WebCoreBridge documentFragmentWithText:]): new
   43890         (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:]): new
   43891         (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:]): renamed to take the selectReplacement BOOL
   43892         (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:]): ditto
   43893         (-[WebCoreBridge replaceSelectionWithText:selectReplacement:]): ditto
   43894         (-[WebCoreBridge replaceSelectionWithNewline]): moved
   43895         (-[WebCoreBridge setSelectionToDragCaret]): new
   43896         (-[WebCoreBridge moveSelectionToDragCaret:]): new
   43897         (-[WebCoreBridge moveDragCaretToPoint:]): set the drag caret, not the selection
   43898         (-[WebCoreBridge removeDragCaret]): new
   43899 
   43900 2004-05-24  Ken Kocienda  <kocienda (a] apple.com>
   43901 
   43902         Reviewed by John
   43903         
   43904         Fixed some life-cycle issues with node iterators and detaching. Big deal is
   43905         to detach in DOMNodeIterator dealloc. Otherwise, NodeIterators created from
   43906         obj-c leak.
   43907 
   43908         * khtml/xml/dom2_traversalimpl.cpp:
   43909         (DOM::NodeIteratorImpl::detach): Only detach if not yet detached.
   43910         * khtml/xml/dom2_traversalimpl.h:
   43911         (DOM::NodeIteratorImpl::setDetached): New convenience.
   43912         * kwq/DOM.mm:
   43913         (-[DOMNodeIterator dealloc]): Detach here, if not yet detached; fixes leak.
   43914 
   43915 2004-05-24  Ken Kocienda  <kocienda (a] apple.com>
   43916 
   43917         Reviewed by Hyatt
   43918 
   43919         * khtml/css/css_computedstyle.cpp:
   43920         (DOM::CSSComputedStyleDeclarationImpl::getPropertyValue): Fixed to return the property value, 
   43921         as it should, instead of the whole property, as it was doing before.
   43922 
   43923 2004-05-23  Darin Adler  <darin (a] apple.com>
   43924 
   43925         Reviewed by Ken.
   43926 
   43927         - fixed <rdar://problem/3259919>: (Shift click should extend selection)
   43928 
   43929         * khtml/khtmlpart_p.h: Renamed m_textElement to m_selectionGranularity and
   43930         m_mouseMovedSinceLastMousePress to m_beganSelectingText.
   43931         * khtml/khtml_part.cpp:
   43932         (KHTMLPart::handleMousePressEventDoubleClick): Set m_beganSelectingText if the double-click
   43933         began selecting text.
   43934         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   43935         (KHTMLPart::handleMousePressEventSingleClick): Added code to extend selection if shift is down.
   43936         (KHTMLPart::khtmlMousePressEvent): Remove code that sets the selection granularity to
   43937         "by character". We only want to do that if we start selecting with a single click.
   43938         Otherwise we want to leave the selection granularity alone.
   43939         (KHTMLPart::khtmlMouseReleaseEvent): Change the code that clears the selection on a plain old
   43940         click to check the m_beganSelectingText boolean so it won't run when you shift-click, for example.
   43941         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent): Updated for m_textElement
   43942         name change.
   43943 
   43944 2004-05-22  Darin Adler  <darin (a] apple.com>
   43945 
   43946         Reviewed by Ken.
   43947 
   43948         - went through things marked "unimplemented" or "not implemented" and removed
   43949           or implemented as many as possible
   43950 
   43951         * kwq/DOM.mm: (-[DOMNode dispatchEvent:]): Implemented.
   43952         Also moved DOMAbstractView and DOMDocumentView into DOMViews.mm.
   43953         * kwq/DOM-CSS.mm: (-[DOMDocument getComputedStyle::]): Implemented.
   43954 
   43955         * kwq/DOMEventsInternal.h: Added.
   43956         * kwq/DOMEvents.mm:
   43957         (-[DOMEvent type]): Implemented.
   43958         (-[DOMEvent target]): Implemented.
   43959         (-[DOMEvent currentTarget]): Implemented.
   43960         (-[DOMEvent eventPhase]): Implemented.
   43961         (-[DOMEvent bubbles]): Implemented.
   43962         (-[DOMEvent cancelable]): Implemented.
   43963         (-[DOMEvent timeStamp]): Implemented.
   43964         (-[DOMEvent stopPropagation]): Implemented.
   43965         (-[DOMEvent preventDefault]): Implemented.
   43966         (-[DOMEvent initEvent:::]): Implemented.
   43967         (-[DOMEvent _eventImpl]): Added.
   43968         (-[DOMEvent _initWithEventImpl:]): Added.
   43969         (+[DOMEvent _eventWithImpl:]): Added.
   43970         (-[DOMMouseEvent _mouseEventImpl]): Added.
   43971         (-[DOMMouseEvent screenX]): Implemented.
   43972         (-[DOMMouseEvent screenY]): Implemented.
   43973         (-[DOMMouseEvent clientX]): Implemented.
   43974         (-[DOMMouseEvent clientY]): Implemented.
   43975         (-[DOMMouseEvent ctrlKey]): Implemented.
   43976         (-[DOMMouseEvent shiftKey]): Implemented.
   43977         (-[DOMMouseEvent altKey]): Implemented.
   43978         (-[DOMMouseEvent metaKey]): Implemented.
   43979         (-[DOMMouseEvent button]): Implemented.
   43980         (-[DOMMouseEvent relatedTarget]): Implemented.
   43981         (-[DOMMouseEvent initMouseEvent:::::::::::::::]): Implemented.
   43982         (-[DOMMutationEvent _mutationEventImpl]): Added.
   43983         (-[DOMMutationEvent relatedNode]): Implemented.
   43984         (-[DOMMutationEvent prevValue]): Implemented.
   43985         (-[DOMMutationEvent newValue]): Implemented.
   43986         (-[DOMMutationEvent attrName]): Implemented.
   43987         (-[DOMMutationEvent attrChange]): Implemented.
   43988         (-[DOMMutationEvent initMutationEvent::::::::]):
   43989         (-[DOMUIEvent _UIEventImpl]): Added.
   43990         (-[DOMUIEvent view]): Implemented.
   43991         (-[DOMUIEvent detail]): Implemented.
   43992         (-[DOMUIEvent initUIEvent:::::]): Implemented.
   43993         (-[DOMDocument createEvent:]): Implemented.
   43994 
   43995         * kwq/DOMHTMLInternal.h: Added.
   43996         * kwq/DOMHTML.mm:
   43997         (+[DOMHTMLOptionsCollection _optionsCollectionWithImpl:]): Added.
   43998         (-[DOMHTMLOptionsCollection length]): Implemented.
   43999         (-[DOMHTMLOptionsCollection setLength:]): Implemented.
   44000         (-[DOMHTMLOptionsCollection item:]): Implemented.
   44001         (-[DOMHTMLOptionsCollection namedItem:]): Implemented.
   44002         (-[DOMHTMLSelectElement options]): Implemented.
   44003 
   44004         * kwq/DOMViews.h: Changed DOMDocumentView to be a category on DOMDocument
   44005         rather than a separate class.
   44006         * kwq/DOMViewsInternal.h: Added.
   44007         * kwq/DOMViews.mm: Added.
   44008         (-[DOMAbstractView document]): Implemnted.
   44009         (-[DOMAbstractView _abstractViewImpl]): Added.
   44010         (-[DOMAbstractView _initWithAbstractViewImpl:]): Added.
   44011         (+[DOMAbstractView _abstractViewWithImpl:]): Added.
   44012         (-[DOMDocument defaultView]): Implemented.
   44013 
   44014         * khtml/dom/dom2_views.h: Made AbstractView constructor public to allow creation in
   44015         the bindings. Would not be necessary if the impl classes were used consistently.
   44016 
   44017         * khtml/html/html_formimpl.h: Added options() function to HTMLSelectElementImpl.
   44018         Added HTMLOptionsCollectionImpl class.
   44019         * khtml/html/html_formimpl.cpp:
   44020         (HTMLSelectElementImpl::~HTMLSelectElementImpl): Added code to detach and deref the
   44021         options collection.
   44022         (HTMLSelectElementImpl::options): Create an options collection if needed.
   44023         (HTMLOptionsCollectionImpl::length): Added. Not yet implemented.
   44024         (HTMLOptionsCollectionImpl::setLength): Ditto.
   44025         (HTMLOptionsCollectionImpl::item): Ditto.
   44026         (HTMLOptionsCollectionImpl::namedItem): Ditto.
   44027 
   44028         * khtml/khtmlview.h: Move unused focusNextPrevChild virtual function inside !APPLE_CHANGES.
   44029         * khtml/khtmlview.cpp: Put the tp, paintBuffer, and formCompletions fields entirely
   44030         inside !APPLE_CHANGES. Also made QT_NO_TOOLTIP entirely disable the tooltip field.
   44031         Also put focusNextPrevChild and formCompletionItems functions inside !APPLE_CHANGES.
   44032 
   44033         * khtml/rendering/render_text.h: Removed unused isFixedWidthFont member function.
   44034         * khtml/rendering/render_text.cpp: Ditto.
   44035 
   44036         * kwq/KWQCursor.h: Removed unused pos member function.
   44037         * kwq/KWQCursor.mm: Ditto.
   44038 
   44039         * kwq/KWQFontMetrics.h: Removed unused rightBearing and leftBearing member functions.
   44040         * kwq/KWQFontMetrics.mm: Ditto.
   44041 
   44042         * kwq/KWQKComboBox.h: Removed KCompletionBase as a base class.
   44043 
   44044         * kwq/KWQKConfigBase.h: Removed unused readBoolEntry, writeEntry, and readListEntry
   44045         member functions.
   44046         * kwq/KWQKConfigBase.mm: Ditto.
   44047         (KConfig::readEntry): Improved "not implemented" message to indicate which key is uinimplemented.
   44048         (KConfig::readNumEntry): Ditto.
   44049         (KConfig::readUnsignedNumEntry): Ditto.
   44050 
   44051         * kwq/KWQKLineEdit.h: Removed everything, since all the KLineEdit stuff was unused.
   44052         Changed KLineEdit to just be a typedef for QLineEdit.
   44053 
   44054         * kwq/KWQSlot.mm: Removed slotAutoScroll.
   44055         (KWQSlot::KWQSlot): And from here.
   44056         (KWQSlot::call): And from here.
   44057 
   44058         * kwq/KWQTextStream.h: Removed unused QTextOStream and QTextIStream.
   44059         * kwq/KWQTextStream.mm: Removed unused QTextIStream function. Also made buffer sizes larger
   44060         so we don't have any problems on 64-bit systems. 10 bytes might not be long enough to sprintf an
   44061         integer or a long or a pointer, but 100 bytes surely will.
   44062 
   44063         * kwq/KWQWidget.h: Removed unused focusNextPrevChild.
   44064         * kwq/KWQWidget.mm: Ditto.
   44065 
   44066         * WebCore.pbproj/project.pbxproj: Removed some files, added others.
   44067 
   44068         * ForwardingHeaders/kcompletionbox.h: Emptied out, no KWQKCompletionBox.h any more.
   44069         * ForwardingHeaders/kiconloader.h: Emptied out, no KWQKIconLoader.h any more.
   44070         * ForwardingHeaders/kmimetype.h: Emptied out, no KWQKMimeType.h any more.
   44071         * ForwardingHeaders/ksimpleconfig.h: Emptied out, no KWQKSimpleConfig.h any more.
   44072         * ForwardingHeaders/qfontinfo.h: Emptied out, no KWQFontInfo.h any more.
   44073         * ForwardingHeaders/qtooltip.h: Replaced with define of QT_NO_TOOLTIP, no
   44074         KWQToolTip.h any more.
   44075 
   44076         * kwq/KWQCompletion.h: Removed.
   44077         * kwq/KWQCompletion.mm: Removed.
   44078         * kwq/KWQFontInfo.h: Removed.
   44079         * kwq/KWQFontInfo.mm: Removed.
   44080         * kwq/KWQKCompletionBox.h: Removed.
   44081         * kwq/KWQKIconLoader.h: Removed.
   44082         * kwq/KWQKIconLoader.mm: Removed.
   44083         * kwq/KWQKMimeType.h: Removed.
   44084         * kwq/KWQKMimeType.mm: Removed.
   44085         * kwq/KWQKSimpleConfig.h: Removed.
   44086         * kwq/KWQKSimpleConfig.mm: Removed.
   44087         * kwq/KWQToolTip.h: Removed.
   44088 
   44089 2004-05-21  Darin Adler  <darin (a] apple.com>
   44090 
   44091         Reviewed by Maciej.
   44092 
   44093         - fixed <rdar://problem/3663659>: (result of toString mistakenly includes all subsequent sibling content)
   44094 
   44095         * khtml/xml/dom2_rangeimpl.h: Added private startNode() and pastEndNode() functions.
   44096         * khtml/xml/dom2_rangeimpl.cpp:
   44097         (DOM::RangeImpl::toString): Rewrote to use startNode(), pastEndNode(), and traverseNextNode().
   44098         The old code here was wrong, and it was easier to rewrite than fix.
   44099         (DOM::RangeImpl::checkDeleteExtract): Extracted the logic to compute the start node and the past-end
   44100         node into separate functions.
   44101         (DOM::RangeImpl::startNode): Added. Started with code extracted from checkDeleteExtract, but then
   44102         also fixed bugs by using the new traverseNextSibling. The old code handled cases where the offset was
   44103         past the last child in a container incorrectly.
   44104         (DOM::RangeImpl::pastEndNode): Added. Started with code extracted from checkDeleteExtract, but then
   44105         also fixed bugs by using the new traverseNextSibling. The old code hanlded cases where the offset was
   44106         past the last child in a container incorrectly, and also iterated one node too few in cases where the
   44107         end contaier was a text node.
   44108 
   44109         * khtml/xml/dom2_traversalimpl.h: Removed a bunch of unused and unneeded member functions.
   44110 
   44111         * khtml/xml/dom_nodeimpl.h: Added traverseNextSibling.
   44112         * khtml/xml/dom_nodeimpl.cpp:
   44113         (NodeImpl::traverseNextNode): Reformatted the code a little bit.
   44114         (NodeImpl::traverseNextSibling): Added. Like traverseNextNode except it starts after the node's children
   44115         instead of starting at the beginning of the first child.
   44116 
   44117 2004-05-21  Maciej Stachowiak  <mjs (a] apple.com>
   44118 
   44119         Reviewed by Trey.
   44120 
   44121 	<rdar://problem/3656722>: Implement outerText and setOuterText DOM extensions
   44122         
   44123         * khtml/html/html_elementimpl.cpp:
   44124         (HTMLElementImpl::outerText): Return same value as innerText().
   44125         (HTMLElementImpl::setInnerText): Fix comment.
   44126         (HTMLElementImpl::setOuterText): Replace node with text, merge neighboring text nodes.
   44127         * khtml/html/html_elementimpl.h: Prototype new methods.
   44128 	* khtml/dom/html_element.cpp:
   44129         (HTMLElement::outerText): Hook up to impl.
   44130         (HTMLElement::setOuterText): Ditto.
   44131         * khtml/dom/html_element.h: Prototype new methods.
   44132         * khtml/ecma/kjs_html.cpp:
   44133         (KJS::HTMLElement::getValueProperty): Glue up outerText.
   44134         (KJS::HTMLElement::putValue): Ditto. 
   44135         * khtml/ecma/kjs_html.h: Added new enum value.
   44136         * khtml/ecma/kjs_html.lut.h:
   44137         (KJS::): Regenerated.
   44138 
   44139 2004-05-21  Richard Williamson   <rjw (a] apple.com>
   44140 
   44141         Removed _bindObject:forFrame: SPI.
   44142         
   44143         Reviewed by Chris.
   44144 
   44145         * kwq/KWQKHTMLPart.h:
   44146         * kwq/KWQKHTMLPart.mm:
   44147         * kwq/WebCoreBridge.h:
   44148         * kwq/WebCoreBridge.mm:
   44149 
   44150 2004-05-21  David Hyatt  <hyatt (a] apple.com>
   44151 
   44152 	Fix for 3663644, repaints don't occur when the .innerHTML of a positioned element is changed.
   44153 	
   44154         Reviewed by john
   44155 
   44156         * khtml/rendering/bidi.cpp:
   44157         (khtml::RenderBlock::layoutInlineChildren):
   44158         * khtml/rendering/render_layer.h:
   44159         (khtml::RenderLayer::repaintRect):
   44160 
   44161 === Safari-141 ===
   44162 
   44163 2004-05-21  Darin Adler  <darin (a] apple.com>
   44164 
   44165         Reviewed by Ken and Chris.
   44166 
   44167         - fixed <rdar://problem/3656948>: (markup strings that contain <html> and <body> elements don't work, producing nothing)
   44168 
   44169         * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment):
   44170         Changed things around so that nodes are removed from their parent node before 
   44171 
   44172 2004-05-21  Darin Adler  <darin (a] apple.com>
   44173 
   44174         Reviewed by Ken and Chris.
   44175 
   44176         - fixed part of <rdar://problem/3656948>: (HTML Editing: -[WebView replaceSelectionWithMarkupString:] doesn't seem to work)
   44177 
   44178         * khtml/editing/htmlediting_impl.cpp: (khtml::PasteMarkupCommandImpl::doApply):
   44179         Changed code to handle case where contextual fragment parses to nothing without crashing.
   44180 
   44181 2004-05-21  Darin Adler  <darin (a] apple.com>
   44182 
   44183         Reviewed by Ken.
   44184 
   44185         * kwq/DOM-CSS.mm: Change DOMCSSStyleDeclaration methods to use strings with dash-separators in them
   44186         rather than interCaps.
   44187 
   44188 2004-05-21  Darin Adler  <darin (a] apple.com>
   44189 
   44190         Reviewed by Maciej.
   44191 
   44192         - fixed <rdar://problem/3090663>: (scroll to top of page when anchor is "#top" or "#")
   44193 
   44194         * khtml/khtml_part.cpp:
   44195         (KHTMLPart::gotoAnchor): Detect anchor by checking for non-null, not non-empty, because an
   44196         empty anchor is not the same as no anchor.
   44197         (KHTMLPart::gotoAnchor): Add special case for anchors named "" and "top" (case insensitive),
   44198         to scroll to the top left of the frame to match what WinIE and Mozilla do.
   44199         (KHTMLPart::checkCompleted): Check for non-null here too for consistency.
   44200 
   44201         * kwq/KWQKURL.mm:
   44202         (KURL::ref): Change check so that we return empty, not null, if there's an empty ref,
   44203         as opposed to no ref.
   44204         (KURL::hasRef): Return true if there's an empty ref, as opposed to no ref.
   44205         (KURL::parse): Preserve an empty fragment when parsing.
   44206 
   44207 2004-05-20  Darin Adler  <darin (a] apple.com>
   44208 
   44209         Reviewed by Maciej.
   44210 
   44211         - fixed <rdar://problem/3575385>: (multiple radio buttons checked when arriving at sites (poll at www.1170kfaq.com, many others))
   44212 
   44213         * khtml/html/html_formimpl.cpp:
   44214         (HTMLInputElementImpl::parseHTMLAttribute): Use setChecked to set the default value if we are still in
   44215         "use default checked" mode. That way, other radio buttons will be unchecked properly and the proper
   44216         changed methods will be dispatched.
   44217         (HTMLInputElementImpl::reset): Ditto.
   44218         * khtml/html/html_formimpl.h: (DOM::HTMLInputElementImpl::checked): Changed to just return m_checked.
   44219         The m_useDefaultChecked flag is now only really looked at when you parse a checked attribute; that's
   44220         because m_checked and m_defaultChecked are kept equal as long as m_useDefaultChecked is true.
   44221 
   44222         * khtml/xml/dom_nodeimpl.h: Removed an unnecessary virtual, to make code a little smaller and faster.
   44223 
   44224 2004-05-20  Darin Adler  <darin (a] apple.com>
   44225 
   44226         Reviewed by Chris.
   44227 
   44228         - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
   44229         - fixed <rdar://problem/3662556>: (REGRESSION: letting up mouse while dragging over link activates the link)
   44230 
   44231         * khtml/khtmlview.h: Added invalidateClick.
   44232         * khtml/khtmlview.cpp: (KHTMLView::invalidateClick): Added. Sets clickCount to 0.
   44233 
   44234         * kwq/KWQKHTMLPart.mm:
   44235         (KWQKHTMLPart::matchLabelsAgainstElement): Changed a string replace to a character replace for slightly
   44236         faster code and smaller code size.
   44237         (KWQKHTMLPart::khtmlMouseMoveEvent): Call invalidateClick at the appropriate times. To do this correctly,
   44238         had to add a boolean result to handleMouseDragged: so I can tell if a drag started or not (due to hysteresis).
   44239         (KWQKHTMLPart::attributedString): Changed a string append to a character append for slightly faster code
   44240         and smaller code size.
   44241 
   44242         * kwq/WebCoreBridge.h: Added BOOL result to handleMouseDragged:.
   44243 
   44244         Reviewed by Dave.
   44245 
   44246         - handle rules with empty bodies properly
   44247 
   44248         * khtml/css/parser.y: Remove bogus check for empty body that prevents the rule
   44249         from being created.
   44250         * khtml/css/parser.cpp: Regenerated.
   44251 
   44252 2004-05-20  David Hyatt  <hyatt (a] apple.com>
   44253 
   44254 	Revise the patch for incorrect caret positions when brs get deleted.  It can be even simpler.
   44255 	
   44256         Reviewed by kocienda
   44257 
   44258         * khtml/rendering/render_flow.cpp:
   44259         (RenderFlow::dirtyLinesFromChangedChild):
   44260         * khtml/rendering/render_text.cpp:
   44261         (RenderText::detach):
   44262 
   44263 2004-05-20  David Hyatt  <hyatt (a] apple.com>
   44264 
   44265 	Fix for 3629816, caret in wrong position when deleting <br>s on lines by themselves or when moving <br>s
   44266 	on lines by themselves.
   44267 	
   44268         Reviewed by kocienda
   44269 
   44270         * khtml/rendering/render_box.cpp:
   44271         (RenderBox::detach):
   44272         * khtml/rendering/render_br.cpp:
   44273         (RenderBR::setPos):
   44274         * khtml/rendering/render_br.h:
   44275         * khtml/rendering/render_flow.cpp:
   44276         (RenderFlow::dirtyLinesFromChangedChild):
   44277 
   44278 2004-05-20  Ken Kocienda  <kocienda (a] apple.com>
   44279 
   44280         Reviewed by Hyatt
   44281 
   44282         Provide the methods to glue the WebView's editing delegate so that these methods work:
   44283         
   44284         <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)"
   44285         <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)"
   44286 
   44287         While I was in the neighborhood and working on understanding focus shifts, I fixed this bug as well:
   44288         
   44289         <rdar://problem/3645154>: "contentEditable div receives focus and blur twice when focus changes to new element"
   44290 
   44291         * khtml/khtml_part.cpp:
   44292         (KHTMLPart::invalidateSelection): Do not move focus in this function. That is just a mistake. This function
   44293         is all about redraw.
   44294         (KHTMLPart::selectionLayoutChanged): New function. Factor out the redraw parts of notifySelectionChanged so
   44295         that invalidateSelection can call it.
   44296         (KHTMLPart::notifySelectionChanged): Call selectionLayoutChanged now that the redraw parts have been
   44297         factored out.
   44298         (KHTMLPart::shouldBeginEditing): New function that calls through to the KWQKHTMLPart in an APPLE_CHANGES
   44299         block. This is part of the code path that will eventually The WebView's delegate to ask the
   44300         shouldBeginEditing question. 
   44301         (KHTMLPart::shouldEndEditing): Ditto, except the question is about shouldEndEditing.
   44302         * khtml/khtml_part.h:
   44303         * khtml/khtmlview.cpp:
   44304         (KHTMLView::dispatchMouseEvent): Now looks at the boolean value returned from DocumentImpl::setFocusNode 
   44305         (described below). If the focus shift was blocked, swallow the mouse event.
   44306         * khtml/xml/dom_docimpl.cpp:
   44307         (DocumentImpl::relinquishesEditingFocus): Part of the WebView's delegation call chain described above.
   44308         (DocumentImpl::acceptsEditingFocus): Ditto.
   44309         (DocumentImpl::setFocusNode): Many improvements. Now handles WebView delegation and switching focus
   44310         in the handlers called as a result of the DOM events that this function calls. Also now returns a 
   44311         boolean to say whether the attempt to set focus was blocked by a handler or by the WebView's delegate.
   44312         * khtml/xml/dom_docimpl.h:
   44313         * kwq/KWQKHTMLPart.h:
   44314         * kwq/KWQKHTMLPart.mm:
   44315         (KWQKHTMLPart::shouldBeginEditing): More WebView's delegation glue.
   44316         (KWQKHTMLPart::shouldEndEditing): Ditto.
   44317         * kwq/WebCoreBridge.h:
   44318 
   44319 2004-05-20  Richard Williamson   <rjw (a] apple.com>
   44320 
   44321         * kwq/DOM.mm:
   44322         (-[DOMObject _init]):
   44323         * kwq/DOMInternal.mm:
   44324         (-[WebScriptObject _init]):
   44325         (-[WebScriptObject _initializeScriptDOMNodeImp]):
   44326         * kwq/KWQKHTMLPart.h:
   44327         * kwq/KWQKHTMLPart.mm:
   44328         (KWQKHTMLPart::KWQKHTMLPart):
   44329         (KWQKHTMLPart::bindingRootObject):
   44330         (KWQKHTMLPart::windowScriptObject):
   44331 
   44332 2004-05-20  Darin Adler  <darin (a] apple.com>
   44333 
   44334         Reviewed by Ken.
   44335 
   44336         - fixed <rdar://problem/3661918>: "repro nil-deref in RenderImage::paint (www.codepoetry.net)"
   44337 
   44338         * khtml/rendering/render_image.cpp: (RenderImage::paint): Check renderer pointer to see if it's
   44339         nil before dereferencing it.
   44340 
   44341         - fixed <rdar://problem/3658455>: "readFromData:options:documentAttributes: crashes when passed page without a body (in WebKit mode)"
   44342 
   44343         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::bodyBackgroundColor): Check renderer pointer to see if it's
   44344         nil before dereferencing it.
   44345 
   44346         - fixed <rdar://problem/2948112>: "implement addRule for JavaScript for style sheets"
   44347 
   44348         * khtml/dom/css_stylesheet.h: Added addRule.
   44349         * khtml/dom/css_stylesheet.cpp: (CSSStyleSheet::addRule): Added.
   44350         * khtml/css/css_stylesheetimpl.h: Added addRule.
   44351         * khtml/css/css_stylesheetimpl.cpp: (CSSStyleSheetImpl::addRule): Added an implementation
   44352         based on the Microsoft documentation. An index of -1 means "at the end of the list".
   44353 
   44354         * khtml/dom/dom_string.h: Changed the string-append operator to be a non-member function
   44355         so it works even if the left side has to undergo type conversion.
   44356         * khtml/dom/dom_string.cpp: (DOM::operator+): Changed implementation to match above.
   44357         Also changed to not use anything private or protected so it doesn't have to be a friend.
   44358 
   44359         * khtml/ecma/kjs_css.h: Added addRule to the list of functions for CSS style sheets.
   44360         * khtml/ecma/kjs_css.cpp: (DOMCSSStyleSheetProtoFunc::tryCall): Add support for addRule,
   44361         based on the Microsoft documentation; always returns -1. Also removed unused string conversions.
   44362         * khtml/ecma/kjs_css.lut.h: Regenerated.
   44363 
   44364 2004-05-19  David Hyatt  <hyatt (a] apple.com>
   44365 
   44366 	Implement support for notification posting to accessibility clients for layouts and loads.
   44367 	
   44368         * khtml/khtmlview.cpp:
   44369         (KHTMLView::layout):
   44370         * khtml/xml/dom_docimpl.cpp:
   44371         (DocumentImpl::close):
   44372         * kwq/KWQAccObjectCache.h:
   44373         (KWQAccObjectCache::enableAccessibility):
   44374         (KWQAccObjectCache::accessibilityEnabled):
   44375         * kwq/KWQAccObjectCache.mm:
   44376         (KWQAccObjectCache::accObject):
   44377         (KWQAccObjectCache::setAccObject):
   44378         (KWQAccObjectCache::removeAccObject):
   44379         (KWQAccObjectCache::detach):
   44380         (KWQAccObjectCache::childrenChanged):
   44381         (KWQAccObjectCache::postNotification):
   44382         * kwq/WebCoreBridge.mm:
   44383         (-[WebCoreBridge accessibilityTree]):
   44384 
   44385 2004-05-19  Chris Blumenberg  <cblu (a] apple.com>
   44386 
   44387 	Tweaks for forthcoming dragging improvements.
   44388 
   44389         Reviewed by john.
   44390 
   44391         * kwq/WebCoreBridge.h:
   44392         * kwq/WebCoreBridge.mm:
   44393         (-[WebCoreBridge moveDragCaretToPoint:]): renamed for future reasons, removed text only restrictions
   44394 
   44395 2004-05-19  Ken Kocienda  <kocienda (a] apple.com>
   44396 
   44397         Reviewed by Hyatt and Darin
   44398 
   44399         Fix for this bug:
   44400         
   44401         <rdar://problem/3643230>: "can't tab out of contentEditable Elements"
   44402 
   44403         * khtml/xml/dom_elementimpl.cpp: Now checks if key event was intercepted by the editing
   44404         key-handler before setting the event as defaultHandled.
   44405         (ElementImpl::defaultEventHandler):
   44406         * kwq/KWQKHTMLPart.h: Name change from editingKeyEvent.
   44407         Also now returns a BOOL to report whether the event was handled or not.
   44408         * kwq/KWQKHTMLPart.mm: 
   44409         (KWQKHTMLPart::interceptEditingKeyEvent): Ditto.
   44410         * kwq/WebCoreBridge.h: Renamed from _editingKeyDown.
   44411 
   44412 2004-05-19  Ken Kocienda  <kocienda (a] apple.com>
   44413 
   44414         Reviewed by John
   44415 
   44416         Fix for this bug:
   44417         
   44418         <rdar://problem/3655601>: "deleting characters is much slower than inserting them"
   44419 
   44420         Cleaned up the way selections are set in edit commands, and how KHTMLPart is
   44421         notified of these changes. This clears up a number of inefficiencies, including unnecessary repaints
   44422         which were causing the performace problem.
   44423 
   44424         * khtml/editing/htmlediting.cpp: Removed moveToStartingSelection and moveToEndingSelection functions.
   44425         This work is going to be done using another pre-existing communication facility shared by edit commands
   44426         and the part.
   44427         * khtml/editing/htmlediting.h: Ditto.
   44428         * khtml/editing/htmlediting_impl.cpp:
   44429         (khtml::EditCommandImpl::setStartingSelection): Fix coding mistake which caused double recursion while setting
   44430         ancestor values.
   44431         (khtml::EditCommandImpl::setEndingSelection): Ditto.
   44432         (khtml::CompositeEditCommandImpl::doUnapply): No longer calls moveToStartingSelection. Work done in the part now.
   44433         (khtml::CompositeEditCommandImpl::doReapply): No longer calls moveToEndingSelection. Work done in the part now.
   44434         (khtml::TypingCommandImpl::typingAddedToOpenCommand): New function. Provides a hook for
   44435         typing commands to tell the part about additional typing that has been done.
   44436         (khtml::TypingCommandImpl::insertText): Now calls typingAddedToOpenCommand.
   44437         (khtml::TypingCommandImpl::insertNewline): Ditto.
   44438         (khtml::TypingCommandImpl::issueCommandForDeleteKey): Ditto.
   44439         (khtml::TypingCommandImpl::deleteKeyPressed): Ditto.
   44440         * khtml/editing/htmlediting_impl.h: Removed moveToStartingSelection and moveToEndingSelection functions.
   44441         * khtml/khtml_part.cpp:
   44442         (KHTMLPart::setSelection): Modified to take an argument which tells whether the set closes an active
   44443         typing command.
   44444         (KHTMLPart::notifySelectionChanged): Changed endTyping variable to be consistent with "close typing"
   44445         terminology used elsewhere.
   44446         (KHTMLPart::appliedEditing): Now sets the selection using the value of the passed-in command. Added
   44447         an assert for typing cases. Fixed problem where didChangeNotification was not being posted for typing
   44448         changes after the first one.
   44449         (KHTMLPart::unappliedEditing): Now sets the selection using the value of the passed-in command.
   44450         (KHTMLPart::reappliedEditing): Now sets the selection using the value of the passed-in command.
   44451         * khtml/khtml_part.h:
   44452         * khtml/rendering/render_canvas.cpp:
   44453         (RenderCanvas::clearSelection): Do not call repaint when the selection is a caret.
   44454 
   44455 2004-05-19  Ken Kocienda  <kocienda (a] apple.com>
   44456 
   44457         Reviewed by Hyatt
   44458 
   44459         * khtml/html/html_elementimpl.cpp:
   44460         (HTMLElementImpl::isContentEditable): Ask if the part is contenteditable.
   44461         True value is treated as an "override" and will short-circuit, returning true.
   44462         * khtml/khtml_part.cpp:
   44463         (KHTMLPart::isContentEditable): Call over bridge. Has the effect of checking the
   44464         isEditable method on the WebView which contains this part.
   44465         * khtml/khtml_part.h: Declare isContentEditable.
   44466         * kwq/KWQKHTMLPart.h: Declare isContentEditable.
   44467         * kwq/KWQKHTMLPart.mm:
   44468         (KWQKHTMLPart::isContentEditable): Call over bridge, as described above.
   44469         * kwq/WebCoreBridge.h: Declare isEditable.
   44470 
   44471 2004-05-19  Darin Adler  <darin (a] apple.com>
   44472 
   44473         - fixed headers with licenses mangled by Xcode auto-indenting
   44474 
   44475         * kwq/DOMExtensions.h:
   44476         * kwq/KWQAccObject.h:
   44477         * kwq/KWQAccObject.mm:
   44478         * kwq/KWQAccObjectCache.h:
   44479         * kwq/KWQKSSLKeyGen.mm:
   44480         * kwq/KWQScrollBar.mm:
   44481         * kwq/KWQSlider.mm:
   44482         * kwq/WebCoreGraphicsBridge.h:
   44483         * kwq/WebCoreGraphicsBridge.m:
   44484         * kwq/WebCoreKeyGenerator.h:
   44485         * kwq/WebCoreKeyGenerator.m:
   44486 
   44487 2004-05-18  David Hyatt  <hyatt (a] apple.com>
   44488 
   44489 	Add two new attributes for accessibility that can be polled by the screen reader.  AXLayoutCount indicates
   44490 	the number of layouts that have occurred, and AXLoaded indicates whether or not a page has finished loading.
   44491 	
   44492         * khtml/khtmlview.cpp:
   44493         (KHTMLViewPrivate::reset):
   44494         (KHTMLView::layoutCount):
   44495         (KHTMLView::layout):
   44496         * khtml/khtmlview.h:
   44497         * kwq/KWQAccObject.mm:
   44498         (-[KWQAccObject roleDescription]):
   44499         (-[KWQAccObject accessibilityAttributeNames]):
   44500         (-[KWQAccObject accessibilityAttributeValue:]):
   44501 
   44502 2004-05-18  David Hyatt  <hyatt (a] apple.com>
   44503 
   44504 	Fix crash when retrieving the AXHelp text.
   44505 	
   44506         * kwq/KWQAccObject.mm:
   44507         (-[KWQAccObject helpText]):
   44508 
   44509 2004-05-18  David Hyatt  <hyatt (a] apple.com>
   44510 
   44511 	Improve layout scheduling and add instrumentation for debugging layout scheduling
   44512 	
   44513         Reviewed by kocienda
   44514 
   44515         * khtml/khtml_part.cpp:
   44516         (KHTMLPart::slotFinishedParsing):
   44517         (KHTMLPart::checkCompleted):
   44518         * khtml/khtmlview.cpp:
   44519         (KHTMLViewPrivate::KHTMLViewPrivate):
   44520         (KHTMLViewPrivate::reset):
   44521         (KHTMLView::layout):
   44522         (KHTMLView::scheduleRelayout):
   44523         (KHTMLView::haveDelayedLayoutScheduled):
   44524         (KHTMLView::unscheduleRelayout):
   44525         * khtml/khtmlview.h:
   44526         * khtml/rendering/render_object.cpp:
   44527         (RenderObject::repaintAfterLayoutIfNeeded):
   44528         * khtml/rendering/render_replaced.cpp:
   44529         (RenderWidget::updateWidgetPositions):
   44530         * khtml/xml/dom_docimpl.cpp:
   44531         (DocumentImpl::DocumentImpl):
   44532         (DocumentImpl::close):
   44533         (DocumentImpl::setParsing):
   44534         (DocumentImpl::shouldScheduleLayout):
   44535         (DocumentImpl::minimumLayoutDelay):
   44536         (DocumentImpl::elapsedTime):
   44537         (DocumentImpl::finishParsing):
   44538         (DocumentImpl::updateStyleSelector):
   44539         * khtml/xml/dom_docimpl.h:
   44540         (DOM::DocumentImpl::allDataReceived):
   44541         * kwq/KWQDateTime.h:
   44542         * kwq/KWQDateTime.mm:
   44543         (QTime::elapsed):
   44544         * kwq/KWQWidget.mm:
   44545         (QWidget::setFrameGeometry):
   44546 
   44547 2004-05-18  Richard Williamson   <rjw (a] apple.com>
   44548 
   44549 	Finished implementing support for windowScriptObject.
   44550 
   44551         Reviewed by Maciej.
   44552 
   44553         * khtml/khtml_part.cpp:
   44554         (KHTMLPart::begin):
   44555         * kwq/KWQKHTMLPart.h:
   44556         * kwq/KWQKHTMLPart.mm:
   44557         (KWQKHTMLPart::KWQKHTMLPart):
   44558         (KWQKHTMLPart::~KWQKHTMLPart):
   44559         (KWQKHTMLPart::windowScriptObject):
   44560         * kwq/WebCoreBridge.mm:
   44561         (updateRenderingForBindings):
   44562 
   44563 2004-05-18  Richard Williamson   <rjw (a] apple.com>
   44564 
   44565 	Added stubs to get the WebScriptObject for the window
   44566 	JS object.
   44567 	
   44568 	Made updateRenderingForBindings more robust when handed a
   44569 	nil root object.  This was causing a crash in DB.  Still need to
   44570 	address root cause of nil root object.
   44571 
   44572         Reviewed by Maciej.
   44573 
   44574         * khtml/khtml_part.cpp:
   44575         (KHTMLPart::begin):
   44576         * kwq/KWQKHTMLPart.h:
   44577         * kwq/KWQKHTMLPart.mm:
   44578         (KWQKHTMLPart::windowScriptObject):
   44579         (KWQKHTMLPart::partClearedInBegin):
   44580         * kwq/WebCoreBridge.h:
   44581         * kwq/WebCoreBridge.mm:
   44582         (updateRenderingForBindings):
   44583         (-[WebCoreBridge init]):
   44584         (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]):
   44585         (-[WebCoreBridge windowScriptObject]):
   44586 
   44587 2004-05-17  Maciej Stachowiak  <mjs (a] apple.com>
   44588 
   44589         Reviewed by Ken.
   44590 
   44591 	<rdar://problem/3656719>: Implement outerHTML and setOuterHTML DOM extensions
   44592 
   44593 	They were already implemented (by Chris), all that was required
   44594 	was exporting them to JavaScript.
   44595 
   44596         * khtml/dom/html_element.cpp:
   44597         (HTMLElement::outerHTML): Call impl.
   44598         (HTMLElement::setOuterHTML): Ditto.
   44599         * khtml/dom/html_element.h: Prototype new methods.
   44600         * khtml/ecma/kjs_html.cpp:
   44601         (KJS::HTMLElement::getValueProperty): Add OuterHTML.
   44602         (KJS::HTMLElement::putValue): Add OuterHTML.
   44603         * khtml/ecma/kjs_html.h: Add new enum values.
   44604         * khtml/ecma/kjs_html.lut.h: Regenerated.
   44605 
   44606 2004-05-18  Ken Kocienda  <kocienda (a] apple.com>
   44607 
   44608         Reviewed by Hyatt
   44609 
   44610         Removed support for designMode attribute, which we will not be supporting for Tiger.
   44611         Removed inEditMode from KHTMLPart. This cached designMode value.
   44612         Removed KHTMLPart::isEditingAtNode function. Asking a node if it is content-editable
   44613         is a suitable replacement.
   44614 
   44615         * khtml/dom/dom_misc.h: Remove TristateFlag enum that was used to track designMode values.
   44616         * khtml/dom/html_document.cpp: Remove designMode and setDesignMode.
   44617         * khtml/dom/html_document.h: Ditto.
   44618         * khtml/ecma/kjs_html.cpp:
   44619         (KJS::HTMLDocument::tryGet): Remove designMode.
   44620         (KJS::HTMLDocument::putValue): Ditto.
   44621         * khtml/ecma/kjs_html.lut.h:
   44622         (KJS::): Ditto.
   44623         * khtml/html/html_documentimpl.cpp: Remove designMode and setDesignMode.
   44624         * khtml/html/html_documentimpl.h: Ditto.
   44625         * khtml/khtml_part.cpp: Remove setEditMode, editMode, inEditMode, and isEditingAtNode.
   44626         * khtml/khtml_part.h: Ditto.
   44627         * khtml/khtmlpart_p.h: Remove m_inEditMode variable.
   44628         (KHTMLPartPrivate::KHTMLPartPrivate):
   44629         * khtml/khtmlview.cpp:
   44630         (KHTMLView::focusNextPrevNode): Change over one use in tree of isEditingAtNode to use
   44631         isContentEditable instead. isContentEditable will be modified in future patch to handle
   44632         whether the per-part switch has been thrown to override whether something is editable or not.
   44633 
   44634 2004-05-17  Richard Williamson   <rjw (a] apple.com>
   44635 
   44636 	Implemented new API for WebScriptObject.
   44637 	Fixed <rdar://problem/3657145>: (objc to javascript method calls do not cause updates.)
   44638 
   44639         Reviewed by Hyatt.
   44640 
   44641         * kwq/WebCoreBridge.mm:
   44642         (updateRenderingForBindings):
   44643         (-[WebCoreBridge init]):
   44644 
   44645 2004-05-14  Vicki Murley  <vicki (a] apple.com>
   44646 
   44647         Reviewed by mjs.
   44648  
   44649 	<rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release
   44650 
   44651         * WebCore.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
   44652 
   44653 2004-05-14  Darin Adler  <darin (a] apple.com>
   44654 
   44655         Reviewed by Darin, coded by Maciej.
   44656 
   44657         - fixed extra repaints when doing auto-fill checks on all pages that have pop-up buttons
   44658 
   44659         * kwq/KWQComboBox.mm:
   44660         (QComboBox::populateMenu): Set the populating-menu flag and clear it when done.
   44661         (-[KWQPopUpButton setPopulatingMenu:]): Added. Sets flag.
   44662         (-[KWQPopUpButton setNeedsDisplayInRect:]): Do nothing if the flag is set.
   44663 
   44664 2004-05-14  Darin Adler  <darin (a] apple.com>
   44665 
   44666         Reviewed by Dave.
   44667 
   44668         - fixed <rdar://problem/3650026>: "background property doesn't work right on webdevtips.com due to background:inherit"
   44669 
   44670         * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyDeclarations):
   44671         Added CSS_PROP_BACKGROUND to the list of properties that must be applied in the first pass.
   44672 
   44673 === Safari-140 ===
   44674 
   44675 2004-05-13  David Hyatt  <hyatt (a] apple.com>
   44676 
   44677 	Fix image loading for <input type=image> and <object>.  Make sure it works dynamically and make sure
   44678 	the renderer is properly null-checked at attach time.
   44679 	
   44680         Reviewed by darin
   44681 
   44682         * khtml/html/html_formimpl.cpp:
   44683         (HTMLInputElementImpl::HTMLInputElementImpl):
   44684         (HTMLInputElementImpl::~HTMLInputElementImpl):
   44685         (HTMLInputElementImpl::parseHTMLAttribute):
   44686         (HTMLInputElementImpl::attach):
   44687         * khtml/html/html_formimpl.h:
   44688         * khtml/html/html_objectimpl.cpp:
   44689         (HTMLObjectElementImpl::HTMLObjectElementImpl):
   44690         (HTMLObjectElementImpl::~HTMLObjectElementImpl):
   44691         (HTMLObjectElementImpl::parseHTMLAttribute):
   44692         (HTMLObjectElementImpl::attach):
   44693         * khtml/html/html_objectimpl.h:
   44694 
   44695 2004-05-14  Chris Blumenberg  <cblu (a] apple.com>
   44696 
   44697 	- Made DOMEventTarget a formal protocol that is implemented by DOMNode
   44698 	- Made DOMEventListener a formal protocol that any object can implement
   44699 
   44700         Reviewed by kocienda.
   44701 
   44702         * kwq/DOMCore.h:
   44703         * kwq/DOMEvents.h:
   44704 
   44705 2004-05-13  Richard Williamson   <rjw (a] apple.com>
   44706 
   44707 	Removed vestigial isSelected method.
   44708 
   44709         Reviewed by Chris.
   44710 
   44711         * kwq/KWQWidget.h:
   44712         * kwq/KWQWidget.mm:
   44713         (QWidget::setIsSelected):
   44714         * kwq/WebCoreBridge.h:
   44715 
   44716 2004-05-13  Chris Blumenberg  <cblu (a] apple.com>
   44717 
   44718 	Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)
   44719 
   44720         Reviewed by rjw.
   44721 
   44722         * kwq/DOM.h: added DOMExtensions.h
   44723         * kwq/DOMHTML.h: renamed frame on DOMHTMLTableElement to frameBorders to avoid NSView conflicts
   44724         * kwq/DOMHTML.mm:
   44725         (-[DOMHTMLTableElement frameBorders]):
   44726         (-[DOMHTMLTableElement setFrameBorders:]):
   44727 
   44728 2004-05-13  Richard Williamson   <rjw (a] apple.com>
   44729 
   44730 	Changed imports of all DOM headers.  DOM headers
   44731 	should be imported using the normal #import <WebCore/foo.h>,
   44732 	they import is modified when copied to WebKit.
   44733 
   44734         Reviewed by Chris.
   44735 
   44736         * ChangeLog:
   44737         * kwq/DOM.h:
   44738         * kwq/DOMCSS.h:
   44739         * kwq/DOMCore.h:
   44740         * kwq/DOMEvents.h:
   44741         * kwq/DOMExtensions.h:
   44742         * kwq/DOMHTML.h:
   44743         * kwq/DOMInternal.h:
   44744         * kwq/DOMRange.h:
   44745         * kwq/DOMStylesheets.h:
   44746         * kwq/DOMTraversal.h:
   44747         * kwq/DOMViews.h:
   44748 
   44749 2004-05-13  Ken Kocienda  <kocienda (a] apple.com>
   44750 
   44751         * khtml/editing/htmlediting_impl.cpp:
   44752         (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Fix deployment
   44753         build bustage. Uninitialized variable.
   44754 
   44755 2004-05-13  Ken Kocienda  <kocienda (a] apple.com>
   44756 
   44757         Reviewed by Hyatt
   44758 
   44759         Implemented first cut at text style change code.
   44760 
   44761         * khtml/editing/htmlediting.cpp:
   44762         (khtml::ApplyStyleCommand::ApplyStyleCommand):
   44763         (khtml::ApplyStyleCommand::~ApplyStyleCommand):
   44764         (khtml::ApplyStyleCommand::impl):
   44765         (khtml::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
   44766         (khtml::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
   44767         (khtml::RemoveCSSPropertyCommand::impl):
   44768         (khtml::RemoveCSSPropertyCommand::styleDeclaration):
   44769         (khtml::RemoveCSSPropertyCommand::property):
   44770         (khtml::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand):
   44771         (khtml::RemoveNodeAttributeCommand::~RemoveNodeAttributeCommand):
   44772         (khtml::RemoveNodeAttributeCommand::impl):
   44773         (khtml::RemoveNodeAttributeCommand::element):
   44774         (khtml::RemoveNodeAttributeCommand::attribute):
   44775         (khtml::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
   44776         (khtml::RemoveNodePreservingChildrenCommand::~RemoveNodePreservingChildrenCommand):
   44777         (khtml::RemoveNodePreservingChildrenCommand::impl):
   44778         (khtml::RemoveNodePreservingChildrenCommand::node):
   44779         (khtml::SetNodeAttributeCommand::SetNodeAttributeCommand):
   44780         (khtml::SetNodeAttributeCommand::~SetNodeAttributeCommand):
   44781         (khtml::SetNodeAttributeCommand::impl):
   44782         (khtml::SetNodeAttributeCommand::element):
   44783         (khtml::SetNodeAttributeCommand::attribute):
   44784         (khtml::SetNodeAttributeCommand::value):
   44785         * khtml/editing/htmlediting.h:
   44786         (khtml::):
   44787         (khtml::ApplyStyleCommand::):
   44788         
   44789         Removed a bunch of unnecessary DOM namespace qualifiers.
   44790         Fixed calls to parent(), which relied on the TreeShared interface to get a parent,
   44791         and changed to the parentNode() DOM Node call, which is more suitable given the
   44792         intention.
   44793         
   44794         * khtml/editing/htmlediting_impl.cpp:
   44795         (khtml::CompositeEditCommandImpl::insertNodeBefore):
   44796         (khtml::CompositeEditCommandImpl::insertNodeAfter):
   44797         (khtml::CompositeEditCommandImpl::appendNode):
   44798         (khtml::CompositeEditCommandImpl::removeNode):
   44799         (khtml::CompositeEditCommandImpl::removeNodeAndPrune):
   44800         (khtml::CompositeEditCommandImpl::removeNodePreservingChildren):
   44801         (khtml::CompositeEditCommandImpl::splitTextNode):
   44802         (khtml::CompositeEditCommandImpl::joinTextNodes):
   44803         (khtml::CompositeEditCommandImpl::insertText):
   44804         (khtml::CompositeEditCommandImpl::deleteText):
   44805         (khtml::CompositeEditCommandImpl::replaceText):
   44806         (khtml::CompositeEditCommandImpl::removeCSSProperty):
   44807         (khtml::CompositeEditCommandImpl::removeNodeAttribute):
   44808         (khtml::CompositeEditCommandImpl::setNodeAttribute):
   44809         
   44810         
   44811         Text style change command implementations.
   44812         There are a couple more parent() -> parentNode() changes in here as well.
   44813         
   44814         (khtml::ApplyStyleCommandImpl::ApplyStyleCommandImpl):
   44815         (khtml::ApplyStyleCommandImpl::~ApplyStyleCommandImpl):
   44816         (khtml::ApplyStyleCommandImpl::commandID):
   44817         (khtml::ApplyStyleCommandImpl::doApply):
   44818         (khtml::ApplyStyleCommandImpl::isHTMLStyleNode):
   44819         (khtml::ApplyStyleCommandImpl::removeHTMLStyleNode):
   44820         (khtml::ApplyStyleCommandImpl::removeCSSStyle):
   44821         (khtml::ApplyStyleCommandImpl::removeCSSProperty):
   44822         (khtml::ApplyStyleCommandImpl::setNodeAttribute):
   44823         (khtml::ApplyStyleCommandImpl::removeNodeAttribute):
   44824         (khtml::ApplyStyleCommandImpl::removeNodePreservingChildren):
   44825         (khtml::ApplyStyleCommandImpl::mustExlicitlyApplyStyle):
   44826         (khtml::ApplyStyleCommandImpl::createExplicitApplyStyleNode):
   44827         (khtml::ApplyStyleCommandImpl::currentlyHasStyle):
   44828         (khtml::ApplyStyleCommandImpl::cssProperty):
   44829         (khtml::ApplyStyleCommandImpl::matchesTargetStyle):
   44830         (khtml::ApplyStyleCommandImpl::positionInsertionPoint):
   44831         (khtml::ApplyStyleCommandImpl::splitTextAtStartIfNeeded):
   44832         (khtml::ApplyStyleCommandImpl::splitTextAtEndIfNeeded):
   44833         (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded):
   44834         (khtml::ApplyStyleCommandImpl::removeStyle):
   44835         (khtml::ApplyStyleCommandImpl::cloneSelection):
   44836         (khtml::ApplyStyleCommandImpl::insertFragment):
   44837         (khtml::ApplyStyleCommandImpl::applyInPlace):
   44838         (khtml::ApplyStyleCommandImpl::applyUsingFragment):
   44839         (khtml::DeleteSelectionCommandImpl::DeleteSelectionCommandImpl):
   44840         (khtml::InsertNodeBeforeCommandImpl::doApply):
   44841         (khtml::InsertNodeBeforeCommandImpl::doUnapply):
   44842         (khtml::JoinTextNodesCommandImpl::doApply):
   44843         (khtml::PasteMarkupCommandImpl::PasteMarkupCommandImpl):
   44844         (khtml::RemoveCSSPropertyCommandImpl::RemoveCSSPropertyCommandImpl):
   44845         (khtml::RemoveCSSPropertyCommandImpl::~RemoveCSSPropertyCommandImpl):
   44846         (khtml::RemoveCSSPropertyCommandImpl::commandID):
   44847         (khtml::RemoveCSSPropertyCommandImpl::doApply):
   44848         (khtml::RemoveCSSPropertyCommandImpl::doUnapply):
   44849         (khtml::RemoveNodeAttributeCommandImpl::RemoveNodeAttributeCommandImpl):
   44850         (khtml::RemoveNodeAttributeCommandImpl::~RemoveNodeAttributeCommandImpl):
   44851         (khtml::RemoveNodeAttributeCommandImpl::commandID):
   44852         (khtml::RemoveNodeAttributeCommandImpl::doApply):
   44853         (khtml::RemoveNodeAttributeCommandImpl::doUnapply):
   44854         (khtml::RemoveNodePreservingChildrenCommandImpl::RemoveNodePreservingChildrenCommandImpl):
   44855         (khtml::RemoveNodePreservingChildrenCommandImpl::~RemoveNodePreservingChildrenCommandImpl):
   44856         (khtml::RemoveNodePreservingChildrenCommandImpl::commandID):
   44857         (khtml::RemoveNodePreservingChildrenCommandImpl::doApply):
   44858         (khtml::SetNodeAttributeCommandImpl::SetNodeAttributeCommandImpl):
   44859         (khtml::SetNodeAttributeCommandImpl::~SetNodeAttributeCommandImpl):
   44860         (khtml::SetNodeAttributeCommandImpl::commandID):
   44861         (khtml::SetNodeAttributeCommandImpl::doApply):
   44862         (khtml::SetNodeAttributeCommandImpl::doUnapply):
   44863         (khtml::SplitTextNodeCommandImpl::doUnapply):
   44864         (khtml::TypingCommandImpl::insertText):
   44865 
   44866 
   44867         Text style change command implementations.
   44868 
   44869         * khtml/editing/htmlediting_impl.h:
   44870         (khtml::ApplyStyleCommandImpl::):
   44871         (khtml::ApplyStyleCommandImpl::removingStyle):
   44872         (khtml::RemoveCSSPropertyCommandImpl::styleDeclaration):
   44873         (khtml::RemoveCSSPropertyCommandImpl::property):
   44874         (khtml::RemoveNodeAttributeCommandImpl::element):
   44875         (khtml::RemoveNodeAttributeCommandImpl::attribute):
   44876         (khtml::RemoveNodePreservingChildrenCommandImpl::node):
   44877         (khtml::SetNodeAttributeCommandImpl::element):
   44878         (khtml::SetNodeAttributeCommandImpl::attribute):
   44879         (khtml::SetNodeAttributeCommandImpl::value):
   44880         
   44881         
   44882         Fixed a bug where the TreeWalker returned the current node instead
   44883         of null when an attempt was made to use the iterator to go to a
   44884         non-existent location.
   44885         
   44886         * khtml/xml/dom2_traversalimpl.cpp:
   44887         (DOM::TreeWalkerImpl::parentNode):
   44888         (DOM::TreeWalkerImpl::firstChild):
   44889         (DOM::TreeWalkerImpl::lastChild):
   44890         (DOM::TreeWalkerImpl::previousSibling):
   44891         (DOM::TreeWalkerImpl::nextSibling):
   44892         (DOM::TreeWalkerImpl::previousNode):
   44893         (DOM::TreeWalkerImpl::nextNode):
   44894         
   44895         
   44896         A convenience.
   44897         
   44898         * khtml/xml/dom_elementimpl.cpp:
   44899         (ElementImpl::hasAttributes):
   44900         * khtml/xml/dom_elementimpl.h:
   44901         
   44902         
   44903         New helpers to begin moving us to using DOM Range-compliant positions in our code.
   44904         
   44905         * khtml/xml/dom_position.cpp:
   44906         (DOM::Position::equivalentRangeCompliantPosition):
   44907         (DOM::Position::equivalentShallowPosition):
   44908         (DOM::Position::inLastEditableInContainingEditableBlock):
   44909         
   44910         
   44911         (DOM::Position::debugPosition): Debugging aid.
   44912         * khtml/xml/dom_position.h:
   44913        
   44914         * kwq/WebCoreBridge.mm:
   44915         (-[WebCoreBridge applyStyle:]): First bit of wiring up. Some hard-coded temporary code 
   44916         in here will need to be improved soon.
   44917 
   44918 2004-05-12  David Hyatt  <hyatt (a] apple.com>
   44919 
   44920 	Improve layout scheduling.  Make sure no layouts can be scheduled until over a minimum delay threshold.
   44921 	
   44922         * khtml/khtmlview.cpp:
   44923         (KHTMLView::scheduleRelayout):
   44924         * khtml/rendering/render_frames.cpp:
   44925         (RenderPart::updateWidgetPositions):
   44926         * khtml/rendering/render_text.cpp:
   44927         (RenderText::paint):
   44928         * khtml/xml/dom_docimpl.cpp:
   44929         (DocumentImpl::DocumentImpl):
   44930         (DocumentImpl::close):
   44931         (DocumentImpl::setParsing):
   44932         (DocumentImpl::shouldScheduleLayout):
   44933         (DocumentImpl::minimumLayoutDelay):
   44934         * khtml/xml/dom_docimpl.h:
   44935 
   44936 2004-05-11  Chris Blumenberg  <cblu (a] apple.com>
   44937 
   44938 	Support for: <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)
   44939 
   44940         Reviewed by rjw.
   44941 
   44942         * kwq/DOM.mm:
   44943         (-[DOMDocument _ownerElement]): new
   44944         * kwq/DOMInternal.h:
   44945         * kwq/WebCoreBridge.h:
   44946         * kwq/WebCoreBridge.mm:
   44947         (-[WebCoreBridge frameElement]): new
   44948 
   44949 2004-05-11  David Hyatt  <hyatt (a] apple.com>
   44950 
   44951 	Fix makeChildrenNonInline so that it does not wrap floats unless an inline is actually found.
   44952 
   44953         Fix block minmaxwidth to add together contiguous runs of floats.
   44954 
   44955 	Fix the content image loader to not destroy the image when removed from the document.
   44956 
   44957         Reviewed by darin
   44958 	
   44959         * ChangeLog:
   44960         * khtml/html/html_imageimpl.cpp:
   44961         (HTMLImageLoader::~HTMLImageLoader):
   44962         (HTMLImageElementImpl::detach):
   44963         * khtml/html/html_imageimpl.h:
   44964         (DOM::):
   44965         * khtml/html/html_objectimpl.cpp:
   44966         (HTMLObjectElementImpl::createRenderer):
   44967         * khtml/html/html_objectimpl.h:
   44968         * khtml/rendering/render_block.cpp:
   44969         (khtml::getInlineRun):
   44970         (khtml::RenderBlock::calcInlineMinMaxWidth):
   44971         (khtml::RenderBlock::calcBlockMinMaxWidth):
   44972 
   44973 2004-05-06  David Hyatt  <hyatt (a] apple.com>
   44974 
   44975 	Fix makeChildrenNonInline so that it does not wrap floats unless an inline is actually found.
   44976 
   44977 	Fix block minmaxwidth to add together contiguous runs of floats.
   44978 
   44979 	Fix the content image loader to not destroy the image when removed from the document.
   44980 	
   44981         Reviewed by darin
   44982 
   44983         * khtml/rendering/render_block.cpp:
   44984         (khtml::getInlineRun):
   44985         (khtml::RenderBlock::calcBlockMinMaxWidth):
   44986 
   44987 2004-05-11  Vicki Murley  <vicki (a] apple.com>
   44988 
   44989         Reviewed by Vicki (fixed by Darin).
   44990 
   44991         * kwq/KWQKSSLKeyGen.h: fix build failure in B&I due to case sensitivity
   44992 
   44993 2004-05-09  Maciej Stachowiak  <mjs (a] apple.com>
   44994 
   44995         Reviewed by Darin.
   44996 
   44997 	- avoid redecoding animated images that are only used once for
   44998 	~2.5% iBench speedup (WebCore part of fix)
   44999 
   45000         * khtml/rendering/render_image.cpp:
   45001         (RenderImage::setPixmap): Maintain use count for pixmap.
   45002         (RenderImage::~RenderImage): Likewise.
   45003         * kwq/KWQPixmap.h:
   45004         * kwq/KWQPixmap.mm:
   45005         (QPixmap::increaseUseCount): Call WebCoreImageRenderer
   45006         (QPixmap::decreaseUseCount): Call WebCoreImageRenderer
   45007         * kwq/WebCoreImageRenderer.h: Prototype new protocol methods.
   45008 
   45009 2004-05-10  David Hyatt  <hyatt (a] apple.com>
   45010 
   45011 	Make sure that when finished parsing if all the right conditions are met, we just go ahead and updateRendering and
   45012 	layout.
   45013 	
   45014         Reviewed by rjw
   45015 	
   45016         * khtml/khtmlview.cpp:
   45017         (KHTMLView::scheduleRelayout):
   45018 
   45019 2004-05-08  Maciej Stachowiak  <mjs (a] apple.com>
   45020 
   45021         Reviewed by Dave.
   45022 
   45023 	- some minor performance tweaks that together give .5% or so on
   45024 	the HTML iBench
   45025 	
   45026         * khtml/css/css_valueimpl.h: don't use a bitfield for id and important,
   45027 	unpacking the bitfield is too expensive
   45028         * kwq/KWQArrayImpl.h:
   45029         * kwq/KWQArrayImpl.mm:
   45030         (KWQArrayImpl::at): inline this method because it's so hot
   45031         * kwq/KWQString.mm:
   45032         (allocateHandle): inline this function because it's so hot
   45033         (initializeHandleNodes): move this in the file so above can be inlined
   45034         (allocateNode): ditto
   45035 
   45036 2004-05-10  David Hyatt  <hyatt (a] apple.com>
   45037 
   45038 	Move image loading to content.
   45039 	
   45040         Reviewed by kocienda
   45041 
   45042         * khtml/html/html_imageimpl.cpp:
   45043         (m_imageComplete):
   45044         (HTMLImageLoader::~HTMLImageLoader):
   45045         (HTMLImageLoader::updateFromElement):
   45046         (HTMLImageLoader::removedFromDocument):
   45047         (HTMLImageLoader::dispatchLoadEvent):
   45048         (HTMLImageLoader::notifyFinished):
   45049         (HTMLImageElementImpl::HTMLImageElementImpl):
   45050         (HTMLImageElementImpl::parseHTMLAttribute):
   45051         (HTMLImageElementImpl::attach):
   45052         (HTMLImageElementImpl::detach):
   45053         (HTMLImageElementImpl::removedFromDocument):
   45054         (HTMLImageElementImpl::currentImage):
   45055         * khtml/html/html_imageimpl.h:
   45056         (DOM::):
   45057         * khtml/html/html_objectimpl.cpp:
   45058         (HTMLObjectElementImpl::HTMLObjectElementImpl):
   45059         (HTMLObjectElementImpl::removedFromDocument):
   45060         (HTMLObjectElementImpl::attach):
   45061         * khtml/html/html_objectimpl.h:
   45062         * khtml/misc/loader.cpp:
   45063         (CachedImage::ref):
   45064         * khtml/rendering/render_image.cpp:
   45065         (RenderImage::RenderImage):
   45066         (RenderImage::setImage):
   45067         (RenderImage::updateAltText):
   45068         * khtml/rendering/render_image.h:
   45069         (khtml::RenderImage::getImage):
   45070         * khtml/rendering/render_object.cpp:
   45071         (RenderObject::canvas):
   45072         * khtml/xml/dom_docimpl.cpp:
   45073         (DocumentImpl::dispatchImageLoadEventSoon):
   45074         (DocumentImpl::removeImage):
   45075         (DocumentImpl::dispatchImageLoadEventsNow):
   45076         * khtml/xml/dom_docimpl.h:
   45077 
   45078 2004-05-10  Darin Adler  <darin (a] apple.com>
   45079 
   45080         Reviewed by Vicki.
   45081 
   45082         - fixed build failure seen in B&I log (due to case sensitive file system?)
   45083 
   45084         * kwq/KWQLoader.h: Include "KWQCString.h" rather than "QCString.h". The latter was
   45085         failing because the forwarding header is called "qcstring.h" and I guess B&I started
   45086         building with a case sensitive file system. I could have changed this to "qcstring.h",
   45087         but it seemed better to use the header's real name since we're inside KWQ here.
   45088 
   45089 2004-05-07  Maciej Stachowiak  <mjs (a] apple.com>
   45090 
   45091         Reviewed by Dave.
   45092 
   45093 	- change things around so extremely hot TokenizerString::current()
   45094 	method doesn't have to do any work. It's cheaper to maintain the
   45095 	relevant state than to always compute it.
   45096 	
   45097         * khtml/misc/stringit.h:
   45098         (khtml::TokenizerString::TokenizerString): Initialize m_currentChar
   45099         (khtml::TokenizerString::push): update m_currentChar
   45100         (khtml::TokenizerString::advance): ditto
   45101         (khtml::TokenizerString::current): return m_currentChar
   45102         * khtml/misc/stringit.cpp:
   45103         (khtml::TokenizerString::clear): update m_currentChar
   45104         (khtml::TokenizerString::append): update m_currentChar
   45105         (khtml::TokenizerString::prepend): update m_currentChar
   45106 
   45107 2004-05-07  Don Melton  <gramps (a] apple.com>
   45108 
   45109         Reviewed by Dave.
   45110 
   45111 	Fixed minor, edge-case regression in KEYGEN RSA logic caused by Dave's
   45112 	"atomic string" patch back in January.
   45113 
   45114         * khtml/html/html_formimpl.cpp:
   45115         (HTMLKeygenElementImpl::encoding):
   45116 
   45117 === Safari-139 ===
   45118 
   45119 2004-05-06  Maciej Stachowiak  <mjs (a] apple.com>
   45120 
   45121         Reviewed by Darin.
   45122 
   45123 	- two trivial changes for a 1% speedup, thanks to Shark
   45124 	
   45125         * khtml/dom/dom_string.cpp:
   45126         * khtml/dom/dom_string.h:
   45127         (DOM::DOMString::~DOMString): inline this method because it's hot and the
   45128 	function call overhead was very costly.
   45129         * WebCore.pbproj/project.pbxproj: Add -falign-loops=16
   45130 	optimization flag, as suggested by Shark.
   45131 
   45132 2004-05-06  Chris Blumenberg  <cblu (a] apple.com>
   45133 
   45134 	Added alpha to DOMRGBColor as an extension.
   45135 
   45136         Reviewed by dave.
   45137 
   45138         * kwq/DOM-CSS.mm:
   45139         (-[DOMRGBColor alpha]): new
   45140         * kwq/DOMExtensions.h:
   45141 
   45142 2004-05-05  David Hyatt  <hyatt (a] apple.com>
   45143 
   45144 	Fix whitespace rendering for brs inside pres. The bug is 3640711.
   45145 	
   45146         Reviewed by kocienda
   45147 
   45148         * khtml/rendering/bidi.cpp:
   45149         (khtml::RenderBlock::layoutInlineChildren):
   45150         (khtml::RenderBlock::findNextLineBreak):
   45151 
   45152 2004-04-25  Maciej Stachowiak  <mjs (a] apple.com>
   45153 
   45154         Reviewed by Darin.
   45155 
   45156         * khtml/ecma/kjs_events.cpp:
   45157         (JSLazyEventListener::parseCode): Make sure to protect the
   45158 	permanent "event" string object.
   45159 
   45160 2004-05-05  David Hyatt  <hyatt (a] apple.com>
   45161 
   45162 	Fixes for 3637924, 3643356, and 3558513, all crashes in recalcStyle.  Make sure the tree is always in a
   45163 	sane state when removing children while changing .innerHTML.
   45164 	
   45165         Reviewed by darin
   45166 
   45167         * khtml/xml/dom_nodeimpl.cpp:
   45168 
   45169 2004-05-05  David Hyatt  <hyatt (a] apple.com>
   45170 
   45171 	A collection of fixes.
   45172 
   45173 	(1) Fix a regression from the style sharing landing that made visited and unvisited links accidentally share.
   45174 	(2) Make sure 100% height divs fill the <body> in quirks mode, even if the body has no height specified.
   45175 	(3) Make sure table cell percentage heights exclude border/padding.
   45176 	(4) Make sure that before flexing auto height is used for the contents of the cells.
   45177 	
   45178         Reviewed by darin
   45179 
   45180         * khtml/css/cssstyleselector.cpp:
   45181         (khtml::CSSStyleSelector::canShareStyleWithElement):
   45182         (khtml::CSSStyleSelector::locateSharedStyle):
   45183         * khtml/rendering/render_box.cpp:
   45184         (RenderBox::calcPercentageHeight):
   45185         * khtml/rendering/render_table.cpp:
   45186         (RenderTable::layout):
   45187         (RenderTableSection::layoutRows):
   45188 
   45189 2004-05-05  Chris Blumenberg  <cblu (a] apple.com>
   45190 
   45191 	- DOM Extensions API tweaks
   45192 	- Implemented outerHTML
   45193 
   45194         Reviewed by kocienda.
   45195 
   45196         * WebCore-combined.exp:
   45197         * khtml/html/html_elementimpl.cpp:
   45198         (HTMLElementImpl::outerHTML): new
   45199         (HTMLElementImpl::setOuterHTML): mew
   45200         * khtml/html/html_elementimpl.h:
   45201         * kwq/DOMExtensions.h: removed background methods on table and table cell since these are unnecessary conveniences
   45202         * kwq/DOMHTML.mm:
   45203         (-[DOMHTMLElement outerHTML]): new
   45204         (-[DOMHTMLElement setOuterHTML:]): mew
   45205 
   45206 2004-05-04  David Hyatt  <hyatt (a] apple.com>
   45207 
   45208 	Fix for 3641331, make sure <th> elements don't reset text-align to center if they inherit a specified
   45209 	value.
   45210 
   45211 	Also remove the styles from <abbr> and <acronym>.
   45212 	
   45213         Reviewed by darin
   45214 
   45215         * khtml/css/cssstyleselector.cpp:
   45216         (khtml::CSSStyleSelector::adjustRenderStyle):
   45217         * khtml/css/html4.css:
   45218         * khtml/css/quirks.css:
   45219 
   45220 2004-05-04  Ken Kocienda  <kocienda (a] apple.com>
   45221 
   45222         Reviewed by Hyatt
   45223         
   45224         Fix for behavior which extends selection drawing to beginning and end of blocks.
   45225         I added this feature a few days ago, but my checks to see if the extension should
   45226         be done was naive: Is first or last item in root line box selected? Clearly this 
   45227         needs to be "selection is *beyond* first or last item in root line box. Done.
   45228 
   45229         * khtml/rendering/render_image.cpp:
   45230         (RenderImage::paint): Add selectionState() == SelectionInside check.
   45231         * khtml/rendering/render_text.cpp:
   45232         (InlineTextBox::paintSelection): Constrain passed-in offsets to be relative to box.
   45233         Use passed-in offsets to check whether selection extends beyond this box. Also, now
   45234         passes in flag to tell whether the whole RenderText has selectionState() == SelectionInside
   45235         (in which case you always want to extend).
   45236         (RenderText::paint): Remove box offset constraining from here. Now done in above function.
   45237         * khtml/rendering/render_text.h: Modify paintSelection interface to add 
   45238         selectionState() == SelectionInside flag.
   45239 
   45240 2004-05-04  Ken Kocienda  <kocienda (a] apple.com>
   45241 
   45242         Added layout tests for DOM traversal objects.
   45243 
   45244         * layout-tests/traversal/node-iterator-001-expected.txt: Added.
   45245         * layout-tests/traversal/node-iterator-001.html: Added.
   45246         * layout-tests/traversal/node-iterator-002-expected.txt: Added.
   45247         * layout-tests/traversal/node-iterator-002.html: Added.
   45248         * layout-tests/traversal/node-iterator-003-expected.txt: Added.
   45249         * layout-tests/traversal/node-iterator-003.html: Added.
   45250         * layout-tests/traversal/node-iterator-004-expected.txt: Added.
   45251         * layout-tests/traversal/node-iterator-004.html: Added.
   45252         * layout-tests/traversal/node-iterator-005-expected.txt: Added.
   45253         * layout-tests/traversal/node-iterator-005.html: Added.
   45254         * layout-tests/traversal/node-iterator-006-expected.txt: Added.
   45255         * layout-tests/traversal/node-iterator-006.html: Added.
   45256         * layout-tests/traversal/node-iterator-007-expected.txt: Added.
   45257         * layout-tests/traversal/node-iterator-007.html: Added.
   45258         * layout-tests/traversal/traversal.js: Added.
   45259         * layout-tests/traversal/tree-walker-001-expected.txt: Added.
   45260         * layout-tests/traversal/tree-walker-001.html: Added.
   45261         * layout-tests/traversal/tree-walker-002-expected.txt: Added.
   45262         * layout-tests/traversal/tree-walker-002.html: Added.
   45263         * layout-tests/traversal/tree-walker-003-expected.txt: Added.
   45264         * layout-tests/traversal/tree-walker-003.html: Added.
   45265         * layout-tests/traversal/tree-walker-004-expected.txt: Added.
   45266         * layout-tests/traversal/tree-walker-004.html: Added.
   45267 
   45268 2004-05-04  Ken Kocienda  <kocienda (a] apple.com>
   45269 
   45270         Reviewed by Hyatt
   45271 
   45272         * khtml/xml/dom2_traversalimpl.cpp:
   45273         (DOM::NodeIteratorImpl::nextNode): Change to make NodeIterators behave like the spec in that
   45274         reference node is null until you iterate the first time. 
   45275         (DOM::NodeIteratorImpl::previousNode): Ditto.
   45276 
   45277 2004-05-04  Ken Kocienda  <kocienda (a] apple.com>
   45278 
   45279         * WebCore.pbproj/project.pbxproj: Backed out unintentional
   45280         change.
   45281 
   45282 2004-05-04  Ken Kocienda  <kocienda (a] apple.com>
   45283 
   45284         Reviewed by Hyatt
   45285         
   45286         Implemented DOM traversal objects, NodeIterator and TreeWalker.
   45287 
   45288         * WebCore-combined.exp: Regenerate
   45289         * WebCore.exp: Export DOMNodeFilter protocol
   45290         * khtml/dom/dom2_traversal.cpp: Completed half-done implementation pulled from KDE tree.
   45291         * khtml/dom/dom2_traversal.h: Ditto.
   45292         * khtml/dom/dom_doc.cpp:
   45293         (DOM::Document::createNodeIterator): Ditto.
   45294         (DOM::Document::createTreeWalker): Ditto.
   45295         * khtml/dom/dom_doc.h: Ditto.
   45296         * khtml/ecma/kjs_dom.cpp:
   45297         (DOMDocumentProtoFunc::tryCall): Fix cases that create traversal objects.
   45298         * khtml/ecma/kjs_traversal.cpp:
   45299         (DOMNodeIterator::getValueProperty): Add referenceNode and pointerBeforeReferenceNode
   45300         properties to node interator.
   45301         (DOMTreeWalkerProtoFunc::tryCall): Fix typo where DOMTreeWalker::PreviousNode case called previousSibling function.
   45302         (JSNodeFilterCondition::JSNodeFilterCondition): Implement JS glue class for node filter conditions.
   45303         (JSNodeFilterCondition::acceptNode): Ditto.
   45304         * khtml/ecma/kjs_traversal.h:
   45305         (KJS::DOMNodeIterator::): Add ReferenceNode and PointerBeforeReferenceNode constants.
   45306         * khtml/ecma/kjs_traversal.lut.h:
   45307         (KJS::): Regenerated
   45308         * khtml/xml/dom2_traversalimpl.cpp: Completed half-done implementation pulled from KDE tree.
   45309         * khtml/xml/dom2_traversalimpl.h: Ditto.
   45310         * khtml/xml/dom_docimpl.cpp:
   45311         (DocumentImpl::createNodeIterator): Ditto.
   45312         (DocumentImpl::createTreeWalker): Ditto.
   45313         * khtml/xml/dom_docimpl.h: Ditto.
   45314         * khtml/xml/dom_nodeimpl.cpp:
   45315         (NodeImpl::checkAddChild): Patched due to change in isAncestor function. This was the one pre-existing caller.
   45316         (NodeImpl::isAncestor): Changed so that it does not return true for itself: node->isAncestor(node) now returns false.
   45317         * khtml/xml/dom_nodeimpl.h: Made isAncestor const.
   45318         * kwq/DOM.mm: Implemented obj-c glue for traversal objects.
   45319         * kwq/DOMInternal.h: Ditto.
   45320         * kwq/DOMTraversal.h: Ditto.
   45321 
   45322 2004-05-04  Darin Adler  <darin (a] apple.com>
   45323 
   45324         Reviewed by Ken.
   45325 
   45326         - fixed <rdar://problem/3642252>: "starting to drag a link and then releasing needs to activate the link if you are still over it"
   45327 
   45328         * khtml/khtmlview.cpp:
   45329         (KHTMLView::viewportMouseMoveEvent): Put hysteresis check inside !APPLE_CHANGES because
   45330         the Web Kit does our hysteresis checks.
   45331         (KHTMLView::viewportMouseReleaseEvent): Ditto.
   45332 
   45333         * kwq/KWQApplication.h: Removed startDragDistance and globalStrut; unused.
   45334         * kwq/KWQApplication.mm: Removed the implementations.
   45335         * kwq/KWQPointArray.h: Removed manhattanLength; unused.
   45336         * kwq/KWQPoint.mm:  Removed the implementation.
   45337 
   45338         * WebCore-tests.exp: Removed manhattanLength.
   45339         * WebCore-combined.exp: Regenerated.
   45340 
   45341 2004-05-03  Ken Kocienda  <kocienda (a] apple.com>
   45342 
   45343         Reviewed by Hyatt
   45344 
   45345         Nifty hack to work around problem where BR's inserted at the end of a block do not 
   45346         render. Since only the *last* BR has this quirk, insert two when at the end of a block.
   45347         Once done, you can't caret past the last one, so you never insert two again.
   45348 
   45349         * khtml/editing/htmlediting_impl.cpp:
   45350         (InputNewlineCommandImpl::doApply)
   45351 
   45352 2004-05-03  Darin Adler  <darin (a] apple.com>
   45353 
   45354         Reviewed by Ken
   45355 
   45356         - fixed <rdar://problem/3091531>: "should format copied tables with tabs between cells, spreadsheet-style, for pasting to Excel"
   45357         - fixed <rdar://problem/3110002>: "Find doesn't match across formatting boundaries"
   45358         - fixed <rdar://problem/3640340>: "REGRESSION (136-137): nil-deref in KHTMLPart::setFocusNodeIfNeeded inside triple click code after repeatedly click/drag selecting text"
   45359         - fixed <rdar://problem/3640422>: "too many blank lines between paragraphs in copied text"
   45360 
   45361         * khtml/dom/dom2_range.h: Added == and != operators to DOMRange.
   45362         * khtml/dom/dom2_range.cpp: (DOM::operator==): Added.
   45363 
   45364         * khtml/khtml_part.cpp:
   45365         (KHTMLPart::init): Don't call findTextBegin any more; it's now not used at all
   45366         in WebCore.
   45367         (KHTMLPart::clear): Don't call findTextBegin any more. Also don't set up the
   45368         load statistics variables.
   45369         (KHTMLPart::findTextNext): Roll out APPLE_CHANGES; this function is no longer
   45370         used in WebCore any more and instead the entire thing is compiled out.
   45371         (KHTMLPart::text): Reimplement this by calling one of the new text operations. All the interesting
   45372         parts were moved into the TextIterator class.
   45373         (KHTMLPart::setFocusNodeIfNeeded): Add a check for nil; this is the fix for 364030.
   45374 
   45375         * khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): Put m_findPos,
   45376         m_findNode, m_overURL, m_overURLTarget, m_scrollTimer, m_loadedObjects,
   45377         m_totalObjectCount, and m_jobPercent inside !APPLE_CHANGES.
   45378 
   45379         * khtml/xml/dom_selection.h: Replaced uses of 4-character tabs with spaces.
   45380         (DOM::Selection::Selection): Added a constructor that takes a DOM range.
   45381         (DOM::Selection::operator=): Overloaded operator= for DOM range and position.
   45382         This is slightly more efficient than letting a second Selection object be constructed.
   45383         * khtml/xml/dom_selection.cpp: Replaced uses of 4-character tabs with spaces.
   45384         (DOM::Selection::Selection): Added a constructor that takes a DOM range.
   45385 
   45386         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::findString): Reimplement find so it uses
   45387         the new text operations function for finding.
   45388 
   45389         * khtml/misc/khtml_text_operations.h:
   45390         * khtml/misc/khtml_text_operations.cpp:
   45391         * WebCore.pbproj/project.pbxproj:
   45392         Added new text iterator classes that do the heavy lifting.
   45393 
   45394 2004-05-03  David Hyatt  <hyatt (a] apple.com>
   45395 
   45396 	Make sure that XML processing instructions set themselves as the parent node of the stylesheets they load,
   45397 	so that they will get stylesheetLoaded() notifications when @imported stylesheets are contained inside the
   45398 	sheet.
   45399 
   45400         Reviewed by cblu
   45401 
   45402         * khtml/xml/dom_xmlimpl.cpp:
   45403         (ProcessingInstructionImpl::setStyleSheet):
   45404 
   45405 2004-04-30  Chris Blumenberg  <cblu (a] apple.com>
   45406 
   45407 	Fixed: <rdar://problem/3543662>: HITLIST-137: REGRESSION: reproducible hang copying all text at Dave's blog, and other pages
   45408 
   45409         Reviewed by dave.
   45410 
   45411         * khtml/xml/dom2_rangeimpl.cpp:
   45412         (RangeImpl::toHTMLWithOptions): when looping with containingBlock, check the value to see if it is the same
   45413 
   45414 2004-04-30  David Hyatt  <hyatt (a] apple.com>
   45415 
   45416 	Fix for 3639530, regression on generated content pages.  They crash because I forgot to null-check the style
   45417 	object.
   45418 	
   45419         Reviewed by kocienda
   45420 
   45421         * khtml/css/cssstyleselector.cpp:
   45422         (khtml::CSSStyleSelector::checkOneSelector):
   45423 
   45424 2004-04-30  John Sullivan  <sullivan (a] apple.com>
   45425 
   45426         - added bridge method to get the NSFont used to render a node, to
   45427         help with supporting the font panel
   45428 
   45429         Reviewed by Ken.
   45430 
   45431         * kwq/WebCoreBridge.h:
   45432         * kwq/WebCoreBridge.mm:
   45433         (-[WebCoreBridge renderedFontForNode:]):
   45434         return nil if no renderer, otherwise return NSFont
   45435 
   45436 2004-04-29  David Hyatt  <hyatt (a] apple.com>
   45437 
   45438 	Expose summary on tables.
   45439 	
   45440         Reviewed by darin
   45441 
   45442         * kwq/KWQAccObject.mm:
   45443         (-[KWQAccObject helpText]):
   45444 
   45445 2004-04-29  David Hyatt  <hyatt (a] apple.com>
   45446 
   45447 	Implement image maps for accessibility.
   45448 	
   45449         Reviewed by darin
   45450 
   45451         * khtml/html/html_imageimpl.cpp:
   45452         (HTMLAreaElementImpl::getRect):
   45453         * khtml/html/html_imageimpl.h:
   45454         * khtml/rendering/render_image.cpp:
   45455         (RenderImage::imageMap):
   45456         (RenderImage::nodeAtPoint):
   45457         * khtml/rendering/render_image.h:
   45458         * kwq/KWQAccObject.h:
   45459         * kwq/KWQAccObject.mm:
   45460         (-[KWQAccObject initWithRenderer:]):
   45461         (-[KWQAccObject anchorElement]):
   45462         (-[KWQAccObject parentObject]):
   45463         (-[KWQAccObject parentObjectUnignored]):
   45464         (-[KWQAccObject addChildrenToArray:]):
   45465         (-[KWQAccObject role]):
   45466         (-[KWQAccObject helpText]):
   45467         (-[KWQAccObject value]):
   45468         (-[KWQAccObject title]):
   45469         (-[KWQAccObject position]):
   45470         (-[KWQAccObject size]):
   45471         (-[KWQAccObject accessibilityIsIgnored]):
   45472         (-[KWQAccObject accessibilityAttributeNames]):
   45473         (-[KWQAccObject accessibilityAttributeValue:]):
   45474         * kwq/KWQRegion.mm:
   45475         (QRegion::boundingRect):
   45476 
   45477 2004-04-29  Chris Blumenberg  <cblu (a] apple.com>
   45478 
   45479 	Fixed:
   45480 	<rdar://problem/3631431>: web archive of .Mac welcome page renders has gaps in layout
   45481 	<rdar://problem/3631470>: news.google.com web archive has a different font than the live site
   45482 
   45483         Reviewed by kocienda.
   45484 
   45485         * khtml/html/html_documentimpl.cpp:
   45486         (HTMLDocumentImpl::determineParseMode): don't set a name on the doc type when there is no doc type in the source
   45487         * khtml/xml/dom_docimpl.cpp:
   45488         (DocumentTypeImpl::toString): don't return "<!DOCTYPE>" when there is no doc type in the source
   45489         * khtml/xml/dom_nodeimpl.cpp:
   45490         (NodeImpl::recursive_toHTMLWithOptions): don't escape STYLE text, don't include the end tags for document nodes just as we don't for start tags
   45491 
   45492 2004-04-29  Darin Adler  <darin (a] apple.com>
   45493 
   45494         Reviewed by Dave.
   45495 
   45496         - some tweaks on image
   45497 
   45498         * khtml/html/html_imageimpl.h: Remove unused noref bit and unneeded override of isURLAttribute.
   45499         * khtml/html/html_imageimpl.cpp:
   45500         (HTMLAreaElementImpl::HTMLAreaElementImpl): Remove unused noref bit.
   45501         (HTMLAreaElementImpl::parseHTMLAttribute): Remove parsing of noref; no need to store the
   45502         bit since it has no meaning.
   45503 
   45504 2004-04-29  David Hyatt  <hyatt (a] apple.com>
   45505 
   45506 	1. Change the role of links from AXButton to AXLink.
   45507 	2. Add support for list markers using a new role, AXListMarker.
   45508 	
   45509         Reviewed by kocienda
   45510 
   45511         * khtml/rendering/render_list.h:
   45512         (khtml::RenderListMarker::text):
   45513         * kwq/KWQAccObject.mm:
   45514         (-[KWQAccObject role]):
   45515         (-[KWQAccObject roleDescription]):
   45516         (-[KWQAccObject value]):
   45517         (-[KWQAccObject accessibilityIsIgnored]):
   45518 
   45519 2004-04-29  Darin Adler  <darin (a] apple.com>
   45520 
   45521         Reviewed by Ken.
   45522 
   45523         - fixed <rdar://problem/3636566>: "space bar on a form button hits default button instead (autorestore.apple.com)"
   45524 
   45525         * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::defaultEventHandler):
   45526         Remove special handling for space, falling back to default AppKit behavior. Change enter handling to
   45527         click the form element itself in the case of elements other than text input ones.
   45528 
   45529 2004-04-29  Darin Adler  <darin (a] apple.com>
   45530 
   45531         Reviewed by Ken.
   45532 
   45533         - fixed <rdar://problem/3636673>: "unrepro nil-deref crash in KHTMLPart::frameDetached() (espn.com)"
   45534 
   45535         * kwq/KWQKHTMLPart.mm: (KHTMLPart::frameDetached): Check for nil.
   45536 
   45537 2004-04-28  Chris Blumenberg  <cblu (a] apple.com>
   45538 
   45539 	- Implemented DOMHTMLElementExtensions.
   45540 	- Added stubs for the rest of the DOM API.
   45541 
   45542         Reviewed by dave.
   45543 
   45544         * WebCore.pbproj/project.pbxproj:
   45545         * khtml/dom/html_element.cpp:
   45546         (HTMLElement::setContentEditable): moved implementation from here to HTMLElementImpl
   45547         * khtml/html/html_elementimpl.cpp:
   45548         (HTMLElementImpl::setContentEditable): new, moved from HTMLElement
   45549         * khtml/html/html_elementimpl.h:
   45550         * kwq/DOM-CSS.mm:
   45551         (-[DOMObject sheet]):
   45552         (-[DOMDocument getComputedStyle::]):
   45553         * kwq/DOM.mm:
   45554         (-[DOMAbstractView document]):
   45555         (-[DOMDocumentView defaultView]):
   45556         (-[DOMDocument createNodeIterator::::]):
   45557         (-[DOMDocument createTreeWalker::::]):
   45558         (-[DOMNodeFilter acceptNode:]):
   45559         (-[DOMNodeIterator root]):
   45560         (-[DOMNodeIterator whatToShow]):
   45561         (-[DOMNodeIterator filter]):
   45562         (-[DOMNodeIterator expandEntityReferences]):
   45563         (-[DOMNodeIterator nextNode]):
   45564         (-[DOMNodeIterator previousNode]):
   45565         (-[DOMNodeIterator detach]):
   45566         (-[DOMTreeWalker root]):
   45567         (-[DOMTreeWalker whatToShow]):
   45568         (-[DOMTreeWalker filter]):
   45569         (-[DOMTreeWalker expandEntityReferences]):
   45570         (-[DOMTreeWalker currentNode]):
   45571         (-[DOMTreeWalker setCurrentNode:]):
   45572         (-[DOMTreeWalker parentNode]):
   45573         (-[DOMTreeWalker firstChild]):
   45574         (-[DOMTreeWalker lastChild]):
   45575         (-[DOMTreeWalker previousSibling]):
   45576         (-[DOMTreeWalker nextSibling]):
   45577         (-[DOMTreeWalker previousNode]):
   45578         (-[DOMTreeWalker nextNode]):
   45579         * kwq/DOMEvents.mm: Added.
   45580         (-[DOMEvent type]):
   45581         (-[DOMEvent target]):
   45582         (-[DOMEvent currentTarget]):
   45583         (-[DOMEvent eventPhase]):
   45584         (-[DOMEvent bubbles]):
   45585         (-[DOMEvent cancelable]):
   45586         (-[DOMEvent timeStamp]):
   45587         (-[DOMEvent stopPropagation]):
   45588         (-[DOMEvent preventDefault]):
   45589         (-[DOMEvent initEvent:::]):
   45590         (-[DOMEventTarget addEventListener:::]):
   45591         (-[DOMEventTarget removeEventListener:::]):
   45592         (-[DOMEventTarget dispatchEvent:]):
   45593         (-[DOMMouseEvent screenX]):
   45594         (-[DOMMouseEvent screenY]):
   45595         (-[DOMMouseEvent clientX]):
   45596         (-[DOMMouseEvent clientY]):
   45597         (-[DOMMouseEvent ctrlKey]):
   45598         (-[DOMMouseEvent shiftKey]):
   45599         (-[DOMMouseEvent altKey]):
   45600         (-[DOMMouseEvent metaKey]):
   45601         (-[DOMMouseEvent button]):
   45602         (-[DOMMouseEvent relatedTarget]):
   45603         (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
   45604         (-[DOMMutationEvent relatedNode]):
   45605         (-[DOMMutationEvent prevValue]):
   45606         (-[DOMMutationEvent newValue]):
   45607         (-[DOMMutationEvent attrName]):
   45608         (-[DOMMutationEvent attrChange]):
   45609         (-[DOMMutationEvent initMutationEvent::::::::]):
   45610         (-[DOMUIEvent view]):
   45611         (-[DOMUIEvent detail]):
   45612         (-[DOMUIEvent initUIEvent:::::]):
   45613         (-[DOMDocument createEvent:]):
   45614         * kwq/DOMHTML.mm:
   45615         (-[DOMHTMLElement innerHTML]): implemented
   45616         (-[DOMHTMLElement setInnerHTML:]): implemented
   45617         (-[DOMHTMLElement innerText]): implemented
   45618         (-[DOMHTMLElement setInnerText:]): implemented
   45619         (-[DOMHTMLElement children]): implemented
   45620         (-[DOMHTMLElement contentEditable]): implemented
   45621         (-[DOMHTMLElement setContentEditable:]): implemented
   45622         (-[DOMHTMLElement isContentEditable]): implemented
   45623 
   45624 2004-04-27  David Hyatt  <hyatt (a] apple.com>
   45625 
   45626 	Implement sharing of similar style objects. Cuts the # of style objects allocated on the PLT by more
   45627 	than half.
   45628 	
   45629         Reviewed by kocienda
   45630 
   45631         * khtml/css/cssstyleselector.cpp:
   45632         (khtml::CSSStyleSelector::initElementAndPseudoState):
   45633         (khtml::CSSStyleSelector::initForStyleResolve):
   45634         (khtml::cleanpath):
   45635         (khtml::checkPseudoState):
   45636         (khtml::CSSStyleSelector::locateSiblingList):
   45637         (khtml::CSSStyleSelector::canShareStyleWithElement):
   45638         (khtml::CSSStyleSelector::locateSharedStyle):
   45639         (khtml::CSSStyleSelector::styleForElement):
   45640         (khtml::CSSStyleSelector::pseudoStyleForElement):
   45641         (khtml::CSSStyleSelector::checkOneSelector):
   45642         * khtml/css/cssstyleselector.h:
   45643         * khtml/css/html4.css:
   45644         * khtml/css/parser.cpp:
   45645         * khtml/css/parser.y:
   45646         * khtml/html/html_baseimpl.cpp:
   45647         (HTMLBodyElementImpl::mapToEntry):
   45648         (HTMLIFrameElementImpl::mapToEntry):
   45649         * khtml/html/html_baseimpl.h:
   45650         * khtml/html/html_blockimpl.cpp:
   45651         (HTMLDivElementImpl::mapToEntry):
   45652         (HTMLHRElementImpl::mapToEntry):
   45653         (HTMLParagraphElementImpl::mapToEntry):
   45654         (HTMLMarqueeElementImpl::mapToEntry):
   45655         * khtml/html/html_blockimpl.h:
   45656         * khtml/html/html_elementimpl.cpp:
   45657         (HTMLNamedAttrMapImpl::declCount):
   45658         (HTMLNamedAttrMapImpl::mapsEquivalent):
   45659         (HTMLElementImpl::attributeChanged):
   45660         (HTMLElementImpl::mapToEntry):
   45661         * khtml/html/html_elementimpl.h:
   45662         (DOM::HTMLElementImpl::isMappedAttribute):
   45663         * khtml/html/html_formimpl.cpp:
   45664         (HTMLInputElementImpl::mapToEntry):
   45665         * khtml/html/html_formimpl.h:
   45666         * khtml/html/html_imageimpl.cpp:
   45667         (HTMLImageElementImpl::mapToEntry):
   45668         * khtml/html/html_imageimpl.h:
   45669         * khtml/html/html_inlineimpl.cpp:
   45670         (HTMLBRElementImpl::mapToEntry):
   45671         (HTMLFontElementImpl::mapToEntry):
   45672         * khtml/html/html_inlineimpl.h:
   45673         * khtml/html/html_listimpl.cpp:
   45674         (HTMLUListElementImpl::mapToEntry):
   45675         (HTMLOListElementImpl::mapToEntry):
   45676         (HTMLLIElementImpl::mapToEntry):
   45677         * khtml/html/html_listimpl.h:
   45678         * khtml/html/html_objectimpl.cpp:
   45679         (HTMLAppletElementImpl::mapToEntry):
   45680         (HTMLEmbedElementImpl::mapToEntry):
   45681         (HTMLObjectElementImpl::mapToEntry):
   45682         * khtml/html/html_objectimpl.h:
   45683         * khtml/html/html_tableimpl.cpp:
   45684         (HTMLTableElementImpl::mapToEntry):
   45685         (HTMLTablePartElementImpl::mapToEntry):
   45686         (HTMLTableCellElementImpl::mapToEntry):
   45687         (HTMLTableColElementImpl::mapToEntry):
   45688         (HTMLTableCaptionElementImpl::mapToEntry):
   45689         * khtml/html/html_tableimpl.h:
   45690         * khtml/rendering/render_object.cpp:
   45691         (RenderObject::setStyle):
   45692         * khtml/rendering/render_style.cpp:
   45693         (m_affectedByAttributeSelectors):
   45694         (RenderStyle::RenderStyle):
   45695         * khtml/rendering/render_style.h:
   45696         (khtml::):
   45697         (khtml::RenderStyle::pseudoState):
   45698         (khtml::RenderStyle::setPseudoState):
   45699         (khtml::RenderStyle::affectedByAttributeSelectors):
   45700         (khtml::RenderStyle::setAffectedByAttributeSelectors):
   45701         * khtml/xml/dom_docimpl.cpp:
   45702         (DocumentImpl::DocumentImpl):
   45703         * khtml/xml/dom_docimpl.h:
   45704         (DOM::DocumentImpl::usesSiblingRules):
   45705         (DOM::DocumentImpl::setUsesSiblingRules):
   45706 
   45707 2004-04-28  Darin Adler  <darin (a] apple.com>
   45708 
   45709         Reviewed by Chris.
   45710 
   45711         - another step of refinement on the reinterpret_cast stuff; now it's a compile-time
   45712           error if you do it wrong
   45713         - fixed a couple of storage leaks
   45714 
   45715         * kwq/DOMInternal.h: Added new DOM_cast template function. Like reinterpret_cast, but a
   45716         compile-time error if you use it with the wrong parameters. Also added type-safe versions
   45717         of the wrapper functions that do the DOM_cast automatically.
   45718         * kwq/DOMInternal.mm:
   45719         (getDOMWrapperImpl): Changed name and parameter type as part of above change.
   45720         (addDOMWrapperImpl): Ditto.
   45721         (removeDOMWrapper): Ditto.
   45722 
   45723         * kwq/DOM.mm: Use the new DOM_cast instead of reinterpret_cast, and the new
   45724         DOM wrapper calls that do the cast automatically.
   45725         * kwq/DOM-CSS.mm: More of the same.
   45726         (-[DOMCSSStyleSheet dealloc]): Added override to deref, fixes leak.
   45727         * kwq/DOMHTML.mm: More of the same.
   45728         (-[DOMHTMLCollection dealloc]): Added override to deref, fixes leak.
   45729         (-[DOMHTMLOptionsCollection dealloc]): Added override to deref, fixes theoretical leak.
   45730 
   45731 2004-04-28  Darin Adler  <darin (a] apple.com>
   45732 
   45733         Reviewed by Chris.
   45734 
   45735         - fixed reinterpret_cast mistakes and some style issues in DOM implementation
   45736 
   45737         * kwq/DOM-CSS.mm:
   45738         (-[DOMCSSStyleRule _styleRuleImpl]): Fix broken reinterpret_cast; you must reinterpret_cast back
   45739         to the class you reinterpret_casted from, not to a derived class.
   45740         (-[DOMCSSMediaRule _mediaRuleImpl]): Ditto.
   45741         (-[DOMCSSFontFaceRule _fontFaceRuleImpl]): Ditto.
   45742         (-[DOMCSSPageRule _pageRuleImpl]): Ditto.
   45743         (-[DOMCSSImportRule _importRuleImpl]): Ditto.
   45744         (-[DOMCSSCharsetRule _importRuleImpl]): Ditto.
   45745         * kwq/DOMHTML.mm:
   45746         (-[DOMHTMLOptionsCollection length]): Put in an "unimplemented" version instead of leaving out
   45747         the class implementation altogether.
   45748         (-[DOMHTMLOptionsCollection setLength:]): Ditto.
   45749         (-[DOMHTMLOptionsCollection item:]): Ditto.
   45750         (-[DOMHTMLOptionsCollection namedItem:]): Ditto.
   45751         (+[DOMHTMLElement _elementWithImpl:]): Corrected this implementation. The wrapper must use a
   45752         standard node wrapper, since this is a subclass of DOMNode. Also moved into a separate category
   45753         so it gets checked against the declarations above.
   45754         (-[DOMHTMLElement _HTMLElementImpl]): Fix broken reinterpret_cast.
   45755         (-[DOMHTMLHtmlElement _HTMLHtmlElementImpl]): Ditto.
   45756         (-[DOMHTMLHeadElement _headElementImpl]): Ditto.
   45757         (-[DOMHTMLLinkElement _linkElementImpl]): Ditto.
   45758         (-[DOMHTMLTitleElement _titleElementImpl]): Ditto.
   45759         (-[DOMHTMLMetaElement _metaElementImpl]): Ditto.
   45760         (-[DOMHTMLBaseElement _baseElementImpl]): Ditto.
   45761         (-[DOMHTMLStyleElement _styleElementImpl]): Ditto.
   45762         (-[DOMHTMLBodyElement _bodyElementImpl]): Ditto.
   45763         (-[DOMHTMLFormElement _formElementImpl]): Ditto.
   45764         (+[DOMHTMLFormElement _formElementWithImpl:]): Another DOMNode subclass wrapper fix.
   45765         (-[DOMHTMLIsIndexElement _isIndexElementImpl]): Fix broken reinterpret_cast.
   45766         (-[DOMHTMLSelectElement _selectElementImpl]): Ditto.
   45767         (-[DOMHTMLOptGroupElement _optGroupElementImpl]): Ditto.
   45768         (-[DOMHTMLOptionElement _optionElementImpl]): Ditto.
   45769         (-[DOMHTMLInputElement _inputElementImpl]): Ditto.
   45770         (-[DOMHTMLTextAreaElement _textAreaElementImpl]): Ditto.
   45771         (-[DOMHTMLButtonElement _buttonElementImpl]): Ditto.
   45772         (-[DOMHTMLLabelElement _labelElementImpl]): Ditto.
   45773         (-[DOMHTMLFieldSetElement _fieldSetElementImpl]): Ditto.
   45774         (-[DOMHTMLLegendElement _legendElementImpl]): Ditto.
   45775         (-[DOMHTMLUListElement _uListElementImpl]): Ditto.
   45776         (-[DOMHTMLOListElement _oListElementImpl]): Ditto.
   45777         (-[DOMHTMLDListElement _dListElementImpl]): Ditto.
   45778         (-[DOMHTMLDirectoryElement _directoryListElementImpl]): Ditto.
   45779         (-[DOMHTMLMenuElement _menuListElementImpl]): Ditto.
   45780         (-[DOMHTMLLIElement _liElementImpl]): Ditto.
   45781         (-[DOMHTMLQuoteElement _quoteElementImpl]): Ditto.
   45782         (-[DOMHTMLDivElement _divElementImpl]): Ditto.
   45783         (-[DOMHTMLParagraphElement _paragraphElementImpl]): Ditto.
   45784         (-[DOMHTMLHeadingElement _headingElementImpl]): Ditto.
   45785         (-[DOMHTMLPreElement _preElementImpl]): Ditto.
   45786         (-[DOMHTMLBRElement _BRElementImpl]): Ditto.
   45787         (-[DOMHTMLBaseFontElement _baseFontElementImpl]): Ditto.
   45788         (-[DOMHTMLFontElement _fontElementImpl]): Ditto.
   45789         (-[DOMHTMLHRElement _HRElementImpl]): Ditto.
   45790         (-[DOMHTMLModElement _modElementImpl]): Ditto.
   45791         (-[DOMHTMLAnchorElement _anchorElementImpl]): Ditto.
   45792         (-[DOMHTMLImageElement _imageElementImpl]): Ditto.
   45793         (-[DOMHTMLObjectElement _objectElementImpl]): Ditto.
   45794         (-[DOMHTMLParamElement _paramElementImpl]): Ditto.
   45795         (-[DOMHTMLAppletElement _appletElementImpl]): Ditto.
   45796         (-[DOMHTMLMapElement _mapElementImpl]): Ditto.
   45797         (-[DOMHTMLAreaElement _areaElementImpl]): Ditto.
   45798         (-[DOMHTMLScriptElement _scriptElementImpl]): Ditto.
   45799         (+[DOMHTMLTableCaptionElement _tableCaptionElementWithImpl:]): Another DOMNode subclass wrapper fix.
   45800         (-[DOMHTMLTableCaptionElement _tableCaptionElementImpl]): Fix broken reinterpret_cast.
   45801         (+[DOMHTMLTableSectionElement _tableSectionElementWithImpl:]): Another DOMNode subclass wrapper fix.
   45802         (-[DOMHTMLTableSectionElement _tableSectionElementImpl]): Fix broken reinterpret_cast.
   45803         (+[DOMHTMLTableElement _tableElementWithImpl:]): Another DOMNode subclass wrapper fix.
   45804         (-[DOMHTMLTableElement _tableElementImpl]): Fix broken reinterpret_cast.
   45805         (-[DOMHTMLTableColElement _tableColElementImpl]): Ditto.
   45806         (-[DOMHTMLTableRowElement _tableRowElementImpl]): Ditto.
   45807         (+[DOMHTMLTableCellElement _tableCellElementWithImpl:]): Another DOMNode subclass wrapper fix.
   45808         (-[DOMHTMLTableCellElement _tableCellElementImpl]): Fix broken reinterpret_cast.
   45809         (-[DOMHTMLFrameSetElement _frameSetElementImpl]): Ditto.
   45810         (-[DOMHTMLFrameElement _frameElementImpl]): Ditto.
   45811         (-[DOMHTMLIFrameElement _IFrameElementImpl]): Ditto.
   45812         (-[DOMHTMLEmbedElement _embedElementImpl]): Ditto.
   45813 
   45814         * kwq/HTMLDOM.mm: Removed.
   45815 
   45816 2004-04-28  Ken Kocienda  <kocienda (a] apple.com>
   45817 
   45818         Reviewed by Darin
   45819 
   45820         * khtml/khtml_part.cpp:
   45821         (KHTMLPart::notifySelectionChanged): Call new postDidChangeSelectionNotification function
   45822         to send Cocoa notification when the selection changes.
   45823         (KHTMLPart::appliedEditing): Call postDidChangeNotification to send Cocoa notification when the document changes
   45824         due to editing.
   45825         (KHTMLPart::unappliedEditing): Ditto.
   45826         (KHTMLPart::reappliedEditing): Ditto.
   45827         * kwq/DOMHTML.mm:
   45828         (-[DOMHTMLDocument _HTMLDocumentImpl]): Fix cast to account for multiple inheritance used by the impl class.
   45829         * kwq/KWQKHTMLPart.h:
   45830         * kwq/KWQKHTMLPart.mm:
   45831         (KWQKHTMLPart::postDidChangeSelectionNotification): New function. Call the bridge to post the notification.
   45832         (KWQKHTMLPart::postDidChangeNotification): Ditto.
   45833         * kwq/WebCoreBridge.h: Declare new -postDidChangeSelectionNotification and -postDidChangeNotification methods.
   45834 
   45835 2004-04-28  Darin Adler  <darin (a] apple.com>
   45836 
   45837         Reviewed by Ken.
   45838 
   45839         - fixed <rdar://problem/3636261>: "nil-deref in selectedStylesheetSet iterating through properties in a non-view document"
   45840 
   45841         * khtml/xml/dom_docimpl.cpp:
   45842         (DocumentImpl::selectedStylesheetSet): Add nil check.
   45843         (DocumentImpl::setSelectedStylesheetSet): Ditto.
   45844 
   45845 2004-04-27  Richard Williamson   <rjw (a] apple.com>
   45846 
   45847 	<rdar://problem/3564519>: API: please add a way to set the media type for a WebView
   45848 
   45849         Reviewed by Chris.
   45850 
   45851         * khtml/khtmlview.cpp:
   45852         (KHTMLView::mediaType):
   45853         * kwq/KWQKHTMLPart.h:
   45854         * kwq/KWQKHTMLPart.mm:
   45855         (KWQKHTMLPart::overrideMediaType):
   45856         * kwq/WebCoreBridge.h:
   45857 
   45858 2004-04-27  Ken Kocienda  <kocienda (a] apple.com>
   45859 
   45860         Reviewed by Hyatt
   45861         
   45862         Make selections draw in a more Cocoa-like way, where
   45863         fully-selected lines draw out to the ends of lines, and
   45864         spaces between lines are drawn with the selection color as well.
   45865 
   45866         * WebCore-combined.exp: Add _WebCoreInitializeEmptyTextGeometry symbol
   45867         * WebCore.exp: Ditto.
   45868         * khtml/khtml_part.cpp:
   45869         (KHTMLPart::isPointInsideSelection): Marginally-related change. Fix up this function
   45870         so that it works right, given my recent changes to positionForCoordinates. This fix
   45871         "really" fixes the problem. Unlike my attempt to fix yesterday.
   45872         * khtml/rendering/font.cpp:
   45873         (Font::drawHighlightForText): New drawHighlightForText interface which includes extra
   45874         information to draw the selection.
   45875         * khtml/rendering/font.h: Ditto.
   45876         * khtml/rendering/render_block.cpp:
   45877         (khtml::RenderBlock::positionForCoordinates): Some minor improvements and cleanups to
   45878         make this code work correctly in more cases.
   45879         * khtml/rendering/render_block.h: Remove spurious semi-colon after namespace block.
   45880         * khtml/rendering/render_container.cpp:
   45881         (RenderContainer::positionForCoordinates): Fix typo in comment. Also, clean up
   45882         one unnecessary call to absolutePosition.
   45883         * khtml/rendering/render_image.cpp:
   45884         (RenderImage::paint): Many changes to add the new selection drawing behavior.
   45885         * khtml/rendering/render_inline.cpp:
   45886         (RenderInline::positionForCoordinates): Added to help make selections work right 
   45887         with continuations.
   45888         * khtml/rendering/render_inline.h: Ditto.
   45889         * khtml/rendering/render_object.h: Give zero default argument to inlineBox() helper.
   45890         * khtml/rendering/render_text.cpp:
   45891         (InlineTextBox::paintSelection): Many changes to add the new selection drawing behavior.
   45892         * kwq/KWQListBox.mm:
   45893         (-[KWQTableView drawRow:clipRect:]): Use new WebCoreTextGeometry struct.
   45894         * kwq/KWQPainter.h: New drawHighlightForText interface which includes extra
   45895         information to draw the selection.
   45896         * kwq/KWQPainter.mm:
   45897         (QPainter::drawText): Use new WebCoreInitializeEmptyTextGeometry struct.
   45898         (QPainter::drawHighlightForText): Use new WebCoreTextGeometry struct.
   45899         * kwq/WebCoreTextRenderer.h: Declare new WebCoreTextGeometry struct.
   45900         * kwq/WebCoreTextRendererFactory.m:
   45901         (WebCoreInitializeEmptyTextGeometry): Initializer for WebCoreTextGeometry struct.
   45902 
   45903 2004-04-27  Richard Williamson   <rjw (a] apple.com>
   45904 
   45905 	Don't do unnecessary string comparisons when no composite operator is
   45906 	specified.  
   45907 
   45908         Reviewed by Hyatt.
   45909 
   45910         * kwq/KWQPainter.mm:
   45911         (compositeOperatorFromString):
   45912 
   45913 2004-04-27  Darin Adler  <darin (a] apple.com>
   45914 
   45915         Reviewed by Ken.
   45916 
   45917         - fixed <rdar://problem/3623694>: "top level <option> and <optgroup> labels look identical in pop-up menus; should not"
   45918 
   45919         * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
   45920         Call appendGroupLabel instead of appendItem for group labels.
   45921 
   45922         * kwq/KWQComboBox.h: Added appendGroupLabel, private setControlSize, labelFont, setTitle, _labelFont,
   45923         and make _items a QValueList<KWQListBoxItem> instead of QStringList.
   45924         * kwq/KWQComboBox.mm:
   45925         (QComboBox::QComboBox): Initializes _labelFont to nil.
   45926         (QComboBox::~QComboBox): Release _labelFont.
   45927         (QComboBox::setTitle): Added helper function. Uses an attributed string for group labels, and also sets
   45928         the action to NULL so they are disabled.
   45929         (QComboBox::appendItem): Added isLabel boolean parameter, make KWQListBoxItem, call setTitle.
   45930         (QComboBox::sizeHint): Changed to handle group labels with a separate renderer to measure bolded text.
   45931         (QComboBox::setCurrentItem): Changed to use setTitle helper.
   45932         (QComboBox::setFont): Release _labelFont if control size changed.
   45933         (QComboBox::labelFont): Compute label font lazily.
   45934         (QComboBox::populateMenu): Changed to use setTitle helper.
   45935 
   45936         * kwq/KWQListBox.h: Removed excess includes, fixed comment.
   45937 
   45938 2004-04-26  Darin Adler  <darin (a] apple.com>
   45939 
   45940         Reviewed by Maciej.
   45941 
   45942         - follow-on to fix for <rdar://problem/3488892>: "anchor names with non-ASCII characters in them do not work"
   45943         This part fixes anchor names with non-ASCII characters in local files.
   45944 
   45945         * kwq/KWQKURL.mm: (KURL::KURL): For file and help URLs, force UTF-8 only for the path part of the URL.
   45946         Use the document encoding for the rest of the URL.
   45947         * kwq/KWQTextCodec.h: (operator!=): Added.
   45948 
   45949 2004-04-26  David Hyatt  <hyatt (a] apple.com>
   45950 
   45951 	Fix for Emerson truncation problem using apple-line-clamp.  Always dirty positioned objects so that they
   45952 	will move when the height changes.
   45953 	
   45954         Reviewed by darin
   45955 
   45956         * khtml/rendering/render_block.cpp:
   45957         (khtml::RenderBlock::markPositionedObjectsForLayout):
   45958         * khtml/rendering/render_block.h:
   45959         * khtml/rendering/render_flexbox.cpp:
   45960         (khtml::RenderFlexibleBox::layoutVerticalBox):
   45961 
   45962 2004-04-26  Richard Williamson   <rjw (a] apple.com>
   45963 
   45964 	Added support for specifying composite operation on an
   45965 	image element.  Attribute name is "composite", possible values
   45966 	are:
   45967 
   45968 	clear,
   45969 	copy
   45970 	source-over
   45971 	source-in
   45972 	source-out
   45973 	source-atop
   45974 	destination-over
   45975 	destination-in
   45976 	destination-out
   45977 	destination-atop
   45978 	xor
   45979 	darker
   45980 	highlight
   45981 	lighter
   45982 
   45983 	<img composite="source-over" src="triangle.png">
   45984 	<img style="position:relative; left:-200px;" composite="destination-in" src="circle.png">
   45985 
   45986         Reviewed by Ken.
   45987 
   45988         * khtml/html/html_imageimpl.cpp:
   45989         (HTMLImageElementImpl::parseHTMLAttribute):
   45990         * khtml/html/html_imageimpl.h:
   45991         (DOM::HTMLImageElementImpl::compositeOperator):
   45992         * khtml/misc/htmlattrs.c:
   45993         (findAttr):
   45994         * khtml/misc/htmlattrs.h:
   45995         * khtml/misc/htmlattrs.in:
   45996         * khtml/rendering/render_image.cpp:
   45997         (RenderImage::paint):
   45998         * kwq/KWQPainter.h:
   45999         * kwq/KWQPainter.mm:
   46000         (compositeOperatorFromString):
   46001         (QPainter::drawPixmap):
   46002         * kwq/WebCoreImageRenderer.h:
   46003 
   46004 2004-04-26  Darin Adler  <darin (a] apple.com>
   46005 
   46006         - fixed <rdar://problem/3634145>: "REGRESSION: nil-deref in QTextCodec::toUnicode every time loading page at wiki.wordpress.org"
   46007 
   46008         * kwq/KWQKURL.mm:
   46009         (KURL::KURL): Simplify check for nil that defaults to UTF-8.
   46010         (KURL::decode_string): Add a similar test here.
   46011 
   46012 2004-04-26  David Hyatt  <hyatt (a] apple.com>
   46013 
   46014 	Implement the quirk that makes the <body> and <html> size to fill the viewport in quirks mode.  This
   46015 	matches WinIE.
   46016 	
   46017         Reviewed by john
   46018 
   46019         * khtml/rendering/render_box.cpp:
   46020         (RenderBox::calcHeight):
   46021 
   46022 2004-04-26  Ken Kocienda  <kocienda (a] apple.com>
   46023 
   46024         Reviewed by John
   46025         
   46026         Fix for this bug:
   46027         
   46028         <rdar://problem/3633458>: "REGRESSION (125-137): Can't drag a selection unless it starts at beginning of line"
   46029 
   46030         * khtml/khtml_part.cpp:
   46031         (KHTMLPart::isPointInsideSelection): I flubbed when I converted this
   46032         code to use my new positionForCoordinates helper. I failed to add in
   46033         the passed in values for x and y to the absolute coordinates for the
   46034         clicked node. So, the "unless it starts at beginning of line" behavior 
   46035         is exactly as one would expect.
   46036 
   46037 2004-04-25  David Hyatt  <hyatt (a] apple.com>
   46038 
   46039 	Eliminate overhangingContents.  This concept was redundant with the overflowHeight mechanism that I
   46040 	implemented some time ago, and in fact, it causes us to grovel through much more of the render tree
   46041 	than we should when painting.  It turns out that none of the places that used this boolean needed
   46042 	to any longer, and so the entire implementation can now be removed from the tree.
   46043 	
   46044         Reviewed by mjs, darin
   46045 
   46046         * khtml/rendering/render_block.cpp:
   46047         (khtml::RenderBlock::addChildToFlow):
   46048         (khtml::RenderBlock::layoutBlock):
   46049         (khtml::RenderBlock::paint):
   46050         (khtml::RenderBlock::insertPositionedObject):
   46051         * khtml/rendering/render_box.cpp:
   46052         (RenderBox::calcHeight):
   46053         * khtml/rendering/render_image.cpp:
   46054         (RenderImage::setStyle):
   46055         * khtml/rendering/render_inline.cpp:
   46056         (RenderInline::addChildToFlow):
   46057         * khtml/rendering/render_object.cpp:
   46058         (RenderObject::RenderObject):
   46059         (RenderObject::containingBlock):
   46060         (RenderObject::information):
   46061         (RenderObject::dump):
   46062         (RenderObject::nodeAtPoint):
   46063         * khtml/rendering/render_object.h:
   46064         (khtml::RenderObject::minMaxKnown):
   46065         * khtml/rendering/render_table.cpp:
   46066         (RenderTable::layout):
   46067         (RenderTable::paint):
   46068         (RenderTableCell::paint):
   46069 
   46070 2004-04-23  David Hyatt  <hyatt (a] apple.com>
   46071 
   46072 	Fix for 3258403, implement support for min-height and max-height on normal flow elements.  With this patch the
   46073 	only min-height/max-height work that remains to be done is for table cells and positioned elements.
   46074 	
   46075         Reviewed by darin
   46076 
   46077         * khtml/rendering/render_box.cpp:
   46078         (RenderBox::calcHeight):
   46079         (RenderBox::calcHeightUsing):
   46080         (RenderBox::calcPercentageHeight):
   46081         * khtml/rendering/render_box.h:
   46082         * layout-tests/fast/block/basic/minheight-expected.txt: Added.
   46083         * layout-tests/fast/block/basic/minheight.html: Added.
   46084 
   46085 2004-04-25  Darin Adler  <darin (a] apple.com>
   46086 
   46087         Reviewed by Dave.
   46088 
   46089         - fixed <rdar://problem/3633091>: "add overrideMimeType function to XMLHttpRequest"
   46090 
   46091         * khtml/ecma/xmlhttprequest.cpp:
   46092         (KJS::XMLHttpRequest::getValueProperty): Add logic to override MIME type if
   46093         OverrideMIMEType was called.
   46094         (KJS::XMLHttpRequestProtoFunc::tryCall): Store the MIME type when overrideMimeType is called.
   46095         * khtml/ecma/xmlhttprequest.h: Add OverrideMIMEType to the XMLHttpRequest property enum,
   46096         and also add a MIMETypeOverride data member to the class.
   46097         * khtml/ecma/xmlhttprequest.lut.h: Regenerated.
   46098 
   46099 2004-04-25  Maciej Stachowiak  <mjs (a] apple.com>
   46100 
   46101         Reviewed by Darin.
   46102 
   46103 	<rdar://problem/3628309>: Fedex tracking page so slow it seems like a hang (site change?)
   46104 	<rdar://problem/3608061>: "ATI Developer site so slow it seems like a hang"
   46105 	<rdar://problem/3612130>: "Reproducible hang in JavaScript at www.tfl.gov.uk"
   46106 	<rdar://problem/3626022>: "Safari was consuming > 100% CPU on dual-G5 Mac, sample shows JavaScript"
   46107 	<rdar://problem/3632348>: "www.whatis.com search for "pivot table" leads to JavaScript hang"
   46108 	
   46109         * khtml/ecma/kjs_html.cpp:
   46110         (KJS::HTMLElement::getValueProperty): The "text" property for anchors should be
   46111 	innerText, not innerHTML.
   46112         * khtml/html/html_elementimpl.cpp:
   46113         (HTMLElementImpl::innerText): Make sure not to include all the text after an
   46114 	element if it has no children.
   46115         * layout-tests/fast/dom/anchor-text-expected.txt: Added.
   46116         * layout-tests/fast/dom/anchor-text.html: Added.
   46117         * layout-tests/fast/dom/inner-text-expected.txt: Added.
   46118         * layout-tests/fast/dom/inner-text.html: Added.
   46119 
   46120 2004-04-24  Darin Adler  <darin (a] apple.com>
   46121 
   46122         Reviewed by Dave.
   46123 
   46124         - fixed <rdar://problem/3488892>: "anchor names with non-ASCII characters in them do not work"
   46125 
   46126         * khtml/khtml_part.h: Add new gotoAnchor helper function, private.
   46127         * khtml/khtml_part.cpp:
   46128         (KHTMLPart::openURL): Call new gotoAnchor helper, since the code is now complex enough
   46129         that I don't want to copy and paste.
   46130         (KHTMLPart::gotoAnchor): Use the pages own encoding when decoding the string for an
   46131         anchor reference when going to an anchor. This matches the behavior of other browsers.
   46132         (KHTMLPart::slotFinishedParsing): Call new gotoAnchor helper.
   46133         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::scrollToAnchor): Call new gotoAnchor helper.
   46134 
   46135         * kwq/KWQKURL.h: Removed htmlRef function, and made encodedHtmlRef an inline.
   46136         Removed unused encoding hint parameter from setQuery (it's not a "hint" at all, but we
   46137         don't use it). Added a codec parameter to decode_string.
   46138         * kwq/KWQKURL.mm:
   46139         (hexDigitValue): Added. Helper function.
   46140         (KURL::setQuery): Removed unused parameter.
   46141         (KURL::decode_string): Implemented this function. It needs to use an encoding specified
   46142         by the web page. Also, we wanted to make a version that did not use the
   46143         CFURLCreateStringByReplacingPercentEscapes function anyway.
   46144 
   46145         * kwq/KWQString.h: Added parameters to copyLatin1. Now you can copy an arbitrary substring.
   46146         * kwq/KWQString.mm: (QString::copyLatin1): Updated implementation to handle the two
   46147         new parameters.
   46148 
   46149         * WebCore-tests.exp: Updated for change in signature of setQuery and decode_string.
   46150         * WebCore-combined.exp: Regenerated.
   46151 
   46152 2004-04-24  Darin Adler  <darin (a] apple.com>
   46153 
   46154         - fixed <rdar://problem/3570953>: "Update "Acknowledgements" to remove expat and possibly include libxml"
   46155 
   46156         * WebCore.pbproj/project.pbxproj: Removed the part of the copyright notice that was for expat contributors.
   46157 
   46158 2004-04-23  David Hyatt  <hyatt (a] apple.com>
   46159 
   46160 	Fix the apple-line-clamp values to more closely match what is needed, an even split of the max lines between the possible
   46161 	values.
   46162 
   46163         * khtml/rendering/render_flexbox.cpp:
   46164         (khtml::RenderFlexibleBox::layoutVerticalBox):
   46165 
   46166 2004-04-23  David Hyatt  <hyatt (a] apple.com>
   46167 
   46168 	Fix to make the containing block percentage height calculation actually work according to the CSS2 spec.
   46169 	Percentages other than 100% are now supported, and flexing percentage height blocks inside table cells
   46170 	are now supported.
   46171 
   46172         Reviewed by kocienda
   46173 
   46174         * khtml/rendering/render_box.cpp:
   46175         (RenderBox::calcHeight):
   46176         (RenderBox::calcPercentageHeight):
   46177         * khtml/rendering/render_box.h:
   46178 
   46179 2004-04-23  Ken Kocienda  <kocienda (a] apple.com>
   46180 
   46181         Reviewed by John
   46182 
   46183         Fix for this bug:
   46184         <rdar://problem/3632163>: "REGRESSSION: crash on css home page"
   46185 
   46186         * khtml/rendering/render_block.cpp:
   46187         (khtml::RenderBlock::positionForRenderer): Add null check.
   46188 
   46189 2004-04-20  David Hyatt  <hyatt (a] apple.com>
   46190 
   46191 	Fix hiermenu opacity bug.  Make sure to save/restore the graphics state before pushing and popping
   46192 	transparency layers, so that alterations to alpha don't accidentally persist.
   46193 	
   46194         Reviewed by kocienda
   46195 
   46196         * kwq/KWQPainter.mm:
   46197         (QPainter::beginTransparencyLayer):
   46198         (QPainter::endTransparencyLayer):
   46199 
   46200 2004-04-20  David Hyatt  <hyatt (a] apple.com>
   46201 
   46202 	Fix for 3622818, bad rendering on sabernomics.com.  Just eliminate the priority difference between
   46203 	4 and 5, and make all of the priority 4 tags the same.  This seems to match other browsers.
   46204 	
   46205         Reviewed by kocienda
   46206 
   46207         * khtml/html/dtd.cpp:
   46208 
   46209 2004-04-23  Ken Kocienda  <kocienda (a] apple.com>
   46210 
   46211         Reviewed by Darin
   46212 
   46213         Changed inlineBoxForRenderer(RenderObject *, int) helper that was static 
   46214         in dom_position.cpp into a virtual method on RenderObjects. Function is
   46215         now called inlineBox(int). Functionality unchanged.
   46216 
   46217         * khtml/rendering/render_br.cpp:
   46218         (RenderBR::inlineBox)
   46219         * khtml/rendering/render_br.h:
   46220         * khtml/rendering/render_object.cpp:
   46221         (RenderObject::caretMaxRenderedOffset)
   46222         (RenderObject::inlineBox)
   46223         * khtml/rendering/render_object.h:
   46224         * khtml/rendering/render_text.cpp:
   46225         (RenderText::inlineBox)
   46226         * khtml/rendering/render_text.h:
   46227         * khtml/xml/dom_position.cpp:
   46228         (DOM::renderersOnDifferentLine):
   46229         (DOM::nextRenderedEditable)
   46230         (DOM::previousRenderedEditable)
   46231         (DOM::Position::previousLinePosition)
   46232         (DOM::Position::nextLinePosition)
   46233         (DOM::Position::rendersInDifferentPosition)
   46234 
   46235 2004-04-23  Ken Kocienda  <kocienda (a] apple.com>
   46236 
   46237         Reviewed by Darin
   46238 
   46239         * khtml/editing/htmlediting_impl.cpp:
   46240         (DeleteSelectionCommandImpl::doApply): Fix editing test
   46241         regression with deleting whitespace at the end of the line.
   46242         I just made this "improvement" yesterday, and the concept
   46243         of the change is a good one, but instead of short-circuiting
   46244         if the selection after deleting collapsible whitespace is a
   46245         range (which can be confused by "significant" collapsed 
   46246         whitespace at the end of a line), short-circuit if the 
   46247         upstream start position equals the downstream end position.
   46248 
   46249 === Safari-138 ===
   46250 
   46251 2004-04-23  Ken Kocienda  <kocienda (a] apple.com>
   46252 
   46253         Reviewed by John
   46254 
   46255         Added some plumbing for applying styles.
   46256 
   46257         * khtml/xml/dom_docimpl.cpp:
   46258         (DocumentImpl::createCSSStyleDeclaration): New factory method.
   46259         * khtml/xml/dom_docimpl.h: Declare the above.
   46260         * kwq/DOM-CSS.mm:
   46261         (-[DOMCSSStyleDeclaration _styleDeclarationImpl]): Expose this in the
   46262         WebCoreInternal category, "promoting" it from being private to the 
   46263         DOM-CSS.mm file.
   46264         * kwq/DOM.mm: Add -(DOMCSSStyleDeclaration *)createCSSStyleDeclaration extension.
   46265         * kwq/DOMExtensions.h: Delcare the above.
   46266         * kwq/DOMInternal.h: Add _styleDeclarationImpl to WebCoreInternal category.
   46267 
   46268 2004-04-23  John Sullivan  <sullivan (a] apple.com>
   46269 
   46270         - fixed <rdar://problem/3631541>: "repro crash in KHTMLPart::setFocusNodeIfNeeded"
   46271 
   46272         Reviewed by Maciej.
   46273 
   46274         * khtml/khtml_part.cpp:
   46275         (KHTMLPart::setFocusNodeIfNeeded):
   46276         added nil check
   46277 
   46278 2004-04-23  Maciej Stachowiak  <mjs (a] apple.com>
   46279 
   46280         Back out one of the previous changes, it causes a crash. Whoops!
   46281         
   46282         * kwq/KWQScrollView.mm:
   46283         (QScrollView::addChild):
   46284 
   46285 2004-04-23  Maciej Stachowiak  <mjs (a] apple.com>
   46286 
   46287         Reviewed by Dave.
   46288 
   46289 	These two tiny changes (made w/ Dave's help) should get us about
   46290 	1% or so combined on the HTML iBench.
   46291 
   46292         * khtml/rendering/render_br.cpp:
   46293         (RenderBR::setStyle): Don't call superclass setStyle, since
   46294 	according to Dave we don't need any of the work done in there.
   46295         * kwq/KWQScrollView.mm:
   46296         (QScrollView::addChild): Don't actually move the widget if the x
   46297 	coordinate is -500000, since we don't need the initial offscreen
   46298 	positioning that KHTML does and it is costly to do.
   46299 
   46300 2004-04-22  Ken Kocienda  <kocienda (a] apple.com>
   46301 
   46302         Reviewed by Hyatt
   46303 
   46304         * khtml/editing/htmlediting_impl.cpp:
   46305         (DeleteSelectionCommandImpl::doApply): Short-circuit return if the selection
   46306         is not a range after collapsing whitespace.
   46307 
   46308 2004-04-22  Ken Kocienda  <kocienda (a] apple.com>
   46309 
   46310         Reviewed by Hyatt
   46311 
   46312         More work to bring code up to date with the latest API proposal.
   46313 
   46314         * khtml/xml/dom_selection.h: Fix typo in comment.
   46315         * kwq/WebCoreBridge.h: -applyStyle:toElementsInDOMRange: is now applyStyle:
   46316         * kwq/WebCoreBridge.mm:
   46317         (-[WebCoreBridge applyStyle:]): Ditto.
   46318 
   46319 2004-04-22  Ken Kocienda  <kocienda (a] apple.com>
   46320 
   46321         Reviewed by John
   46322 
   46323         Adds the notion of selection affinity to the editing API, bringing it up to
   46324         date with the latest proposal.
   46325 
   46326         * khtml/xml/dom_selection.cpp:
   46327         (DOM::Selection::Selection): Adds support for selection affinity member variable.
   46328         (DOM::Selection::init): Ditto.
   46329         (DOM::Selection::operator=): Ditto.
   46330         (DOM::Selection::setAffinity): New function.
   46331         (DOM::Selection::layoutCaret): Added comment to indicate that we need to enhance this
   46332         function to handle selection affinity.
   46333         * khtml/xml/dom_selection.h: Added EAffinity enum and m_affinity member variable.
   46334         (DOM::Selection::): Moved the enums above the constructors. No code change.
   46335         (DOM::Selection::affinity): New accessor.
   46336         * kwq/WebCoreBridge.h:
   46337         * kwq/WebCoreBridge.mm: Add selection affinity to API declarations as needed.
   46338         (-[WebCoreBridge setSelectedDOMRange:affinity:]): Ditto.
   46339         (-[WebCoreBridge selectedDOMRange]): Ditto.
   46340         (-[WebCoreBridge selectionAffinity]): Ditto.
   46341 
   46342 2004-04-21  Maciej Stachowiak  <mjs (a] apple.com>
   46343 
   46344         Reviewed by Darin.
   46345 
   46346 	Preliminary change for conservative GC. Use new "protected"
   46347 	subclasses to GC-protect objects when on heap, since we will soon
   46348 	remove the built-in refcounting of the normal wrapper classes.
   46349 	
   46350         * ForwardingHeaders/kjs/protect.h: Added.
   46351         * khtml/ecma/kjs_binding.h:
   46352         * khtml/ecma/kjs_events.h:
   46353         * khtml/ecma/kjs_traversal.h:
   46354         * khtml/ecma/kjs_window.h:
   46355 
   46356 2004-04-22  Darin Adler  <darin (a] apple.com>
   46357 
   46358         * khtml/ecma/kjs_window.cpp: (Window::get): Removed code that gets properties from the parent.
   46359         This was a mistake we inherited from KHTML, and they have long since fixed it.
   46360 
   46361 2004-04-22  Ken Kocienda  <kocienda (a] apple.com>
   46362 
   46363         Reviewed by Hyatt
   46364 
   46365         Ensures caret visibility after making an editing action.
   46366 
   46367         * khtml/xml/dom_selection.cpp:
   46368         (DOM::Selection::getRepaintRect): Expose this as public.
   46369         * khtml/xml/dom_selection.h: Ditto.
   46370         * kwq/WebCoreBridge.h: Add ensureCaretVisible method.
   46371         * kwq/WebCoreBridge.mm:
   46372         (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:]):
   46373         Unrelated crash fix. Null-check baseURLString.
   46374         (-[WebCoreBridge ensureCaretVisible]): Added.
   46375 
   46376 2004-04-21  David Hyatt  <hyatt (a] apple.com>
   46377 
   46378 	Fix for 3245627, nested tables don't expand vertically.  I actually fixed the basic problem in the
   46379 	previous checkin, but this exposed another basic math error where |numVariable| was not being
   46380 	decremented properly.  This meant space was mis-allocated when multiple variable height rows both needed
   46381 	to expand.
   46382 
   46383         * khtml/rendering/render_table.cpp:
   46384         (RenderTableSection::layoutRows):
   46385 
   46386 2004-04-21  David Hyatt  <hyatt (a] apple.com>
   46387 
   46388 	Fix for 3020449, ensure that the paint order of cells with rowspans matches other browsers.
   46389 	
   46390         Reviewed by darin
   46391 
   46392         * khtml/rendering/render_table.cpp:
   46393         (RenderTableSection::paint):
   46394 
   46395 2004-04-21  David Hyatt  <hyatt (a] apple.com>
   46396 
   46397 	Remove the (incorrect) restriction on table flexing that required the cell to have a fixed width.  In
   46398 	reality, the style on the cell is completely irrelevant.
   46399 	
   46400         Reviewed by kocienda
   46401 
   46402         * khtml/rendering/render_table.cpp:
   46403         (RenderTable::layout):
   46404 
   46405 2004-04-21  David Hyatt  <hyatt (a] apple.com>
   46406 
   46407 	Make sure cells that get flexed vertically in tables don't check text children when looking for 
   46408 	percentage height children.
   46409 	
   46410         Reviewed by kocienda
   46411 
   46412         * khtml/rendering/render_table.cpp:
   46413         (RenderTableSection::layoutRows):
   46414 
   46415 2004-04-21  David Hyatt  <hyatt (a] apple.com>
   46416 
   46417 	Fix for hiermenus bug.  Absolutely positioned images should not contribute to their containing block's
   46418 	max width.  Make sure to disregard positioned elements when computing min/max width.
   46419 	
   46420         Reviewed by kocienda
   46421 
   46422         * khtml/rendering/render_block.cpp:
   46423         (khtml::InlineMinMaxIterator::next):
   46424 
   46425 2004-04-21  Ken Kocienda  <kocienda (a] apple.com>
   46426 
   46427         Reviewed by Hyatt
   46428 
   46429         * khtml/editing/htmlediting_impl.cpp:
   46430         (DeleteSelectionCommandImpl::doApply): Do not shift ending selection downstream
   46431         when at position zero of a BR. That's just wrong. Simplify code that does
   46432         "onlyWhitespace" delete. No need to handle multiple characters here; we can
   46433         only ever have one thanks to the delete-collapsible-whitespace code.
   46434         (TypingCommandImpl::issueCommandForDeleteKey): Don't do anything if at the
   46435         start of a root editable block. This is a no-op....not an opportunity to crash.
   46436         * khtml/rendering/render_block.cpp:
   46437         (khtml::RenderBlock::positionForRenderer): Return this renderer's element position
   46438         if the passed-in renderer is nil. This helps to make clicking in empty blocks work.
   46439         * khtml/rendering/render_container.cpp:
   46440         (RenderContainer::positionForCoordinates): Fixed typo in comment.
   46441         * khtml/xml/dom_position.cpp:
   46442         (DOM::Position::equivalentLeafPosition): Do not attempt to find a leaf if the
   46443         position's node does not have a renderer, if the renderer has no kids.
   46444         * layout-tests/editing/deleting/delete-br-001-expected.txt: Update expected results for BR fix.
   46445         * layout-tests/editing/deleting/delete-br-003-expected.txt: Ditto.
   46446         * layout-tests/editing/deleting/delete-br-006-expected.txt: Ditto.
   46447         * layout-tests/editing/deleting/delete-br-007.html: Added. New BR test.
   46448         * layout-tests/editing/deleting/delete-br-007-expected.txt: Added.
   46449 
   46450 2004-04-21  Ken Kocienda  <kocienda (a] apple.com>
   46451 
   46452         Reviewed by Hyatt
   46453 
   46454         * khtml/css/css_computedstyle.cpp:
   46455         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Added implementations for
   46456         these properties: CSS_PROP_TEXT_DECORATION, CSS_PROP_VERTICAL_ALIGN, CSS_PROP_TEXT_INDENT,
   46457         CSS_PROP_LETTER_SPACING, CSS_PROP_WORD_SPACING, CSS_PROP_LINE_HEIGHT
   46458 
   46459 2004-04-21  Ken Kocienda  <kocienda (a] apple.com>
   46460 
   46461         Reviewed by John
   46462 
   46463         The Selection class now uses the Position class throughout its public and
   46464         private interface. This replaces the inconsistent use of the Position
   46465         class here and node/offset pairs there. There are no functional changes, only
   46466         updates to the new Selection class API.
   46467 
   46468         * khtml/ecma/kjs_window.cpp:
   46469         (Selection::get):
   46470         (SelectionFunc::tryCall):
   46471         * khtml/editing/htmlediting_impl.cpp:
   46472         (DeleteCollapsibleWhitespaceCommandImpl::doApply):
   46473         (DeleteSelectionCommandImpl::joinTextNodesWithSameStyle):
   46474         (DeleteSelectionCommandImpl::doApply):
   46475         (InputNewlineCommandImpl::doApply):
   46476         (InputTextCommandImpl::deleteCharacter):
   46477         (InputTextCommandImpl::prepareForTextInsertion):
   46478         (InputTextCommandImpl::execute):
   46479         (PasteMarkupCommandImpl::doApply):
   46480         (TypingCommandImpl::issueCommandForDeleteKey):
   46481         * khtml/khtml_part.cpp:
   46482         (KHTMLPart::findTextNext):
   46483         (KHTMLPart::setFocusNodeIfNeeded):
   46484         (KHTMLPart::notifySelectionChanged):
   46485         (KHTMLPart::isPointInsideSelection):
   46486         (KHTMLPart::handleMouseMoveEventSelection):
   46487         (KHTMLPart::khtmlMouseReleaseEvent):
   46488         (KHTMLPart::selectAll):
   46489         * khtml/rendering/render_block.cpp:
   46490         (khtml::RenderBlock::paintObject):
   46491         * khtml/xml/dom_docimpl.cpp:
   46492         (DocumentImpl::updateSelection):
   46493         * khtml/xml/dom_nodeimpl.cpp:
   46494         * khtml/xml/dom_selection.cpp:
   46495         (DOM::emptyPosition):
   46496         (DOM::Selection::Selection):
   46497         (DOM::Selection::init):
   46498         (DOM::Selection::operator=):
   46499         (DOM::Selection::moveTo):
   46500         (DOM::Selection::modify):
   46501         (DOM::Selection::xPosForVerticalArrowNavigation):
   46502         (DOM::Selection::clear):
   46503         (DOM::Selection::setBase):
   46504         (DOM::Selection::setExtent):
   46505         (DOM::Selection::setBaseAndExtent):
   46506         (DOM::Selection::setStart):
   46507         (DOM::Selection::setEnd):
   46508         (DOM::Selection::setStartAndEnd):
   46509         (DOM::Selection::toRange):
   46510         (DOM::Selection::layoutCaret):
   46511         (DOM::Selection::needsCaretRepaint):
   46512         (DOM::Selection::paintCaret):
   46513         (DOM::Selection::validate):
   46514         (DOM::Selection::moveToRenderedContent):
   46515         (DOM::Selection::nodeIsBeforeNode):
   46516         (DOM::startAndEndLineNodesIncludingNode):
   46517         (DOM::Selection::debugRenderer):
   46518         (DOM::Selection::debugPosition):
   46519         * khtml/xml/dom_selection.h:
   46520         (DOM::Selection::~Selection):
   46521         (DOM::Selection::base):
   46522         (DOM::Selection::extent):
   46523         (DOM::Selection::start):
   46524         (DOM::Selection::end):
   46525         (DOM::Selection::assignBase):
   46526         (DOM::Selection::assignExtent):
   46527         (DOM::Selection::assignBaseAndExtent):
   46528         (DOM::Selection::assignStart):
   46529         (DOM::Selection::assignEnd):
   46530         (DOM::Selection::assignStartAndEnd):
   46531         (DOM::operator==):
   46532         * kwq/KWQKHTMLPart.mm:
   46533         (KWQKHTMLPart::jumpToSelection):
   46534         (KWQKHTMLPart::selectionStartOffset):
   46535         (KWQKHTMLPart::selectionEndOffset):
   46536         (KWQKHTMLPart::selectionStart):
   46537         (KWQKHTMLPart::selectionEnd):
   46538         * kwq/KWQRenderTreeDebug.cpp:
   46539         (writeSelection):
   46540         * kwq/WebCoreBridge.mm:
   46541         (-[WebCoreBridge isSelectionEditable]):
   46542         (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]):
   46543         (-[WebCoreBridge setSelectedDOMRange:]):
   46544 
   46545 2004-04-20  Ken Kocienda  <kocienda (a] apple.com>
   46546 
   46547         Reviewed by Hyatt
   46548         
   46549         Renamed DOMPosition class to Position.
   46550         Renamed KHTMLSelection to Selection and moved to DOM namespace.
   46551 
   46552         * ForwardingHeaders/xml/dom_selection.h: Added.
   46553         * WebCore.pbproj/project.pbxproj: Go Xcode!
   46554         * khtml/khtml_selection.cpp: Removed.
   46555         * khtml/khtml_selection.h: Removed.
   46556         * khtml/xml/dom_position.cpp: Renamed DOMPosition to Position
   46557         * khtml/xml/dom_position.h: Ditto.
   46558         * khtml/xml/dom_selection.cpp: New home for renamed Selection object.
   46559         * khtml/xml/dom_selection.h: Ditto.
   46560 
   46561 2004-04-20  Ken Kocienda  <kocienda (a] apple.com>
   46562 
   46563         Reviewed by Hyatt
   46564 
   46565         * WebCore.pbproj/project.pbxproj:
   46566         * khtml/khtml_part.cpp:
   46567         (KHTMLPart::handleMousePressEventDoubleClick): Improved name of expandToElement. Now is expandUsingGranularity.
   46568         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   46569         (KHTMLPart::handleMouseMoveEventSelection): Ditto.
   46570         * khtml/khtml_selection.cpp:
   46571         (KHTMLSelection::modify): Added support for modifying and extending selection right and left by word.
   46572         Also added support for extending selection up and down.
   46573         (KHTMLSelection::expandUsingGranularity): New name for expandToElement.
   46574         (KHTMLSelection::xPosForVerticalArrowNavigation): Made this function handle cases where we know we
   46575         want to use a particular position for calculating the right x position. We need this to handle
   46576         extending selection up and down, and for setting the caret to the right place when moving up
   46577         and down when a range is already selected.
   46578         (KHTMLSelection::validate): Name tweak. expandTo variable now granularity.
   46579         * khtml/khtml_selection.h: Make declaration changes for changes to cpp file.
   46580         * khtml/misc/helper.cpp:
   46581         (khtml::findWordBoundary): Added this hook for KDE to do their version of KWQFindWordBoundary
   46582         * khtml/misc/helper.h:
   46583         * khtml/rendering/render_block.cpp:
   46584         (khtml::RenderBlock::positionForCoordinates): Factor out closest box finder code to its own function
   46585         * khtml/rendering/render_line.cpp:
   46586         (InlineFlowBox::closestChildForXPos): New function. This is the factored code that was taken out of 
   46587         render_block.cpp.
   46588         (InlineBox::closestLeafChildForXPos): Ditto.
   46589         * khtml/rendering/render_line.h: Ditto.
   46590         * khtml/rendering/render_replaced.cpp:
   46591         (RenderReplaced::positionForCoordinates): I think I am starting to get how the coordinate transforms work.
   46592         Made some fixups based on this greater sense of enlightenment.
   46593         * khtml/rendering/render_text.cpp:
   46594         (RenderText::positionForCoordinates): Ditto. Fix lastTextBox/firstTextBox code mistake.
   46595         * khtml/xml/dom_position.cpp:
   46596         (DOMPosition::previousWordPosition): Added.
   46597         (DOMPosition::nextWordPosition): Added.
   46598         (DOMPosition::previousLinePosition): No longer use nodeAtPoint. Use new closestLeafChildForXPos instead.
   46599         (DOMPosition::nextLinePosition): Ditto.
   46600         (DOMPosition::inLastEditableInContainingEditableBlock):
   46601         * khtml/xml/dom_position.h:
   46602         * kwq/KWQTextUtilities.cpp: Added.
   46603         (KWQFindWordBoundary): Factored out code that was in a static function in khtml_selection.cpp so 
   46604         that DOMPosition can use it too.
   46605         * kwq/KWQTextUtilities.h: Added.
   46606 
   46607 2004-04-19  Ken Kocienda  <kocienda (a] apple.com>
   46608 
   46609         Reviewed by Hyatt
   46610 
   46611         * khtml/khtml_part.cpp:
   46612         (KHTMLPart::notifySelectionChanged): Clear the value
   46613         used for maintaining x position when doing vertical arrow
   46614         navigation. WebCoreBridge restores this value when needed. 
   46615         (KHTMLPart::setXPosForVerticalArrowNavigation): New accessor.
   46616         (KHTMLPart::xPosForVerticalArrowNavigation): New accessor.
   46617         * khtml/khtml_part.h:
   46618         (KHTMLPart::): Add NoXPosForVerticalArrowNavigation constant.
   46619         * khtml/khtml_selection.cpp:
   46620         (KHTMLSelection::modify): Add cases for UP and DOWN navigation
   46621         (KHTMLSelection::xPosForVerticalArrowNavigation): New helper.
   46622         * khtml/khtml_selection.h: Add UP and DOWN constants to EDirection enum.
   46623         (KHTMLSelection::):
   46624         * khtml/khtmlpart_p.h: Declare storage for m_xPosForVerticalArrowNavigation, 
   46625         the value used for maintaining x position when doing vertical arrow
   46626         navigation. 
   46627         * khtml/rendering/render_block.cpp:
   46628         (khtml::RenderBlock::positionForCoordinates): Improved this function to
   46629         handle deficiencies exposed when trying to implement new behavior.
   46630         * khtml/rendering/render_br.cpp:
   46631         (RenderBR::positionForCoordinates): Added implementation of this virtual function.
   46632         * khtml/rendering/render_br.h: Declare implementation for positionForCoordinates virtual function.
   46633         * khtml/rendering/render_replaced.cpp:
   46634         (RenderReplaced::positionForCoordinates): Improved this function to
   46635         handle deficiencies exposed when trying to implement new behavior.
   46636         * khtml/rendering/render_text.cpp:
   46637         (InlineTextBox::offsetForPosition): Remove left/right "bounds" check here.
   46638         (RenderText::positionForCoordinates): Improved this function to
   46639         handle deficiencies exposed when trying to implement new behavior.
   46640         * khtml/xml/dom_position.cpp:
   46641         (inlineBoxForRenderer): Moved to top of file so all code in the file can see this static function.
   46642         (renderersOnDifferentLine): Ditto.
   46643         (nextRenderedEditable): Ditto.
   46644         (previousRenderedEditable): Ditto.
   46645         (DOMPosition::previousLinePosition): New function. Implements the guts of up/down navigation.
   46646         (DOMPosition::nextLinePosition): Ditto.
   46647         * khtml/xml/dom_position.h: Added declarations for nextLinePosition and previousLinePosition.
   46648         * kwq/WebCoreBridge.h: Add WebSelectUp and WebSelectDown constants.
   46649         * kwq/WebCoreBridge.mm:
   46650         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Handles saving and restoring the 
   46651         x position used for doing vertical arrow navigation.
   46652 
   46653 2004-04-16  Ken Kocienda  <kocienda (a] apple.com>
   46654 
   46655         Reviewed by Hyatt
   46656 
   46657         * khtml/css/css_computedstyle.cpp:
   46658         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Added implementations for
   46659         these four properties: CSS_PROP_WHITE_SPACE, CSS_PROP_DISPLAY, CSS_PROP_FLOAT, and CSS_PROP_COLOR.
   46660 
   46661 2004-04-16  Chris Blumenberg  <cblu (a] apple.com>
   46662 
   46663 	Subresources weren't being archived for LINK tags.
   46664 
   46665         Reviewed by kocienda.
   46666 
   46667         * khtml/xml/dom_nodeimpl.cpp:
   46668         (NodeImpl::recursive_toHTMLWithOptions): indent tweak
   46669         * kwq/DOMHTML.mm:
   46670         (-[DOMHTMLLinkElement _linkElementImpl]): C+casting voodoo to make methods like rel and href work correctly
   46671 
   46672 2004-04-16  Ken Kocienda  <kocienda (a] apple.com>
   46673 
   46674         Reviewed by Hyatt
   46675 
   46676         * khtml/html/html_elementimpl.cpp:
   46677         (HTMLElementImpl::isContentEditable): Call getDocument()->updateRendering() to make sure 
   46678         outstanding changes for this attribute are applied.
   46679         (HTMLElementImpl::contentEditable): Call getDocument()->updateRendering() to make sure 
   46680         outstanding changes for this attribute are applied.
   46681         (HTMLElementImpl::setContentEditable): Call enabled.isEmpty() before strcasecmp(enabled, "true").
   46682         It's cheaper.
   46683 
   46684 2004-04-16  Ken Kocienda  <kocienda (a] apple.com>
   46685 
   46686         Reviewed by Hyatt
   46687 
   46688         * khtml/editing/htmlediting_impl.cpp: New helper.
   46689         (DeleteSelectionCommandImpl::containsOnlyWhitespace): Fix deleting collapsed whitespace 
   46690         at the end of a line where text has flowed to the next line and the caret is at the 
   46691         beginning of the next line. 
   46692         (DeleteSelectionCommandImpl::doApply): Updated for new helper.
   46693         * khtml/editing/htmlediting_impl.h:
   46694         * layout-tests/editing/deleting/delete-line-end-ws-001-expected.txt: Added.
   46695         * layout-tests/editing/deleting/delete-line-end-ws-001.html: Added.
   46696         * layout-tests/editing/deleting/delete-line-end-ws-002-expected.txt: Added.
   46697         * layout-tests/editing/deleting/delete-line-end-ws-002.html: Added.
   46698 
   46699 === Safari-137 ===
   46700 
   46701 2004-04-16  Richard Williamson   <rjw (a] apple.com>
   46702 
   46703 	Added an SPI to allow ObjC instances to be easily bound to 
   46704 	JS.  This is needed by the dashboard guys for their prototyping.
   46705 	Eventually they will use new API.
   46706 
   46707         Reviewed by Chris.
   46708 
   46709         * kwq/KWQKHTMLPart.h:
   46710         * kwq/KWQKHTMLPart.mm:
   46711         (KWQKHTMLPart::bindObject):
   46712         * kwq/WebCoreBridge.h:
   46713         * kwq/WebCoreBridge.mm:
   46714         (-[WebCoreBridge bindObject:withName:]):
   46715 
   46716 2004-04-16  Chris Blumenberg  <cblu (a] apple.com>
   46717 
   46718 	Added DOMHTMLEmbedElement as a DOM extension since EMBED is represented in our DOM even though its not part of the spec.
   46719 	Added all DOMCore and DOMHTML symbols to WebCore's symbols file.
   46720 	Removed isSubresourceURLAttribute from dom node. This was only used for the WebArchive feature and all that work is now done in WebKit.
   46721 
   46722         Reviewed by kocienda.
   46723 
   46724         * WebCore-combined.exp:
   46725         * WebCore.exp:
   46726         * khtml/html/html_baseimpl.cpp:
   46727         (HTMLBodyElementImpl::isURLAttribute): renamed from isSubresourceURLAttribute. As a convenience to subclasses, dom_elementimpl would call isSubresourceURLAttribute in isURLAttribute, but this is no longer done
   46728         (HTMLFrameElementImpl::isURLAttribute): ditto
   46729         (HTMLIFrameElementImpl::isURLAttribute): ditto
   46730         * khtml/html/html_baseimpl.h:
   46731         * khtml/html/html_formimpl.cpp:
   46732         (HTMLInputElementImpl::isURLAttribute): ditto
   46733         * khtml/html/html_formimpl.h:
   46734         * khtml/html/html_headimpl.cpp:
   46735         (HTMLScriptElementImpl::isURLAttribute): ditto
   46736         * khtml/html/html_headimpl.h:
   46737         * khtml/html/html_imageimpl.cpp: 
   46738         (HTMLImageElementImpl::isURLAttribute): ditto
   46739         * khtml/html/html_imageimpl.h:
   46740         * khtml/html/html_objectimpl.cpp:
   46741         (HTMLEmbedElementImpl::isURLAttribute): ditto
   46742         (HTMLObjectElementImpl::isURLAttribute): ditto
   46743         (HTMLParamElementImpl::isURLAttribute): ditto
   46744         * khtml/html/html_objectimpl.h:
   46745         * khtml/html/html_tableimpl.cpp:
   46746         (HTMLTableElementImpl::isURLAttribute): ditto
   46747         (HTMLTableCellElementImpl::isURLAttribute): ditto
   46748         * khtml/html/html_tableimpl.h:
   46749         * khtml/xml/dom2_rangeimpl.cpp:
   46750         (RangeImpl::toHTMLWithOptions): take a node list (see below)
   46751         * khtml/xml/dom2_rangeimpl.h:
   46752         * khtml/xml/dom_elementimpl.cpp:
   46753         (ElementImpl::isURLAttribute):
   46754         * khtml/xml/dom_elementimpl.h:
   46755         * khtml/xml/dom_nodeimpl.cpp:
   46756         (NodeImpl::recursive_toHTMLWithOptions): append copied nodes to a list of nodes so that WebKit can operate on them
   46757         * khtml/xml/dom_nodeimpl.h:
   46758         * kwq/DOM.mm:
   46759         (+[DOMNode _nodeWithImpl:]): added support for HTML types
   46760         * kwq/DOMExtensions.h:
   46761         * kwq/DOMHTML.mm:
   46762         (-[DOMHTMLPreElement setWidth:]):
   46763         (-[DOMHTMLEmbedElement _embedElementImpl]):
   46764         (-[DOMHTMLEmbedElement align]):
   46765         (-[DOMHTMLEmbedElement setAlign:]):
   46766         (-[DOMHTMLEmbedElement height]):
   46767         (-[DOMHTMLEmbedElement setHeight:]):
   46768         (-[DOMHTMLEmbedElement name]):
   46769         (-[DOMHTMLEmbedElement setName:]):
   46770         (-[DOMHTMLEmbedElement src]):
   46771         (-[DOMHTMLEmbedElement setSrc:]):
   46772         (-[DOMHTMLEmbedElement type]):
   46773         (-[DOMHTMLEmbedElement setType:]):
   46774         (-[DOMHTMLEmbedElement width]):
   46775         (-[DOMHTMLEmbedElement setWidth:]):
   46776         (-[DOMHTMLTableElement background]):
   46777         (-[DOMHTMLTableElement setBackground:]):
   46778         (-[DOMHTMLTableCellElement background]): new extension 
   46779         (-[DOMHTMLTableCellElement setBackground:]): ditto
   46780         * kwq/WebCoreBridge.h:
   46781         * kwq/WebCoreBridge.mm:
   46782         (-[WebCoreBridge nodesFromList:]): new
   46783         (-[WebCoreBridge markupStringFromNode:nodes:]): return a list of nodes instead of subresource URLs so WebKit can operate on the nodes
   46784         (-[WebCoreBridge markupStringFromRange:nodes:]): ditto
   46785 
   46786 2004-04-15  David Hyatt  <hyatt (a] apple.com>
   46787 
   46788 	Fix for 3624335, bugs with overflow and positioned objects.  The scrollbar didn't properly update
   46789 	as you changed the sizes of positioned objects inside an overflow block.
   46790 	
   46791         Reviewed by rjw
   46792 
   46793         * khtml/rendering/render_block.cpp:
   46794         (khtml::RenderBlock::layoutBlock):
   46795         * khtml/rendering/render_flexbox.cpp:
   46796         (khtml::RenderFlexibleBox::layoutBlock):
   46797         * khtml/rendering/render_layer.cpp:
   46798         (RenderLayer::updateScrollInfoAfterLayout):
   46799 
   46800 2004-04-15  Ken Kocienda  <kocienda (a] apple.com>
   46801 
   46802         Reviewed by Dave
   46803         
   46804         Improved selection behavior. As part of this work, I removed
   46805         almost all of the checkSelectionPoint() functions, leaving
   46806         only those associated with fonts, and all of the 
   46807         checkSelectionPointIgnoringContinuations() functions. Each
   46808         of these has been replaced by a new function called
   46809         positionForCoordinates(), which returns a DOMPosition.
   46810         
   46811         * WebCore.pbproj/project.pbxproj:
   46812         * khtml/khtml_events.cpp:
   46813         (khtml::MouseEvent::offset): Converted to use positionForCoordinates.
   46814         * khtml/khtml_part.cpp: Ditto.
   46815         (KHTMLPart::isPointInsideSelection):
   46816         (KHTMLPart::handleMousePressEventDoubleClick): Ditto.
   46817         (KHTMLPart::handleMousePressEventTripleClick): Ditto.
   46818         (KHTMLPart::handleMousePressEventSingleClick): Ditto.
   46819         (KHTMLPart::handleMouseMoveEventSelection): Ditto.
   46820         (KHTMLPart::khtmlMouseReleaseEvent): Ditto.
   46821         * khtml/khtml_part.h:
   46822         * khtml/rendering/render_block.cpp:
   46823         (khtml::RenderBlock::positionForBox): New helper.
   46824         (khtml::RenderBlock::positionForRenderer): New helper.
   46825         (khtml::RenderBlock::positionForCoordinates): New selection-node-offset-finder method.
   46826         * khtml/rendering/render_block.h:
   46827         * khtml/rendering/render_br.cpp: Removed checkSelectionPointIgnoringContinuations.
   46828         No special behavior is needed for this class anymore.
   46829         * khtml/rendering/render_br.h: Ditoo.
   46830         * khtml/rendering/render_container.cpp:
   46831         (RenderContainer::positionForCoordinates): New selection-node-offset-finder method.
   46832         * khtml/rendering/render_container.h:
   46833         * khtml/rendering/render_line.cpp:
   46834         (InlineBox::firstLeafChild): New helper.
   46835         (InlineBox::lastLeafChild): New helper.
   46836         (InlineFlowBox::firstLeafChild): New helper.
   46837         (InlineFlowBox::lastLeafChild): New helper.
   46838         * khtml/rendering/render_line.h:
   46839         * khtml/rendering/render_object.cpp:
   46840         (RenderObject::firstLeafChild): New helper.
   46841         (RenderObject::lastLeafChild): New helper.
   46842         (RenderObject::positionForCoordinates):
   46843         * khtml/rendering/render_object.h:
   46844         * khtml/rendering/render_replaced.cpp:
   46845         (RenderReplaced::positionForCoordinates): New selection-node-offset-finder method.
   46846         * khtml/rendering/render_replaced.h:
   46847         * khtml/rendering/render_text.cpp:
   46848         (InlineTextBox::offsetForPosition): New helper, replaces checkSelectionPoint()
   46849         (RenderText::positionForCoordinates): New selection-node-offset-finder method.
   46850         * khtml/rendering/render_text.h:
   46851         * khtml/xml/dom_nodeimpl.cpp: Added positionForCoordinates() convenience here. This
   46852         checks to see if the node has a renderer before doing the position check.
   46853         * khtml/xml/dom_nodeimpl.h: Ditto.
   46854         * kwq/DOM.mm:
   46855         (-[DOMNode isContentEditable]): Added this unrelated method, since without it, I crash when dragging an image.
   46856         * kwq/WebCoreBridge.mm:
   46857         (-[WebCoreBridge moveCaretToPoint:]): Converted to use positionForCoordinates.
   46858 
   46859 2004-04-15  David Hyatt  <hyatt (a] apple.com>
   46860 
   46861 	Fix for 3603455, block truncation support.
   46862 	
   46863         Reviewed by kocienda
   46864 
   46865         * khtml/css/cssparser.cpp:
   46866         (CSSParser::parseValue):
   46867         * khtml/css/cssproperties.c:
   46868         (hash_prop):
   46869         (findProp):
   46870         * khtml/css/cssproperties.h:
   46871         * khtml/css/cssproperties.in:
   46872         * khtml/css/cssstyleselector.cpp:
   46873         (khtml::CSSStyleSelector::applyProperty):
   46874         * khtml/ecma/kjs_css.cpp:
   46875         (cssPropertyName):
   46876         * khtml/rendering/render_block.cpp:
   46877         (khtml::RenderBlock::lineCount):
   46878         (khtml::RenderBlock::heightForLineCount):
   46879         * khtml/rendering/render_block.h:
   46880         * khtml/rendering/render_flexbox.cpp:
   46881         (khtml::RenderFlexibleBox::layoutHorizontalBox):
   46882         (khtml::RenderFlexibleBox::layoutVerticalBox):
   46883         * khtml/rendering/render_style.cpp:
   46884         (marquee):
   46885         (StyleCSS3NonInheritedData::operator==):
   46886         (RenderStyle::diff):
   46887         * khtml/rendering/render_style.h:
   46888         (khtml::RenderStyle::lineClamp):
   46889         (khtml::RenderStyle::setLineClamp):
   46890         (khtml::RenderStyle::initialLineClamp):
   46891 
   46892 2004-04-13  Chris Blumenberg  <cblu (a] apple.com>
   46893 
   46894 	- Removed WebCoreElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].
   46895 
   46896         Reviewed by rjw.
   46897 
   46898         * WebCore-combined.exp:
   46899         * WebCore.exp:
   46900         * kwq/WebCoreBridge.h:
   46901         * kwq/WebCoreBridge.mm:
   46902         (-[WebCoreBridge elementAtPoint:]): removed use of WebCoreElementIsEditableKey
   46903         (-[WebCoreBridge URLWithRelativeString:]): new method for WebKit API
   46904 
   46905 2004-04-13  David Hyatt  <hyatt (a] apple.com>
   46906 
   46907 	Fix for 3559764, make sure overflow is applied consistently using a separate bit on render objects, so that
   46908 	the body scroll quirk can easily disable overflow even when it is present on the style.
   46909 	
   46910         Reviewed by kocienda
   46911 
   46912         * khtml/ecma/kjs_dom.cpp:
   46913         (DOMNode::putValue):
   46914         * khtml/rendering/bidi.cpp:
   46915         (khtml::RenderBlock::layoutInlineChildren):
   46916         * khtml/rendering/render_block.cpp:
   46917         (khtml::RenderBlock::setStyle):
   46918         (khtml::RenderBlock::layoutBlock):
   46919         (khtml::RenderBlock::layoutBlockChildren):
   46920         (khtml::RenderBlock::paintObject):
   46921         (khtml::RenderBlock::rightOffset):
   46922         (khtml::RenderBlock::lowestPosition):
   46923         (khtml::RenderBlock::rightmostPosition):
   46924         (khtml::RenderBlock::leftmostPosition):
   46925         (khtml::RenderBlock::isPointInScrollbar):
   46926         (khtml::RenderBlock::nodeAtPoint):
   46927         (khtml::RenderBlock::inRootBlockContext):
   46928         * khtml/rendering/render_block.h:
   46929         (khtml::RenderBlock::overflowHeight):
   46930         (khtml::RenderBlock::overflowWidth):
   46931         * khtml/rendering/render_box.cpp:
   46932         (RenderBox::setStyle):
   46933         (RenderBox::contentWidth):
   46934         (RenderBox::contentHeight):
   46935         (RenderBox::absolutePosition):
   46936         (RenderBox::computeAbsoluteRepaintRect):
   46937         (RenderBox::calcAbsoluteVertical):
   46938         * khtml/rendering/render_flexbox.cpp:
   46939         (khtml::RenderFlexibleBox::layoutBlock):
   46940         * khtml/rendering/render_flow.cpp:
   46941         (RenderFlow::lowestPosition):
   46942         (RenderFlow::rightmostPosition):
   46943         (RenderFlow::leftmostPosition):
   46944         * khtml/rendering/render_layer.cpp:
   46945         (RenderLayer::updateLayerPosition):
   46946         (RenderLayer::updateScrollInfoAfterLayout):
   46947         (RenderLayer::intersectsDamageRect):
   46948         (RenderLayer::containsPoint):
   46949         * khtml/rendering/render_object.cpp:
   46950         (RenderObject::RenderObject):
   46951         (RenderObject::requiresLayer):
   46952         (RenderObject::clientWidth):
   46953         (RenderObject::clientHeight):
   46954         (RenderObject::scrollWidth):
   46955         (RenderObject::scrollHeight):
   46956         (RenderObject::setStyle):
   46957         (RenderObject::absolutePosition):
   46958         (RenderObject::nodeAtPoint):
   46959         (RenderObject::avoidsFloats):
   46960         * khtml/rendering/render_object.h:
   46961         (khtml::RenderObject::hasOverflowClip):
   46962         (khtml::RenderObject::hasAutoScrollbars):
   46963         (khtml::RenderObject::scrollsOverflow):
   46964         (khtml::RenderObject::includeScrollbarSize):
   46965         (khtml::RenderObject::setHasOverflowClip):
   46966         * khtml/rendering/render_style.h:
   46967         (khtml::RenderStyle::overflow):
   46968         (khtml::RenderStyle::isDisplayReplacedType):
   46969         (khtml::RenderStyle::isDisplayInlineType):
   46970         * khtml/rendering/render_table.cpp:
   46971         (RenderTable::setStyle):
   46972         (RenderTableCell::setStyle):
   46973         (RenderTableCell::requiresLayer):
   46974         * khtml/rendering/render_table.h:
   46975 
   46976 2004-04-12  David Hyatt  <hyatt (a] apple.com>
   46977 
   46978 	Fix for 3556036, make sure that when the position changes via style that all render layer
   46979 	descendants simply immediately repaint.
   46980 	
   46981         Reviewed by kocienda
   46982 	
   46983         * khtml/rendering/render_layer.cpp:
   46984         (RenderLayer::repaintIncludingDescendants):
   46985         * khtml/rendering/render_layer.h:
   46986         * khtml/rendering/render_object.cpp:
   46987         (RenderObject::setStyle):
   46988 
   46989 2004-04-12  Chris Blumenberg  <cblu (a] apple.com>
   46990 
   46991 	- Fixed build failure by removing references to WebArchive in WebCore.
   46992 	- For HTML copy/paste, relative URLs are now made absolute at paste time instead of at copy time. This allows relative URLs to be kept relative if the destination page has the same base URL as the source page.
   46993 
   46994         Reviewed by kocienda.
   46995 
   46996         * khtml/editing/htmlediting.cpp:
   46997         (PasteMarkupCommand::PasteMarkupCommand): take the base URL of the clipping
   46998         * khtml/editing/htmlediting.h:
   46999         * khtml/editing/htmlediting_impl.cpp:
   47000         (PasteMarkupCommandImpl::PasteMarkupCommandImpl): take the base URL of the clipping
   47001         (PasteMarkupCommandImpl::doApply): if we have a base URL and it is different than the base URL of the document, fix the URLs in the new DOM tree
   47002         * khtml/editing/htmlediting_impl.h:
   47003         * khtml/xml/dom2_rangeimpl.cpp:
   47004         (RangeImpl::toHTMLWithOptions): removed completeURLs param
   47005         * khtml/xml/dom2_rangeimpl.h:
   47006         * khtml/xml/dom_nodeimpl.cpp:
   47007         (NodeImpl::recursive_toHTMLWithOptions): removed completeURLs param
   47008         (NodeImpl::recursive_toHTML): ditto
   47009         (NodeImpl::recursive_completeURLs): new
   47010         * khtml/xml/dom_nodeimpl.h:
   47011         * kwq/WebCoreBridge.h:
   47012         * kwq/WebCoreBridge.mm:
   47013         (-[WebCoreBridge markupStringFromNode:subresourceURLStrings:]): call recursive_toHTML with less params
   47014         (-[WebCoreBridge markupStringFromRange:subresourceURLStrings:]): ditto
   47015         (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:]): take a base URL
   47016 
   47017 2004-04-12  Ken Kocienda  <kocienda (a] apple.com>
   47018 
   47019         Reviewed by Dave
   47020 
   47021         Added execCommand support for cut/copy/paste.
   47022         
   47023         * khtml/xml/dom_docimpl.cpp:
   47024         (DocumentImpl::execCommand): Added cut/copy/paste atoms and added else if cases
   47025         for the commands.
   47026         * kwq/KWQKHTMLPart.h:
   47027         * kwq/KWQKHTMLPart.mm:
   47028         (KWQKHTMLPart::issueCutCommand): Glue for calling from WebCore to do a cut in Cocoa.
   47029         (KWQKHTMLPart::issueCopyCommand): Same as above, but for copy.
   47030         (KWQKHTMLPart::issuePasteCommand): Same as above, but for paste.
   47031         * kwq/WebCoreBridge.h: Declared issueCutCommand, issueCopyCommand, and issuePasteCommand
   47032         to be implemented on the WebKit side of the bridge.
   47033         * layout-tests/editing/editing.js: Added cut/copy/paste support to js library to support
   47034         making layout tests.
   47035         * layout-tests/editing/pasteboard/copy-paste-text-001-expected.txt: Added.
   47036         * layout-tests/editing/pasteboard/copy-paste-text-001.html: Added.
   47037         * layout-tests/editing/pasteboard/cut-paste-text-002-expected.txt: Added.
   47038         * layout-tests/editing/pasteboard/cut-paste-text-002.html: Added.
   47039         * layout-tests/editing/pasteboard/cut-text-001-expected.txt: Added.
   47040         * layout-tests/editing/pasteboard/cut-text-001.html: Added.
   47041 
   47042 2004-04-12  Ken Kocienda  <kocienda (a] apple.com>
   47043 
   47044         Reviewed by John
   47045         
   47046         Some delete and insert cleanups.
   47047 
   47048         * khtml/editing/htmlediting_impl.cpp:
   47049         (DeleteSelectionCommandImpl::doApply): For ending position case 1,
   47050         the caret should be placed before the first child of the containing block, 
   47051         not before the containing block itself. Also, add some code to handle
   47052         converting nbsp's back to regular spaces. This will need to be improved
   47053         some day to convert only nbsp's added by the editor to make rendering come out right.
   47054         (InputTextCommandImpl::execute): 
   47055         (TypingCommandImpl::issueCommandForDeleteKey): Make deleting collapsible whitespace part 
   47056         of the work of deleting a selection, rather than something that needs to be done by a 
   47057         user of DeleteSelectionCommandImpl. This makes it impossible to leave out
   47058         this essential step.
   47059         (TypingCommandImpl::deleteKeyPressed): We can't use a possible optimization here until 
   47060         the code to do deletions properly has been factored better. Big FIXME added.
   47061         * layout-tests/editing/deleting/delete-block-contents-001-expected.txt: Updated for
   47062         ending position case 1 behavior change.
   47063         * layout-tests/editing/deleting/delete-block-contents-002-expected.txt: Ditto. 
   47064         * layout-tests/editing/deleting/delete-block-contents-003-expected.txt: Ditto.
   47065 
   47066 2004-04-09  Ken Kocienda  <kocienda (a] apple.com>
   47067 
   47068         Reviewed by Darin
   47069 
   47070         Added support for methods added to flesh out the WebKit 
   47071         editing API.
   47072 
   47073         * khtml/khtml_part.h: Removed pasteMarkupString and deleteSelection functions.
   47074         All this work is now done in WebCoreBridge.
   47075         * kwq/WebCoreBridge.h:
   47076         * kwq/WebCoreBridge.mm:
   47077         (-[WebCoreBridge isSelectionEditable]): Added a FIXME.
   47078         (-[WebCoreBridge setDrawsBackground:]): Moved this since CVS merged this in the
   47079         middle of editing code.
   47080         (-[WebCoreBridge replaceSelectionWithNode:]): New method.
   47081         (-[WebCoreBridge replaceSelectionWithText:]): Replaces insertText:
   47082         (-[WebCoreBridge replaceSelectionWithMarkupString:]): New method.
   47083         (-[WebCoreBridge replaceSelectionWithWebArchive:]): New method.
   47084         (-[WebCoreBridge replaceSelectionWithNewline]): Replaces insertNewline:
   47085         (-[WebCoreBridge deleteSelection]): New method.
   47086         (-[WebCoreBridge applyStyle:toElementsInDOMRange:]): New method.
   47087 
   47088 2004-04-09  Darin Adler  <darin (a] apple.com>
   47089 
   47090         Reviewed by Ken.
   47091 
   47092         - added "transparent mode"
   47093 
   47094         * khtml/khtmlview.h: Added isTransparent and setTransparent functions.
   47095         * khtml/khtmlview.cpp:
   47096         (KHTMLViewPrivate::KHTMLViewPrivate): Initialize isTransparent to false.
   47097         (KHTMLView::isTransparent): Return isTransparent.
   47098         (KHTMLView::setTransparent): Set isTransparent.
   47099 
   47100         * khtml/rendering/render_box.cpp:
   47101         (RenderBox::paintRootBoxDecorations): Use slow repaints for the top frame when the view
   47102         is transparent; also don't draw a background. This is the same thing we do for subframes.
   47103         (RenderBox::paintBackgroundExtended): Don't do the extra draw so we can blend with the
   47104         background color for the top frame when the view is transparent.
   47105         * khtml/rendering/render_canvas.cpp: (RenderCanvas::paintBoxDecorations): More of the same.
   47106 
   47107         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::paint): Make "fill with red" debug mode work only
   47108         when the view is not transparent.
   47109 
   47110         * kwq/WebCoreBridge.h: Added setDrawsBackground: method.
   47111         * kwq/WebCoreBridge.mm: (-[WebCoreBridge setDrawsBackground:]): If told NO
   47112         (don't draw background), then set isTransparent to true on the KHTMLView.
   47113 
   47114 2004-04-09  Ken Kocienda  <kocienda (a] apple.com>
   47115 
   47116         Added one more layout test for editing.
   47117 
   47118         * layout-tests/editing/deleting/delete-3608445-fix-expected.txt: Added.
   47119         * layout-tests/editing/deleting/delete-3608445-fix.html: Added.
   47120 
   47121 2004-04-08  Maciej Stachowiak  <mjs (a] apple.com>
   47122 
   47123         Reviewed by John.
   47124 
   47125 	Changed things so that newly created objects get a prototype based
   47126 	on the scope chain of the current function, rather than the
   47127 	interpreter that started execution. This fixes the following bugs:
   47128 	
   47129 	<rdar://problem/3368523>: ARCH: wrong prototype used to create new objects (hang on lookup.atomica.com)
   47130         <rdar://problem/3559173>: ARCH: Cannot scan using a HP Jetdirect product (JS object prototypes bind incorrectly)
   47131 
   47132 	* khtml/ecma/kjs_binding.h:
   47133         (KJS::cacheDOMObject):
   47134         (KJS::cacheGlobalObject):
   47135         * khtml/ecma/kjs_css.cpp:
   47136         (KJS::getDOMStyleSheet):
   47137         (KJS::getDOMStyleSheetList):
   47138         (KJS::getDOMCSSValue):
   47139         * khtml/ecma/kjs_dom.cpp:
   47140         (KJS::getDOMDocumentNode):
   47141         (KJS::getDOMNode):
   47142         * khtml/ecma/kjs_events.cpp:
   47143         (KJS::getDOMEvent):
   47144         * khtml/ecma/kjs_html.cpp:
   47145         (KJS::HTMLDocument::tryGet):
   47146         (KJS::HTMLDocument::putValue):
   47147         (KJS::getSelectHTMLCollection):
   47148         * khtml/ecma/kjs_navigator.cpp:
   47149         (Navigator::Navigator):
   47150         (PluginBase::PluginBase):
   47151         * khtml/ecma/kjs_window.cpp:
   47152         (KJS::History::History):
   47153         (KJS::FrameArray::FrameArray):
   47154         (Screen::Screen):
   47155         (Window::retrieveActive):
   47156         (Window::put):
   47157         (Window::isSafeScript):
   47158         (WindowFunc::tryCall):
   47159         (Location::put):
   47160         (LocationFunc::tryCall):
   47161 
   47162 2004-04-09  David Hyatt  <hyatt (a] apple.com>
   47163 
   47164 	Fix for 3613081, repaint glitches when using overflow:auto/overlay.
   47165 	
   47166         Reviewed by john
   47167 
   47168         * khtml/rendering/render_layer.cpp:
   47169         (RenderLayer::updateScrollInfoAfterLayout):
   47170 
   47171 2004-04-09  David Hyatt  <hyatt (a] apple.com>
   47172 
   47173 	Fix for 3608445, garbage characters rendered after doing delete.  Delta was unsigned when it was supposed to
   47174 	be signed, since deletion involves a negative delta.  Also had an off-by-one error in the line break end check.
   47175 	
   47176         Reviewed by john
   47177 
   47178         * khtml/rendering/render_text.cpp:
   47179         (RenderText::setTextWithOffset):
   47180 
   47181 2004-04-09  Ken Kocienda  <kocienda (a] apple.com>
   47182 
   47183         Added two more layout tests for editing.
   47184 
   47185         * layout-tests/editing/selection/move-between-blocks-no-001-expected.txt: Added.
   47186         * layout-tests/editing/selection/move-between-blocks-no-001.html: Added.
   47187         * layout-tests/editing/selection/move-between-blocks-yes-001-expected.txt: Added.
   47188         * layout-tests/editing/selection/move-between-blocks-yes-001.html: Added.
   47189 
   47190 2004-04-09  Ken Kocienda  <kocienda (a] apple.com>
   47191 
   47192         Reviewed by Dave
   47193         
   47194         Small collection of editing improvements.
   47195 
   47196         * ChangeLog:
   47197         * khtml/editing/htmlediting_impl.cpp:
   47198         (shouldDeleteUpstreamPosition): This was deleting significant spaces on preceding
   47199         lines when the caret was at the start of a line. Fixed. 
   47200         (DeleteSelectionCommandImpl::doApply): Fixed a case where caret jumped to previous
   47201         line when deleting a character at the start of a line after a BR.
   47202         (InputNewlineCommandImpl::doApply): Handle more cases correctly. Previously, this
   47203         only handled inserting a newline when the caret was already in a text node.
   47204         (InputTextCommandImpl::prepareForTextInsertion): Ditto.
   47205         (InputTextCommandImpl::execute): Ditto.
   47206         * khtml/editing/htmlediting_impl.h:
   47207         * khtml/rendering/render_block.cpp:
   47208         (khtml::RenderBlock::checkSelectionPointIgnoringContinuations): Now can place caret
   47209         with a click in an empty block.
   47210         * khtml/rendering/render_block.h: Added checkSelectionPointIgnoringContinuations declaration.
   47211         * khtml/rendering/render_replaced.cpp: 
   47212         (RenderReplaced::checkSelectionPointIgnoringContinuations): Now can place caret with a click 
   47213         on a replaced element.
   47214         * khtml/rendering/render_replaced.h: Added checkSelectionPointIgnoringContinuations declaration.
   47215         * khtml/rendering/render_text.cpp:
   47216         (InlineTextBox::checkSelectionPoint): Now can place caret with a click in text on a line made "tall"
   47217         by an image on the same line.
   47218         * khtml/xml/dom_docimpl.cpp:
   47219         (DocumentImpl::createEditingTextNode): This creates a text node subclass that whill always create
   47220         a renderer for itself.
   47221         * khtml/xml/dom_docimpl.h:
   47222         * khtml/xml/dom_position.cpp:
   47223         (DOMPosition::isLastRenderedPositionInEditableBlock): Improved code to handle more cases.
   47224         * khtml/xml/dom_textimpl.cpp:
   47225         (TextImpl::TextImpl): Rolled out m_rendererIsNeeded flag.
   47226         (TextImpl::rendererIsNeeded): Ditto.
   47227         (EditingTextImpl::EditingTextImpl): New class.
   47228         (EditingTextImpl::~EditingTextImpl): New.
   47229         (EditingTextImpl::rendererIsNeeded): New. Always returns true.
   47230         * khtml/xml/dom_textimpl.h: New EditingTextImpl class.
   47231         * layout-tests/editing/deleting/delete-3608430-fix-expected.txt: Added.
   47232         * layout-tests/editing/deleting/delete-3608430-fix.html: Added.
   47233         * layout-tests/editing/deleting/delete-3608462-fix-expected.txt: Added.
   47234         * layout-tests/editing/deleting/delete-3608462-fix.html: Added.
   47235         * layout-tests/editing/deleting/delete-trailing-ws-002-expected.txt: Added.
   47236         * layout-tests/editing/deleting/delete-trailing-ws-002.html: Added.
   47237 
   47238 2004-04-08  Chris Blumenberg  <cblu (a] apple.com>
   47239 
   47240 	Renamed the PasteHTMLCommand to PasteMarkupCommand. Removed PasteImageCommand because we will use PasteMarkupCommand for pasting images.
   47241 
   47242         Reviewed by kocienda.
   47243 
   47244         * ChangeLog:
   47245         * khtml/editing/htmlediting.cpp:
   47246         (PasteMarkupCommand::PasteMarkupCommand):
   47247         (PasteMarkupCommand::~PasteMarkupCommand):
   47248         (PasteMarkupCommand::impl):
   47249         (PasteMarkupCommand::markupString):
   47250         * khtml/editing/htmlediting.h:
   47251         (khtml::):
   47252         * khtml/editing/htmlediting_impl.cpp:
   47253         (PasteMarkupCommandImpl::PasteMarkupCommandImpl):
   47254         (PasteMarkupCommandImpl::~PasteMarkupCommandImpl):
   47255         (PasteMarkupCommandImpl::commandID):
   47256         (PasteMarkupCommandImpl::doApply):
   47257         * khtml/editing/htmlediting_impl.h:
   47258         (khtml::PasteMarkupCommandImpl::markupString):
   47259         * khtml/khtml_part.cpp:
   47260         (KHTMLPart::pasteMarkupString):
   47261         * khtml/khtml_part.h:
   47262         * kwq/WebCoreBridge.h:
   47263         * kwq/WebCoreBridge.mm:
   47264         (-[WebCoreBridge pasteMarkupString:]):
   47265 
   47266 
   47267 2004-04-08  David Hyatt  <hyatt (a] apple.com>
   47268 
   47269 	Fix for 3608430 and 3608462, crashes in findNextLineBreak when deleting.  Make sure that the removal of line boxes
   47270 	always checks the previous root line box's line break information and dirties the line if it is pointing
   47271 	to the deleted object.
   47272 	
   47273         Reviewed by kocienda
   47274 
   47275         * khtml/rendering/render_line.cpp:
   47276         (InlineFlowBox::removeChild):
   47277 
   47278 2004-04-08  Chris Blumenberg  <cblu (a] apple.com>
   47279 
   47280 	Removed DOMExtensions.h from DOM.h until it is public.
   47281 
   47282         Reviewed by koicienda.
   47283 
   47284         * kwq/DOM.h:
   47285 
   47286 2004-04-07  Chris Blumenberg  <cblu (a] apple.com>
   47287 
   47288 	WebCore side for supporting WebDOMOperations.	
   47289 
   47290         Reviewed by rjw.
   47291 
   47292         * WebCore-combined.exp:
   47293         * WebCore.exp:
   47294         * kwq/DOM.mm:
   47295         * kwq/DOMExtensions.h:
   47296         * kwq/WebCoreBridge.h:
   47297         * kwq/WebCoreBridge.mm:
   47298         (+[WebCoreBridge bridgeForDOMDocument:]): new
   47299         (-[WebCoreBridge imageForImageElement:]): new
   47300 
   47301 2004-04-07  Darin Adler  <darin (a] apple.com>
   47302 
   47303         Reviewed by Chris.
   47304 
   47305         * kwq/DOMCSS.h: Changed DOMCSS2Properties to be a category on DOMCSSStyleDeclaration
   47306         (after API review, oops!, but I doubt anyone will even notice).
   47307         * kwq/DOM-CSS.mm: Implemented the entire DOMCSS2Properties category.
   47308 
   47309 2004-04-07  Ken Kocienda  <kocienda (a] apple.com>
   47310 
   47311         Reviewed by Chris
   47312 
   47313         * kwq/WebCoreBridge.mm:
   47314         (-[WebCoreBridge _stringWithDocumentTypeStringAndMarkupString:]): Do not add a newline in between
   47315         the doctype and the content. The newline was showing up when the content was pasted.
   47316 
   47317 2004-04-07  Ken Kocienda  <kocienda (a] apple.com>
   47318 
   47319         Reviewed by John
   47320 
   47321         Removed concept of currentSelection from EditCommands and refined concept of
   47322         startingSelection and endingSelection, making them work more sensibly in the 
   47323         system of composed editing commands.
   47324 
   47325         * khtml/editing/htmlediting.cpp: Removed currentSelection().
   47326         * khtml/editing/htmlediting.h: Ditto.
   47327         * khtml/editing/htmlediting_impl.cpp: currentSelection().
   47328         (CompositeEditCommandImpl::applyCommandToComposite): Set the startingSelection 
   47329         and endingSelection for the command being applied to the endingSelection of
   47330         its new parent. This is the proper starting and ending point.
   47331         (CompositeEditCommandImpl::deleteSelection): Changed call to currentSelection
   47332         to endingSelection.
   47333         (DeleteCollapsibleWhitespaceCommandImpl::DeleteCollapsibleWhitespaceCommandImpl): Ditto.
   47334         (DeleteSelectionCommandImpl::DeleteSelectionCommandImpl): Changed call from startingSelection
   47335         to endingSelection.
   47336         (DeleteSelectionCommandImpl::joinTextNodesWithSameStyle): Changed call to currentSelection
   47337         to endingSelection.
   47338         (InputNewlineCommandImpl::doApply): Ditto.
   47339         (InputTextCommandImpl::deleteCharacter): Ditto.
   47340         (InputTextCommandImpl::prepareForTextInsertion): Ditto.
   47341         (InputTextCommandImpl::execute): Ditto.
   47342         (PasteHTMLCommandImpl::doApply): Ditto.
   47343         (TypingCommandImpl::insertText): Remove extraneous call to reset endingSelection. This has
   47344         already been done by the helpers this command uses to do its work.
   47345         (TypingCommandImpl::issueCommandForDeleteKey): Changed call to currentSelection
   47346         to endingSelection.
   47347         (TypingCommandImpl::deleteKeyPressed): Remove extraneous call to reset endingSelection. This has
   47348         already been done by the helpers this command uses to do its work.
   47349         * khtml/editing/htmlediting_impl.h:
   47350         (khtml::EditCommandImpl::endingSelection): Remove extraneous call to reset endingSelection. This has
   47351         already been done by the helpers this command uses to do its work.
   47352 
   47353 2004-04-07  Ken Kocienda  <kocienda (a] apple.com>
   47354 
   47355         Reviewed by John
   47356         
   47357         Make paste work again. It has been broken for some undetermined
   47358         period of time.
   47359 
   47360         * khtml/editing/htmlediting_impl.cpp:
   47361         (CompositeEditCommandImpl::insertNodeAt): Handle inserting a node when
   47362         the reference node has children, or is an empty block.
   47363         (CompositeEditCommandImpl::inputText): New convenience to create and
   47364         apply an InputTextCommand.
   47365         (InputTextCommandImpl::execute): Collapse whitespace when selection is
   47366         not a range. Deleting the selection when it is a range already does that, 
   47367         so no need to make special accommodation for it.
   47368         (PasteHTMLCommandImpl::PasteHTMLCommandImpl): Initialize m_HTMLString using 
   47369         an initialization list.
   47370         (PasteHTMLCommandImpl::doApply): Collapse whitespace.... as above for 
   47371         InputTextCommandImpl::execute. Don't need to qualify NodeImpl's with DOM 
   47372         namespace. Clean up selection access; no need to grep around for it, the
   47373         desired selection is returned by calling currentSelection(). Treat "simple
   47374         text paste" like typing. Tighten up and simplify HTML fragment paste; no
   47375         real change in algorithm. 
   47376         (SplitTextNodeCommandImpl::SplitTextNodeCommandImpl): m_text1 member variable
   47377         not initialized. This bug was introduced by a recent change by me. Fixing now.
   47378         * khtml/editing/htmlediting_impl.h: Add inputText() declaration.
   47379 
   47380 2004-04-06  Ken Kocienda  <kocienda (a] apple.com>
   47381 
   47382         Reviewed by Richard
   47383 
   47384         * khtml/khtml_part.cpp:
   47385         (KHTMLPart::setSelection): Now calls setFocusNodeIfNeeded.
   47386         (KHTMLPart::takeSelectionFrom): Now calls setFocusNodeIfNeeded.
   47387         (KHTMLPart::clearSelection): Now calls setFocusNodeIfNeeded.
   47388         (KHTMLPart::invalidateSelection): Now calls setFocusNodeIfNeeded.
   47389         (KHTMLPart::setSelectionVisible): Now calls setFocusNodeIfNeeded.
   47390         (KHTMLPart::setFocusNodeIfNeeded): New function focuses first element 
   47391         of a selection that is contenteditable, if any of the nodes are. The "first"
   47392         determination is made by doing a document-order search.
   47393         * khtml/khtml_part.h:
   47394         * khtml/xml/dom_nodeimpl.cpp: Remove debug spam.
   47395         * kwq/WebCoreBridge.mm:
   47396         (-[WebCoreBridge setSelectedDOMRange:]): Now updates document layout before
   47397         setting the selection. This was needed for Blot, so that setting the 
   47398         contenteditable attribute on the body is "seen" when the attempt is made
   47399         to set the selection right immediately after.
   47400 
   47401 2004-04-06  David Hyatt  <hyatt (a] apple.com>
   47402 
   47403 	After columns have been expanded to their preferred sizes, if space is left over in the table, then
   47404 	fixed columns should expand to fill space before percentage width columns do.  The old code had it
   47405 	backwards.
   47406 	
   47407         Reviewed by john
   47408 
   47409         * khtml/rendering/table_layout.cpp:
   47410         (AutoTableLayout::layout):
   47411 
   47412 2004-04-06  Ken Kocienda  <kocienda (a] apple.com>
   47413 
   47414         Reviewed by Dave
   47415 
   47416         * khtml/dom/dom_node.cpp:
   47417         (Node::isContentEditable): Added. Calls through to impl function of same name.
   47418         * khtml/dom/dom_node.h: Added isContentEditable declaration.
   47419         * khtml/khtmlview.cpp:
   47420         (KHTMLView::viewportMouseMoveEvent): Now, the cursor will change
   47421         to an i-beam whenever it is over a node that is contenteditable, and nothing, 
   47422         like a link, takes precedence.
   47423 
   47424 2004-04-06  Ken Kocienda  <kocienda (a] apple.com>
   47425 
   47426         Reviewed by Dave
   47427 
   47428         * khtml/css/html4.css: Refine focus rules so that HTML and BODY
   47429         elements do not draw a focus ring around themselves when focused.
   47430         This prevents a silly-looking focus ring from drawing around a 
   47431         document's entire contents when a body element is contenteditable.
   47432 
   47433 2004-04-06  Ken Kocienda  <kocienda (a] apple.com>
   47434 
   47435         Reviewed by Dave
   47436 
   47437         Caret height is now the height of the tallest element on the line,
   47438         mimicking NSText behavior.
   47439 
   47440         * khtml/rendering/render_box.cpp:
   47441         (RenderBox::caretPos): Use root line box topOverflow and bottomOverflow 
   47442         for the calculation of caret height.
   47443         * khtml/rendering/render_text.cpp:
   47444         (RenderText::caretPos): Ditto.
   47445 
   47446 2004-04-06  Ken Kocienda  <kocienda (a] apple.com>
   47447 
   47448         Added a new suite of layout tests for editing, all added
   47449         in the new layout-tests/editing subtree.
   47450 
   47451         * layout-tests/editing/abe.jpg: Added.
   47452         * layout-tests/editing/deleting/delete-block-contents-001-expected.txt: Added.
   47453         * layout-tests/editing/deleting/delete-block-contents-001.html: Added.
   47454         * layout-tests/editing/deleting/delete-block-contents-002-expected.txt: Added.
   47455         * layout-tests/editing/deleting/delete-block-contents-002.html: Added.
   47456         * layout-tests/editing/deleting/delete-block-contents-003-expected.txt: Added.
   47457         * layout-tests/editing/deleting/delete-block-contents-003.html: Added.
   47458         * layout-tests/editing/deleting/delete-br-001-expected.txt: Added.
   47459         * layout-tests/editing/deleting/delete-br-001.html: Added.
   47460         * layout-tests/editing/deleting/delete-br-002-expected.txt: Added.
   47461         * layout-tests/editing/deleting/delete-br-002.html: Added.
   47462         * layout-tests/editing/deleting/delete-br-003-expected.txt: Added.
   47463         * layout-tests/editing/deleting/delete-br-003.html: Added.
   47464         * layout-tests/editing/deleting/delete-br-004-expected.txt: Added.
   47465         * layout-tests/editing/deleting/delete-br-004.html: Added.
   47466         * layout-tests/editing/deleting/delete-br-005-expected.txt: Added.
   47467         * layout-tests/editing/deleting/delete-br-005.html: Added.
   47468         * layout-tests/editing/deleting/delete-br-006-expected.txt: Added.
   47469         * layout-tests/editing/deleting/delete-br-006.html: Added.
   47470         * layout-tests/editing/deleting/delete-character-001-expected.txt: Added.
   47471         * layout-tests/editing/deleting/delete-character-001.html: Added.
   47472         * layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt: Added.
   47473         * layout-tests/editing/deleting/delete-contiguous-ws-001.html: Added.
   47474         * layout-tests/editing/deleting/delete-image-001-expected.txt: Added.
   47475         * layout-tests/editing/deleting/delete-image-001.html: Added.
   47476         * layout-tests/editing/deleting/delete-image-002-expected.txt: Added.
   47477         * layout-tests/editing/deleting/delete-image-002.html: Added.
   47478         * layout-tests/editing/deleting/delete-image-003-expected.txt: Added.
   47479         * layout-tests/editing/deleting/delete-image-003.html: Added.
   47480         * layout-tests/editing/deleting/delete-leading-ws-001-expected.txt: Added.
   47481         * layout-tests/editing/deleting/delete-leading-ws-001.html: Added.
   47482         * layout-tests/editing/deleting/delete-selection-001-expected.txt: Added.
   47483         * layout-tests/editing/deleting/delete-selection-001.html: Added.
   47484         * layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt: Added.
   47485         * layout-tests/editing/deleting/delete-trailing-ws-001.html: Added.
   47486         * layout-tests/editing/editing.js: Added.
   47487         * layout-tests/editing/inserting/typing-001-expected.txt: Added.
   47488         * layout-tests/editing/inserting/typing-001.html: Added.
   47489         * layout-tests/editing/inserting/typing-002-expected.txt: Added.
   47490         * layout-tests/editing/inserting/typing-002.html: Added.
   47491         * layout-tests/editing/inserting/typing-around-br-001-expected.txt: Added.
   47492         * layout-tests/editing/inserting/typing-around-br-001.html: Added.
   47493         * layout-tests/editing/inserting/typing-around-image-001-expected.txt: Added.
   47494         * layout-tests/editing/inserting/typing-around-image-001.html: Added.
   47495         * layout-tests/editing/selection/extend-by-character-001-expected.txt: Added.
   47496         * layout-tests/editing/selection/extend-by-character-001.html: Added.
   47497         * layout-tests/editing/selection/extend-by-character-002-expected.txt: Added.
   47498         * layout-tests/editing/selection/extend-by-character-002.html: Added.
   47499         * layout-tests/editing/selection/extend-by-character-003-expected.txt: Added.
   47500         * layout-tests/editing/selection/extend-by-character-003.html: Added.
   47501         * layout-tests/editing/selection/extend-by-character-004-expected.txt: Added.
   47502         * layout-tests/editing/selection/extend-by-character-004.html: Added.
   47503         * layout-tests/editing/selection/extend-by-character-005-expected.txt: Added.
   47504         * layout-tests/editing/selection/extend-by-character-005.html: Added.
   47505         * layout-tests/editing/selection/move-by-character-001-expected.txt: Added.
   47506         * layout-tests/editing/selection/move-by-character-001.html: Added.
   47507         * layout-tests/editing/selection/move-by-character-002-expected.txt: Added.
   47508         * layout-tests/editing/selection/move-by-character-002.html: Added.
   47509         * layout-tests/editing/selection/move-by-character-003-expected.txt: Added.
   47510         * layout-tests/editing/selection/move-by-character-003.html: Added.
   47511         * layout-tests/editing/selection/move-by-character-004-expected.txt: Added.
   47512         * layout-tests/editing/selection/move-by-character-004.html: Added.
   47513         * layout-tests/editing/selection/move-by-character-005-expected.txt: Added.
   47514         * layout-tests/editing/selection/move-by-character-005.html: Added.
   47515         * layout-tests/editing/undo/redo-typing-001-expected.txt: Added.
   47516         * layout-tests/editing/undo/redo-typing-001.html: Added.
   47517         * layout-tests/editing/undo/undo-typing-001-expected.txt: Added.
   47518         * layout-tests/editing/undo/undo-typing-001.html: Added.
   47519 
   47520 2004-04-06  Ken Kocienda  <kocienda (a] apple.com>
   47521 
   47522         Reviewed by Dave
   47523 
   47524         Added execCommand feature. 
   47525         Added Javascript selection object.
   47526         This lays the groundwork for layout tests for editing.
   47527 
   47528         * khtml/dom/dom_doc.cpp:
   47529         (DOM::Document::execCommand): Added. Calls through to impl's execCommand.
   47530         * khtml/dom/dom_doc.h: Added execCommand declaration.
   47531         * khtml/ecma/kjs_dom.cpp:
   47532         (DOMDocumentProtoFunc::tryCall): Switch on new ExecCommand constant and call through to the document.
   47533         * khtml/ecma/kjs_dom.h: Added ExecCommand constant.
   47534         (KJS::DOMDocument::):
   47535         * khtml/ecma/kjs_dom.lut.h: Generated file.
   47536         * khtml/ecma/kjs_window.cpp:
   47537         (Window::Window): Initialize selection object.
   47538         (Window::selection): Return window's selection object.
   47539         (Window::mark): Mark selection object.
   47540         (WindowFunc::tryCall): Return selection object on GetSelection.
   47541         (LocationFunc::tryCall): Added.
   47542         (Selection::Selection): Added.
   47543         (Selection::~Selection): Added.
   47544         (Selection::get): Added.
   47545         (Selection::put): Added.
   47546         (Selection::toPrimitive): Added.
   47547         (Selection::toString): Added.
   47548         (SelectionFunc::tryCall): Added.
   47549         * khtml/ecma/kjs_window.h:
   47550         (KJS::Selection::): Added.
   47551         (KJS::Selection::part): Added.
   47552         (KJS::Selection::classInfo): Added.
   47553         * khtml/ecma/kjs_window.lut.h: Generated file.
   47554         * khtml/editing/htmlediting_impl.cpp:
   47555         (debugPosition): Debugging aid.
   47556         (DeleteCollapsibleWhitespaceCommandImpl::deleteWhitespace): Move the ending position
   47557         if you are about to delete it. Fixes a crasher I discovered while writing tests.
   47558         (DeleteSelectionCommandImpl::doApply): Move to containing editable block position 0
   47559         instead of 1 in a block in delete case 1.
   47560         (InputTextCommandImpl::prepareForTextInsertion):
   47561         (TypingCommandImpl::issueCommandForDeleteKey):
   47562         * khtml/khtml_part.h:
   47563         * khtml/khtml_selection.cpp:
   47564         (KHTMLSelection::validate): Now adjusts the selection down to leaf nodes if needed.
   47565         (KHTMLSelection::debugPosition): Debugging aid.
   47566         * khtml/xml/dom_docimpl.cpp:
   47567         (DocumentImpl::execCommand): Added. Supports five different commands.
   47568         * khtml/xml/dom_docimpl.h:
   47569         * khtml/xml/dom_nodeimpl.cpp:
   47570         (NodeImpl::previousEditable): Use false instead of 0 for equality check.
   47571         (NodeImpl::nextEditable): Ditto.
   47572         * khtml/xml/dom_position.cpp:
   47573         (DOMPosition::equivalentLeafPosition): New function
   47574         (DOMPosition::previousRenderedEditablePosition): New function
   47575         (DOMPosition::nextRenderedEditablePosition): New function
   47576         (DOMPosition::equivalentUpstreamPosition): Refined behavior to handle more cases correctly.
   47577         (DOMPosition::equivalentDownstreamPosition): Ditto.
   47578         (DOMPosition::atStartOfContainingEditableBlock):New function
   47579         (DOMPosition::atStartOfRootEditableBlock):New function
   47580         * khtml/xml/dom_position.h:
   47581         * kwq/KWQKHTMLPart.h:
   47582         * kwq/KWQKHTMLPart.mm:
   47583         (KWQKHTMLPart::issueUndoCommand): New function for calling undo programatically.
   47584         (KWQKHTMLPart::issueRedoCommand): Ditto, but for redo.
   47585         * kwq/KWQRenderTreeDebug.cpp:
   47586         (nodePositionRelativeToRoot): New function to generate log information for the selection.
   47587         (writeSelection): Writes the selection if there is one.
   47588         (externalRepresentation): Calls writeSelection
   47589         * kwq/WebCoreBridge.h: New declarations for issueUndoCommand and issueRedoCommand.
   47590 
   47591 2004-04-05  Darin Adler  <darin (a] apple.com>
   47592 
   47593         * khtml/html/kentities.gperf: Added &COPY; and &REG;, both supported by Gecko
   47594         (and presumably by WinIE). Also re-sorted the list.
   47595         * khtml/html/kentities.c: Regenerated.
   47596 
   47597 2004-04-05  Darin Adler  <darin (a] apple.com>
   47598 
   47599         Reviewed by Dave.
   47600 
   47601         - rolled over fix from KHTML tree; anchor inside another anchor
   47602 
   47603         * khtml/rendering/render_layer.cpp: (RenderLayer::nodeAtPoint):
   47604         Make sure the URL element is the innermost one, by not setting it once
   47605         it's already set.
   47606 
   47607 2004-04-05  David Hyatt  <hyatt (a] apple.com>
   47608 
   47609 	Implement overflow: overlay so that a scrollbar can show/hide without causing a layout.
   47610 	
   47611         Reviewed by darin
   47612 
   47613         * ChangeLog:
   47614         * khtml/css/css_computedstyle.cpp:
   47615         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
   47616         * khtml/css/cssparser.cpp:
   47617         (CSSParser::parseValue):
   47618         * khtml/css/cssstyleselector.cpp:
   47619         (khtml::CSSStyleSelector::applyProperty):
   47620         * khtml/css/cssvalues.c:
   47621         (hash_val):
   47622         (findValue):
   47623         * khtml/css/cssvalues.h:
   47624         * khtml/css/cssvalues.in:
   47625         * khtml/rendering/render_block.cpp:
   47626         (khtml::RenderBlock::layoutBlock):
   47627         (khtml::RenderBlock::layoutBlockChildren):
   47628         (khtml::RenderBlock::rightOffset):
   47629         * khtml/rendering/render_box.cpp:
   47630         (RenderBox::contentWidth):
   47631         (RenderBox::contentHeight):
   47632         * khtml/rendering/render_layer.cpp:
   47633         (RenderLayer::updateScrollInfoAfterLayout):
   47634         * khtml/rendering/render_object.cpp:
   47635         (RenderObject::clientWidth):
   47636         (RenderObject::clientHeight):
   47637         * khtml/rendering/render_style.h:
   47638         (khtml::):
   47639         (khtml::RenderStyle::hasAutoScrollbars):
   47640         (khtml::RenderStyle::scrollsOverflow):
   47641         (khtml::RenderStyle::includeScrollbarSize):
   47642 
   47643 2004-04-03  David Hyatt  <hyatt (a] apple.com>
   47644 
   47645 	Implementation of <input type=range>, which makes sliders available in Web pages.
   47646 	
   47647         Reviewed by john
   47648 
   47649         * WebCore.pbproj/project.pbxproj:
   47650         * khtml/ecma/kjs_dom.cpp:
   47651         (DOMNode::getValueProperty):
   47652         (DOMNode::putValue):
   47653         * khtml/ecma/kjs_dom.h:
   47654         (KJS::DOMNode::):
   47655         * khtml/ecma/kjs_dom.lut.h:
   47656         (KJS::):
   47657         * khtml/html/html_formimpl.cpp:
   47658         (HTMLInputElementImpl::setType):
   47659         (HTMLInputElementImpl::type):
   47660         (HTMLInputElementImpl::click):
   47661         (HTMLInputElementImpl::accessKeyAction):
   47662         (HTMLInputElementImpl::parseHTMLAttribute):
   47663         (HTMLInputElementImpl::rendererIsNeeded):
   47664         (HTMLInputElementImpl::createRenderer):
   47665         (HTMLInputElementImpl::encoding):
   47666         * khtml/html/html_formimpl.h:
   47667         (DOM::HTMLInputElementImpl::):
   47668         * khtml/misc/htmlattrs.c:
   47669         (hash_attr):
   47670         (findAttr):
   47671         * khtml/misc/htmlattrs.h:
   47672         * khtml/misc/htmlattrs.in:
   47673         * khtml/rendering/render_form.cpp:
   47674         (RenderLineEdit::slotTextChanged):
   47675         (:RenderFormElement):
   47676         (RenderSlider::calcMinMaxWidth):
   47677         (RenderSlider::updateFromElement):
   47678         (RenderSlider::slotSliderValueChanged):
   47679         * khtml/rendering/render_form.h:
   47680         (khtml::RenderSlider::element):
   47681         (khtml::RenderSlider::renderName):
   47682         (khtml::RenderSlider::canHaveIntrinsicMargins):
   47683         * khtml/xml/dom2_eventsimpl.cpp:
   47684         (EventImpl::typeToId):
   47685         (EventImpl::idToType):
   47686         * khtml/xml/dom2_eventsimpl.h:
   47687         (DOM::EventImpl::):
   47688         * kwq/KWQSlider.h: Added.
   47689         * kwq/KWQSlider.mm: Added.
   47690         (-[KWQSlider initWithQSlider:]):
   47691         (-[KWQSlider slide:]):
   47692         (m_val):
   47693         (QSlider::setFont):
   47694         (QSlider::sizeHint):
   47695         (QSlider::setValue):
   47696         (QSlider::setMinValue):
   47697         (QSlider::setMaxValue):
   47698         (QSlider::value):
   47699         (QSlider::minValue):
   47700         (QSlider::maxValue):
   47701         (QSlider::sliderValueChanged):
   47702         (QSlider::dimensions):
   47703         * kwq/KWQSlot.mm:
   47704         (KWQSlot::KWQSlot):
   47705         (KWQSlot::call):
   47706 
   47707 2004-04-05  Chris Blumenberg  <cblu (a] apple.com>
   47708 
   47709 	Fixed: <rdar://problem/3612580>: SPI: WebPlugin selection
   47710 
   47711         Reviewed by kocienda.
   47712 
   47713         * WebCore.pbproj/project.pbxproj:
   47714         * khtml/rendering/render_replaced.cpp:
   47715         (RenderWidget::setSelectionState): new override, calls QWidget::setIsSelected
   47716         * khtml/rendering/render_replaced.h:
   47717         (khtml::RenderWidget::selectionState): new override
   47718         * kwq/KWQWidget.h:
   47719         * kwq/KWQWidget.mm:
   47720         (QWidget::setIsSelected): new, calls [WebCoreBridge setIsSelected:forView:]
   47721         (QWidget::isSelected): new, calls [WebCoreBridge isViewSelected:]
   47722         * kwq/WebCoreBridge.h:
   47723         * kwq/WebCoreBridge.mm:
   47724         (-[WebCoreBridge selectionColor]): new
   47725 
   47726 2004-04-03  David Hyatt  <hyatt (a] apple.com>
   47727 
   47728 	Fix for 3601728, text overlaps borders at ejai.org.  Remove all the code in addForbidden for
   47729 	dir, menu, nobr, and pre that made them too restrictive regarding what child tags they could
   47730 	contain.
   47731 	
   47732         Reviewed by kocienda
   47733 
   47734         * khtml/html/dtd.cpp:
   47735         (DOM::addForbidden):
   47736         (DOM::removeForbidden):
   47737 
   47738 2004-04-02  Chris Blumenberg  <cblu (a] apple.com>
   47739 
   47740 	Moved the DOM extensions to their own headers
   47741 
   47742         Reviewed by kocienda.
   47743 
   47744         * WebCore.pbproj/project.pbxproj:
   47745         * kwq/DOM.h: include DOMExtensions.h
   47746         * kwq/DOMExtensions.h: Added.
   47747         * kwq/DOMHTML.h: moved extensions to DOMExtensions.h
   47748         * kwq/DOMHTML.mm: Renamed to match header
   47749 
   47750 2004-04-02  David Hyatt  <hyatt (a] apple.com>
   47751 
   47752 	Fix for 3610662, rendering sometimes doesn't update in response to mouse events that change style.
   47753 	The document changed list was getting messed up.
   47754 	
   47755         Reviewed by darin
   47756 
   47757         * khtml/xml/dom_docimpl.cpp:
   47758         (DocumentImpl::updateDocumentsRendering):
   47759         * khtml/xml/dom_docimpl.h:
   47760 
   47761 === Safari-135 ===
   47762 
   47763 2004-04-01  Darin Adler  <darin (a] apple.com>
   47764 
   47765         Based on a fix by Eric Albert.
   47766 
   47767         - fixed <rdar://problem/3594247>: Safari crashes when a background image has a height or width of 0
   47768 
   47769         * khtml/rendering/render_box.cpp: (RenderBox::paintBackgroundExtended):
   47770         Change code path so we don't mod with 0.
   47771 
   47772 2004-04-01  Darin Adler  <darin (a] apple.com>
   47773 
   47774         Reviewed by Dave.
   47775 
   47776         - fixed <rdar://problem/3608305>: DEMO: menu in search field has one disabled item: localized string not found
   47777 
   47778         * khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::HTMLInputElementImpl):
   47779         Initialize m_maxResults to 0.
   47780 
   47781 2004-04-01  Darin Adler  <darin (a] apple.com>
   47782 
   47783         Reviewed by John.
   47784 
   47785         - cleaned up image map code and made it work with XML documents
   47786 
   47787         * khtml/html/html_documentimpl.h: Removed getMap and mapMap.
   47788         * khtml/html/html_documentimpl.cpp: Removed getMap; moved to base class.
   47789 
   47790         * khtml/html/html_imageimpl.cpp:
   47791         (HTMLMapElementImpl::~HTMLMapElementImpl): Call new removeImageMap function instead
   47792         of manipulating the mapMap field directly.
   47793         (HTMLMapElementImpl::parseHTMLAttribute): Rewrite name changing code for simplicity
   47794         and to avoid running off the end of the bufffer.
   47795         Also remove image map before changing name so it doesn't end up in the map twice
   47796         under both the old and new names.
   47797         * khtml/html/html_imageimpl.h: Use a DOMString instead of QString for the name, since
   47798         the public API already uses a DOMString.
   47799 
   47800         * khtml/rendering/render_image.cpp: (RenderImage::nodeAtPoint): Call the new
   47801         getImageMap instead of the old getMap.
   47802 
   47803         * khtml/xml/dom_docimpl.h: Added addImageMap, removeImageMap, getImageMap, and m_imageMapsByName.
   47804         * khtml/xml/dom_docimpl.cpp:
   47805         (DocumentImpl::addImageMap): Added. Stores the image map under its name, unless there's
   47806         already another map of the same.
   47807         (DocumentImpl::removeImageMap): Added. Removes the image map if it's already filed by
   47808         name. Avoid pitfall of removing another image map that has the same name.
   47809         (DocumentImpl::getImageMap): Added. Simplified version of logic from getMap in HTMLDocumentImpl.
   47810 
   47811 2004-04-01  Darin Adler  <darin (a] apple.com>
   47812 
   47813         Reviewed by Ken.
   47814 
   47815         - fixed <rdar://problem/3608978>: dual <map> means you can't select the enter site button at jurassicpark.com (same problem in MacIE, works in Netscape)
   47816 
   47817         * khtml/html/html_imageimpl.cpp: (HTMLMapElementImpl::parseHTMLAttribute):
   47818         Make the first <map> seen win, as in other browsers. The old code made the last <map> seen win.
   47819 
   47820 2004-04-01  Ken Kocienda  <kocienda (a] apple.com>
   47821 
   47822         Missing file broke build after my last checkin
   47823 
   47824         * ForwardingHeaders/rendering/render_line.h: Added.
   47825 
   47826 2004-03-31  Ken Kocienda  <kocienda (a] apple.com>
   47827 
   47828         Reviewed by Dave.
   47829         
   47830         Many, many editing improvements, with a concentration on getting
   47831         caret navigation and deleting selections working correctly.
   47832 
   47833         * WebCore.pbproj/project.pbxproj:
   47834         * khtml/dom/dom_position.cpp: Removed.
   47835         * khtml/dom/dom_position.h: Removed.
   47836         * khtml/editing/htmlediting.cpp:
   47837         (EditCommand::isNull): Inlined.
   47838         (EditCommand::notNull): New function.
   47839         (EditCommand::parent): Commands now have parents. Allows for walking the tree of composite commands.
   47840         (EditCommand::setParent): Ditto.
   47841         (EditCommand::emptyCommand): Returns a static empty command.
   47842         (AppendNodeCommand::AppendNodeCommand): 
   47843         (AppendNodeCommand::parentNode): Member variable name change only. parent -> parentNode.
   47844         (DeleteCollapsibleWhitespaceCommand::DeleteCollapsibleWhitespaceCommand): New command.
   47845         (InputTextCommand::InputTextCommand):
   47846         (InputTextCommand::input):
   47847         (InputTextCommand::charactersAdded):
   47848         (JoinTextNodesCommand::JoinTextNodesCommand): Now derives directly from EditCommand.
   47849         (RemoveNodeAndPruneCommand::RemoveNodeAndPruneCommand): New command.
   47850         (SplitTextNodeCommand::SplitTextNodeCommand): Now derives directly from EditCommand.
   47851         * khtml/editing/htmlediting.h:
   47852         * khtml/editing/htmlediting_impl.cpp:
   47853         (isNBSP): New helper.
   47854         (isWS): New helper.
   47855         (shouldPruneNode): New helper.
   47856         (leadingWhitespacePosition): New helper.
   47857         (trailingWhitespacePosition): New helper.
   47858         (textNodesAreJoinable): New helper.
   47859         (nonBreakingSpaceString): Returns a static DOMString containing a non-breaking space.
   47860         (EditCommandImpl::EditCommandImpl):
   47861         (EditCommandImpl::setStartingSelection): Now recursively sets starting selection on parents.
   47862         (EditCommandImpl::setEndingSelection): As above, for ending selection.
   47863         (EditCommandImpl::parent): New accessor.
   47864         (EditCommandImpl::setParent): New accessor.
   47865         (CompositeEditCommandImpl::doUnapply): Removed some logging.
   47866         (CompositeEditCommandImpl::doReapply): Removed some logging.
   47867         (CompositeEditCommandImpl::applyCommandToComposite): Sets parent.
   47868         (CompositeEditCommandImpl::removeNodeAndPrune): New comvenience.
   47869         (CompositeEditCommandImpl::replaceText): New comvenience.
   47870         (CompositeEditCommandImpl::deleteSelection): New comvenience.
   47871         (CompositeEditCommandImpl::deleteCollapsibleWhitespace): New comvenience.
   47872         (AppendNodeCommandImpl::AppendNodeCommandImpl): Member variable name change only. parent -> parentNode.
   47873         (AppendNodeCommandImpl::~AppendNodeCommandImpl): Ditto.
   47874         (AppendNodeCommandImpl::doApply): Ditto.
   47875         (AppendNodeCommandImpl::doUnapply): Ditto.
   47876         (DeleteCollapsibleWhitespaceCommandImpl::DeleteCollapsibleWhitespaceCommandImpl): New command
   47877         (debugPosition): New debugging aid.
   47878         (DeleteSelectionCommandImpl::doApply): Major reworking to handle more cases correctly.
   47879         (InputNewlineCommandImpl::doApply): Position and selection tweaks.
   47880         (InputTextCommandImpl::InputTextCommandImpl): Handles more cases now, like typing after an image.
   47881         (JoinTextNodesCommandImpl::JoinTextNodesCommandImpl): Now derives directly from EditCommand.
   47882         Implements the guts of the command itself now, rather than replying on its former base class.
   47883         (RemoveNodeAndPruneCommandImpl::RemoveNodeAndPruneCommandImpl): New command.
   47884         (SplitTextNodeCommandImpl::SplitTextNodeCommandImpl): Now derives directly from EditCommand.
   47885         Implements the guts of the command itself now, rather than replying on its former base class.
   47886         (TypingCommandImpl::TypingCommandImpl): Major rework to handle more cases correctly.
   47887         * khtml/editing/htmlediting_impl.h:
   47888         * khtml/html/html_elementimpl.cpp:
   47889         (HTMLElementImpl::isContentEditable): More efficient use of the style system to answer the question.
   47890         * khtml/khtml_part.cpp:
   47891         (KHTMLPart::setSelection): Fixes an issue where the caret would not repaint after being moved when undoing.
   47892         (KHTMLPart::takeSelectionFrom): Ditto.
   47893         (KHTMLPart::clearSelection): Ditto.
   47894         (KHTMLPart::invalidateSelection): Ditto.
   47895         (KHTMLPart::setSelectionVisible): Ditto.
   47896         (KHTMLPart::slotClearSelection): Ditto.
   47897         (KHTMLPart::clearCaretRectIfNeeded):  Ditto.
   47898         (KHTMLPart::notifySelectionChanged): Ditto.
   47899         (KHTMLPart::unappliedEditing): Now uses EditCommand::emptyCommand().
   47900         (KHTMLPart::reappliedEditing): Ditto.
   47901         * khtml/khtml_part.h:
   47902         * khtml/khtml_selection.cpp:
   47903         (KHTMLSelection::KHTMLSelection):
   47904         (KHTMLSelection::modify): Updated to work with new DOMPosition API.
   47905         (KHTMLSelection::paintCaret): Ditto.
   47906         (KHTMLSelection::moveToRenderedContent): Ditto.
   47907         (KHTMLSelection::basePosition): New convenience.
   47908         (KHTMLSelection::extentPosition): New convenience.
   47909         (KHTMLSelection::startPosition): New convenience.
   47910         (KHTMLSelection::endPosition): New convenience.
   47911         (KHTMLSelection::debugPosition): Modified debug output.
   47912         * khtml/khtml_selection.h:
   47913         (KHTMLSelection::isEmpty):
   47914         (KHTMLSelection::notEmpty):
   47915         * khtml/rendering/bidi.cpp:
   47916         (khtml::RenderBlock::layoutInlineChildren): Fixed a crasher that happened when deleting content at the start of a line.
   47917         * khtml/rendering/render_br.cpp:
   47918         (RenderBR::caretMaxRenderedOffset): New function.
   47919         (RenderBR::caretPos): Now draws the caret in the right place when a block is empty.
   47920         * khtml/rendering/render_br.h:
   47921         * khtml/rendering/render_flow.cpp:
   47922         (RenderFlow::caretPos): Now draws the caret in the right place when a flow is empty.
   47923         * khtml/rendering/render_line.cpp:
   47924         (InlineBox::caretMaxRenderedOffset): New function.
   47925         * khtml/rendering/render_line.h:
   47926         * khtml/rendering/render_object.cpp:
   47927         (RenderObject::isEditable):
   47928         (RenderObject::caretMaxRenderedOffset): New function.
   47929         * khtml/rendering/render_object.h:
   47930         * khtml/rendering/render_replaced.cpp:
   47931         (RenderReplaced::caretMaxRenderedOffset): New function.
   47932         * khtml/rendering/render_replaced.h:
   47933         * khtml/rendering/render_text.cpp:
   47934         (InlineTextBox::caretMaxRenderedOffset): New function.
   47935         (RenderText::detach):
   47936         (RenderText::caretMaxOffset):
   47937         (RenderText::caretMaxRenderedOffset): New function.
   47938         * khtml/rendering/render_text.h:
   47939         (khtml::InlineTextBox::len):
   47940         * khtml/xml/dom_edititerator.cpp: Added.
   47941         * khtml/xml/dom_edititerator.h: Added.
   47942         * khtml/xml/dom_nodeimpl.cpp:
   47943         (NodeImpl::previousEditable): Improved the correctness of this function.
   47944         (NodeImpl::nextEditable): Ditto.
   47945         * khtml/xml/dom_nodeimpl.h:
   47946         * khtml/xml/dom_position.cpp: Added.
   47947         (DOMPosition::renderedOffset): New function.
   47948         (DOMPosition::previousCharacterPosition): New function.
   47949         (DOMPosition::nextCharacterPosition): New function.
   47950         (DOMPosition::equivalentUpstreamPosition): New function.
   47951         (DOMPosition::equivalentDownstreamPosition): New function.
   47952         (DOMPosition::validUpstreamDownstreamPosition): New function.
   47953         (DOMPosition::inRenderedContent): New function.
   47954         (inlineBoxForRenderer): New function.
   47955         (renderersOnDifferentLine): New function.
   47956         (nextRenderedEditable): New function.
   47957         (previousRenderedEditable): New function.
   47958         (DOMPosition::inRenderedText): New function.
   47959         (DOMPosition::rendersOnSameLine): New function.
   47960         (DOMPosition::rendersInDifferentPosition): New function.
   47961         (DOMPosition::isFirstRenderedPositionOnLine): New function.
   47962         (DOMPosition::isLastRenderedPositionOnLine): New function.
   47963         (DOMPosition::isLastRenderedPositionInEditableBlock): New function.
   47964         (DOMPosition::inFirstEditableInRootEditableBlock): New function.
   47965         (DOMPosition::inLastEditableInRootEditableBlock): New function.
   47966         (DOMPosition::inFirstEditableInContainingEditableBlock): New function.
   47967         (DOMPosition::inLastEditableInContainingEditableBlock): New function.
   47968         * khtml/xml/dom_position.h: Added.
   47969         (DOM::DOMPosition::notEmpty): New function.
   47970         * khtml/xml/dom_stringimpl.cpp:
   47971         (DOM::DOMStringImpl::containsOnlyWhitespace): Added a version which takes an offset and length.
   47972         * khtml/xml/dom_stringimpl.h:
   47973         * khtml/xml/dom_textimpl.cpp:
   47974         (CharacterDataImpl::containsOnlyWhitespace): As above
   47975         (CharacterDataImpl::maxOffset): New function.
   47976         (CharacterDataImpl::caretMaxRenderedOffset): New function.
   47977         (TextImpl::TextImpl):
   47978         (TextImpl::rendererIsNeeded): A new bit. When set, makes a text renderer unconditionally.
   47979         * khtml/xml/dom_textimpl.h:
   47980         (DOM::TextImpl::setRendererIsNeeded): Sets the bit.
   47981         * kwq/KWQAssertions.m:
   47982         (KWQLog): Change to decrease the amount of output for the Editing log level. (my preference)
   47983 
   47984 2004-03-31  David Hyatt  <hyatt (a] apple.com>
   47985 
   47986 	Fix for 3601834, make sure that textareas do a layout when their rows/cols/wrap attributes are dynamically
   47987 	changed.
   47988 	
   47989         Reviewed by darin.
   47990 
   47991         * khtml/html/html_formimpl.cpp:
   47992         (HTMLTextAreaElementImpl::parseHTMLAttribute):
   47993 
   47994 2004-03-30  David Hyatt  <hyatt (a] apple.com>
   47995 
   47996 	Fix for 3604241, simple space collapsing results in a doubled character.  Simplify the ignoring of
   47997 	whitespace and make sure it works across absolutely positioned spans.
   47998 	
   47999         Reviewed by darin
   48000 
   48001         * khtml/rendering/bidi.cpp:
   48002         (khtml::RenderBlock::findNextLineBreak):
   48003 
   48004 2004-03-30  Darin Adler  <darin (a] apple.com>
   48005 
   48006         Reviewed by Dave.
   48007 
   48008         - fixed <rdar://problem/3570877>: REGRESSION: onfocus handler not working at weather.com
   48009 
   48010         * khtml/ecma/kjs_binding.cpp:
   48011         (UString::string): Turn a null UString into a null DOMString, but a non-null empty UString into a
   48012         non-null empty DOMString.
   48013         (UString::qstring): Ditto, for QString.
   48014         (Identifier::string): Ditto, for Identifier.
   48015         (Identifier::qstring): Ditto.
   48016 
   48017         * kwq/KWQLineEdit.h: Override focusPolicy.
   48018         * kwq/KWQLineEdit.mm: (QLineEdit::focusPolicy): Return StrongFocus instead of TabFocus, since
   48019         we allow clicking to focus on these widgets.
   48020         * kwq/KWQTextEdit.h: More of the same.
   48021         * kwq/KWQTextEdit.mm: (QTextEdit::focusPolicy): And still more.
   48022 
   48023         - fixed <rdar://problem/3605919>: text fields in web pages are too tall
   48024 
   48025         * kwq/KWQTextField.mm:
   48026         (-[KWQTextFieldCell _typesetterBehavior]): Ignore the per-application typesetter setting and
   48027         instead always use the latest behavior for text fields in web pages.
   48028         (-[KWQSecureTextFieldCell _typesetterBehavior]): Ditto.
   48029         (-[KWQSearchFieldCell _typesetterBehavior]): Ditto.
   48030 
   48031         - additional cleanup
   48032 
   48033         * khtml/html/html_formimpl.cpp:
   48034         (HTMLGenericFormElementImpl::isKeyboardFocusable): Check tab focus bit instead of different modes.
   48035         (HTMLGenericFormElementImpl::isMouseFocusable): Check click focus bit instead of different modes.
   48036 
   48037 2004-03-30  David Hyatt  <hyatt (a] apple.com>
   48038 
   48039 	Fix for 3603326, spurious line breaks in encyclopedia articles.  Make sure makeChildrenNonInline knows to
   48040 	skip over floating/positioned elements so that they remain part of contiguous inline runs for static positioning
   48041 	purposes.
   48042 	
   48043         Reviewed by darin
   48044 
   48045         * khtml/rendering/render_block.cpp:
   48046         (khtml::getInlineRun):
   48047 
   48048 2004-03-30  Darin Adler  <darin (a] apple.com>
   48049 
   48050         Reviewed by Ken.
   48051 
   48052         - fixed garbage characters seen while I was rigging up the Mozilla JavaScript tests
   48053 
   48054         * kwq/KWQString.h: Add a "move constructor" for KWQStringData that extracts the data
   48055         from an existing KWQStringData.
   48056         * kwq/KWQString.mm:
   48057         (KWQStringData::KWQStringData): Implement the move constructor.
   48058         (QString::detachInternal): Use the move constructor rather than making a copy of the
   48059         data. Should be both more efficient and preserves both the Unicode and the ASCII. The
   48060         bug here is that TokenizerSubstring relies on the Unicode staying around. We still
   48061         have a problem in the case where the Unicode is inside the KWQStringData. To deal with
   48062         that we'll have to add a new QString call that TokenizerSubstring can use. The new call
   48063         will force QString to keep the Unicode outside the internal KWQStringData.
   48064 
   48065 2004-03-30  Darin Adler  <darin (a] apple.com>
   48066 
   48067         Reviewed by Ken.
   48068 
   48069         - fixed <rdar://problem/3606146>: repro nil-deref in QWidget::move (www.stoltoffshore.com)
   48070 
   48071         * khtml/khtml_part.cpp:
   48072         (KHTMLPart::requestObject): Add check for NULL widget.
   48073         (KHTMLPart::processObjectRequest): Add check for NULL widget.
   48074 
   48075 2004-03-29  David Hyatt  <hyatt (a] apple.com>
   48076 
   48077 	Make sure "auto" is allowed as a valid value when parsing rect shapes (e.g., for the clip property).
   48078 	
   48079         Reviewed by rjw
   48080 
   48081         * khtml/css/cssparser.cpp:
   48082         (CSSParser::parseShape):
   48083 
   48084 2004-03-29  David Hyatt  <hyatt (a] apple.com>
   48085 
   48086 	Followup fix.  Handle the case where a hard line break occurs right after a soft hyphen.  In this
   48087 	case we were losing a letter of the word in addition to not rendering the soft hyphen.
   48088 	
   48089         Reviewed by kocienda
   48090 
   48091         * khtml/rendering/bidi.cpp:
   48092         (khtml::checkMidpoints):
   48093 
   48094 2004-03-29  David Hyatt  <hyatt (a] apple.com>
   48095 
   48096 	Fix for 3604154, support soft hyphens when rendering.  This patch implements soft hyphen support that
   48097 	matches IE6 on Windows and Opera 7.  Soft hyphens that don't break lines end up getting collapsed away.
   48098 	Only if the hyphen breaks a line does it render.
   48099 	
   48100         Reviewed by kocienda
   48101 
   48102         * khtml/rendering/bidi.cpp:
   48103         (khtml::chopMidpointsAt):
   48104         (khtml::appendRunsForObject):
   48105         (khtml::RenderBlock::findNextLineBreak):
   48106         * khtml/rendering/render_text.cpp:
   48107         (RenderText::calcMinMaxWidth):
   48108 
   48109 2004-03-29  John Sullivan  <sullivan (a] apple.com>
   48110 
   48111         Made menu shortcuts work again when editing HTML
   48112 
   48113         Reviewed by Darin.
   48114 
   48115         * khtml/xml/dom_elementimpl.cpp:
   48116         (ElementImpl::defaultEventHandler):
   48117         Don't treat key events with command key down as
   48118         editing events.
   48119 
   48120 2004-03-28  Darin Adler  <darin (a] apple.com>
   48121 
   48122         Reviewed by John.
   48123 
   48124         - fixed <rdar://problem/3602202>: "feed:uuid:...." links in Emerson content are being changed into "feed:uuuid:...."
   48125 
   48126         * kwq/KWQKURL.mm: (copyPathRemovingDots): Add special case for empty path. The old code had an
   48127         assertion that explicitly allowed this case, but it copied a character from the src buffer,
   48128         which was incorrect.
   48129 
   48130 2004-03-26  David Hyatt  <hyatt (a] apple.com>
   48131 
   48132 	Fix for 3600642, letter magnet demo doesn't update until mouse move.  This patch also fixes problems
   48133 	with the animated text Gecko DOM demos on developer.netscape.com.  Make sure that timer callbacks via
   48134 	setTimeout always updateRendering after executing the JS code.
   48135 	
   48136         Reviewed by darin
   48137 
   48138         * khtml/ecma/kjs_window.cpp:
   48139         (ScheduledAction::execute):
   48140 
   48141 === Safari-134 ===
   48142 
   48143 2004-03-25  David Hyatt  <hyatt (a] apple.com>
   48144 
   48145 	Implement the rest of the search field.  Make it work with form submission.  Implement onscroll at
   48146 	the document level.
   48147 	
   48148         Reviewed by darin
   48149 
   48150         * khtml/html/html_formimpl.cpp:
   48151         (HTMLFormElementImpl::submit):
   48152         * khtml/rendering/render_form.cpp:
   48153         (RenderLineEdit::addSearchResult):
   48154         * khtml/rendering/render_form.h:
   48155         * kwq/KWQKHTMLPart.h:
   48156         * kwq/KWQKHTMLPart.mm:
   48157         (KWQKHTMLPart::sendScrollEvent):
   48158         * kwq/KWQLineEdit.h:
   48159         * kwq/KWQLineEdit.mm:
   48160         (QLineEdit::setMaxResults):
   48161         (QLineEdit::setPlaceholderString):
   48162         (QLineEdit::addSearchResult):
   48163         * kwq/WebCoreBridge.h:
   48164         * kwq/WebCoreBridge.mm:
   48165         (-[WebCoreBridge sendScrollEvent]):
   48166         * kwq/WebCoreViewFactory.h:
   48167 
   48168 2004-03-25  David Hyatt  <hyatt (a] apple.com>
   48169 
   48170 	Fix for 3570700, crash in inlineBox::isDirty.  Make sure line boxes null out parent pointers when those
   48171 	parents get deleted.  r=john
   48172 
   48173 	Fix for .value not being settable on selects.  r=darin
   48174 	
   48175         * khtml/html/html_formimpl.cpp:
   48176         (HTMLSelectElementImpl::setValue):
   48177         * khtml/rendering/render_block.cpp:
   48178         (khtml::RenderBlock::removeChildrenFromLineBoxes):
   48179         (khtml::RenderBlock::removeChild):
   48180         * khtml/rendering/render_block.h:
   48181         * khtml/rendering/render_line.cpp:
   48182         (InlineFlowBox::removeChild):
   48183         
   48184 2004-03-25  Darin Adler  <darin (a] apple.com>
   48185 
   48186         Fix by Kristin Webster, reviewed by me.
   48187 
   48188         - fixed <rdar://problem/3582431>: HiDPI - Form elements not working when scaling factor != 1.0
   48189 
   48190         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Pass nil for fromView
   48191         rather than passing the top level view.
   48192 
   48193 2004-03-24  Darin Adler  <darin (a] apple.com>
   48194 
   48195         Reviewed by John.
   48196 
   48197         - fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app
   48198 
   48199         * kwq/KWQKURL.mm: (KURL::findHostnamesInMailToURL): Update to handle hostnames that end just before
   48200         a '?' since a '?' ends the entire part of the URL that can contain hostnames. Also change the logic so
   48201         that the '?' will successfully end the search.
   48202 
   48203 2004-03-24  Darin Adler  <darin (a] apple.com>
   48204 
   48205         Reviewed by John.
   48206 
   48207         - fixed <rdar://problem/3599650>: main image missing due to incorrect relative URL resolution at www.brother.com
   48208 
   48209         * kwq/KWQKURL.mm: (KURL::KURL): Implement compatibility rule from the URI RFC.
   48210         If a URL has a scheme, but does not start with the "/" character, and the scheme
   48211         matches the base URL, then treat it as a relative URL.
   48212 
   48213 2004-03-24  Ken Kocienda  <kocienda (a] apple.com>
   48214 
   48215 	I neglected to check in these required changes when I landed previously.
   48216 	This is what I get for trying to commit when I had other changes in
   48217 	my tree.
   48218 
   48219         * khtml/dom/html_form.cpp:
   48220         (HTMLSelectElement::add): Uses new-style call.
   48221         * khtml/html/html_formimpl.cpp:
   48222         (HTMLSelectElementImpl::add): Change the interface for this call to use
   48223 	impl objects instead of API objects. This works around the fact that the
   48224 	API object's constructor that takes an impl is protected.
   48225         * khtml/html/html_formimpl.h: Uses new-style call.
   48226 
   48227 2004-03-24  Ken Kocienda <kocienda (a] apple.com>
   48228 
   48229         Implemented the remainder of the HTML DOM API.
   48230     
   48231         Reviewed by Chris.
   48232     
   48233         * kwq/DOMHTML.h
   48234         * kwq/HTMLDOM.mm
   48235 
   48236 2004-03-23  David Hyatt  <hyatt (a] apple.com>
   48237 
   48238 	Fix for 3487207, implement onscroll DOM event for elements with overflow:auto/scroll/hidden.  This does
   48239 	not handle firing onscroll on the window when the document scrolls, nor does it handle firing onscroll
   48240 	on textareas.  These are two separate bugs.
   48241 
   48242 	This patch finishes stubbing out the onscroll event and adds support for it to the DOM.  It also supports
   48243 	the firing of the event when overflow blocks scroll.
   48244 	
   48245         Reviewed by darin
   48246 
   48247         * khtml/ecma/kjs_dom.cpp:
   48248         (DOMNode::getValueProperty):
   48249         (DOMNode::putValue):
   48250         * khtml/ecma/kjs_dom.h:
   48251         (KJS::DOMNode::):
   48252         * khtml/ecma/kjs_dom.lut.h:
   48253         (KJS::):
   48254         * khtml/ecma/kjs_window.cpp:
   48255         (Window::get):
   48256         (Window::put):
   48257         * khtml/ecma/kjs_window.h:
   48258         (KJS::Window::):
   48259         * khtml/ecma/kjs_window.lut.h:
   48260         (KJS::):
   48261         * khtml/html/html_baseimpl.cpp:
   48262         (HTMLBodyElementImpl::parseHTMLAttribute):
   48263         * khtml/html/html_elementimpl.cpp:
   48264         (HTMLElementImpl::parseHTMLAttribute):
   48265         * khtml/misc/htmlattrs.c:
   48266         (hash_attr):
   48267         (findAttr):
   48268         * khtml/misc/htmlattrs.h:
   48269         * khtml/misc/htmlattrs.in:
   48270         * khtml/rendering/render_layer.cpp:
   48271         (RenderLayer::scrollToOffset):
   48272 
   48273 2004-03-23  David Hyatt  <hyatt (a] apple.com>
   48274 
   48275 	Fix for 3513627, HTML mail prints upside down occasionally.  Change printing so that it never resizes the
   48276         WebHTMLView when formatting for printing.  When computing page rects, instead of using the view's bounds,
   48277         use the root layer's width instead.
   48278 
   48279         Reviewed by darin
   48280 
   48281         * khtml/khtmlview.cpp:
   48282         (KHTMLView::layout):
   48283         * kwq/WebCoreBridge.h:
   48284         * kwq/WebCoreBridge.mm:
   48285         (-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
   48286 
   48287 2004-03-23  David Hyatt  <hyatt (a] apple.com>
   48288 
   48289 	Fix for crasher 3598204, previousKeyView was calling nextKeyView instead.
   48290 	
   48291         Reviewed by darin
   48292 
   48293         * kwq/KWQTextField.mm:
   48294         (-[KWQTextField previousKeyView]):
   48295         (-[KWQSecureTextField previousKeyView]):
   48296         (-[KWQSearchField previousKeyView]):
   48297 
   48298 2004-03-23  Darin Adler  <darin (a] apple.com>
   48299 
   48300         Reviewed by Vicki.
   48301 
   48302         - fixed deployment build
   48303 
   48304 2004-03-22  David Hyatt  <hyatt (a] apple.com>
   48305 
   48306 	Wire up NSSearchField to WebCore.  Add support for placeholder strings, autosaving of recent items, the ability to show/hide
   48307 	the magnifying glass search button, the ability to specify the maximum number of results, the ability to specify an incremental
   48308 	search or not, etc.  Added a DOM event that fires when the search field indicates that search results should be updated.
   48309 	
   48310         Reviewed by darin
   48311 
   48312         * khtml/ecma/kjs_dom.cpp:
   48313         (DOMNode::getValueProperty):
   48314         (DOMNode::putValue):
   48315         * khtml/ecma/kjs_dom.h:
   48316         (KJS::DOMNode::):
   48317         * khtml/ecma/kjs_dom.lut.h:
   48318         (KJS::):
   48319         * khtml/ecma/kjs_window.cpp:
   48320         (Window::get):
   48321         (Window::put):
   48322         * khtml/ecma/kjs_window.h:
   48323         (KJS::Window::):
   48324         * khtml/ecma/kjs_window.lut.h:
   48325         (KJS::):
   48326         * khtml/html/html_formimpl.cpp:
   48327         (HTMLInputElementImpl::parseHTMLAttribute):
   48328         * khtml/html/html_formimpl.h:
   48329         (DOM::HTMLInputElementImpl::maxResults):
   48330         * khtml/misc/htmlattrs.c:
   48331         (hash_attr):
   48332         (findAttr):
   48333         * khtml/misc/htmlattrs.h:
   48334         * khtml/misc/htmlattrs.in:
   48335         * khtml/rendering/render_form.cpp:
   48336         (RenderLineEdit::RenderLineEdit):
   48337         (RenderLineEdit::slotPerformSearch):
   48338         (RenderLineEdit::updateFromElement):
   48339         * khtml/rendering/render_form.h:
   48340         * khtml/xml/dom2_eventsimpl.cpp:
   48341         (EventImpl::typeToId):
   48342         (EventImpl::idToType):
   48343         * khtml/xml/dom2_eventsimpl.h:
   48344         (DOM::EventImpl::):
   48345         * kwq/KWQLineEdit.h:
   48346         (QLineEdit::performSearch):
   48347         (QLineEdit::type):
   48348         * kwq/KWQLineEdit.mm:
   48349         (QLineEdit::QLineEdit):
   48350         (QLineEdit::setLiveSearch):
   48351         (QLineEdit::setAutoSaveName):
   48352         (QLineEdit::setMaxResults):
   48353         (QLineEdit::setPlaceholderString):
   48354         * kwq/KWQSlot.mm:
   48355         (KWQSlot::KWQSlot):
   48356         (KWQSlot::call):
   48357         * kwq/KWQTextField.mm:
   48358         (-[KWQTextFieldController initWithTextField:QLineEdit:]):
   48359         (-[KWQTextFieldController invalidate]):
   48360         (-[KWQTextFieldController action:]):
   48361         (-[KWQTextFieldController controlTextDidBeginEditing:]):
   48362         (-[KWQTextFieldController controlTextDidEndEditing:]):
   48363         (-[KWQTextFieldController controlTextDidChange:]):
   48364         (-[KWQTextFieldController control:textShouldBeginEditing:]):
   48365         (-[KWQTextFieldController control:textShouldEndEditing:]):
   48366         (-[KWQTextFieldController control:didFailToFormatString:errorDescription:]):
   48367         (-[KWQTextFieldController control:didFailToValidatePartialString:errorDescription:]):
   48368         (-[KWQTextFieldController control:isValidObject:]):
   48369         (-[KWQTextFieldController control:textView:doCommandBySelector:]):
   48370         (-[KWQTextFieldController textChanged]):
   48371 
   48372 2004-03-22  David Hyatt  <hyatt (a] apple.com>
   48373 
   48374 	Factoring of form control code to enable sharing between three types of text fields: normal, password, and
   48375 	the new search field.  Also made search field creatable using <input type="search">.  There are still many
   48376 	bugs with the field, but you can at least type in it and submit it with a form.
   48377 	
   48378         Reviewed by darin
   48379 
   48380         * khtml/html/html_formimpl.cpp:
   48381         (HTMLInputElementImpl::setType):
   48382         (HTMLInputElementImpl::type):
   48383         (HTMLInputElementImpl::click):
   48384         (HTMLInputElementImpl::accessKeyAction):
   48385         (HTMLInputElementImpl::rendererIsNeeded):
   48386         (HTMLInputElementImpl::createRenderer):
   48387         (HTMLInputElementImpl::encoding):
   48388         (HTMLInputElementImpl::defaultEventHandler):
   48389         (HTMLInputElementImpl::isEditable):
   48390         * khtml/html/html_formimpl.h:
   48391         (DOM::HTMLInputElementImpl::):
   48392         * khtml/rendering/render_form.cpp:
   48393         (RenderLineEdit::RenderLineEdit):
   48394         * kwq/KWQKLineEdit.h:
   48395         (KLineEdit::KLineEdit):
   48396         * kwq/KWQLineEdit.h:
   48397         (QLineEdit::):
   48398         * kwq/KWQLineEdit.mm:
   48399         (QLineEdit::QLineEdit):
   48400         (QLineEdit::~QLineEdit):
   48401         (QLineEdit::setFont):
   48402         (QLineEdit::setText):
   48403         (QLineEdit::text):
   48404         (QLineEdit::setMaxLength):
   48405         (QLineEdit::isReadOnly):
   48406         (QLineEdit::setReadOnly):
   48407         (QLineEdit::maxLength):
   48408         (QLineEdit::selectAll):
   48409         (QLineEdit::edited):
   48410         (QLineEdit::setEdited):
   48411         (QLineEdit::sizeForCharacterWidth):
   48412         (QLineEdit::baselinePosition):
   48413         (QLineEdit::setAlignment):
   48414         (QLineEdit::setWritingDirection):
   48415         (KWQNSTextAlignmentForAlignmentFlags):
   48416         (QLineEdit::setLiveSearch):
   48417         * kwq/KWQTextField.h:
   48418         * kwq/KWQTextField.mm:
   48419         (-[KWQTextFieldController initWithTextField:QLineEdit:]):
   48420         (-[KWQTextFieldController action:]):
   48421         (-[KWQTextFieldController dealloc]):
   48422         (-[KWQTextFieldController widget]):
   48423         (-[KWQTextFieldController setMaximumLength:]):
   48424         (-[KWQTextFieldController controlTextDidBeginEditing:]):
   48425         (-[KWQTextFieldController controlTextDidEndEditing:]):
   48426         (-[KWQTextFieldController controlTextDidChange:]):
   48427         (-[KWQTextFieldController control:textShouldBeginEditing:]):
   48428         (-[KWQTextFieldController control:textShouldEndEditing:]):
   48429         (-[KWQTextFieldController control:didFailToFormatString:errorDescription:]):
   48430         (-[KWQTextFieldController control:didFailToValidatePartialString:errorDescription:]):
   48431         (-[KWQTextFieldController control:isValidObject:]):
   48432         (-[KWQTextFieldController control:textView:doCommandBySelector:]):
   48433         (-[KWQTextFieldController textChanged]):
   48434         (-[KWQTextFieldController setInDrawingMachinery:]):
   48435         (-[KWQTextFieldController textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
   48436         (-[KWQTextFieldController textView:shouldHandleEvent:]):
   48437         (-[KWQTextFieldController textView:didHandleEvent:]):
   48438         (-[KWQTextFieldController setBaseWritingDirection:]):
   48439         (-[KWQTextFieldController baseWritingDirection]):
   48440         (-[KWQTextFieldController selectedRange]):
   48441         (-[KWQTextFieldController setSelectedRange:]):
   48442         (-[KWQTextFieldController setHasFocus:]):
   48443         (-[KWQTextFieldController updateTextAttributes:]):
   48444         (+[KWQTextField cellClass]):
   48445         (-[KWQTextField initWithQLineEdit:]):
   48446         (-[KWQTextField dealloc]):
   48447         (-[KWQTextField controller]):
   48448         (-[KWQTextField widget]):
   48449         (-[KWQTextField selectText:]):
   48450         (-[KWQTextField setStringValue:]):
   48451         (-[KWQTextField nextKeyView]):
   48452         (-[KWQTextField previousKeyView]):
   48453         (-[KWQTextField nextValidKeyView]):
   48454         (-[KWQTextField previousValidKeyView]):
   48455         (-[KWQTextField acceptsFirstResponder]):
   48456         (-[KWQTextField display]):
   48457         (-[KWQTextField displayRectIgnoringOpacity:]):
   48458         (-[KWQTextField textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
   48459         (-[KWQTextField textView:shouldHandleEvent:]):
   48460         (-[KWQTextField textView:didHandleEvent:]):
   48461         (-[KWQTextFieldCell editWithFrame:inView:editor:delegate:event:]):
   48462         (-[KWQTextFieldCell selectWithFrame:inView:editor:delegate:start:length:]):
   48463         (-[KWQTextFieldCell _textAttributes]):
   48464         (-[KWQSecureTextField initWithQLineEdit:]):
   48465         (-[KWQSecureTextField dealloc]):
   48466         (-[KWQSecureTextField controller]):
   48467         (-[KWQSecureTextField widget]):
   48468         (-[KWQSecureTextField setStringValue:]):
   48469         (-[KWQSecureTextField nextKeyView]):
   48470         (-[KWQSecureTextField previousKeyView]):
   48471         (-[KWQSecureTextField acceptsFirstResponder]):
   48472         (-[KWQSecureTextField display]):
   48473         (-[KWQSecureTextField displayRectIgnoringOpacity:]):
   48474         (-[KWQSecureTextField textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
   48475         (-[KWQSecureTextField textView:shouldHandleEvent:]):
   48476         (-[KWQSecureTextField textView:didHandleEvent:]):
   48477         (-[KWQSecureTextField selectText:]):
   48478         (-[KWQSecureTextFieldCell editWithFrame:inView:editor:delegate:event:]):
   48479         (-[KWQSecureTextFieldCell selectWithFrame:inView:editor:delegate:start:length:]):
   48480         (-[KWQSecureTextFieldCell _textAttributes]):
   48481         (+[KWQSearchField cellClass]):
   48482         (-[KWQSearchField initWithQLineEdit:]):
   48483         (-[KWQSearchField dealloc]):
   48484         (-[KWQSearchField controller]):
   48485         (-[KWQSearchField widget]):
   48486         (-[KWQSearchField selectText:]):
   48487         (-[KWQSearchField setStringValue:]):
   48488         (-[KWQSearchField nextKeyView]):
   48489         (-[KWQSearchField previousKeyView]):
   48490         (-[KWQSearchField nextValidKeyView]):
   48491         (-[KWQSearchField previousValidKeyView]):
   48492         (-[KWQSearchField acceptsFirstResponder]):
   48493         (-[KWQSearchField display]):
   48494         (-[KWQSearchField displayRectIgnoringOpacity:]):
   48495         (-[KWQSearchField textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
   48496         (-[KWQSearchField textView:shouldHandleEvent:]):
   48497         (-[KWQSearchField textView:didHandleEvent:]):
   48498         (-[KWQSearchFieldCell editWithFrame:inView:editor:delegate:event:]):
   48499         (-[KWQSearchFieldCell selectWithFrame:inView:editor:delegate:start:length:]):
   48500         (-[KWQSearchFieldCell _textAttributes]):
   48501         (-[KWQTextFieldFormatter init]):
   48502         (-[KWQTextFieldFormatter setMaximumLength:]):
   48503         (-[KWQTextFieldFormatter maximumLength]):
   48504         (-[KWQTextFieldFormatter stringForObjectValue:]):
   48505         (-[KWQTextFieldFormatter getObjectValue:forString:errorDescription:]):
   48506         (-[KWQTextFieldFormatter isPartialStringValid:newEditingString:errorDescription:]):
   48507         (-[KWQTextFieldFormatter attributedStringForObjectValue:withDefaultAttributes:]):
   48508         (-[NSString _KWQ_truncateToNumComposedCharacterSequences:]):
   48509         (-[NSTextField _KWQ_currentEditor]):
   48510 
   48511 === Safari-133 ===
   48512 
   48513 2004-03-19  Darin Adler  <darin (a] apple.com>
   48514 
   48515         Reviewed by Ken.
   48516 
   48517         - fixed <rdar://problem/3583945>: crash when choosing a file to upload
   48518 
   48519         * kwq/KWQFileButton.mm:
   48520         (-[KWQFileButtonAdapter dealloc]): Removed unneeded method.
   48521         (-[KWQFileButtonAdapter filenameChanged:]): Check for nil.
   48522         (-[KWQFileButtonAdapter focusChanged:]): Ditto.
   48523         (-[KWQFileButtonAdapter clicked]): Ditto.
   48524 
   48525 2004-03-17  Darin Adler  <darin (a] apple.com>
   48526 
   48527         Reviewed by John.
   48528 
   48529         - fixed rdar://problem/3312803>: extra space in copied text (3g.co.uk)
   48530 
   48531         * khtml/khtml_part.cpp: (KHTMLPart::text): Explicitly set neededSpace to false after
   48532         processing a line break. Doesn't really have an effect here, but matches the change
   48533         to the styled text version.
   48534         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Same change in the styled
   48535         text version.
   48536 
   48537 2004-03-16  Darin Adler  <darin (a] apple.com>
   48538 
   48539         Reviewed by Ken.
   48540 
   48541         - a little more DOM cleanup
   48542 
   48543         * kwq/DOM-CSS.mm: Added DOMCSSUnknownRule.
   48544         * kwq/DOM.mm: Split category implementations out to match category interfaces.
   48545         * kwq/DOMHTML.h: Removed lowSrc, not in DOM Level 2. Added a category for some
   48546         extensions we'll want on DOMElement.
   48547         * kwq/DOMInternal.h: Moved _documentImpl method here so it can be used from
   48548         separate categories.
   48549         * kwq/DOMRange.h: Changed DOMDocumentRange to a category from a protocol.
   48550         * kwq/HTMLDOM.mm: Removed unneeded methods.
   48551 
   48552         * WebCore.pbproj/project.pbxproj: Sort DOM header files alphabetically.
   48553 
   48554 2004-03-16  Darin Adler  <darin (a] apple.com>
   48555 
   48556         Reviewed by Ken.
   48557 
   48558         - update for new DOM namespacing and header organization
   48559 
   48560         * WebCore.pbproj/project.pbxproj:
   48561         * kwq/DOM-CSS.h: Removed.
   48562         * kwq/DOM-CSS.mm: Update for name changes.
   48563         * kwq/DOM.h: Changed to include the other DOM headers.
   48564         * kwq/DOM.mm: Update for name changes.
   48565         * kwq/DOMCSS.h: Added.
   48566         * kwq/DOMCore.h: Added.
   48567         * kwq/DOMEvents.h: Added.
   48568         * kwq/DOMHTML.h: Added.
   48569         * kwq/DOMInternal.h: Update for name changes.
   48570         * kwq/DOMRange.h: Added.
   48571         * kwq/DOMStylesheets.h: Added.
   48572         * kwq/DOMTraversal.h: Added.
   48573         * kwq/DOMViews.h: Added.
   48574         * kwq/HTMLDOM.h: Removed.
   48575         * kwq/HTMLDOM.mm: Update for name changes; add some missing setters.
   48576 
   48577 2004-03-15  Maciej Stachowiak  <mjs (a] apple.com>
   48578 
   48579         Reviewed by Darin.
   48580 
   48581 	- max out our iBench cheat. Don't even paint or lay out a quarter
   48582 	of the pages.
   48583 	
   48584         * khtml/xml/dom_docimpl.cpp:
   48585         (DocumentImpl::close):
   48586 
   48587 2004-03-15  Ken Kocienda  <kocienda (a] apple.com>
   48588 
   48589         Reviewed by John
   48590 
   48591         Fix for this bug:
   48592         
   48593         <rdar://problem/3588717>: REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works
   48594 
   48595         Change some support methods which feed editing key events to 
   48596         WebKit. The real fix is on the WebKit side.
   48597 
   48598         * kwq/KWQKHTMLPart.mm:
   48599         (KWQKHTMLPart::editingKeyEvent): Call new -editingKeyDown:
   48600         on WebCoreBridge, as described below.
   48601         * kwq/WebCoreBridge.h: Changed -keyDown: to -editingKeyDown:
   48602         since we want to tell WebView about editing key events
   48603         in a way that does not interfere with other key down
   48604         events the WebView processes. This is not necessary in the
   48605         strictest sense, but it seems reasonable to keep the
   48606         terminology clear.
   48607 
   48608 === Safari-132 ===
   48609 
   48610 2004-03-12  Chris Blumenberg  <cblu (a] apple.com>
   48611 
   48612 	Implemented ~25% of the HTML DOM API.
   48613 
   48614         Reviewed by kocienda.
   48615 
   48616         (DOM::HTMLElement::HTMLElement):
   48617         * kwq/DOM.mm:
   48618         * kwq/DOMInternal.h:
   48619         * kwq/HTMLDOM.h:
   48620         * kwq/HTMLDOM.mm:
   48621         (-[HTMLCollection _initWithCollectionImpl:]):
   48622         (+[HTMLCollection _collectionWithImpl:]):
   48623         (-[HTMLCollection _collectionImpl]):
   48624         (-[HTMLCollection length]):
   48625         (-[HTMLCollection item:]):
   48626         (-[HTMLCollection namedItem:]):
   48627         (-[HTMLElement _initWithElementImpl:]):
   48628         (+[HTMLElement _elementWithImpl:]):
   48629         (-[HTMLElement _HTMLElementImpl]):
   48630         (-[HTMLElement idName]):
   48631         (-[HTMLElement setIdName:]):
   48632         (-[HTMLElement title]):
   48633         (-[HTMLElement setTitle:]):
   48634         (-[HTMLElement lang]):
   48635         (-[HTMLElement setLang:]):
   48636         (-[HTMLElement dir]):
   48637         (-[HTMLElement setDir:]):
   48638         (-[HTMLElement className]):
   48639         (-[HTMLElement setClassName:]):
   48640         (-[HTMLDocument _HTMLDocumentImpl]):
   48641         (-[HTMLDocument title]):
   48642         (-[HTMLDocument setTitle:]):
   48643         (-[HTMLDocument referrer]):
   48644         (-[HTMLDocument domain]):
   48645         (-[HTMLDocument URL]):
   48646         (-[HTMLDocument body]):
   48647         (-[HTMLDocument images]):
   48648         (-[HTMLDocument applets]):
   48649         (-[HTMLDocument links]):
   48650         (-[HTMLDocument forms]):
   48651         (-[HTMLDocument anchors]):
   48652         (-[HTMLDocument setBody:]):
   48653         (-[HTMLDocument cookie]):
   48654         (-[HTMLDocument setCookie:]):
   48655         (-[HTMLDocument open]):
   48656         (-[HTMLDocument close]):
   48657         (-[HTMLDocument write:]):
   48658         (-[HTMLDocument writeln:]):
   48659         (-[HTMLDocument getElementById:]):
   48660         (-[HTMLDocument getElementsByName:]):
   48661         (-[HTMLHtmlElement _HTMLHtmlElementImpl]):
   48662         (-[HTMLHtmlElement version]):
   48663         (-[HTMLHtmlElement setVersion:]):
   48664         (-[HTMLHeadElement _headElementImpl]):
   48665         (-[HTMLHeadElement profile]):
   48666         (-[HTMLHeadElement setProfile:]):
   48667         (-[HTMLLinkElement _linkElementImpl]):
   48668         (-[HTMLLinkElement disabled]):
   48669         (-[HTMLLinkElement setDisabled:]):
   48670         (-[HTMLLinkElement charset]):
   48671         (-[HTMLLinkElement setCharset:]):
   48672         (-[HTMLLinkElement href]):
   48673         (-[HTMLLinkElement setHref:]):
   48674         (-[HTMLLinkElement hreflang]):
   48675         (-[HTMLLinkElement setHreflang:]):
   48676         (-[HTMLLinkElement media]):
   48677         (-[HTMLLinkElement setMedia:]):
   48678         (-[HTMLLinkElement rel]):
   48679         (-[HTMLLinkElement setRel:]):
   48680         (-[HTMLLinkElement rev]):
   48681         (-[HTMLLinkElement setRev:]):
   48682         (-[HTMLLinkElement target]):
   48683         (-[HTMLLinkElement setTarget:]):
   48684         (-[HTMLLinkElement type]):
   48685         (-[HTMLLinkElement setType:]):
   48686         (-[HTMLTitleElement _titleElementImpl]):
   48687         (-[HTMLTitleElement text]):
   48688         (-[HTMLTitleElement setText:]):
   48689         (-[HTMLMetaElement _metaElementImpl]):
   48690         (-[HTMLMetaElement content]):
   48691         (-[HTMLMetaElement setContent:]):
   48692         (-[HTMLMetaElement httpEquiv]):
   48693         (-[HTMLMetaElement setHttpEquiv:]):
   48694         (-[HTMLMetaElement name]):
   48695         (-[HTMLMetaElement setName:]):
   48696         (-[HTMLMetaElement scheme]):
   48697         (-[HTMLMetaElement setScheme:]):
   48698         (-[HTMLBaseElement _baseElementImpl]):
   48699         (-[HTMLBaseElement href]):
   48700         (-[HTMLBaseElement setHref:]):
   48701         (-[HTMLBaseElement target]):
   48702         (-[HTMLBaseElement setTarget:]):
   48703         (-[HTMLStyleElement _styleElementImpl]):
   48704         (-[HTMLStyleElement disabled]):
   48705         (-[HTMLStyleElement setDisabled:]):
   48706         (-[HTMLStyleElement media]):
   48707         (-[HTMLStyleElement setMedia:]):
   48708         (-[HTMLStyleElement type]):
   48709         (-[HTMLStyleElement setType:]):
   48710         (-[HTMLBodyElement _bodyElementImpl]):
   48711         (-[HTMLBodyElement aLink]):
   48712         (-[HTMLBodyElement setALink:]):
   48713         (-[HTMLBodyElement background]):
   48714         (-[HTMLBodyElement setBackground:]):
   48715         (-[HTMLBodyElement bgColor]):
   48716         (-[HTMLBodyElement setBgColor:]):
   48717         (-[HTMLBodyElement link]):
   48718         (-[HTMLBodyElement setLink:]):
   48719         (-[HTMLBodyElement text]):
   48720         (-[HTMLBodyElement setText:]):
   48721         (-[HTMLBodyElement vLink]):
   48722         (-[HTMLBodyElement setVLink:]):
   48723 
   48724 2004-03-12  David Hyatt  <hyatt (a] apple.com>
   48725 
   48726 	Fix for problem when undoing the deletion of a word in edit mode.
   48727 	
   48728         Reviewed by kocienda
   48729 
   48730         * khtml/rendering/render_text.cpp:
   48731         (RenderText::setTextWithOffset):
   48732 
   48733 2004-03-12  Ken Kocienda  <kocienda (a] apple.com>
   48734 
   48735         Reviewed by Chris
   48736 
   48737         * khtml/khtml_part.cpp:
   48738         (KHTMLPart::handleMouseMoveEventSelection): Clear the selection's
   48739         "modify bias" since the user clicked, and is therefore no longer
   48740         extending the selection with arrow keys.
   48741         * khtml/khtml_selection.cpp:
   48742         (KHTMLSelection::KHTMLSelection): Add new m_modifyBiasSet flag.
   48743         (KHTMLSelection::init): Set the flag to false by default.
   48744         (KHTMLSelection::operator=): Copy over the value of the new m_modifyBiasSet flag.
   48745         (KHTMLSelection::modify): Set the flag if extending the selection and set the 
   48746         base and extent nodes based on the movement direction requested.
   48747         * khtml/khtml_selection.h:
   48748         * kwq/WebCoreBridge.h: See below.
   48749         * kwq/WebCoreBridge.mm:
   48750         (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]): This
   48751         method is used by the WebKit side in response to requests to change the selection
   48752         using the arrow keys. It used to be called rangeByModifyingRange:alteration:direction:granularity:
   48753         but I changed it to this new format since I explicitly want to use the current selection, and
   48754         not some arbitrarily passed in selection. This helps to maintain the "modify bias" correctly.
   48755         (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): New method. A command to alter
   48756         the current selection as given. Again, applying the command to the current selection, rather
   48757         than just setting the selection to a new one, helps to maintain the "modify bias" correctly.
   48758 
   48759 2004-03-11  Chris Blumenberg  <cblu (a] apple.com>
   48760 
   48761 	Added stubs for the HTML DOM API.
   48762 
   48763         Reviewed by rjw.
   48764 
   48765         * WebCore.pbproj/project.pbxproj:
   48766         * kwq/HTMLDOM.h: Added.
   48767         * kwq/HTMLDOM.mm: Added.
   48768         (-[HTMLCollection length]):
   48769         (-[HTMLCollection item:]):
   48770         (-[HTMLCollection namedItem:]):
   48771         (-[HTMLElement idName]):
   48772         (-[HTMLElement setIdName:]):
   48773         (-[HTMLElement title]):
   48774         (-[HTMLElement setTitle:]):
   48775         (-[HTMLElement lang]):
   48776         (-[HTMLElement setLang:]):
   48777         (-[HTMLElement dir]):
   48778         (-[HTMLElement setDir:]):
   48779         (-[HTMLElement className]):
   48780         (-[HTMLElement setClassName:]):
   48781         (-[HTMLDocument title]):
   48782         (-[HTMLDocument setTitle:]):
   48783         (-[HTMLDocument referrer]):
   48784         (-[HTMLDocument domain]):
   48785         (-[HTMLDocument URL]):
   48786         (-[HTMLDocument body]):
   48787         (-[HTMLDocument images]):
   48788         (-[HTMLDocument applets]):
   48789         (-[HTMLDocument links]):
   48790         (-[HTMLDocument forms]):
   48791         (-[HTMLDocument anchors]):
   48792         (-[HTMLDocument setBody:]):
   48793         (-[HTMLDocument cookie]):
   48794         (-[HTMLDocument setCookie:]):
   48795         (-[HTMLDocument open]):
   48796         (-[HTMLDocument close]):
   48797         (-[HTMLDocument write:]):
   48798         (-[HTMLDocument writeln:]):
   48799         (-[HTMLDocument getElementById:]):
   48800         (-[HTMLDocument getElementsByName:]):
   48801         (-[HTMLHtmlElement version]):
   48802         (-[HTMLHtmlElement setVersion:]):
   48803         (-[HTMLHeadElement profile]):
   48804         (-[HTMLHeadElement setProfile:]):
   48805         (-[HTMLLinkElement disabled]):
   48806         (-[HTMLLinkElement setDisabled:]):
   48807         (-[HTMLLinkElement charset]):
   48808         (-[HTMLLinkElement setCharset:]):
   48809         (-[HTMLLinkElement href]):
   48810         (-[HTMLLinkElement setHref:]):
   48811         (-[HTMLLinkElement hreflang]):
   48812         (-[HTMLLinkElement setHreflang:]):
   48813         (-[HTMLLinkElement media]):
   48814         (-[HTMLLinkElement setMedia:]):
   48815         (-[HTMLLinkElement rel]):
   48816         (-[HTMLLinkElement setRrevel:]):
   48817         (-[HTMLLinkElement rev]):
   48818         (-[HTMLLinkElement setRev:]):
   48819         (-[HTMLLinkElement target]):
   48820         (-[HTMLLinkElement setTarget:]):
   48821         (-[HTMLLinkElement type]):
   48822         (-[HTMLLinkElement setType:]):
   48823         (-[HTMLTitleElement text]):
   48824         (-[HTMLTitleElement setText:]):
   48825         (-[HTMLMetaElement content]):
   48826         (-[HTMLMetaElement setContent:]):
   48827         (-[HTMLMetaElement httpEquiv]):
   48828         (-[HTMLMetaElement setHttpEquiv:]):
   48829         (-[HTMLMetaElement name]):
   48830         (-[HTMLMetaElement setName:]):
   48831         (-[HTMLMetaElement scheme]):
   48832         (-[HTMLMetaElement setScheme:]):
   48833         (-[HTMLBaseElement href]):
   48834         (-[HTMLBaseElement setHref:]):
   48835         (-[HTMLBaseElement target]):
   48836         (-[HTMLBaseElement setTarget:]):
   48837         (-[HTMLStyleElement disabled]):
   48838         (-[HTMLStyleElement setDisabled:]):
   48839         (-[HTMLStyleElement media]):
   48840         (-[HTMLStyleElement setMedia:]):
   48841         (-[HTMLStyleElement type]):
   48842         (-[HTMLStyleElement setType:]):
   48843         (-[HTMLBodyElement aLink]):
   48844         (-[HTMLBodyElement setALink:]):
   48845         (-[HTMLBodyElement background]):
   48846         (-[HTMLBodyElement setBackground:]):
   48847         (-[HTMLBodyElement bgColor]):
   48848         (-[HTMLBodyElement setBgColor:]):
   48849         (-[HTMLBodyElement link]):
   48850         (-[HTMLBodyElement setLink:]):
   48851         (-[HTMLBodyElement text]):
   48852         (-[HTMLBodyElement setText:]):
   48853         (-[HTMLBodyElement vLink]):
   48854         (-[HTMLBodyElement setVLink:]):
   48855         (-[HTMLFormElement elements]):
   48856         (-[HTMLFormElement length]):
   48857         (-[HTMLFormElement name]):
   48858         (-[HTMLFormElement setName:]):
   48859         (-[HTMLFormElement acceptCharset]):
   48860         (-[HTMLFormElement setAcceptCharset:]):
   48861         (-[HTMLFormElement action]):
   48862         (-[HTMLFormElement setAction:]):
   48863         (-[HTMLFormElement enctype]):
   48864         (-[HTMLFormElement setEnctype:]):
   48865         (-[HTMLFormElement method]):
   48866         (-[HTMLFormElement setMethod:]):
   48867         (-[HTMLFormElement target]):
   48868         (-[HTMLFormElement setTarget:]):
   48869         (-[HTMLFormElement submit]):
   48870         (-[HTMLFormElement reset]):
   48871         (-[HTMLIsIndexElement form]):
   48872         (-[HTMLIsIndexElement prompt]):
   48873         (-[HTMLIsIndexElement setPrompt:]):
   48874         (-[HTMLSelectElement type]):
   48875         (-[HTMLSelectElement selectedIndex]):
   48876         (-[HTMLSelectElement setSelectedIndex:]):
   48877         (-[HTMLSelectElement value]):
   48878         (-[HTMLSelectElement setValue:]):
   48879         (-[HTMLSelectElement length]):
   48880         (-[HTMLSelectElement form]):
   48881         (-[HTMLSelectElement options]):
   48882         (-[HTMLSelectElement disabled]):
   48883         (-[HTMLSelectElement multiple]):
   48884         (-[HTMLSelectElement name]):
   48885         (-[HTMLSelectElement setName:]):
   48886         (-[HTMLSelectElement size]):
   48887         (-[HTMLSelectElement tabIndex]):
   48888         (-[HTMLSelectElement add::]):
   48889         (-[HTMLSelectElement remove:]):
   48890         (-[HTMLSelectElement blur]):
   48891         (-[HTMLSelectElement focus]):
   48892         (-[HTMLOptGroupElement disabled]):
   48893         (-[HTMLOptGroupElement setDisabled:]):
   48894         (-[HTMLOptGroupElement label]):
   48895         (-[HTMLOptGroupElement setLabel:]):
   48896         (-[HTMLOptionElement form]):
   48897         (-[HTMLOptionElement defaultSelected]):
   48898         (-[HTMLOptionElement setDefaultSelected:]):
   48899         (-[HTMLOptionElement text]):
   48900         (-[HTMLOptionElement index]):
   48901         (-[HTMLOptionElement setIndex:]):
   48902         (-[HTMLOptionElement disabled]):
   48903         (-[HTMLOptionElement setDisabled:]):
   48904         (-[HTMLOptionElement label]):
   48905         (-[HTMLOptionElement setLabel:]):
   48906         (-[HTMLOptionElement selected]):
   48907         (-[HTMLOptionElement value]):
   48908         (-[HTMLOptionElement setValue:]):
   48909         (-[HTMLInputElement defaultValue]):
   48910         (-[HTMLInputElement setDefaultValue:]):
   48911         (-[HTMLInputElement defaultChecked]):
   48912         (-[HTMLInputElement setDefaultChecked:]):
   48913         (-[HTMLInputElement form]):
   48914         (-[HTMLInputElement accept]):
   48915         (-[HTMLInputElement setAccept:]):
   48916         (-[HTMLInputElement accessKey]):
   48917         (-[HTMLInputElement setAccessKey:]):
   48918         (-[HTMLInputElement align]):
   48919         (-[HTMLInputElement setAlign:]):
   48920         (-[HTMLInputElement alt]):
   48921         (-[HTMLInputElement setAlt:]):
   48922         (-[HTMLInputElement checked]):
   48923         (-[HTMLInputElement setChecked:]):
   48924         (-[HTMLInputElement disabled]):
   48925         (-[HTMLInputElement setDisabled:]):
   48926         (-[HTMLInputElement maxLength]):
   48927         (-[HTMLInputElement setMaxLength:]):
   48928         (-[HTMLInputElement name]):
   48929         (-[HTMLInputElement setName:]):
   48930         (-[HTMLInputElement readOnly]):
   48931         (-[HTMLInputElement setReadOnly:]):
   48932         (-[HTMLInputElement size]):
   48933         (-[HTMLInputElement setSize:]):
   48934         (-[HTMLInputElement src]):
   48935         (-[HTMLInputElement setSrc:]):
   48936         (-[HTMLInputElement tabIndex]):
   48937         (-[HTMLInputElement setTabIndex:]):
   48938         (-[HTMLInputElement type]):
   48939         (-[HTMLInputElement useMap]):
   48940         (-[HTMLInputElement setUseMap:]):
   48941         (-[HTMLInputElement value]):
   48942         (-[HTMLInputElement setValue:]):
   48943         (-[HTMLInputElement blur]):
   48944         (-[HTMLInputElement focus]):
   48945         (-[HTMLInputElement select]):
   48946         (-[HTMLInputElement click]):
   48947         (-[HTMLTextAreaElement defaultValue]):
   48948         (-[HTMLTextAreaElement setDefaultValue:]):
   48949         (-[HTMLTextAreaElement form]):
   48950         (-[HTMLTextAreaElement accessKey]):
   48951         (-[HTMLTextAreaElement setAccessKey:]):
   48952         (-[HTMLTextAreaElement cols]):
   48953         (-[HTMLTextAreaElement setCols:]):
   48954         (-[HTMLTextAreaElement disabled]):
   48955         (-[HTMLTextAreaElement setDisabled:]):
   48956         (-[HTMLTextAreaElement name]):
   48957         (-[HTMLTextAreaElement setName:]):
   48958         (-[HTMLTextAreaElement readOnly]):
   48959         (-[HTMLTextAreaElement setReadOnly:]):
   48960         (-[HTMLTextAreaElement rows]):
   48961         (-[HTMLTextAreaElement setRows:]):
   48962         (-[HTMLTextAreaElement tabIndex]):
   48963         (-[HTMLTextAreaElement setTabIndex:]):
   48964         (-[HTMLTextAreaElement type]):
   48965         (-[HTMLTextAreaElement value]):
   48966         (-[HTMLTextAreaElement setValue:]):
   48967         (-[HTMLTextAreaElement blur]):
   48968         (-[HTMLTextAreaElement focus]):
   48969         (-[HTMLTextAreaElement select]):
   48970         (-[HTMLButtonElement form]):
   48971         (-[HTMLButtonElement accessKey]):
   48972         (-[HTMLButtonElement setAccessKey:]):
   48973         (-[HTMLButtonElement disabled]):
   48974         (-[HTMLButtonElement setDisabled:]):
   48975         (-[HTMLButtonElement name]):
   48976         (-[HTMLButtonElement setName:]):
   48977         (-[HTMLButtonElement tabIndex]):
   48978         (-[HTMLButtonElement setTabIndex:]):
   48979         (-[HTMLButtonElement type]):
   48980         (-[HTMLButtonElement value]):
   48981         (-[HTMLButtonElement setValue:]):
   48982         (-[HTMLLabelElement form]):
   48983         (-[HTMLLabelElement accessKey]):
   48984         (-[HTMLLabelElement setAccessKey:]):
   48985         (-[HTMLLabelElement htmlFor]):
   48986         (-[HTMLLabelElement setHtmlFor:]):
   48987         (-[HTMLFieldSetElement form]):
   48988         (-[HTMLLegendElement form]):
   48989         (-[HTMLLegendElement accessKey]):
   48990         (-[HTMLLegendElement setAccessKey:]):
   48991         (-[HTMLLegendElement align]):
   48992         (-[HTMLLegendElement setAlign:]):
   48993         (-[HTMLUListElement compact]):
   48994         (-[HTMLUListElement setCompact:]):
   48995         (-[HTMLUListElement type]):
   48996         (-[HTMLUListElement setType:]):
   48997         (-[HTMLOListElement compact]):
   48998         (-[HTMLOListElement setCompact:]):
   48999         (-[HTMLOListElement start]):
   49000         (-[HTMLOListElement setStart:]):
   49001         (-[HTMLOListElement type]):
   49002         (-[HTMLOListElement setType:]):
   49003         (-[HTMLDListElement compact]):
   49004         (-[HTMLDListElement setCompact:]):
   49005         (-[HTMLDirectoryElement compact]):
   49006         (-[HTMLDirectoryElement setCompact:]):
   49007         (-[HTMLMenuElement compact]):
   49008         (-[HTMLMenuElement setCompact:]):
   49009         (-[HTMLLIElement type]):
   49010         (-[HTMLLIElement setType:]):
   49011         (-[HTMLLIElement value]):
   49012         (-[HTMLLIElement setValue:]):
   49013         (-[HTMLBlockquoteElement cite]):
   49014         (-[HTMLBlockquoteElement setCite:]):
   49015         (-[HTMLDivElement align]):
   49016         (-[HTMLDivElement setAlign:]):
   49017         (-[HTMLParagraphElement align]):
   49018         (-[HTMLParagraphElement setAlign:]):
   49019         (-[HTMLHeadingElement align]):
   49020         (-[HTMLHeadingElement setAlign:]):
   49021         (-[HTMLQuoteElement cite]):
   49022         (-[HTMLQuoteElement setCite:]):
   49023         (-[HTMLPreElement width]):
   49024         (-[HTMLPreElement setWidth:]):
   49025         (-[HTMLBRElement clear]):
   49026         (-[HTMLBRElement setClear:]):
   49027         (-[HTMLBaseFontElement color]):
   49028         (-[HTMLBaseFontElement setColor:]):
   49029         (-[HTMLBaseFontElement face]):
   49030         (-[HTMLBaseFontElement setFace:]):
   49031         (-[HTMLBaseFontElement size]):
   49032         (-[HTMLBaseFontElement setSize:]):
   49033         (-[HTMLFontElement color]):
   49034         (-[HTMLFontElement setColor:]):
   49035         (-[HTMLFontElement face]):
   49036         (-[HTMLFontElement setFace:]):
   49037         (-[HTMLFontElement size]):
   49038         (-[HTMLFontElement setSize:]):
   49039         (-[HTMLHRElement align]):
   49040         (-[HTMLHRElement setAlign:]):
   49041         (-[HTMLHRElement noShade]):
   49042         (-[HTMLHRElement setNoShade:]):
   49043         (-[HTMLHRElement size]):
   49044         (-[HTMLHRElement setSize:]):
   49045         (-[HTMLHRElement width]):
   49046         (-[HTMLHRElement setWidth:]):
   49047         (-[HTMLModElement cite]):
   49048         (-[HTMLModElement setCite:]):
   49049         (-[HTMLModElement dateTime]):
   49050         (-[HTMLModElement setDateTime:]):
   49051         (-[HTMLAnchorElement accessKey]):
   49052         (-[HTMLAnchorElement setAccessKey:]):
   49053         (-[HTMLAnchorElement charset]):
   49054         (-[HTMLAnchorElement setCharset:]):
   49055         (-[HTMLAnchorElement coords]):
   49056         (-[HTMLAnchorElement setCoords:]):
   49057         (-[HTMLAnchorElement href]):
   49058         (-[HTMLAnchorElement setHref:]):
   49059         (-[HTMLAnchorElement hreflang]):
   49060         (-[HTMLAnchorElement setHreflang:]):
   49061         (-[HTMLAnchorElement name]):
   49062         (-[HTMLAnchorElement setName:]):
   49063         (-[HTMLAnchorElement rel]):
   49064         (-[HTMLAnchorElement setRel:]):
   49065         (-[HTMLAnchorElement rev]):
   49066         (-[HTMLAnchorElement setRev:]):
   49067         (-[HTMLAnchorElement shape]):
   49068         (-[HTMLAnchorElement setShape:]):
   49069         (-[HTMLAnchorElement tabIndex]):
   49070         (-[HTMLAnchorElement setTabIndex:]):
   49071         (-[HTMLAnchorElement target]):
   49072         (-[HTMLAnchorElement setTarget:]):
   49073         (-[HTMLAnchorElement type]):
   49074         (-[HTMLAnchorElement setType:]):
   49075         (-[HTMLAnchorElement blur]):
   49076         (-[HTMLAnchorElement focus]):
   49077         (-[HTMLImageElement lowSrc]):
   49078         (-[HTMLImageElement setLowSrc:]):
   49079         (-[HTMLImageElement name]):
   49080         (-[HTMLImageElement setName:]):
   49081         (-[HTMLImageElement align]):
   49082         (-[HTMLImageElement setAlign:]):
   49083         (-[HTMLImageElement alt]):
   49084         (-[HTMLImageElement setAlt:]):
   49085         (-[HTMLImageElement border]):
   49086         (-[HTMLImageElement setBorder:]):
   49087         (-[HTMLImageElement height]):
   49088         (-[HTMLImageElement setHeight:]):
   49089         (-[HTMLImageElement hspace]):
   49090         (-[HTMLImageElement setHspace:]):
   49091         (-[HTMLImageElement isMap]):
   49092         (-[HTMLImageElement setIsMap:]):
   49093         (-[HTMLImageElement longDesc]):
   49094         (-[HTMLImageElement setLongDesc:]):
   49095         (-[HTMLImageElement src]):
   49096         (-[HTMLImageElement setSrc:]):
   49097         (-[HTMLImageElement useMap]):
   49098         (-[HTMLImageElement setUseMap:]):
   49099         (-[HTMLImageElement vspace]):
   49100         (-[HTMLImageElement setVspace:]):
   49101         (-[HTMLImageElement width]):
   49102         (-[HTMLImageElement setWidth:]):
   49103         (-[HTMLObjectElement form]):
   49104         (-[HTMLObjectElement code]):
   49105         (-[HTMLObjectElement setCode:]):
   49106         (-[HTMLObjectElement align]):
   49107         (-[HTMLObjectElement setAlign:]):
   49108         (-[HTMLObjectElement archive]):
   49109         (-[HTMLObjectElement setArchive:]):
   49110         (-[HTMLObjectElement border]):
   49111         (-[HTMLObjectElement setBorder:]):
   49112         (-[HTMLObjectElement codeBase]):
   49113         (-[HTMLObjectElement setCodeBase:]):
   49114         (-[HTMLObjectElement codeType]):
   49115         (-[HTMLObjectElement setCodeType:]):
   49116         (-[HTMLObjectElement data]):
   49117         (-[HTMLObjectElement setData:]):
   49118         (-[HTMLObjectElement declare]):
   49119         (-[HTMLObjectElement setDeclare:]):
   49120         (-[HTMLObjectElement height]):
   49121         (-[HTMLObjectElement setHeight:]):
   49122         (-[HTMLObjectElement hspace]):
   49123         (-[HTMLObjectElement setHspace:]):
   49124         (-[HTMLObjectElement name]):
   49125         (-[HTMLObjectElement setName:]):
   49126         (-[HTMLObjectElement standby]):
   49127         (-[HTMLObjectElement setStandby:]):
   49128         (-[HTMLObjectElement tabIndex]):
   49129         (-[HTMLObjectElement setTabIndex:]):
   49130         (-[HTMLObjectElement type]):
   49131         (-[HTMLObjectElement setType:]):
   49132         (-[HTMLObjectElement useMap]):
   49133         (-[HTMLObjectElement setUseMap:]):
   49134         (-[HTMLObjectElement vspace]):
   49135         (-[HTMLObjectElement setVspace:]):
   49136         (-[HTMLObjectElement width]):
   49137         (-[HTMLObjectElement setWidth:]):
   49138         (-[HTMLParamElement name]):
   49139         (-[HTMLParamElement setName:]):
   49140         (-[HTMLParamElement type]):
   49141         (-[HTMLParamElement setType:]):
   49142         (-[HTMLParamElement value]):
   49143         (-[HTMLParamElement setValue:]):
   49144         (-[HTMLParamElement valueType]):
   49145         (-[HTMLParamElement setValueType:]):
   49146         (-[HTMLAppletElement align]):
   49147         (-[HTMLAppletElement setAlign:]):
   49148         (-[HTMLAppletElement alt]):
   49149         (-[HTMLAppletElement setAlt:]):
   49150         (-[HTMLAppletElement archive]):
   49151         (-[HTMLAppletElement setArchive:]):
   49152         (-[HTMLAppletElement code]):
   49153         (-[HTMLAppletElement setCode:]):
   49154         (-[HTMLAppletElement codeBase]):
   49155         (-[HTMLAppletElement setCodeBase:]):
   49156         (-[HTMLAppletElement codeType]):
   49157         (-[HTMLAppletElement setCodeType:]):
   49158         (-[HTMLAppletElement height]):
   49159         (-[HTMLAppletElement setHeight:]):
   49160         (-[HTMLAppletElement hspace]):
   49161         (-[HTMLAppletElement setHspace:]):
   49162         (-[HTMLAppletElement name]):
   49163         (-[HTMLAppletElement setName:]):
   49164         (-[HTMLAppletElement object]):
   49165         (-[HTMLAppletElement setObject:]):
   49166         (-[HTMLAppletElement vspace]):
   49167         (-[HTMLAppletElement setVspace:]):
   49168         (-[HTMLAppletElement width]):
   49169         (-[HTMLAppletElement setWidth:]):
   49170         (-[HTMLMapElement areas]):
   49171         (-[HTMLMapElement name]):
   49172         (-[HTMLMapElement setName:]):
   49173         (-[HTMLAreaElement accessKey]):
   49174         (-[HTMLAreaElement setAccessKey:]):
   49175         (-[HTMLAreaElement alt]):
   49176         (-[HTMLAreaElement setAlt:]):
   49177         (-[HTMLAreaElement coords]):
   49178         (-[HTMLAreaElement setCoords:]):
   49179         (-[HTMLAreaElement href]):
   49180         (-[HTMLAreaElement setHref:]):
   49181         (-[HTMLAreaElement noHref]):
   49182         (-[HTMLAreaElement setNoHref:]):
   49183         (-[HTMLAreaElement shape]):
   49184         (-[HTMLAreaElement setShape:]):
   49185         (-[HTMLAreaElement tabIndex]):
   49186         (-[HTMLAreaElement setTabIndex:]):
   49187         (-[HTMLAreaElement target]):
   49188         (-[HTMLAreaElement setTarget:]):
   49189         (-[HTMLScriptElement text]):
   49190         (-[HTMLScriptElement setText:]):
   49191         (-[HTMLScriptElement htmlFor]):
   49192         (-[HTMLScriptElement setHtmlFor:]):
   49193         (-[HTMLScriptElement event]):
   49194         (-[HTMLScriptElement setEvent:]):
   49195         (-[HTMLScriptElement charset]):
   49196         (-[HTMLScriptElement setCharset:]):
   49197         (-[HTMLScriptElement defer]):
   49198         (-[HTMLScriptElement setDefer:]):
   49199         (-[HTMLScriptElement src]):
   49200         (-[HTMLScriptElement setSrc:]):
   49201         (-[HTMLScriptElement type]):
   49202         (-[HTMLScriptElement setType:]):
   49203         (-[HTMLTableCaptionElement align]):
   49204         (-[HTMLTableCaptionElement setAlign:]):
   49205         (-[HTMLTableSectionElement align]):
   49206         (-[HTMLTableSectionElement setAlign:]):
   49207         (-[HTMLTableSectionElement ch]):
   49208         (-[HTMLTableSectionElement setCh:]):
   49209         (-[HTMLTableSectionElement chOff]):
   49210         (-[HTMLTableSectionElement setChOff:]):
   49211         (-[HTMLTableSectionElement vAlign]):
   49212         (-[HTMLTableSectionElement setVAlign:]):
   49213         (-[HTMLTableSectionElement rows]):
   49214         (-[HTMLTableSectionElement insertRow:]):
   49215         (-[HTMLTableSectionElement deleteRow:]):
   49216         (-[HTMLTableElement caption]):
   49217         (-[HTMLTableElement tHead]):
   49218         (-[HTMLTableElement tFoot]):
   49219         (-[HTMLTableElement rows]):
   49220         (-[HTMLTableElement tBodies]):
   49221         (-[HTMLTableElement align]):
   49222         (-[HTMLTableElement setAlign:]):
   49223         (-[HTMLTableElement bgColor]):
   49224         (-[HTMLTableElement setBgColor:]):
   49225         (-[HTMLTableElement border]):
   49226         (-[HTMLTableElement setBorder:]):
   49227         (-[HTMLTableElement cellPadding]):
   49228         (-[HTMLTableElement setCellPadding:]):
   49229         (-[HTMLTableElement cellSpacing]):
   49230         (-[HTMLTableElement setCellSpacing:]):
   49231         (-[HTMLTableElement frame]):
   49232         (-[HTMLTableElement setFrame:]):
   49233         (-[HTMLTableElement rules]):
   49234         (-[HTMLTableElement setRules:]):
   49235         (-[HTMLTableElement summary]):
   49236         (-[HTMLTableElement setSummary:]):
   49237         (-[HTMLTableElement width]):
   49238         (-[HTMLTableElement setWidth:]):
   49239         (-[HTMLTableElement createTHead]):
   49240         (-[HTMLTableElement deleteTHead]):
   49241         (-[HTMLTableElement createTFoot]):
   49242         (-[HTMLTableElement deleteTFoot]):
   49243         (-[HTMLTableElement createCaption]):
   49244         (-[HTMLTableElement deleteCaption]):
   49245         (-[HTMLTableElement deleteRow:]):
   49246         (-[HTMLTableColElement align]):
   49247         (-[HTMLTableColElement setAlign:]):
   49248         (-[HTMLTableColElement ch]):
   49249         (-[HTMLTableColElement setCh:]):
   49250         (-[HTMLTableColElement chOff]):
   49251         (-[HTMLTableColElement setChOff:]):
   49252         (-[HTMLTableColElement span]):
   49253         (-[HTMLTableColElement setSpan:]):
   49254         (-[HTMLTableColElement vAlign]):
   49255         (-[HTMLTableColElement setVAlign:]):
   49256         (-[HTMLTableColElement width]):
   49257         (-[HTMLTableColElement setWidth:]):
   49258         (-[HTMLTableRowElement rowIndex]):
   49259         (-[HTMLTableRowElement setRowIndex:]):
   49260         (-[HTMLTableRowElement sectionRowIndex]):
   49261         (-[HTMLTableRowElement setSectionRowIndex:]):
   49262         (-[HTMLTableRowElement cells]):
   49263         (-[HTMLTableRowElement setCells:]):
   49264         (-[HTMLTableRowElement align]):
   49265         (-[HTMLTableRowElement setAlign:]):
   49266         (-[HTMLTableRowElement bgColor]):
   49267         (-[HTMLTableRowElement setBgColor:]):
   49268         (-[HTMLTableRowElement ch]):
   49269         (-[HTMLTableRowElement setCh:]):
   49270         (-[HTMLTableRowElement chOff]):
   49271         (-[HTMLTableRowElement setChOff:]):
   49272         (-[HTMLTableRowElement vAlign]):
   49273         (-[HTMLTableRowElement setVAlign:]):
   49274         (-[HTMLTableRowElement insertCell:]):
   49275         (-[HTMLTableRowElement deleteCell:]):
   49276         (-[HTMLTableCellElement cellIndex]):
   49277         (-[HTMLTableCellElement setCellIndex:]):
   49278         (-[HTMLTableCellElement abbr]):
   49279         (-[HTMLTableCellElement setAbbr:]):
   49280         (-[HTMLTableCellElement align]):
   49281         (-[HTMLTableCellElement setAlign:]):
   49282         (-[HTMLTableCellElement axis]):
   49283         (-[HTMLTableCellElement setAxis:]):
   49284         (-[HTMLTableCellElement bgColor]):
   49285         (-[HTMLTableCellElement setBgColor:]):
   49286         (-[HTMLTableCellElement ch]):
   49287         (-[HTMLTableCellElement setCh:]):
   49288         (-[HTMLTableCellElement chOff]):
   49289         (-[HTMLTableCellElement setChOff:]):
   49290         (-[HTMLTableCellElement colSpan]):
   49291         (-[HTMLTableCellElement setColSpan:]):
   49292         (-[HTMLTableCellElement headers]):
   49293         (-[HTMLTableCellElement setHeaders:]):
   49294         (-[HTMLTableCellElement height]):
   49295         (-[HTMLTableCellElement setHeight:]):
   49296         (-[HTMLTableCellElement noWrap]):
   49297         (-[HTMLTableCellElement setNoWrap:]):
   49298         (-[HTMLTableCellElement rowSpan]):
   49299         (-[HTMLTableCellElement setRowSpan:]):
   49300         (-[HTMLTableCellElement scope]):
   49301         (-[HTMLTableCellElement setScope:]):
   49302         (-[HTMLTableCellElement vAlign]):
   49303         (-[HTMLTableCellElement setVAlign:]):
   49304         (-[HTMLTableCellElement width]):
   49305         (-[HTMLTableCellElement setWidth:]):
   49306         (-[HTMLFrameSetElement cols]):
   49307         (-[HTMLFrameSetElement setCols:]):
   49308         (-[HTMLFrameSetElement rows]):
   49309         (-[HTMLFrameSetElement setRows:]):
   49310         (-[HTMLFrameElement frameBorder]):
   49311         (-[HTMLFrameElement setFrameBorder:]):
   49312         (-[HTMLFrameElement longDesc]):
   49313         (-[HTMLFrameElement setLongDesc:]):
   49314         (-[HTMLFrameElement marginHeight]):
   49315         (-[HTMLFrameElement setMarginHeight:]):
   49316         (-[HTMLFrameElement marginWidth]):
   49317         (-[HTMLFrameElement setMarginWidth:]):
   49318         (-[HTMLFrameElement name]):
   49319         (-[HTMLFrameElement setName:]):
   49320         (-[HTMLFrameElement noResize]):
   49321         (-[HTMLFrameElement setNoResize:]):
   49322         (-[HTMLFrameElement scrolling]):
   49323         (-[HTMLFrameElement setScrolling:]):
   49324         (-[HTMLFrameElement src]):
   49325         (-[HTMLFrameElement setSrc:]):
   49326         (-[HTMLIFrameElement align]):
   49327         (-[HTMLIFrameElement setAlign:]):
   49328         (-[HTMLIFrameElement frameBorder]):
   49329         (-[HTMLIFrameElement setFrameBorder:]):
   49330         (-[HTMLIFrameElement height]):
   49331         (-[HTMLIFrameElement setHeight:]):
   49332         (-[HTMLIFrameElement longDesc]):
   49333         (-[HTMLIFrameElement setLongDesc:]):
   49334         (-[HTMLIFrameElement marginHeight]):
   49335         (-[HTMLIFrameElement setMarginHeight:]):
   49336         (-[HTMLIFrameElement marginWidth]):
   49337         (-[HTMLIFrameElement setMarginWidth:]):
   49338         (-[HTMLIFrameElement name]):
   49339         (-[HTMLIFrameElement setName:]):
   49340         (-[HTMLIFrameElement scrolling]):
   49341         (-[HTMLIFrameElement setScrolling:]):
   49342         (-[HTMLIFrameElement src]):
   49343         (-[HTMLIFrameElement setSrc:]):
   49344         (-[HTMLIFrameElement width]):
   49345         (-[HTMLIFrameElement setWidth:]):
   49346 
   49347 2004-03-11  Ken Kocienda  <kocienda (a] apple.com>
   49348 
   49349         Reviewed by Dave
   49350 
   49351         I have clarified the concept (at least in my head) 
   49352         that each edit command has an obligation to put the
   49353         selection in the right place after it is applied, 
   49354         unapplied, or reapplied. Right now, each edit command 
   49355         calls setStartingSelection and setEndingSelection to do
   49356         this, I made these function move the selection on 
   49357         setting.
   49358 
   49359         * khtml/editing/htmlediting_impl.cpp:
   49360         (EditCommandImpl::setStartingSelection)
   49361         (EditCommandImpl::setEndingSelection)
   49362         (InputTextCommandImpl::coalesce)
   49363         (InputTextCommandImpl::deleteCharacter)
   49364         (InputTextCommandImpl::execute)
   49365         * khtml/editing/htmlediting_impl.h:
   49366 
   49367 2004-03-11  Ken Kocienda  <kocienda (a] apple.com>
   49368 
   49369         Reviewed by Dave
   49370     
   49371         Various changes to move us forward on editing.
   49372         
   49373         1. I reorganized the concrete EditCommand interface and
   49374         implementation classes alphabetically in their 
   49375         respective files, to make it easier to find things.
   49376         
   49377         2. I added a TypingCommand composite class to gang 
   49378         up all keystrokes and make it possible to pass a 
   49379         single command over to the Cocoa undo system in all cases.
   49380         
   49381         3. I now send all keystrokes back over to WebKit
   49382         to be interpreted by the text input system. In concert
   49383         with the many new NSResponder method implementations I
   49384         added to WebView, we now respond to keystrokes in a much
   49385         more Cocoa-like way that sets us down the path to
   49386         integrating with the Cocoa text input system some day.
   49387 
   49388         4. I fixed up our integration with the Cocoa undo
   49389         system. I also removed much of the undo support code
   49390         from the KHTMPart class. As a replacement, I implemented
   49391         reporting of undoable commands to KHTMLPart so that 
   49392         a KDE hookup is quite feasible. As a result, undo 
   49393         should "just work" in Blot (Chris has reported that 
   49394         it has been busted).
   49395 
   49396         5. I added the DOM CSS bindings for Objective-C. This
   49397         required some rearranging of the existing DOM bindings
   49398         code, and while I was there, I did various cleanups in the
   49399         existing DOM bindings.
   49400 
   49401         * About 400 lines of changed files and functions elided.
   49402         
   49403 2004-03-11  Chris Blumenberg  <cblu (a] apple.com>
   49404 
   49405 	Fixed some spacing issues in reconstructed source and web archives that were caused by a malformed doc type string that we were constructing.
   49406 
   49407         Reviewed by darin.
   49408 
   49409         * khtml/html/html_documentimpl.cpp:
   49410         (HTMLDocumentImpl::determineParseMode): set the public ID and system ID on the doc type
   49411         * khtml/xml/dom_docimpl.cpp:
   49412         (DocumentTypeImpl::toString): put a space between DOCTYPE and the name
   49413         * khtml/xml/dom_docimpl.h:
   49414         (DOM::DocumentTypeImpl::setPublicId): new
   49415         (DOM::DocumentTypeImpl::setSystemId): new
   49416 
   49417 2004-03-10  David Hyatt  <hyatt (a] apple.com>
   49418 
   49419 	Fix for 3584646, AxWebArea should encompass all children (its AxSize should).
   49420 	
   49421         Reviewed by mjs
   49422 
   49423         * khtml/rendering/render_canvas.cpp:
   49424         (RenderCanvas::absoluteRects):
   49425         * khtml/rendering/render_canvas.h:
   49426 
   49427 2004-03-10  Chris Blumenberg  <cblu (a] apple.com>
   49428 
   49429 	Fixed: INPUT images are not part of web archives.
   49430 
   49431         Reviewed by rjw.
   49432 
   49433         * khtml/html/html_formimpl.cpp:
   49434         (HTMLInputElementImpl::isSubresourceURLAttribute):
   49435         * khtml/html/html_formimpl.h:
   49436 
   49437 2004-03-09  Chris Blumenberg  <cblu (a] apple.com>
   49438 
   49439 	Implemented WebCore side of: <rdar://problem/3577508>: API: web archive related API's
   49440 
   49441         Reviewed by rjw.
   49442 
   49443         * WebCore-combined.exp:
   49444         * WebCore.exp:
   49445         * kwq/DOM.mm:
   49446         (+[DOMRange _rangeWithImpl:]): made internally accessible
   49447         (-[DOMRange _rangeImpl]): ditto
   49448         * kwq/DOMInternal.h:
   49449         * kwq/KWQStringList.h:
   49450         * kwq/KWQStringList.mm:
   49451         (QStringList::getNSArray): new
   49452         * kwq/WebCoreBridge.h:
   49453         * kwq/WebCoreBridge.mm:
   49454         (-[WebCoreBridge pasteMarkupString:]): renamed from pasteHTMLString since XML pasting may be possible
   49455         (-[WebCoreBridge selectedRange]): new
   49456         (-[WebCoreBridge _documentTypeString]): new
   49457         (-[WebCoreBridge _stringWithDocumentTypeStringAndMarkupString:]): new
   49458         (-[WebCoreBridge markupStringFromNode:subresourceURLStrings:]): new, needed for WebKit API's
   49459         (-[WebCoreBridge markupStringFromRange:subresourceURLStrings:]): new, needed for WebKit API's
   49460 
   49461 2004-03-09  David Hyatt  <hyatt (a] apple.com>
   49462 
   49463 	Make the AXLinkUIElements attribute always return an array (never return nil).
   49464 	
   49465         * kwq/KWQAccObject.mm:
   49466         (-[KWQAccObject accessibilityAttributeValue:]):
   49467 
   49468 2004-03-09  David Hyatt  <hyatt (a] apple.com>
   49469 
   49470 	(1) Change root element in a document to have a role of AXWebArea.
   49471 	(2) Add support for AXURL to links and children of links.
   49472 	(3) Add support for AXLinkUIElements to the AXWebArea
   49473 	
   49474         Reviewed by john
   49475 
   49476         * khtml/dom/html_misc.h:
   49477         * kwq/KWQAccObject.mm:
   49478         (-[KWQAccObject role]):
   49479         (-[KWQAccObject roleDescription]):
   49480         (-[KWQAccObject accessibilityAttributeNames]):
   49481         (-[KWQAccObject accessibilityAttributeValue:]):
   49482 
   49483 2004-03-09  John Sullivan  <sullivan (a] apple.com>
   49484 
   49485         * kwq/KWQKURL.mm:
   49486         (KURL::KURL):
   49487         Fixed broken build by removing wayward "break" statement.
   49488 
   49489 2004-03-08  Darin Adler  <darin (a] apple.com>
   49490 
   49491         Reviewed by Maciej.
   49492 
   49493         - fixed <rdar://problem/3554876>: REGRESSION (100-125): cannot upload file if path contains non-ASCII characters
   49494 
   49495         * kwq/KWQKURL.mm: Remove Colon constant so we can fit in 8 bits again.
   49496         (KURL::KURL): Rewrite so we don't need isSchemeCharOrColon.
   49497 
   49498 === Safari-131 ===
   49499 
   49500 2004-03-08  Ken Kocienda  <kocienda (a] apple.com>
   49501 
   49502         Reviewed by Darin
   49503 
   49504         * WebCore.pbproj/project.pbxproj: Added CFBundleName to Info.plist.
   49505 
   49506 2004-03-05  David Hyatt  <hyatt (a] apple.com>
   49507 
   49508 	Fix for first-line inheritance problem caused by incorrectly inheriting first-line into floating
   49509 	blocks.
   49510 	
   49511         Reviewed by kocienda
   49512 
   49513         * khtml/rendering/render_block.cpp:
   49514         (khtml::RenderBlock::firstLineBlock):
   49515 
   49516 2004-03-05  Ken Kocienda  <kocienda (a] apple.com>
   49517 
   49518 	Forgot to add this when I checked in last time.
   49519 
   49520         * ForwardingHeaders/css/css_computedstyle.h: Added.
   49521 
   49522 2004-03-05  Ken Kocienda  <kocienda (a] apple.com>
   49523 
   49524         Reviewed by Dave.
   49525 
   49526         Added initial support for retrieving the computed 
   49527         style of document elements.
   49528 
   49529         * WebCore.pbproj/project.pbxproj:
   49530         * khtml/css/css_computedstyle.cpp: Added.
   49531         (DOM::valueForLength): Helper to turn a khtml::Length into a computed value string.
   49532         (DOM::stringForBorderStyle): Helper to turn an EBorderStyle into a computed value string.
   49533         (DOM::stringForTextAlign): Helper to turn an ETextAlign into a computed value string.
   49534         (DOM::CSSComputedStyleDeclarationImpl::CSSComputedStyleDeclarationImpl): New function.
   49535         (DOM::CSSComputedStyleDeclarationImpl::~CSSComputedStyleDeclarationImpl): Ditto.
   49536         (DOM::CSSComputedStyleDeclarationImpl::cssText): Ditto.
   49537         (DOM::CSSComputedStyleDeclarationImpl::setCssText): Ditto.
   49538         (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Ditto.
   49539         (DOM::CSSComputedStyleDeclarationImpl::getPropertyValue): Ditto.
   49540         (DOM::CSSComputedStyleDeclarationImpl::getPropertyPriority): Ditto.
   49541         (DOM::CSSComputedStyleDeclarationImpl::removeProperty): Ditto.
   49542         (DOM::CSSComputedStyleDeclarationImpl::setProperty): Ditto.
   49543         (DOM::CSSComputedStyleDeclarationImpl::setLengthProperty): Ditto.
   49544         (DOM::CSSComputedStyleDeclarationImpl::item): Ditto.
   49545         (DOM::CSSComputedStyleDeclarationImpl::property): Ditto.
   49546         * khtml/css/css_computedstyle.h: Added.
   49547         * khtml/css/css_valueimpl.cpp:
   49548         (CSSPrimitiveValueImpl::cssText): Fixed some formatting of Rect. Added
   49549         suppoprt for rgba colors.
   49550         * khtml/css/css_valueimpl.h:
   49551         (DOM::CSSStyleDeclarationImpl::node):
   49552         * khtml/ecma/kjs_css.cpp:
   49553         (KJS::getDOMCSSStyleDeclaration):
   49554         * khtml/ecma/kjs_dom.cpp:
   49555         (DOMDocument::getValueProperty): defaultView is a property, used to be a function, 
   49556         which was wrong. Fixed.
   49557         (DOMDocumentProtoFunc::tryCall): Ditto.
   49558         * khtml/ecma/kjs_dom.lut.h:
   49559         (KJS::): Regenerated file.
   49560         * khtml/misc/khtmllayout.h:
   49561         (khtml::Length::length): Added an accessor to the value, to promote better coding
   49562         style, rather than peeking and poking the value directly.
   49563         * khtml/rendering/render_style.h:
   49564         (khtml::RenderStyle::borderLeftWidth): BHIDDEN also should be treated like BNONE when it comes
   49565         to returning a zero value. Now it is.
   49566         (khtml::RenderStyle::borderRightWidth): Ditto.
   49567         (khtml::RenderStyle::borderTopWidth): Ditto.
   49568         (khtml::RenderStyle::borderBottomWidth): Ditto.
   49569         (khtml::RenderStyle::outlineWidth): Ditto.
   49570         (khtml::RenderStyle::outlineOffset): Ditto.
   49571         * khtml/xml/dom2_viewsimpl.cpp:
   49572         (AbstractViewImpl::getComputedStyle): Added an implementation for this formerly stubbed out function.
   49573 
   49574 2004-03-05  Ken Kocienda  <kocienda (a] apple.com>
   49575 
   49576         Change by Darin. Reviewed by me.
   49577 
   49578         * kwq/DOM.mm: Fixed the following functions to deal with
   49579         casting objects derived from NodeImpl back and forth to
   49580         NodeImpl given that the derived classes use multiple
   49581         inheritance.
   49582         (-[DOMDocument _documentImpl]):
   49583         (-[DOMCharacterData _characterDataImpl]):
   49584         (-[DOMAttr _attrImpl]):
   49585         (-[DOMElement _elementImpl]):
   49586         (-[DOMText _textImpl]):
   49587         (-[DOMDocumentType _documentTypeImpl]):
   49588         (-[DOMNotation _notationImpl]):
   49589         (-[DOMEntity _entityImpl]):
   49590         (-[DOMProcessingInstruction _processingInstructionImpl]):
   49591 
   49592 2004-03-03  Darin Adler  <darin (a] apple.com>
   49593 
   49594         Reviewed by Vicki.
   49595 
   49596         * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
   49597         copyright string, and that's all that was in here.
   49598         * WebCore.pbproj/project.pbxproj: Removed InfoPlist.strings from build.
   49599 
   49600 2004-03-03  David Hyatt  <hyatt (a] apple.com>
   49601 
   49602 	Speed up access to the children arrays of accessibility objects by caching mutable arrays of children
   49603 	and nulling them out only when the children change.
   49604 	
   49605         Reviewed by john
   49606 
   49607         * khtml/rendering/render_container.cpp:
   49608         (RenderContainer::removeChildNode):
   49609         (RenderContainer::appendChildNode):
   49610         (RenderContainer::insertChildNode):
   49611         * kwq/KWQAccObject.h:
   49612         * kwq/KWQAccObject.mm:
   49613         (-[KWQAccObject detach]):
   49614         (-[KWQAccObject accessibilityAttributeValue:]):
   49615         (-[KWQAccObject childrenChanged]):
   49616         (-[KWQAccObject clearChildren]):
   49617         * kwq/KWQAccObjectCache.h:
   49618         * kwq/KWQAccObjectCache.mm:
   49619         (KWQAccObjectCache::childrenChanged):
   49620 
   49621 2004-03-02  Ken Kocienda  <kocienda (a] apple.com>
   49622 
   49623         Reviewed by Darin and me. Coding by Darin and me.
   49624         
   49625         1) Fix some places that were calling [self class], in at
   49626         least one case calling a method not defined on the class
   49627         (not gonna work).
   49628         2) Add underscore prefix for all non-API method names.
   49629         3) Make DOMObject refuse to init, which might prevent
   49630         problems where people get confused and think they can
   49631         subclass or instantiate it or its subclasses.
   49632         4) Use some C+mojo to replace NSStringToDOMString and
   49633         DOMStringToNSString with type conversions built into the
   49634         DOMString class.
   49635         5) Removed NSError out parameters from the API. Methods
   49636         now throw NSExceptions.
   49637         6) Exception code local variables now initialized before
   49638         passing to khtml DOM impl calls.
   49639         7) Various other cleanups and tweaks.
   49640 
   49641         * khtml/dom/dom_string.h
   49642         * khtml/xml/dom_atomicstring.h
   49643         * kwq/DOM.h
   49644         * kwq/DOM.mm
   49645         * kwq/DOMInternal.h
   49646         * kwq/KWQKHTMLPart.mm
   49647         * kwq/WebCoreBridge.mm
   49648 
   49649 2004-03-02  Richard Williamson   <rjw (a] apple.com>
   49650 
   49651 	Added NP_SAP API.  This API includes the new entry points
   49652 	used to bind native interfaces to JavaScript.  It's final location
   49653 	may change.
   49654 
   49655 	Made changes to KWQKHTMLPart.mm to reflect changes in names
   49656 	on RootObject.
   49657 	
   49658         Reviewed by Chris.
   49659 
   49660         * WebCore.pbproj/project.pbxproj:
   49661         * khtml/ecma/NP_SAP.h: Added.
   49662         * kwq/KWQKHTMLPart.mm:
   49663         (KWQKHTMLPart::cleanupPluginRootObjects):
   49664         * kwq/WebCoreBridge.mm:
   49665 
   49666 2004-03-01  Maciej Stachowiak  <mjs (a] apple.com>
   49667 
   49668         Reviewed by Darin.
   49669 
   49670 	<rdar://problem/3549201>: repro crash in KHTMLPart::begin inside JavaScript code (gmpartsdirect.com)
   49671 
   49672 	Added some null checks. I am not sure why this page attaches a
   49673 	document that has no view, but these changes make it work
   49674 	perfectly.
   49675         
   49676 	* khtml/khtml_part.cpp:
   49677         (KHTMLPart::begin): Add check for null view before use.  *
   49678 	khtml/xml/dom_docimpl.cpp:
   49679         (DocumentImpl::close): ditto
   49680         (DocumentImpl::recalcStyle): Add check for null paint device.
   49681 
   49682 === Safari-130 ===
   49683 
   49684 2004-03-01  Ken Kocienda  <kocienda (a] apple.com>
   49685 
   49686         Rollout last night's checkin. The tree was closed.
   49687 
   49688         * kwq/DOM.h
   49689         * kwq/DOM.mm
   49690         * kwq/DOMInternal.h
   49691         * kwq/KWQKHTMLPart.mm
   49692         * kwq/WebCoreBridge.mm
   49693 
   49694 2004-03-01  Ken Kocienda  <kocienda (a] apple.com>
   49695 
   49696         Reviewed by me, changes by Darin.
   49697         
   49698         Yet another pass at the DOM API, this one by 
   49699         Darin to simplify the internal structure of the
   49700         implementation. Little has changed in the API;
   49701         much has changed in the implementation, particularly
   49702         with regard to object creation and data storage and
   49703         the class hierarchy.
   49704 
   49705         * kwq/DOM.h
   49706         * kwq/DOM.mm
   49707         * kwq/DOMInternal.h
   49708         * kwq/KWQKHTMLPart.mm
   49709         * kwq/WebCoreBridge.mm
   49710 
   49711 2004-03-01  Maciej Stachowiak  <mjs (a] apple.com>
   49712 
   49713 	- fixed <rdar://problem/3567047>: REGRESSION: repro crash inside KJS (dispatchToBoolean) at www.thedonnas.com
   49714 	- fixed <rdar://problem/3550461>: REGRESSION: repro crash in JavaScript at www.alaska.com
   49715         
   49716 	* khtml/ecma/kjs_window.cpp:
   49717         (Window::getListener): Return Null() when the listener object is
   49718 	null, indicating the code failed to parse. Otherwise we return a
   49719 	bad value which can later crash the JS interpreter.
   49720 
   49721 2004-03-01  Darin Adler  <darin (a] apple.com>
   49722 
   49723         Reviewed by Vicki.
   49724 
   49725         - fixed Tiger build
   49726 
   49727         * kwq/KWQXmlSimpleReader.mm: (QXmlSimpleReader::parse):
   49728         Changed SAX structure initialization code so it compiles with both the newer
   49729         and older libxml. Not sure this will work right with namespaces with the new
   49730         libxml; we'll have to test.
   49731 
   49732 2004-03-01  Ken Kocienda  <kocienda (a] apple.com>
   49733 
   49734         Reviewed by me, as suggested by Darin
   49735 
   49736         * khtml/misc/htmlattrs.c:
   49737         (getAttrName): Generated code no longer has extraneous semicolon.
   49738         * khtml/misc/htmltags.c: Generated code no longer has extraneous semicolon.
   49739         (getTagName):
   49740         * khtml/misc/makeattrs: Removed extraneous semicolon from end of file.
   49741         * khtml/misc/maketags: Ditto.
   49742 
   49743 2004-03-01  Ken Kocienda  <kocienda (a] apple.com>
   49744 
   49745         * kwq/DOMInternal.h: Replaced tabs with spaces.
   49746 
   49747 2004-03-01  Ken Kocienda  <kocienda (a] apple.com>
   49748 
   49749         Reviewed by Darin
   49750 
   49751         Changed all Objective-C DOM classes from protocols to classes, using
   49752         a class cluster-like approach.
   49753 
   49754         * WebCore.pbproj/project.pbxproj:
   49755         * khtml/dom/html_object.cpp: Put code in DOM namespace.
   49756         * khtml/html/html_headimpl.cpp: Pull in entire DOM namespace in using directive to
   49757         make up for the removal of it from htmlattrs.
   49758         * khtml/html/htmltokenizer.cpp: Add using directives for the DOM classes used.
   49759         * khtml/misc/htmlattrs.c:
   49760         (getAttrName):
   49761         * khtml/misc/htmlattrs.h: 
   49762         * khtml/misc/htmltags.c:
   49763         (getTagName):
   49764         * khtml/misc/makeattrs: Some changes here to avoid pulling in the entire DOM namespace.
   49765         Explicitly use DOM namespace scoping for DOMString.
   49766         * khtml/misc/maketags: Explicitly use DOM namespace scoping for DOMString.
   49767         * khtml/rendering/render_form.cpp: Pull in entire DOM namespace in using directive to
   49768         make up for the removal of it from htmlattrs.
   49769         * kwq/DOM-compat.h:
   49770         * kwq/DOM.h:
   49771         * kwq/DOM.mm: Added.
   49772         * kwq/WebCoreDOM.h: Removed.
   49773         * kwq/WebCoreDOM.mm: Removed.
   49774 
   49775 2004-02-26  Maciej Stachowiak  <mjs (a] apple.com>
   49776 
   49777         Reviewed by John.
   49778 
   49779 	<rdar://problem/3514733>: nil-deref in createHTMLEventListener at skiset.com
   49780 	<rdar://problem/3510676>: nil-deref of view in DocumentImpl::createHTMLEventListener at kirotv.com
   49781 	
   49782 	* khtml/xml/dom_docimpl.cpp:
   49783         (DocumentImpl::createHTMLEventListener): Don't create the listener if there is no
   49784 	part. Also, get the part when going through the view. This prevents problems when
   49785 	handlers are set or removed from the onUnload handler.
   49786 
   49787 2004-02-27  Maciej Stachowiak  <mjs (a] apple.com>
   49788 
   49789         Reviewed by Dave.
   49790 
   49791 	- fixed <rdar://problem/3571356>: REGRESSION: Crash in isPointInsideSelection clicking on link in Apple web directory frame
   49792 	
   49793         * khtml/khtml_part.cpp:
   49794         (KHTMLPart::isPointInsideSelection): Don't crash if innerNode is
   49795 	NULL, as this can happen mousing over a frame that's in the
   49796 	process of loading and currently empty. Since such a frame
   49797 	obviously can't be inside the selection, this seems like a good
   49798 	enough fix.
   49799 	
   49800 2004-02-26  David Hyatt  <hyatt (a] apple.com>
   49801 
   49802 	Fix for 3528839, wide table cut off because of shorts being used instead of ints.
   49803 	
   49804         Reviewed by darin
   49805 
   49806         * khtml/rendering/render_table.cpp:
   49807         (RenderTableSection::layoutRows):
   49808         (RenderTableCell::setWidth):
   49809         * khtml/rendering/table_layout.cpp:
   49810         (FixedTableLayout::calcWidthArray):
   49811         (FixedTableLayout::calcMinMaxWidth):
   49812         (AutoTableLayout::calcMinMaxWidth):
   49813 
   49814 2004-02-26  Chris Blumenberg  <cblu (a] apple.com>
   49815 
   49816 	Fixed a few problems I found with reconstructed source while on my way to implementing "Mail Page".
   49817 
   49818         Reviewed by hyatt.
   49819 
   49820         * khtml/html/html_headimpl.cpp:
   49821         (HTMLLinkElementImpl::isSubresourceURLAttribute): only true for stylesheet and icon
   49822         * khtml/html/html_imageimpl.cpp:
   49823         (HTMLAreaElementImpl::isURLAttribute): implement isURLAttribute not isSubresourceURLAttribute
   49824         * khtml/html/html_imageimpl.h:
   49825         * khtml/rendering/render_box.cpp:
   49826         (RenderBox::dirtyLineBoxes): crasher fix that I found using libgmalloc
   49827         * khtml/xml/dom_nodeimpl.cpp:
   49828         (NodeImpl::recursive_toHTMLWithOptions): don't escape SCRIPT and TEXTAREA text, write close tags for tags that need them instead of relying on the children check 
   49829         * kwq/WebCoreBridge.mm:
   49830         (-[WebCoreBridge HTMLString:]): call recursive_toHTMLWithOptions on the first child of the document so <#document /> isn't part of the source
   49831 
   49832 2004-02-26  David Hyatt  <hyatt (a] apple.com>
   49833 
   49834 	Convert render object widths from short to int.  There was a bug on this, but I can't find it in Radar.
   49835 	
   49836         Reviewed by john
   49837 
   49838         * khtml/rendering/render_applet.cpp:
   49839         (RenderApplet::intrinsicWidth):
   49840         (RenderEmptyApplet::intrinsicWidth):
   49841         * khtml/rendering/render_applet.h:
   49842         * khtml/rendering/render_block.cpp:
   49843         (khtml::RenderBlock::calcMinMaxWidth):
   49844         (khtml::RenderBlock::calcInlineMinMaxWidth):
   49845         * khtml/rendering/render_block.h:
   49846         * khtml/rendering/render_box.cpp:
   49847         (RenderBox::contentWidth):
   49848         (RenderBox::width):
   49849         (RenderBox::containingBlockWidth):
   49850         (RenderBox::calcReplacedWidth):
   49851         (RenderBox::setStaticX):
   49852         * khtml/rendering/render_box.h:
   49853         (khtml::RenderBox::minWidth):
   49854         (khtml::RenderBox::maxWidth):
   49855         * khtml/rendering/render_br.h:
   49856         (khtml::RenderBR::minWidth):
   49857         (khtml::RenderBR::maxWidth):
   49858         * khtml/rendering/render_canvas.cpp:
   49859         (RenderCanvas::layout):
   49860         * khtml/rendering/render_flexbox.cpp:
   49861         (khtml::RenderFlexibleBox::calcMinMaxWidth):
   49862         * khtml/rendering/render_frames.cpp:
   49863         (RenderPart::intrinsicWidth):
   49864         (RenderPartObject::layout):
   49865         * khtml/rendering/render_frames.h:
   49866         * khtml/rendering/render_image.cpp:
   49867         (RenderImage::layout):
   49868         (RenderImage::calcReplacedWidth):
   49869         * khtml/rendering/render_image.h:
   49870         * khtml/rendering/render_inline.cpp:
   49871         (RenderInline::width):
   49872         * khtml/rendering/render_inline.h:
   49873         * khtml/rendering/render_layer.cpp:
   49874         (RenderLayer::scrollWidth):
   49875         * khtml/rendering/render_layer.h:
   49876         (khtml::RenderLayer::width):
   49877         (khtml::RenderLayer::setWidth):
   49878         (khtml::RenderLayer::scrollXOffset):
   49879         * khtml/rendering/render_line.h:
   49880         (khtml::InlineBox::setWidth):
   49881         (khtml::InlineBox::width):
   49882         (khtml::InlineBox::setXPos):
   49883         (khtml::InlineBox::xPos):
   49884         * khtml/rendering/render_object.cpp:
   49885         (RenderObject::containingBlockWidth):
   49886         * khtml/rendering/render_object.h:
   49887         (khtml::RenderObject::setStaticX):
   49888         (khtml::RenderObject::contentWidth):
   49889         (khtml::RenderObject::intrinsicWidth):
   49890         (khtml::RenderObject::width):
   49891         (khtml::RenderObject::offsetWidth):
   49892         (khtml::RenderObject::minWidth):
   49893         (khtml::RenderObject::maxWidth):
   49894         * khtml/rendering/render_replaced.h:
   49895         (khtml::RenderReplaced::intrinsicWidth):
   49896         * khtml/rendering/render_table.cpp:
   49897         (RenderTable::calcWidth):
   49898         * khtml/rendering/render_table.h:
   49899         * khtml/rendering/render_text.cpp:
   49900         (RenderText::trimmedMinMaxWidth):
   49901         (RenderText::width):
   49902         * khtml/rendering/render_text.h:
   49903         (khtml::RenderText::minWidth):
   49904         (khtml::RenderText::maxWidth):
   49905         * khtml/rendering/table_layout.cpp:
   49906 
   49907 2004-02-26  Trey Matteson  <trey (a] apple.com>
   49908 
   49909 	3566668 - REGRESSION (125-128): autofill of popup lists is broken
   49910 	3571271 - autofill parsing of field names should treat _ as a word separator
   49911 
   49912         Reviewed by Chris, Darin
   49913 
   49914         * kwq/KWQComboBox.h:
   49915         * kwq/KWQComboBox.mm:
   49916         (QComboBox::populate):   New virtual method to force any lazy field population to happen.
   49917         * kwq/KWQKHTMLPart.mm:
   49918         (KWQKHTMLPart::matchLabelsAgainstElement):  Change _ to ' ', to make it a word separator.
   49919         * kwq/KWQWidget.h:
   49920         (QWidget::populate):  Implement populate to fill out the menu's data.
   49921         * kwq/WebCoreBridge.mm:
   49922         (viewForElement):    Make sure widget is populated before handing it out.
   49923 
   49924 2004-02-26  Ken Kocienda  <kocienda (a] apple.com>
   49925 
   49926         Reviewed by Chris
   49927 
   49928         * WebCore.pbproj/project.pbxproj:
   49929         * khtml/xml/dom2_rangeimpl.h: Now includes createInstance glue function as do the other
   49930         khtml DOM objects that we reflect into ObjC.
   49931         * kwq/DOM-compat.h: Added. Compatibility declarations for DOM SPI. Note that this file 
   49932         is copied into WebKit by the build system as needed.
   49933         * kwq/DOM.h: Added. New home for DOM SPI. Note that this file is copied into WebKit by the build 
   49934         system as needed.
   49935         * kwq/KWQKHTMLPart.mm:
   49936         (KWQKHTMLPart::recordFormValue): Updated usage to new DOM SPI.
   49937         * kwq/WebCoreBridge.h: Updated usage to new DOM SPI.
   49938         * kwq/WebCoreBridge.mm: Updated usage to new DOM SPI. Needed to add DOM range impl include since
   49939         includes jiggered around and this needed header was no longer included indirectly.
   49940         (-[WebCoreBridge elementForView:]): Ditto.
   49941         (inputElementFromDOMElement): Ditto.
   49942         (formElementFromDOMElement): Ditto.
   49943         (-[WebCoreBridge elementWithName:inForm:]): Ditto.
   49944         (-[WebCoreBridge elementDoesAutoComplete:]): Ditto.
   49945         (-[WebCoreBridge elementIsPassword:]): Ditto.
   49946         (-[WebCoreBridge currentForm]): Ditto.
   49947         (-[WebCoreBridge controlsInForm:]): Ditto.
   49948         (-[WebCoreBridge searchForLabels:beforeElement:]): Ditto.
   49949         (-[WebCoreBridge matchLabels:againstElement:]): Ditto.
   49950         (-[WebCoreBridge elementAtPoint:]): Ditto.
   49951         (-[WebCoreBridge DOMDocument]): Ditto.
   49952         (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]): Ditto.
   49953         (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]): Ditto.
   49954         (-[WebCoreBridge selectionStart]): Ditto.
   49955         (-[WebCoreBridge selectionEnd]): Ditto.
   49956         * kwq/WebCoreDOM.h: New home for all private declarations needed for reflecting DOM into ObjC.
   49957         * kwq/WebCoreDOM.mm: Added. New home for all implementations needed for reflecting DOM into ObjC.
   49958         * kwq/WebCoreDOMDocument.mm: Removed. All ObjC DOM implementation now in WebCoreDOM.mm.
   49959         * kwq/WebCoreDOMNode.mm: Removed. All ObjC DOM implementation now in WebCoreDOM.mm.
   49960         * kwq/WebCoreDOMPrivate.h: Removed.
   49961         * kwq/WebDOMDocument.h: Removed.
   49962         * kwq/WebDOMElement.h: Removed.
   49963         * kwq/WebDOMNode.h: Removed.
   49964 
   49965 2004-02-25  John Sullivan  <sullivan (a] apple.com>
   49966 
   49967         WebCore part of fix for <rdar://problem/3546370>: add a way to tab to menus, 
   49968         checkmarks, and buttons without turning on Full Keyboard Acceess
   49969 
   49970         Reviewed by Ken.
   49971 
   49972         * kwq/KWQKHTMLPart.h:
   49973         * kwq/KWQKHTMLPart.mm:
   49974         (KWQKHTMLPart::tabsToAllControls):
   49975         now checks for option-tab like tabsToLinks
   49976         (KWQKHTMLPart::partForWidget):
   49977         new method, extracted from bridgeForWidget
   49978         (KWQKHTMLPart::bridgeForWidget):
   49979         now calls extracted method
   49980 
   49981         * kwq/KWQButton.mm:
   49982         (-[KWQButton canBecomeKeyView]):
   49983         overridden to handle our rules about full keyboard access, different
   49984         than NSView's rules
   49985         * kwq/KWQComboBox.mm:
   49986         (-[KWQPopUpButton canBecomeKeyView]):
   49987         ditto
   49988         * kwq/KWQListBox.mm:
   49989         (-[KWQTableView canBecomeKeyView]):
   49990         ditto
   49991         
   49992 2004-02-24  Darin Adler  <darin (a] apple.com>
   49993 
   49994         Reviewed by Ken.
   49995 
   49996         * kwq/KWQString.mm: (QString::endsWith): Fixed broken end of string test, to get rid
   49997         of false positives.
   49998 
   49999         * WebCore-tests.exp: Added endsWith so it can be tested.
   50000         * WebCore-combined.exp: Regenerated.
   50001 
   50002 2004-02-23  David Hyatt  <hyatt (a] apple.com>
   50003 
   50004 	Fix for 3549772, hangs on border collapsing.
   50005 	
   50006         Reviewed by darin
   50007 
   50008         * khtml/rendering/render_object.cpp:
   50009         (RenderObject::collectBorders):
   50010         * khtml/rendering/render_object.h:
   50011         * khtml/rendering/render_table.cpp:
   50012         (RenderTable::paint):
   50013         (compareBorders):
   50014         (RenderTableCell::paint):
   50015         (addBorderStyle):
   50016         (RenderTableCell::collectBorders):
   50017         * khtml/rendering/render_table.h:
   50018 
   50019 2004-02-23  David Hyatt  <hyatt (a] apple.com>
   50020 
   50021 	Fix for 3558717, make sure that form elements that are removed from a document also remove themselves
   50022 	from the form.
   50023 
   50024 	Reviewed by darin.
   50025 	
   50026         * khtml/html/html_formimpl.cpp:
   50027         (HTMLGenericFormElementImpl::removedFromDocument):
   50028         * khtml/html/html_formimpl.h:
   50029         * khtml/xml/dom_nodeimpl.cpp:
   50030         * khtml/xml/dom_nodeimpl.h:
   50031 
   50032 	Implement smarter line layout for faster typing and repainting when individual lines change.
   50033 
   50034 	Reviewed by kocienda.
   50035 	
   50036 	* khtml/khtmlview.cpp:
   50037         (KHTMLViewPrivate::KHTMLViewPrivate):
   50038         (KHTMLViewPrivate::~KHTMLViewPrivate):
   50039         (KHTMLViewPrivate::reset):
   50040         (KHTMLView::addRepaintInfo):
   50041         (KHTMLView::layout):
   50042         * khtml/khtmlview.h:
   50043         * khtml/rendering/bidi.cpp:
   50044         (khtml::Bidinext):
   50045         (khtml::appendRun):
   50046         (khtml::embed):
   50047         (khtml::RenderBlock::constructLine):
   50048         (khtml::RenderBlock::computeHorizontalPositionsForLine):
   50049         (khtml::RenderBlock::computeVerticalPositionsForLine):
   50050         (khtml::RenderBlock::bidiReorderLine):
   50051         (khtml::buildCompactRuns):
   50052         (khtml::RenderBlock::layoutInlineChildren):
   50053         (khtml::RenderBlock::determineStartPosition):
   50054         (khtml::RenderBlock::determineEndPosition):
   50055         (khtml::RenderBlock::matchedEndLine):
   50056         (khtml::RenderBlock::findNextLineBreak):
   50057         * khtml/rendering/render_block.cpp:
   50058         (khtml:::RenderFlow):
   50059         (khtml::RenderBlock::layoutBlock):
   50060         (khtml::RenderBlock::layoutBlockChildren):
   50061         (khtml::RenderBlock::positionNewFloats):
   50062         (khtml::RenderBlock::lowestPosition):
   50063         (khtml::RenderBlock::rightmostPosition):
   50064         (khtml::RenderBlock::leftmostPosition):
   50065         * khtml/rendering/render_block.h:
   50066         (khtml::RenderBlock::firstRootBox):
   50067         (khtml::RenderBlock::lastRootBox):
   50068         (khtml::RenderBlock::setLinesAppended):
   50069         (khtml::RenderBlock::linesAppended):
   50070         * khtml/rendering/render_box.cpp:
   50071         (RenderBox::dirtyLineBoxes):
   50072         (RenderBox::deleteLineBoxWrapper):
   50073         (RenderBox::setInlineBoxWrapper):
   50074         * khtml/rendering/render_box.h:
   50075         * khtml/rendering/render_br.cpp:
   50076         (RenderBR::createInlineBox):
   50077         (RenderBR::position):
   50078         * khtml/rendering/render_br.h:
   50079         * khtml/rendering/render_container.cpp:
   50080         (RenderContainer::appendChildNode):
   50081         (RenderContainer::insertChildNode):
   50082         * khtml/rendering/render_flexbox.cpp:
   50083         (khtml::RenderFlexibleBox::placeChild):
   50084         * khtml/rendering/render_flow.cpp:
   50085         (RenderFlow::extractLineBox):
   50086         (RenderFlow::attachLineBox):
   50087         (RenderFlow::removeLineBox):
   50088         (RenderFlow::dirtyLinesFromChangedChild):
   50089         (RenderFlow::dirtyLineBoxes):
   50090         (RenderFlow::createInlineBox):
   50091         * khtml/rendering/render_flow.h:
   50092         * khtml/rendering/render_line.cpp:
   50093         (InlineBox::dirtyLineBoxes):
   50094         (InlineBox::deleteLine):
   50095         (InlineBox::extractLine):
   50096         (InlineBox::attachLine):
   50097         (InlineBox::adjustVerticalPosition):
   50098         (InlineBox::root):
   50099         (InlineBox::nextOnLineExists):
   50100         (InlineBox::prevOnLineExists):
   50101         (InlineFlowBox::removeChild):
   50102         (InlineFlowBox::deleteLine):
   50103         (InlineFlowBox::extractLine):
   50104         (InlineFlowBox::attachLine):
   50105         (InlineFlowBox::adjustVerticalPosition):
   50106         (InlineFlowBox::verticallyAlignBoxes):
   50107         (InlineFlowBox::adjustMaxAscentAndDescent):
   50108         (RootInlineBox::adjustVerticalPosition):
   50109         (RootInlineBox::childRemoved):
   50110         * khtml/rendering/render_line.h:
   50111         (khtml::InlineBox::m_extracted):
   50112         (khtml::InlineBox::setExtracted):
   50113         (khtml::InlineBox::object):
   50114         (khtml::InlineBox::parent):
   50115         (khtml::InlineBox::isDirty):
   50116         (khtml::InlineBox::markDirty):
   50117         (khtml::InlineFlowBox::prevFlowBox):
   50118         (khtml::InlineFlowBox::nextFlowBox):
   50119         (khtml::RootInlineBox::RootInlineBox):
   50120         (khtml::RootInlineBox::nextRootBox):
   50121         (khtml::RootInlineBox::prevRootBox):
   50122         (khtml::RootInlineBox::setLineBreakInfo):
   50123         (khtml::RootInlineBox::setLineBreakPos):
   50124         (khtml::RootInlineBox::setBlockHeight):
   50125         (khtml::RootInlineBox::setEndsWithBreak):
   50126         (khtml::RootInlineBox::blockHeight):
   50127         (khtml::RootInlineBox::endsWithBreak):
   50128         (khtml::RootInlineBox::lineBreakObj):
   50129         (khtml::RootInlineBox::lineBreakPos):
   50130         * khtml/rendering/render_object.cpp:
   50131         (RenderObject::repaintAfterLayoutIfNeeded):
   50132         (RenderObject::repaintObjectsBeforeLayout):
   50133         (RenderObject::dirtyLinesFromChangedChild):
   50134         (RenderObject::createInlineBox):
   50135         (RenderObject::dirtyLineBoxes):
   50136         (RenderObject::setInlineBoxWrapper):
   50137         (RenderObject::deleteLineBoxWrapper):
   50138         * khtml/rendering/render_object.h:
   50139         (khtml::RenderObject::RepaintInfo::m_repaintRect):
   50140         * khtml/rendering/render_table.cpp:
   50141         (RenderTableSection::layoutRows):
   50142         * khtml/rendering/render_text.cpp:
   50143         (InlineTextBox::deleteLine):
   50144         (InlineTextBox::extractLine):
   50145         (InlineTextBox::attachLine):
   50146         (RenderText::RenderText):
   50147         (RenderText::detach):
   50148         (RenderText::extractTextBox):
   50149         (RenderText::attachTextBox):
   50150         (RenderText::removeTextBox):
   50151         (RenderText::setTextWithOffset):
   50152         (RenderText::setText):
   50153         (RenderText::dirtyLineBoxes):
   50154         (RenderText::createInlineBox):
   50155         * khtml/rendering/render_text.h:
   50156         (khtml::InlineTextBox::start):
   50157         (khtml::InlineTextBox::end):
   50158         (khtml::InlineTextBox::offsetRun):
   50159         * khtml/xml/dom_textimpl.cpp:
   50160         (CharacterDataImpl::setData):
   50161         (CharacterDataImpl::appendData):
   50162         (CharacterDataImpl::insertData):
   50163         (CharacterDataImpl::deleteData):
   50164         (CharacterDataImpl::replaceData):
   50165         (TextImpl::splitText):
   50166         * kwq/KWQRenderTreeDebug.cpp:
   50167         (write):
   50168 
   50169 	RenderBlock contains two other fixes.  The first is a fix to rightmost/lowestPosition to properly add in
   50170 	margins to floats.
   50171 
   50172 	Reviewed by mjs
   50173 
   50174 	The second fix is to repair a bug in block-level replaced elements with margins.  If the floats they moved to
   50175 	dodge can fit in their margins, then they don't technically have to move at all.
   50176 
   50177 	Reviewed by john
   50178 
   50179 2004-02-20  Maciej Stachowiak  <mjs (a] apple.com>
   50180 
   50181         Reviewed by Darin.
   50182 
   50183 	<rdar://problem/3552346>: REGRESSION 100-125: nil-dereference in KHTMLPart::isPointInsideSelection (progz.ru, many other sites)
   50184 	
   50185         * khtml/rendering/render_layer.cpp:
   50186         (RenderLayer::nodeAtPointForLayer): To cover the case of
   50187 	positioned generated content, make sure to find an element if we
   50188 	don't have one yet when we get to the layer level.
   50189 
   50190 === Safari-129 ===
   50191 
   50192 2004-02-19  Chris Blumenberg  <cblu (a] apple.com>
   50193 
   50194 	Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute
   50195 
   50196 	- Added isSubresourceURLAttribute to ElementImpl which is overridden by subclasses determine if an attribute refers to a subresource.
   50197 	- Added isURLAttribute to ElementImpl which is overridden by subclasses determine if an attribute refers to any kind of URL.
   50198 
   50199         Reviewed by Dave.
   50200 
   50201         * khtml/html/html_baseimpl.cpp:
   50202         (HTMLBodyElementImpl::isSubresourceURLAttribute):
   50203         (HTMLFrameElementImpl::isSubresourceURLAttribute):
   50204         (HTMLIFrameElementImpl::openURL):
   50205         (HTMLIFrameElementImpl::isSubresourceURLAttribute):
   50206         * khtml/html/html_baseimpl.h:
   50207         * khtml/html/html_formimpl.cpp:
   50208         (HTMLFormElementImpl::isURLAttribute):
   50209         * khtml/html/html_formimpl.h:
   50210         * khtml/html/html_headimpl.cpp:
   50211         (HTMLLinkElementImpl::isSubresourceURLAttribute):
   50212         (HTMLScriptElementImpl::id):
   50213         (HTMLScriptElementImpl::isSubresourceURLAttribute):
   50214         * khtml/html/html_headimpl.h:
   50215         * khtml/html/html_imageimpl.cpp:
   50216         (HTMLImageElementImpl::isSubresourceURLAttribute):
   50217         (HTMLAreaElementImpl::getRegion):
   50218         (HTMLAreaElementImpl::isSubresourceURLAttribute):
   50219         * khtml/html/html_imageimpl.h:
   50220         * khtml/html/html_inlineimpl.cpp:
   50221         (HTMLAnchorElementImpl::isURLAttribute):
   50222         * khtml/html/html_inlineimpl.h:
   50223         * khtml/html/html_objectimpl.cpp:
   50224         (HTMLEmbedElementImpl::isSubresourceURLAttribute):
   50225         (HTMLObjectElementImpl::isSubresourceURLAttribute):
   50226         (HTMLParamElementImpl::parseHTMLAttribute):
   50227         (HTMLParamElementImpl::isSubresourceURLAttribute):
   50228         * khtml/html/html_objectimpl.h:
   50229         * khtml/html/html_tableimpl.cpp:
   50230         (HTMLTableElementImpl::isSubresourceURLAttribute):
   50231         (HTMLTableCellElementImpl::attach):
   50232         (HTMLTableCellElementImpl::isSubresourceURLAttribute):
   50233         * khtml/html/html_tableimpl.h:
   50234         * khtml/xml/dom2_rangeimpl.cpp:
   50235         (RangeImpl::toHTMLWithOptions): take completeURLs and subresourceURLs arguments
   50236         (RangeImpl::toHTML): call toHTMLWithOptions with default options
   50237         * khtml/xml/dom2_rangeimpl.h:
   50238         * khtml/xml/dom_elementimpl.cpp:
   50239         (ElementImpl::isURLAttribute):
   50240         (ElementImpl::isSubresourceURLAttribute):
   50241         * khtml/xml/dom_elementimpl.h:
   50242         * khtml/xml/dom_nodeimpl.cpp:
   50243         (NodeImpl::recursive_toHTMLWithOptions): take completeURLs and subresourceURLs arguments
   50244         (NodeImpl::recursive_toHTML): call recursive_toHTML with default options
   50245         * khtml/xml/dom_nodeimpl.h:
   50246         * kwq/WebCoreBridge.h:
   50247         * kwq/WebCoreBridge.mm:
   50248         (-[WebCoreBridge selectedHTML:]): renamed to return subresource URL strings
   50249 
   50250 2004-02-17  Maciej Stachowiak  <mjs (a] apple.com>
   50251 
   50252         Reviewed by Darin.
   50253 
   50254 	<rdar://problem/3537397>: REGRESSION (100-114): Return doesn't work in Japanese input method for some HomePage fields
   50255         
   50256         * kwq/KWQTextArea.mm:
   50257         (-[KWQTextAreaTextView keyDown:]): Don't send events through DOM when there is marked
   50258 	text.
   50259         (-[KWQTextAreaTextView keyUp:]): Ditto.
   50260         * kwq/KWQTextField.mm:
   50261         (-[KWQTextField textView:shouldHandleEvent:]): Ditto.
   50262         (-[KWQSecureTextField textView:shouldHandleEvent:]): Ditto.
   50263 	* khtml/html/html_formimpl.cpp:
   50264         (HTMLInputElementImpl::defaultEventHandler): No need to check for
   50265 	marked text on "return" any more, because we won't send key events
   50266 	through the DOM at all when there is marked text.
   50267         * kwq/KWQLineEdit.h:
   50268         * kwq/KWQLineEdit.mm: Removed haveMarkedText method, no longer
   50269 	used by anything.
   50270 
   50271 2004-02-16  Chris Blumenberg  <cblu (a] apple.com>
   50272 
   50273 	WebCore side of pasting image data.
   50274 
   50275         Reviewed by kocienda.
   50276 
   50277         * khtml/editing/htmlediting.cpp:
   50278         (PasteImageCommand::PasteImageCommand): new
   50279         (PasteImageCommand::~PasteImageCommand): new
   50280         (PasteImageCommand::impl): new
   50281         * khtml/editing/htmlediting.h:
   50282         (khtml::):
   50283         * khtml/editing/htmlediting_impl.cpp:
   50284         (EditCommandImpl::name): added support for PasteImageCommandID
   50285         (CompositeEditCommandImpl::insertNodeAt): new, factored out from PasteHTMLCommandImpl::apply
   50286         (PasteHTMLCommandImpl::apply): call insertNodeAt
   50287         (PasteImageCommandImpl::PasteImageCommandImpl): new
   50288         (PasteImageCommandImpl::~PasteImageCommandImpl): new
   50289         (PasteImageCommandImpl::apply): new
   50290         * khtml/editing/htmlediting_impl.h:
   50291         * khtml/khtml_part.cpp:
   50292         (KHTMLPart::pasteHTMLString): unchanged
   50293         (KHTMLPart::pasteImage): new
   50294         * khtml/khtml_part.h:
   50295         * kwq/WebCoreBridge.h:
   50296         * kwq/WebCoreBridge.mm:
   50297         (-[WebCoreBridge pasteImageWithURL:]): new
   50298 
   50299 2004-02-16  Darin Adler  <darin (a] apple.com>
   50300 
   50301         Reviewed by Ken.
   50302 
   50303         - Fixed some dynamic casts that Dirk complained about to use virtual functions instead.
   50304           Since the virtual functions were already there, this is faster and better in most
   50305           ways anyway.
   50306 
   50307         * khtml/dom/dom2_events.cpp:
   50308         (UIEvent::keyCode): Use virtual function instead of dynamic_cast.
   50309         (UIEvent::charCode): Ditto.
   50310         (UIEvent::pageX): Ditto.
   50311         (UIEvent::pageY): Ditto.
   50312         (UIEvent::layerX): Ditto.
   50313         (UIEvent::layerY): Ditto.
   50314         (UIEvent::which): Ditto.
   50315 
   50316 2004-02-15  Darin Adler  <darin (a] apple.com>
   50317 
   50318         Reviewed by Dave.
   50319 
   50320         * WebCore.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
   50321         and removing redundant settings of things that match defaults in other build styles.
   50322 
   50323 2004-02-15  Darin Adler  <darin (a] apple.com>
   50324 
   50325         Reviewed by Dave.
   50326 
   50327         - fixed 3548533: crash in XMLHttpRequest::slotData using Orkut's rating system
   50328 
   50329         * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::~XMLHttpRequest):
   50330         Delete the QObject side, which has a side effect of disconnecting the
   50331         signals which seem to be firing after the request is gone. There may be
   50332         another way of addressing the crash by correcting some other problem with
   50333         killing the job, but this demonstrably works and fixes a storage leak.
   50334 
   50335 2004-02-12  Maciej Stachowiak  <mjs (a] apple.com>
   50336 
   50337         Reviewed by John.
   50338 
   50339 	- redo visited link history checking for a 2% speed improvement
   50340 
   50341         * kwq/KWQKHistoryProvider.mm:
   50342         (KParts::HistoryProvider::contains): Don't make a KURL or an
   50343 	NSString. Punt on canonicalization and directly pass the internal
   50344 	Latin1 or unicode buffer.
   50345         * kwq/KWQString.h:
   50346         * kwq/KWQString.mm:
   50347         (QString::hasFastLatin1): New method to check whether getting the
   50348 	latin1 buffer is fast (doesn't allocate).
   50349         * kwq/WebCoreHistory.h: add new methods to look up by raw latin1
   50350 	or unicode buffer instead of NSString.
   50351 
   50352 === Safari-128 ===
   50353 
   50354 2004-02-12  David Hyatt  <hyatt (a] apple.com>
   50355 
   50356 	Fix for 3557850 and 3557607.  Make sure to setParent(0) on the body's link declaration, so that TreeShared
   50357 	will delete it.
   50358 	
   50359         * khtml/html/html_baseimpl.cpp:
   50360         (HTMLBodyElementImpl::~HTMLBodyElementImpl):
   50361 
   50362 2004-02-12  Ken Kocienda  <kocienda (a] apple.com>
   50363 
   50364         Reviewed by Hyatt
   50365 
   50366 	Refactored object design for edit commands into something that's
   50367 	starting to feel more solid. Added some accessors to edit 
   50368 	commands.
   50369 
   50370         * WebCore.pbproj/project.pbxproj:
   50371         * khtml/editing/htmlediting_impl.h: Added.
   50372         * khtml/editing/htmlediting_impl.m: Added.
   50373 
   50374 2004-02-11  David Hyatt  <hyatt (a] apple.com>
   50375 
   50376 	Fix for 3550005, 936 leaks when loading checkbox page of pain.  Make sure to nuke the inline box
   50377 	wrapper when detaching the RenderWidget.
   50378 
   50379         * khtml/rendering/render_replaced.cpp:
   50380         (RenderWidget::detach):
   50381 
   50382 2004-02-11  David Hyatt  <hyatt (a] apple.com>
   50383 
   50384 	Add some more polish to ensure the ypos estimate is right.  Correct the clearing of images so that
   50385 	their top margins do not get added in when they clear the float because of having a large width.
   50386 	
   50387         Reviewed by kocienda
   50388 
   50389         * khtml/rendering/render_block.cpp:
   50390         (khtml::RenderBlock::layoutBlockChildren):
   50391         * layout-tests/fast/block/margin-collapse/101-expected.txt: Added.
   50392         * layout-tests/fast/block/margin-collapse/101.html: Added.
   50393         * layout-tests/fast/block/margin-collapse/102-expected.txt: Added.
   50394         * layout-tests/fast/block/margin-collapse/102.html: Added.
   50395 
   50396 2004-02-11  David Hyatt  <hyatt (a] apple.com>
   50397 
   50398 	Fix for 3556702, margin collapsing gets disabled when images spill out of the containing block.
   50399 	
   50400         Reviewed by kocienda
   50401 
   50402         * khtml/rendering/render_block.cpp:
   50403         (khtml::RenderBlock::layoutBlockChildren):
   50404 
   50405 2004-02-11  David Hyatt  <hyatt (a] apple.com>
   50406 
   50407 	Fix the .rows and .cells arrays on tables by merging with the KHTML trunk.  TH was being included
   50408 	as a row instead of as a cell.
   50409 	
   50410         Reviewed by kocienda
   50411 
   50412         * khtml/html/html_miscimpl.cpp:
   50413         (HTMLCollectionImpl::calcLength):
   50414         (HTMLCollectionImpl::getItem):
   50415         (HTMLCollectionImpl::getNamedItem):
   50416 
   50417 2004-02-11  David Hyatt  <hyatt (a] apple.com>
   50418 
   50419 	Remove my bogus refs of the elementSheet.  Fixes 3554213 and 3555467.
   50420 	
   50421         * khtml/html/html_baseimpl.cpp:
   50422         (HTMLBodyElementImpl::createLinkDecl):
   50423         * khtml/html/html_tableimpl.cpp:
   50424         (HTMLTableElementImpl::additionalAttributeStyleDecl):
   50425         (HTMLTableElementImpl::getSharedCellDecl):
   50426 
   50427 2004-02-11  David Hyatt  <hyatt (a] apple.com>
   50428 
   50429 	Fix for 3556037, regression where display:block generated content didn't work.
   50430 	
   50431         Reviewed by kocienda
   50432 
   50433         * khtml/rendering/render_block.cpp:
   50434         (khtml::RenderBlock::setStyle):
   50435         (khtml::RenderBlock::addChildToFlow):
   50436         (khtml::RenderBlock::removeChild):
   50437         (khtml::RenderBlock::renderName):
   50438         * khtml/rendering/render_container.cpp:
   50439         (RenderContainer::insertChildNode):
   50440         (RenderContainer::removeLeftoverAnonymousBoxes):
   50441         * khtml/rendering/render_inline.cpp:
   50442         (RenderInline::splitFlow):
   50443         (RenderInline::renderName):
   50444         * khtml/rendering/render_list.cpp:
   50445         (RenderListItem::updateMarkerLocation):
   50446         * khtml/rendering/render_object.h:
   50447         (khtml::RenderObject::isAnonymousBlock):
   50448         * layout-tests/css1/pseudo/firstletter-expected.txt:
   50449         * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
   50450         * layout-tests/fast/css-generated-content/002-expected.txt:
   50451         * layout-tests/fast/css-generated-content/004-expected.txt:
   50452         * layout-tests/fast/css-generated-content/005-expected.txt:
   50453         * layout-tests/fast/css-generated-content/006-expected.txt:
   50454         * layout-tests/fast/css-generated-content/007-expected.txt:
   50455         * layout-tests/fast/css-generated-content/009-expected.txt:
   50456         * layout-tests/fast/css-generated-content/010-expected.txt:
   50457         * layout-tests/fast/selectors/039-expected.txt:
   50458         * layout-tests/fast/selectors/039b-expected.txt:
   50459         * layout-tests/fast/selectors/041-expected.txt:
   50460         * layout-tests/fast/selectors/042-expected.txt:
   50461         * layout-tests/fast/selectors/166a-expected.txt:
   50462         * layout-tests/fast/selectors/168-expected.txt:
   50463         * layout-tests/fast/selectors/168a-expected.txt:
   50464         * layout-tests/fast/selectors/169-expected.txt:
   50465         * layout-tests/fast/selectors/169a-expected.txt:
   50466         * layout-tests/fast/text/firstline/002-expected.txt:
   50467         * layout-tests/fast/text/firstline/003-expected.txt:
   50468 
   50469 2004-02-11  Darin Adler   <darin (a] apple.com>
   50470 
   50471         Reviewed by Richard.
   50472 
   50473         * kwq/KWQTextCodec.mm:
   50474         (KWQTextDecoder::convertLatin1):
   50475 	Fix off by one error.
   50476 
   50477 2004-02-11  David Hyatt  <hyatt (a] apple.com>
   50478 
   50479 	Convert paint methods over to use a new PaintInfo struct.  Eliminate the paintObject method.
   50480 	
   50481         Reviewed by kocienda
   50482 
   50483         * khtml/rendering/render_block.cpp:
   50484         (khtml::RenderBlock::paint):
   50485         (khtml::RenderBlock::paintObject):
   50486         (khtml::RenderBlock::paintFloats):
   50487         * khtml/rendering/render_block.h:
   50488         * khtml/rendering/render_box.cpp:
   50489         (RenderBox::paint):
   50490         (RenderBox::paintRootBoxDecorations):
   50491         (RenderBox::paintBoxDecorations):
   50492         * khtml/rendering/render_box.h:
   50493         * khtml/rendering/render_br.h:
   50494         (khtml::RenderBR::paint):
   50495         * khtml/rendering/render_canvas.cpp:
   50496         (RenderCanvas::paint):
   50497         (RenderCanvas::paintBoxDecorations):
   50498         * khtml/rendering/render_canvas.h:
   50499         * khtml/rendering/render_flow.cpp:
   50500         (RenderFlow::paintLineBoxBackgroundBorder):
   50501         (RenderFlow::paintLineBoxDecorations):
   50502         * khtml/rendering/render_flow.h:
   50503         * khtml/rendering/render_form.cpp:
   50504         (RenderFieldset::paintBoxDecorations):
   50505         * khtml/rendering/render_form.h:
   50506         * khtml/rendering/render_image.cpp:
   50507         (RenderImage::paint):
   50508         (RenderImage::updateFromElement):
   50509         * khtml/rendering/render_image.h:
   50510         * khtml/rendering/render_inline.cpp:
   50511         (RenderInline::paint):
   50512         * khtml/rendering/render_inline.h:
   50513         * khtml/rendering/render_layer.cpp:
   50514         (RenderLayer::paintLayer):
   50515         * khtml/rendering/render_line.cpp:
   50516         (InlineFlowBox::paintBackgroundAndBorder):
   50517         (InlineFlowBox::paintDecorations):
   50518         * khtml/rendering/render_line.h:
   50519         (khtml::InlineRunBox::paintBackgroundAndBorder):
   50520         (khtml::InlineRunBox::paintDecorations):
   50521         * khtml/rendering/render_list.cpp:
   50522         (RenderListItem::paint):
   50523         (RenderListMarker::paint):
   50524         * khtml/rendering/render_list.h:
   50525         * khtml/rendering/render_object.cpp:
   50526         (RenderObject::paint):
   50527         * khtml/rendering/render_object.h:
   50528         (khtml::RenderObject::PaintInfo::PaintInfo):
   50529         (khtml::RenderObject::paintBoxDecorations):
   50530         * khtml/rendering/render_replaced.cpp:
   50531         (RenderReplaced::shouldPaint):
   50532         (RenderWidget::paint):
   50533         * khtml/rendering/render_replaced.h:
   50534         * khtml/rendering/render_table.cpp:
   50535         (RenderTable::paint):
   50536         (RenderTable::paintBoxDecorations):
   50537         (RenderTableSection::paint):
   50538         (RenderTableCell::paint):
   50539         (RenderTableCell::paintBoxDecorations):
   50540         * khtml/rendering/render_table.h:
   50541         * khtml/rendering/render_text.cpp:
   50542         (RenderText::paint):
   50543         * khtml/rendering/render_text.h:
   50544 
   50545 2004-02-11  Ken Kocienda  <kocienda (a] apple.com>
   50546 
   50547 		Removed include file I was considering checking, but 
   50548 		decided against. Of course, this dangling include
   50549 		broke the build.
   50550 		
   50551         * kwq/KWQKHTMLPart.mm
   50552         * kwq/WebCoreBridge.mm
   50553 
   50554 2004-02-10  Ken Kocienda  <kocienda (a] apple.com>
   50555 
   50556         Reviewed by Hyatt
   50557         
   50558         Several big changes.
   50559         
   50560         EditSteps are now all EditCommands.
   50561         Smart pointer for Shared classes added to shared.h.
   50562 		Some events, like text input events, are now coalesced.
   50563 		"Undo typing" now implemented, even though the name is not in the menu yet.
   50564 		Integer id's added to EditCommand and its subclasses.
   50565 		A bunch of cleanup in the EditCommand classes.
   50566 
   50567         * khtml/editing/htmlediting.cpp:
   50568         (EditCommand::EditCommand):
   50569         (EditCommand::~EditCommand):
   50570         (EditCommand::commandID):
   50571         (EditCommand::reapply):
   50572         (EditCommand::beginApply):
   50573         (EditCommand::endApply):
   50574         (EditCommand::beginUnapply):
   50575         (EditCommand::endUnapply):
   50576         (EditCommand::beginReapply):
   50577         (EditCommand::endReapply):
   50578         (EditCommand::currentSelection):
   50579         (EditCommand::coalesce):
   50580         (EditCommand::groupForUndo):
   50581         (EditCommand::groupForRedo):
   50582         (EditCommand::moveToStartingSelection):
   50583         (EditCommand::moveToEndingSelection):
   50584         (EditCommand::name):
   50585         (CompositeEditCommand::CompositeEditCommand):
   50586         (CompositeEditCommand::~CompositeEditCommand):
   50587         (CompositeEditCommand::unapply):
   50588         (CompositeEditCommand::reapply):
   50589         (CompositeEditCommand::applyCommand):
   50590         (CompositeEditCommand::insertNodeBefore):
   50591         (CompositeEditCommand::insertNodeAfter):
   50592         (CompositeEditCommand::appendNode):
   50593         (CompositeEditCommand::removeNode):
   50594         (CompositeEditCommand::splitTextNode):
   50595         (CompositeEditCommand::joinTextNodes):
   50596         (CompositeEditCommand::insertText):
   50597         (CompositeEditCommand::deleteText):
   50598         (CompositeEditCommand::moveSelectionTo):
   50599         (CompositeEditCommand::deleteSelection):
   50600         (InsertNodeBeforeCommand::InsertNodeBeforeCommand):
   50601         (InsertNodeBeforeCommand::~InsertNodeBeforeCommand):
   50602         (InsertNodeBeforeCommand::apply):
   50603         (InsertNodeBeforeCommand::unapply):
   50604         (AppendNodeCommand::AppendNodeCommand):
   50605         (AppendNodeCommand::~AppendNodeCommand):
   50606         (AppendNodeCommand::apply):
   50607         (AppendNodeCommand::unapply):
   50608         (RemoveNodeCommand::RemoveNodeCommand):
   50609         (RemoveNodeCommand::~RemoveNodeCommand):
   50610         (RemoveNodeCommand::apply):
   50611         (RemoveNodeCommand::unapply):
   50612         (ModifyTextNodeCommand::ModifyTextNodeCommand):
   50613         (ModifyTextNodeCommand::~ModifyTextNodeCommand):
   50614         (ModifyTextNodeCommand::splitTextNode):
   50615         (ModifyTextNodeCommand::joinTextNodes):
   50616         (SplitTextNodeCommand::SplitTextNodeCommand):
   50617         (SplitTextNodeCommand::~SplitTextNodeCommand):
   50618         (SplitTextNodeCommand::apply):
   50619         (SplitTextNodeCommand::unapply):
   50620         (JoinTextNodesCommand::JoinTextNodesCommand):
   50621         (JoinTextNodesCommand::~JoinTextNodesCommand):
   50622         (JoinTextNodesCommand::apply):
   50623         (JoinTextNodesCommand::unapply):
   50624         (InsertTextCommand::InsertTextCommand):
   50625         (InsertTextCommand::~InsertTextCommand):
   50626         (InsertTextCommand::apply):
   50627         (InsertTextCommand::unapply):
   50628         (DeleteTextCommand::DeleteTextCommand):
   50629         (DeleteTextCommand::~DeleteTextCommand):
   50630         (DeleteTextCommand::apply):
   50631         (DeleteTextCommand::unapply):
   50632         (MoveSelectionToCommand::MoveSelectionToCommand):
   50633         (MoveSelectionToCommand::~MoveSelectionToCommand):
   50634         (MoveSelectionToCommand::commandID):
   50635         (MoveSelectionToCommand::apply):
   50636         (MoveSelectionToCommand::unapply):
   50637         (DeleteSelectionCommand::DeleteSelectionCommand):
   50638         (DeleteSelectionCommand::~DeleteSelectionCommand):
   50639         (DeleteSelectionCommand::apply):
   50640         (InputTextCommand::InputTextCommand):
   50641         (InputTextCommand::~InputTextCommand):
   50642         (InputTextCommand::commandID):
   50643         (InputTextCommand::isLineBreak):
   50644         (InputTextCommand::isSpace):
   50645         (InputTextCommand::apply):
   50646         (InputTextCommand::coalesce):
   50647         (InputTextCommand::groupForUndo):
   50648         (InputTextCommand::groupForRedo):
   50649         (InputTextCommand::execute):
   50650         (DeleteKeyCommand::DeleteKeyCommand):
   50651         (DeleteKeyCommand::~DeleteKeyCommand):
   50652         (DeleteKeyCommand::commandID):
   50653         (DeleteKeyCommand::apply):
   50654         (DeleteKeyCommand::groupForUndo):
   50655         (DeleteKeyCommand::groupForRedo):
   50656         (PasteHTMLCommand::PasteHTMLCommand):
   50657         (PasteHTMLCommand::~PasteHTMLCommand):
   50658         (PasteHTMLCommand::apply):
   50659         * khtml/editing/htmlediting.h:
   50660         (khtml::):
   50661         (khtml::EditCommand::):
   50662         (khtml::EditCommand::document):
   50663         (khtml::EditCommand::state):
   50664         (khtml::EditCommand::setState):
   50665         (khtml::SplitTextNodeCommand::joinState):
   50666         (khtml::SplitTextNodeCommand::splitState):
   50667         (khtml::JoinTextNodesCommand::joinState):
   50668         (khtml::JoinTextNodesCommand::splitState):
   50669         * khtml/khtml_part.cpp:
   50670         (KHTMLPart::openURL):
   50671         (KHTMLPart::deleteSelection):
   50672         (KHTMLPart::applyCommand):
   50673         (KHTMLPart::undoEditing):
   50674         (KHTMLPart::redoEditing):
   50675         (KHTMLPart::pasteHTMLString):
   50676         * khtml/khtml_part.h:
   50677         * khtml/khtmlpart_p.h:
   50678         (KHTMLPartPrivate::~KHTMLPartPrivate):
   50679         * khtml/misc/shared.h:
   50680         (khtml::SharedPtr::SharedPtr):
   50681         (khtml::SharedPtr::~SharedPtr):
   50682         (khtml::SharedPtr::isEmpty):
   50683         (khtml::SharedPtr::get):
   50684         (khtml::SharedPtr::operator*):
   50685         (khtml::SharedPtr::operator->):
   50686         (khtml::SharedPtr::operator!):
   50687         (khtml::SharedPtr::operator==):
   50688         (khtml::::operator):
   50689         (khtml::operator!=):
   50690         * khtml/xml/dom_elementimpl.cpp:
   50691         (ElementImpl::defaultEventHandler):
   50692         * kwq/KWQKHTMLPart.h:
   50693         * kwq/KWQKHTMLPart.mm:
   50694         (KWQKHTMLPart::registerCommandForUndo):
   50695         (KWQKHTMLPart::registerCommandForRedo):
   50696         (KWQKHTMLPart::clearUndoRedoOperations):
   50697         * kwq/WebCoreBridge.h:
   50698         * kwq/WebCoreBridge.mm:
   50699         (-[WebCoreBridge undoEditing:]):
   50700         (-[WebCoreBridge redoEditing:]):
   50701 
   50702 2004-02-10  David Hyatt  <hyatt (a] apple.com>
   50703 
   50704 	Eliminate the double-completion and double-parsing of KURLs for every single image request.
   50705 	
   50706         * khtml/misc/loader.cpp:
   50707         (DocLoader::requestImage):
   50708         (Cache::requestImage):
   50709         * khtml/misc/loader.h:
   50710 
   50711 2004-02-10  David Hyatt  <hyatt (a] apple.com>
   50712 
   50713 	Merged patch that fixes clear:both for floats.  This patch comes from the KHTML tree.
   50714 	
   50715         * khtml/rendering/render_block.cpp:
   50716         (khtml::RenderBlock::positionNewFloats):
   50717         * layout-tests/fast/block/float/029-expected.txt: Added.
   50718         * layout-tests/fast/block/float/029.html: Added.
   50719 
   50720 2004-02-10  David Hyatt  <hyatt (a] apple.com>
   50721 
   50722 	Fix crasher in list code caused by incorrect style deallocation.  Regression from the
   50723 	arena changes for RenderStyles.
   50724 	
   50725         Reviewed by darin
   50726 
   50727         * khtml/rendering/render_object.cpp:
   50728         (RenderObject::remove):
   50729         (RenderObject::arenaDelete):
   50730 
   50731 2004-02-10  David Hyatt  <hyatt (a] apple.com>
   50732 
   50733 	Fix for osnews.com's wacky layout problem.  Put back in the check for isEmpty.
   50734 	
   50735         Reviewed by darin
   50736 
   50737         * khtml/html/htmltokenizer.cpp:
   50738         (khtml::HTMLTokenizer::scriptHandler):
   50739 
   50740 2004-02-10  David Hyatt  <hyatt (a] apple.com>
   50741 
   50742 	Fix for the bad background color on abcnews.com.  Make cloning optionally drop the style declarations.
   50743 
   50744         * khtml/html/html_elementimpl.cpp:
   50745         (HTMLAttributeImpl::clone):
   50746         * khtml/html/html_elementimpl.h:
   50747         * khtml/html/htmlparser.cpp:
   50748         (KHTMLParser::insertNode):
   50749         * khtml/xml/dom_elementimpl.cpp:
   50750         (AttributeImpl::clone):
   50751         * khtml/xml/dom_elementimpl.h:
   50752 
   50753 2004-02-10  Chris Blumenberg  <cblu (a] apple.com>
   50754 
   50755 	Fixed: <rdar://problem/3552545>: Cut, Paste and Delete must support Undo and Redo
   50756 
   50757         Reviewed by kocienda.
   50758 
   50759         * khtml/editing/htmlediting.cpp:
   50760         (ModifyTextNodeStep::splitTextNode): ken's fix that fixes a problem with unapply
   50761         (ModifyTextNodeStep::joinTextNodes): my fix that fixes a problem with unapply
   50762         (PasteHTMLCommand::PasteHTMLCommand): new
   50763         (PasteHTMLCommand::apply): moved from dom_docimpl.cpp and improved
   50764         * khtml/editing/htmlediting.h:
   50765         (khtml::PasteHTMLCommand::~PasteHTMLCommand):
   50766         * khtml/khtml_part.cpp:
   50767         (KHTMLPart::deleteSelection): new, create and applies a DeleteTextCommand
   50768         (KHTMLPart::pasteHTMLString): new, create and applies a PasteHTMLCommand
   50769         * khtml/khtml_part.h:
   50770         * khtml/xml/dom_docimpl.cpp: moved paste code to htmlediting.cpp
   50771         * khtml/xml/dom_docimpl.h:
   50772         * kwq/WebCoreBridge.mm:
   50773         (-[WebCoreBridge pasteHTMLString:]): call pasteHTMLString on the part instead of the bridge
   50774         (-[WebCoreBridge deleteSelection]): call deleteSelection on the part instead of the bridge
   50775 
   50776 2004-02-10  David Hyatt  <hyatt (a] apple.com>
   50777 
   50778 	Fix crash on abcnews.com by adding isEmpty checks before dereferencing.
   50779 	
   50780         * khtml/html/htmltokenizer.cpp:
   50781         (khtml::HTMLTokenizer::parseTag):
   50782 
   50783 2004-02-10  David Hyatt  <hyatt (a] apple.com>
   50784 
   50785 	Improve attribute parsing of mapped attributes (that map to CSS properties) so that they can pull the
   50786 	style declarations from a global cache.
   50787 
   50788 	Made RenderStyles be arena allocated as well.
   50789 	
   50790         Reviewed by darin
   50791 
   50792         * khtml/css/css_valueimpl.cpp:
   50793         (CSSImageValueImpl::CSSImageValueImpl):
   50794         (CSSImageValueImpl::image):
   50795         * khtml/css/css_valueimpl.h:
   50796         * khtml/css/cssstyleselector.cpp:
   50797         (khtml::CSSStyleSelector::initForStyleResolve):
   50798         (khtml::CSSStyleSelector::styleForElement):
   50799         (khtml::CSSStyleSelector::pseudoStyleForElement):
   50800         (khtml::CSSStyleSelector::applyProperty):
   50801         * khtml/css/cssstyleselector.h:
   50802         * khtml/css/html4.css:
   50803         * khtml/css/quirks.css:
   50804         * khtml/dom/dom_element.cpp:
   50805         (Element::style):
   50806         * khtml/dom/html_element.cpp:
   50807         * khtml/dom/html_element.h:
   50808         * khtml/html/html_baseimpl.cpp:
   50809         (HTMLBodyElementImpl::HTMLBodyElementImpl):
   50810         (HTMLBodyElementImpl::mapToEntry):
   50811         (HTMLBodyElementImpl::parseHTMLAttribute):
   50812         (HTMLBodyElementImpl::insertedIntoDocument):
   50813         (HTMLFrameElementImpl::parseHTMLAttribute):
   50814         (HTMLFrameSetElementImpl::parseHTMLAttribute):
   50815         (HTMLIFrameElementImpl::mapToEntry):
   50816         (HTMLIFrameElementImpl::parseHTMLAttribute):
   50817         * khtml/html/html_baseimpl.h:
   50818         * khtml/html/html_blockimpl.cpp:
   50819         (HTMLDivElementImpl::mapToEntry):
   50820         (HTMLDivElementImpl::parseHTMLAttribute):
   50821         (HTMLHRElementImpl::mapToEntry):
   50822         (HTMLHRElementImpl::parseHTMLAttribute):
   50823         (HTMLParagraphElementImpl::mapToEntry):
   50824         (HTMLParagraphElementImpl::parseHTMLAttribute):
   50825         (HTMLMarqueeElementImpl::mapToEntry):
   50826         (HTMLMarqueeElementImpl::parseHTMLAttribute):
   50827         (HTMLLayerElementImpl::HTMLLayerElementImpl):
   50828         (HTMLLayerElementImpl::id):
   50829         * khtml/html/html_blockimpl.h:
   50830         * khtml/html/html_documentimpl.cpp:
   50831         (HTMLDocumentImpl::determineParseMode):
   50832         * khtml/html/html_documentimpl.h:
   50833         * khtml/html/html_elementimpl.cpp:
   50834         (CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
   50835         (HTMLElementImpl::getMappedAttributeDecl):
   50836         (HTMLElementImpl::setMappedAttributeDecl):
   50837         (HTMLElementImpl::removeMappedAttributeDecl):
   50838         (HTMLAttributeImpl::~HTMLAttributeImpl):
   50839         (HTMLAttributeImpl::clone):
   50840         (m_mappedAttributeCount):
   50841         (HTMLNamedAttrMapImpl::clearAttributes):
   50842         (HTMLElementImpl::HTMLElementImpl):
   50843         (HTMLElementImpl::~HTMLElementImpl):
   50844         (HTMLElementImpl::createAttribute):
   50845         (HTMLElementImpl::createInlineStyleDecl):
   50846         (HTMLElementImpl::attributeChanged):
   50847         (HTMLElementImpl::mapToEntry):
   50848         (HTMLElementImpl::parseHTMLAttribute):
   50849         (HTMLElementImpl::additionalAttributeStyleDecl):
   50850         (isHexDigit):
   50851         (toHex):
   50852         (HTMLElementImpl::addCSSProperty):
   50853         (HTMLElementImpl::addCSSStringProperty):
   50854         (HTMLElementImpl::addCSSImageProperty):
   50855         (HTMLElementImpl::addCSSLength):
   50856         (HTMLElementImpl::addHTMLColor):
   50857         (HTMLElementImpl::createMappedDecl):
   50858         (HTMLElementImpl::addHTMLAlignment):
   50859         (HTMLElementImpl::setContentEditable):
   50860         * khtml/html/html_elementimpl.h:
   50861         (DOM::):
   50862         (DOM::CSSMappedAttributeDeclarationImpl::CSSMappedAttributeDeclarationImpl):
   50863         (DOM::CSSMappedAttributeDeclarationImpl::setMappedState):
   50864         (DOM::HTMLAttributeImpl::HTMLAttributeImpl):
   50865         (DOM::HTMLAttributeImpl::decl):
   50866         (DOM::HTMLAttributeImpl::setDecl):
   50867         (DOM::HTMLNamedAttrMapImpl::hasMappedAttributes):
   50868         (DOM::HTMLNamedAttrMapImpl::declRemoved):
   50869         (DOM::HTMLNamedAttrMapImpl::declAdded):
   50870         (DOM::HTMLNamedAttrMapImpl::attributeItem):
   50871         (DOM::HTMLElementImpl::hasMappedAttributes):
   50872         (DOM::HTMLElementImpl::htmlAttributes):
   50873         (DOM::HTMLElementImpl::inlineStyleDecl):
   50874         * khtml/html/html_formimpl.cpp:
   50875         (HTMLFormElementImpl::parseHTMLAttribute):
   50876         (HTMLGenericFormElementImpl::parseHTMLAttribute):
   50877         (HTMLButtonElementImpl::parseHTMLAttribute):
   50878         (HTMLInputElementImpl::setType):
   50879         (HTMLInputElementImpl::mapToEntry):
   50880         (HTMLInputElementImpl::parseHTMLAttribute):
   50881         (HTMLInputElementImpl::attach):
   50882         (HTMLLabelElementImpl::parseHTMLAttribute):
   50883         (HTMLSelectElementImpl::parseHTMLAttribute):
   50884         (HTMLKeygenElementImpl::parseHTMLAttribute):
   50885         (HTMLOptGroupElementImpl::parseHTMLAttribute):
   50886         (HTMLOptionElementImpl::parseHTMLAttribute):
   50887         (HTMLTextAreaElementImpl::parseHTMLAttribute):
   50888         (HTMLIsIndexElementImpl::parseHTMLAttribute):
   50889         * khtml/html/html_formimpl.h:
   50890         * khtml/html/html_headimpl.cpp:
   50891         (HTMLBaseElementImpl::parseHTMLAttribute):
   50892         (HTMLLinkElementImpl::parseHTMLAttribute):
   50893         (HTMLMetaElementImpl::parseHTMLAttribute):
   50894         (HTMLStyleElementImpl::parseHTMLAttribute):
   50895         * khtml/html/html_headimpl.h:
   50896         * khtml/html/html_imageimpl.cpp:
   50897         (HTMLImageElementImpl::mapToEntry):
   50898         (HTMLImageElementImpl::parseHTMLAttribute):
   50899         (HTMLMapElementImpl::parseHTMLAttribute):
   50900         (HTMLAreaElementImpl::parseHTMLAttribute):
   50901         * khtml/html/html_imageimpl.h:
   50902         * khtml/html/html_inlineimpl.cpp:
   50903         (HTMLAnchorElementImpl::parseHTMLAttribute):
   50904         (HTMLBRElementImpl::mapToEntry):
   50905         (HTMLBRElementImpl::parseHTMLAttribute):
   50906         (HTMLFontElementImpl::mapToEntry):
   50907         (HTMLFontElementImpl::parseHTMLAttribute):
   50908         * khtml/html/html_inlineimpl.h:
   50909         * khtml/html/html_listimpl.cpp:
   50910         (HTMLUListElementImpl::mapToEntry):
   50911         (HTMLUListElementImpl::parseHTMLAttribute):
   50912         (HTMLOListElementImpl::mapToEntry):
   50913         (HTMLOListElementImpl::parseHTMLAttribute):
   50914         (HTMLLIElementImpl::mapToEntry):
   50915         (HTMLLIElementImpl::parseHTMLAttribute):
   50916         * khtml/html/html_listimpl.h:
   50917         * khtml/html/html_objectimpl.cpp:
   50918         (HTMLAppletElementImpl::mapToEntry):
   50919         (HTMLAppletElementImpl::parseHTMLAttribute):
   50920         (HTMLEmbedElementImpl::HTMLEmbedElementImpl):
   50921         (HTMLEmbedElementImpl::mapToEntry):
   50922         (HTMLEmbedElementImpl::parseHTMLAttribute):
   50923         (HTMLEmbedElementImpl::attach):
   50924         (HTMLObjectElementImpl::mapToEntry):
   50925         (HTMLObjectElementImpl::parseHTMLAttribute):
   50926         (HTMLParamElementImpl::parseHTMLAttribute):
   50927         * khtml/html/html_objectimpl.h:
   50928         * khtml/html/html_tableimpl.cpp:
   50929         (HTMLTableElementImpl::HTMLTableElementImpl):
   50930         (HTMLTableElementImpl::~HTMLTableElementImpl):
   50931         (HTMLTableElementImpl::mapToEntry):
   50932         (HTMLTableElementImpl::parseHTMLAttribute):
   50933         (HTMLTableElementImpl::additionalAttributeStyleDecl):
   50934         (HTMLTableElementImpl::getSharedCellDecl):
   50935         (HTMLTableElementImpl::attach):
   50936         (HTMLTablePartElementImpl::mapToEntry):
   50937         (HTMLTablePartElementImpl::parseHTMLAttribute):
   50938         (HTMLTableCellElementImpl::mapToEntry):
   50939         (HTMLTableCellElementImpl::parseHTMLAttribute):
   50940         (HTMLTableCellElementImpl::additionalAttributeStyleDecl):
   50941         (HTMLTableCellElementImpl::attach):
   50942         (HTMLTableColElementImpl::mapToEntry):
   50943         (HTMLTableColElementImpl::parseHTMLAttribute):
   50944         (HTMLTableCaptionElementImpl::mapToEntry):
   50945         (HTMLTableCaptionElementImpl::parseHTMLAttribute):
   50946         * khtml/html/html_tableimpl.h:
   50947         * khtml/html/htmlparser.cpp:
   50948         (KHTMLParser::insertNode):
   50949         (KHTMLParser::getElement):
   50950         * khtml/html/htmltokenizer.h:
   50951         (khtml::Token::addAttribute):
   50952         * khtml/misc/htmlattrs.c:
   50953         (hash_attr):
   50954         (findAttr):
   50955         * khtml/misc/htmlattrs.h:
   50956         * khtml/misc/htmlattrs.in:
   50957         * khtml/rendering/render_block.cpp:
   50958         (khtml::RenderBlock::setStyle):
   50959         (khtml::RenderBlock::updateFirstLetter):
   50960         * khtml/rendering/render_container.cpp:
   50961         (RenderContainer::addChild):
   50962         (RenderContainer::updatePseudoChild):
   50963         * khtml/rendering/render_frames.cpp:
   50964         (RenderPartObject::updateWidget):
   50965         * khtml/rendering/render_inline.cpp:
   50966         (RenderInline::addChildToFlow):
   50967         * khtml/rendering/render_list.cpp:
   50968         (RenderListItem::setStyle):
   50969         * khtml/rendering/render_object.cpp:
   50970         (RenderObject::~RenderObject):
   50971         (RenderObject::createAnonymousBlock):
   50972         (RenderObject::setStyle):
   50973         (RenderObject::remove):
   50974         * khtml/rendering/render_style.cpp:
   50975         (throw):
   50976         (RenderStyle::operator delete):
   50977         (RenderStyle::arenaDelete):
   50978         (RenderStyle::RenderStyle):
   50979         (RenderStyle::~RenderStyle):
   50980         (RenderStyle::addPseudoStyle):
   50981         * khtml/rendering/render_style.h:
   50982         (khtml::RenderStyle::ref):
   50983         (khtml::RenderStyle::deref):
   50984         (khtml::RenderStyle::hasOneRef):
   50985         (khtml::RenderStyle::refCount):
   50986         * khtml/rendering/render_table.cpp:
   50987         (RenderTable::addChild):
   50988         (RenderTableSection::addChild):
   50989         (RenderTableRow::addChild):
   50990         * khtml/xml/dom_docimpl.cpp:
   50991         (DocumentImpl::DocumentImpl):
   50992         (DocumentImpl::createAttribute):
   50993         (DocumentImpl::recalcStyle):
   50994         * khtml/xml/dom_docimpl.h:
   50995         * khtml/xml/dom_elementimpl.cpp:
   50996         (AttributeImpl::clone):
   50997         (AttrImpl::setValue):
   50998         (AttrImpl::cloneNode):
   50999         (ElementImpl::setAttribute):
   51000         (ElementImpl::createAttribute):
   51001         (ElementImpl::setAttributeMap):
   51002         (ElementImpl::recalcStyle):
   51003         (NamedAttrMapImpl::~NamedAttrMapImpl):
   51004         (NamedAttrMapImpl::operator=):
   51005         (NamedAttrMapImpl::addAttribute):
   51006         (NamedAttrMapImpl::removeAttribute):
   51007         * khtml/xml/dom_elementimpl.h:
   51008         (DOM::AttributeImpl::~AttributeImpl):
   51009         (DOM::ElementImpl::attributeChanged):
   51010         (DOM::NamedAttrMapImpl::length):
   51011         * khtml/xml/dom_nodeimpl.cpp:
   51012 
   51013 2004-02-09  Darin Adler  <darin (a] apple.com>
   51014 
   51015         Reviewed by Dave.
   51016 
   51017         * khtml/html/html_formimpl.cpp: (HTMLGenericFormElementImpl::defaultEventHandler):
   51018         Removed bogus extra setActive/focus code. Dave says this is no longer needed for
   51019         the active state handling, and the focus call caused a problem, although I can't
   51020         find the bug report at the moment.
   51021 
   51022 2004-02-08  Darin Adler  <darin (a] apple.com>
   51023 
   51024         Reviewed by Don.
   51025 
   51026         - fixed an assertion failure when putting up Java applets caused by my last change
   51027 
   51028         * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget):
   51029         Don't try to get x() and y(). They are always zero because the widget is just being
   51030         created at this point and has not yet been positioned; trying to get them
   51031         leads to an assertion because there is no NSView until we call setView().
   51032         Before my change, there was a KWQView object at 0,0 that was released when we called
   51033         setView, which is why the problem is new.
   51034 
   51035 2004-02-08  Darin Adler  <darin (a] apple.com>
   51036 
   51037         Reviewed by Dave.
   51038 
   51039         - fixed things seen in the profile, for a total speedup of 4% on cvs-base
   51040         - fixed some layout regressions from my last speedup due to text measurement inconsistencies
   51041 
   51042         * WebCorePrefix.h: Add a workaround for a bug in our system headers that prevents the <ctype.h>
   51043         macros from working right in C+code that uses the <cctype> header.
   51044 
   51045         * khtml/css/cssstyleselector.cpp:
   51046         (khtml::checkPseudoState): Use prepend instead of operator here. Will probably be obviated if
   51047         someone fixes the checkPseudoState problem.
   51048         (khtml::colorForCSSValue): Get rid of all the code that uses QPalette; it wasn't doing any good
   51049         in Safari. Instead, hardcode the UI colors.
   51050 
   51051         * kwq/KWQChar.mm:
   51052         (QChar::isDigitNonASCII): Non-inline part. The ASCII case is handled with an inline now.
   51053         (QChar::isLetterNonASCII): Ditto.
   51054         (QChar::isNumberNonASCII): Ditto.
   51055         (QChar::isLetterOrNumberNonASCII): Ditto.
   51056         (QChar::lowerNonASCII): Ditto.
   51057         (QChar::upperNonASCII): Ditto.
   51058         (QChar::digitValueNonASCII): Ditto.
   51059 
   51060         * kwq/KWQColorGroup.mm: Put all roles base inside #if, since we don't need them, and copying
   51061         the color group and palette was making things slow.
   51062 
   51063         * kwq/KWQComboBox.h: Remove KWQComboBoxAdapter, not needed any more.
   51064         * kwq/KWQComboBox.mm:
   51065         (QComboBox::QComboBox): Remove KWQComboBoxAdapter, not needed any more.
   51066         (QComboBox::~QComboBox): Ditto.
   51067         (QComboBox::sizeHint): Turn off rounding; we use that in web text, but not in widgets.
   51068         (-[KWQPopUpButton action:]): Moved the action method here.
   51069 
   51070         * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Turn off rounding. We use it in web
   51071         page text, but not in widgets.
   51072         * kwq/KWQListBox.mm:
   51073         (QListBox::sizeForNumberOfLines): Ditto.
   51074         (-[KWQTableView drawRow:clipRect:]): Ditto.
   51075 
   51076         * kwq/KWQKURL.mm:
   51077         (KURL::KURL): Added code to put the "file:" in front of a path without making a QString.
   51078         (hasSlashDotOrDotDot): Added. Faster than two calls to strstr.
   51079         (matchLetter): Added. Faster than tolower calls on each letter.
   51080         (KURL::parse): Changed to use matchLetter and hasSlashDotOrDotDot.
   51081 
   51082         * kwq/KWQPalette.h: Remove all roles except base, and all groups except active, since we don't
   51083         need them, and copying the color group and palette was making things slow.
   51084         * kwq/KWQPalette.mm: Ditto.
   51085 
   51086         * kwq/KWQRegExp.mm: (QRegExp::match): Fixed logic so we don't create and destroy a QCString
   51087         in the fast case. Also avoid UTF-8/UTF-16 offset mapping.
   51088 
   51089         * kwq/KWQString.h:
   51090         (QChar::isDigit): Add inline section for ASCII.
   51091         (QChar::isLetter): Ditto.
   51092         (QChar::isNumber): Ditto.
   51093         (QChar::isLetterOrNumber): Ditto.
   51094         (QChar::digitValue): Ditto.
   51095         (QChar::lower): Ditto.
   51096         (QChar::upper): Ditto.
   51097         (QString::utf8): Add a new version that returns the length; used by QRegExp.
   51098         (QString::operator+=): Call a new append function.
   51099         * kwq/KWQString.mm:
   51100         (ucstrcmp): Made this function inline.
   51101         (equal): Added, replacing various strcmp functions.
   51102         (equalCaseInsensitive): Ditto.
   51103         (ok_in_base): Changed to use <ctype.h> isdigit and isalpha instead of QChar functions.
   51104         (QString::detachInternal): Moved up so it will be inlined.
   51105         (QString::~QString): Streamlined a little.
   51106         (QString::utf8): Changed to return the length.
   51107         (QString::find): Use unicode() instead of cell() in various places. Also refined a faster
   51108         version of the one that takes a char *.
   51109         (QString::contains): Changed all of the overloads to have structure that's more similar,
   51110         and made them slightly faster too.
   51111         (QString::isAllLatin1): Added.
   51112         (QString::copyLatin1): Added. Lets you get the string as a char * buffer without changing
   51113         the string itself into that format.
   51114         (QString::toLong): Changed to use <ctype.h> isdigit instead of QChar function.
   51115         (QString::toULong): Ditto.
   51116         (QString::setUnicode): Call the new detachAndDiscardCharacters; not implemented yet.
   51117         (QString::setLatin1): Call the new detachAndDiscardCharacters; not implemented yet.
   51118         (QString::sprintf): Call the new detachAndDiscardCharacters; not implemented yet.
   51119         (QString::insert): Remove one memmove call for the case that appends at the end.
   51120         (QString::detach): Change code to use the internal data if we can; saves at destructor time.
   51121         (QString::detachAndDiscardCharacters): Added. Placeholder for now that just calls detach().
   51122         (QString::setLength): Optimize the setLength(0) case.
   51123         (QString::fill): Call the new detachAndDiscardCharacters; not implemented yet.
   51124         (QString::append): Renamed from operator+=, which now simply calls append().
   51125         (QString::reserve): Added. Useful when building up a string, like in QTextCodec.
   51126 
   51127         * WebCore-tests.exp: Added new function names for QChar.
   51128         * WebCore-combined.exp: Updated.
   51129 
   51130         * kwq/KWQTextCodec.mm:
   51131         (KWQTextDecoder::convertLatin1): Added. Since this is the most common encoding, and very
   51132         easy to decode (built into QString, in fact), best to do it as a special case, not with TEC.
   51133         (KWQTextDecoder::convertUTF16): Added a reserve() call for better performance and made the
   51134         stack buffer larger.
   51135         (KWQTextDecoder::convertUsingTEC): Added a reserve() call for better performance and made the
   51136         stack buffer larger.
   51137         (KWQTextDecoder::convert): Added a switch statement and convertLatin1 case.
   51138 
   51139         * kwq/KWQView.h: Removed the KWQView class.
   51140         * kwq/KWQView.mm: Removed.
   51141         * WebCore.pbproj/project.pbxproj: Removed KWQView.mm.
   51142 
   51143         * kwq/KWQWidget.h: Changed name of QWidgetPrivate to KWQWidgetPrivate.
   51144         * kwq/KWQWidget.mm:
   51145         (QWidget::QWidget): Got rid of code that makes a KWQView when no view is passed in. We were
   51146         creating and destroying extra views because of this.
   51147         (QWidget::setFrameGeometry): Only call getOuterView() once, not three times. Also, don't do
   51148         any work at all if the frame is already correct.
   51149         * khtml/khtmlview.cpp: (KHTMLView::init): Removed a call that will hit an assertion due to the
   51150         way a new KHTMLView does not yet have an NSView.
   51151 
   51152         * kwq/WebCoreTextRenderer.h: Broke applyRounding into applyRunRounding and applyWordRounding.
   51153         * kwq/WebCoreTextRendererFactory.m: (WebCoreInitializeEmptyTextStyle): Initialize both rounding
   51154         flags on.
   51155 
   51156 2004-02-07  Darin Adler  <darin (a] apple.com>
   51157 
   51158         Reviewed by Dave.
   51159 
   51160         - switched KWQComboBox, KWQListBox, and KWQLineEdit to use WebKit text measuring/rendering instead of AppKit
   51161         - fixed width calculation for KWQListBox that made them too wide (the computation used the width of standard scroll
   51162           bars rather than the small scroll bars they actually use)
   51163 
   51164         Speeds up cvs-base by 5%!
   51165 
   51166         * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
   51167         Get rid of beginBatchInsert, and rename endBatchInsert. Use our own "append" calls instead of "insert" calls.
   51168 
   51169         * kwq/KWQComboBox.h: Replace insertItem with appendItem. Add a new populateMenu call (for internal use,
   51170         but public). Change width member to be int instead of float. Remove updateCurrentItem(), and add a
   51171         menuPopulated boolean and a QStringList containing the items.
   51172         * kwq/KWQComboBox.mm:
   51173         (QComboBox::QComboBox): Initialize currentItem directly instead of calling updateCurrentItem. Also initialize
   51174         menuPopulated to true.
   51175         (QComboBox::appendItem): Replaces insertItem. Put items in a string list. Don't keep the menu populated unless
   51176         the button is highlighted (which indicates the menu is showing).
   51177         (QComboBox::sizeHint): Compute widths using WebCoreTextRenderer, and the string list.
   51178         (QComboBox::baselinePosition): Change ceil to ceilf, since we are dealing with floats, not doubles.
   51179         (QComboBox::clear): Clear the items list. Also reset the currentItem field directly instead of using updateCurrentItem().
   51180         (QComboBox::setCurrentItem): If the menu is not populated, then keep a single item with the appropriate title.
   51181         If the menu is populated, then select the appropriate item.
   51182         (QComboBox::itemSelected): Moved the logic from updateCurrentItem in here for simplicity.
   51183         (QComboBox::focusPolicy): Tweaked the comment.
   51184         (QComboBox::populateMenu): Added.
   51185         (-[KWQPopUpButtonCell setHighlighted:]): Populate the menu when the cell is highlighted.
   51186 
   51187         * kwq/KWQLineEdit.mm:
   51188         (QLineEdit::sizeForCharacterWidth): Put an empty string in the cell, and add in a separately-computed width
   51189         for the string.
   51190         (QLineEdit::baselinePosition): Use ceilf instead of ceil since we are doing floats, not doubles.
   51191 
   51192         * kwq/KWQListBox.h: Changed the items list from an NSArray to a QValueList.
   51193         (KWQListBoxItem::KWQListBoxItem): Added a new class to keep the string and the "is label" boolean.
   51194         (QListBox::count): Now inline.
   51195         (QListBox::appendItem): Replaced insertItem with this.
   51196         (QListBox::appendGroupLabel): Replaced insertGroupLabel with this.
   51197         (QListBox::itemAtIndex): Replaced itemIsGroupLabel with this.
   51198         * kwq/KWQListBox.mm:
   51199         (itemTextRenderer): Replaced itemFont with this, which returns a WebCoreTextRenderer.
   51200         (groupLabelTextRenderer): Ditto.
   51201         (QListBox::QListBox): Removed the _insertingItems boolean, and handling of the _items list.
   51202         (QListBox::~QListBox): Ditto.
   51203         (QListBox::clear): Now clears the items list. Doesn't both with reloadData, since doneAppendingItems
   51204         handles that.
   51205         (QListBox::appendItem): Replaced insertItem. Just adds to the list. No need to construct attributed
   51206         strings any more.
   51207         (QListBox::doneAppendingItems): Replaced endBatchInsert. No need to clear the obsolete _insertingItems
   51208         boolean.
   51209         (QListBox::setEnabled): Added a call to reloadData.
   51210         (QListBox::sizeForNumberOfLines): Compute widths using WebCoreTextRenderer, and the string list.
   51211         Also adjust for the difference in widths between small and default scrollers and add in margins.
   51212         (QListBox::setWritingDirection): Remove code that updates the direction in attributed strings.
   51213         (-[KWQTableView initWithListBox:]): Compute height from font, not cell.
   51214         (-[KWQTableView numberOfRowsInTableView:]): Get count from QListBox instead of items array.
   51215         (-[KWQTableView tableView:objectValueForTableColumn:row:]): Return nil becase we don't want to
   51216         create an NSString for each cell. We'll draw the appropriate thing.
   51217         (-[KWQTableView tableView:shouldSelectRow:]): Update for change to QComboBox function.
   51218         (-[KWQTableView drawRow:clipRect:]): Added. Draws the text in the cell, with the appropriate color
   51219         and position, using WebCoreTextRenderer for speed.
   51220         (-[KWQTableView _accessibilityTableCell:tableColumn:]): Set up cell with a string in this case,
   51221         because we need the string to be seen by the accessibilty framework.
   51222 
   51223         * kwq/WebCoreTextRenderer.h: Fixed typo in comment.
   51224         * kwq/WebCoreTextRendererFactory.m: Removed bogus inline specifiers.
   51225 
   51226         * khtml/rendering/render_layer.cpp: Fixed a couple of cases of RenderLayer::RenderLayer that just
   51227         should have said RenderLayer.
   51228 
   51229 2004-02-07  Darin Adler  <darin (a] apple.com>
   51230 
   51231         * WebCore.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING
   51232         flags that were in the Deployment build style. These were causing the need to chmod all the time
   51233         after building WebCore successfully, and were doing us no good.
   51234 
   51235 2004-02-07  Darin Adler  <darin (a] apple.com>
   51236 
   51237         * kwq/can-convert.mm: Added test program to see which conversions are actually supported by TEC.
   51238 
   51239 2004-02-06  David Hyatt  <hyatt (a] apple.com>
   51240 
   51241         Implemented a TokenizerString that can walk a list of substrings, so that data can be enqueued
   51242         in the list without having to do a copy.  Speeds up voodooextreme by 20% or so, giving the overall
   51243         page-load tests get a 2% boost.
   51244         
   51245         Reviewed by darin
   51246 
   51247         * WebCore.pbproj/project.pbxproj:
   51248         * khtml/html/html_documentimpl.h:
   51249         * khtml/html/htmltokenizer.cpp:
   51250         (khtml::HTMLTokenizer::begin):
   51251         (khtml::HTMLTokenizer::processListing):
   51252         (khtml::HTMLTokenizer::parseSpecial):
   51253         (khtml::HTMLTokenizer::scriptHandler):
   51254         (khtml::HTMLTokenizer::parseComment):
   51255         (khtml::HTMLTokenizer::parseServer):
   51256         (khtml::HTMLTokenizer::parseProcessingInstruction):
   51257         (khtml::HTMLTokenizer::parseText):
   51258         (khtml::HTMLTokenizer::parseEntity):
   51259         (khtml::HTMLTokenizer::parseTag):
   51260         (khtml::HTMLTokenizer::write):
   51261         (khtml::HTMLTokenizer::notifyFinished):
   51262         (khtml::HTMLTokenizer::setSrc):
   51263         (khtml::HTMLTokenizer::setOnHold):
   51264         * khtml/html/htmltokenizer.h:
   51265         (khtml::Token::Token):
   51266         (khtml::Token::~Token):
   51267         (khtml::Token::addAttribute):
   51268         (khtml::Token::reset):
   51269         * khtml/khtml_part.cpp:
   51270         (KHTMLPart::handleMousePressEventDoubleClick):
   51271         * khtml/khtml_part.h:
   51272         * khtml/misc/stringit.cpp: Added.
   51273         (khtml::TokenizerString::length):
   51274         (khtml::TokenizerString::clear):
   51275         (khtml::TokenizerString::append):
   51276         (khtml::TokenizerString::prepend):
   51277         (khtml::TokenizerString::advanceSubstring):
   51278         (khtml::TokenizerString::toString):
   51279         * khtml/misc/stringit.h:
   51280         (khtml::TokenizerSubstring::TokenizerSubstring):
   51281         (khtml::TokenizerSubstring::clear):
   51282         (khtml::TokenizerSubstring::appendTo):
   51283         (khtml::TokenizerString::TokenizerString):
   51284         (khtml::TokenizerString::push):
   51285         (khtml::TokenizerString::isEmpty):
   51286         (khtml::TokenizerString::advance):
   51287         (khtml::TokenizerString::escaped):
   51288         (khtml::TokenizerString::lineCount):
   51289         (khtml::TokenizerString::resetLineCount):
   51290         (khtml::TokenizerString::operator++):
   51291         (khtml::TokenizerString::operator*):
   51292         (khtml::TokenizerString::operator->):
   51293         (khtml::TokenizerString::current):
   51294         * khtml/xbl/xbl_docimpl.cpp:
   51295         * khtml/xbl/xbl_docimpl.h:
   51296         (XBL::):
   51297         * khtml/xbl/xbl_tokenizer.h:
   51298         (XBL::):
   51299         * khtml/xml/dom_docimpl.h:
   51300         (DOM::DocumentImpl::tokenizer):
   51301         * khtml/xml/xml_tokenizer.cpp:
   51302         (khtml::XMLTokenizer::write):
   51303         * khtml/xml/xml_tokenizer.h:
   51304         * kwq/KWQSignalStubs.mm:
   51305         * kwq/KWQValueList.h:
   51306         (QValueList::insert):
   51307         (QValueList::fromLast):
   51308         * kwq/KWQValueListImpl.h:
   51309         * kwq/KWQValueListImpl.mm:
   51310         (KWQValueListImpl::clear):
   51311         (KWQValueListImpl::insert):
   51312         (KWQValueListImpl::fromLast):
   51313 
   51314 === Safari-127 ===
   51315 
   51316 2004-02-06  Ken Kocienda  <kocienda (a] apple.com>
   51317 
   51318         Reviewed by Chris
   51319 
   51320 	Steps no longer return int error codes. Steps are operations
   51321 	that should succeed. (When was the last time that typing in
   51322 	a text editor failed for reasons which could not have been
   51323 	figured out ahead of time...like file permissions?).
   51324 	If this does not work for the future, perhaps we can change 
   51325 	some or all of the many asserts in the code to throw C+
   51326 	exceptions instead, which can be caught and handled at a
   51327 	suitable level.
   51328 
   51329 	I also made some nice convenience functions to create and apply
   51330 	EditStep objects, and moved the command code to use the new
   51331 	functions.
   51332 
   51333         * khtml/editing/htmlediting.cpp:
   51334         (EditStep::EditStep):
   51335         (EditStep::~EditStep):
   51336         (EditStep::reapply):
   51337         (EditStep::beginApply):
   51338         (EditStep::endApply):
   51339         (EditStep::beginUnapply):
   51340         (EditStep::endUnapply):
   51341         (EditStep::beginReapply):
   51342         (EditStep::endReapply):
   51343         (CompositeEditStep::unapply):
   51344         (CompositeEditStep::reapply):
   51345         (CompositeEditStep::applyStep):
   51346         (CompositeEditStep::insertNodeBefore):
   51347         (CompositeEditStep::insertNodeAfter):
   51348         (CompositeEditStep::appendNode):
   51349         (CompositeEditStep::removeNode):
   51350         (CompositeEditStep::splitTextNode):
   51351         (CompositeEditStep::joinTextNodes):
   51352         (CompositeEditStep::insertText):
   51353         (CompositeEditStep::deleteText):
   51354         (CompositeEditStep::moveSelectionTo):
   51355         (CompositeEditStep::deleteSelection):
   51356         (InsertNodeBeforeStep::InsertNodeBeforeStep):
   51357         (InsertNodeBeforeStep::apply):
   51358         (InsertNodeBeforeStep::unapply):
   51359         (AppendNodeStep::AppendNodeStep):
   51360         (AppendNodeStep::apply):
   51361         (AppendNodeStep::unapply):
   51362         (RemoveNodeStep::RemoveNodeStep):
   51363         (RemoveNodeStep::apply):
   51364         (RemoveNodeStep::unapply):
   51365         (ModifyTextNodeStep::ModifyTextNodeStep):
   51366         (ModifyTextNodeStep::splitTextNode):
   51367         (ModifyTextNodeStep::joinTextNodes):
   51368         (SplitTextNodeStep::apply):
   51369         (SplitTextNodeStep::unapply):
   51370         (JoinTextNodesStep::apply):
   51371         (JoinTextNodesStep::unapply):
   51372         (InsertTextStep::InsertTextStep):
   51373         (InsertTextStep::apply):
   51374         (InsertTextStep::unapply):
   51375         (DeleteTextStep::DeleteTextStep):
   51376         (DeleteTextStep::apply):
   51377         (DeleteTextStep::unapply):
   51378         (MoveSelectionToStep::MoveSelectionToStep):
   51379         (MoveSelectionToStep::apply):
   51380         (MoveSelectionToStep::unapply):
   51381         (DeleteSelectionStep::apply):
   51382         (EditCommand::EditCommand):
   51383         (EditCommand::~EditCommand):
   51384         (EditCommand::currentSelection):
   51385         (InputTextCommand::apply):
   51386         (DeleteTextCommand::apply):
   51387         * khtml/editing/htmlediting.h:
   51388         (khtml::MoveSelectionToStep::~MoveSelectionToStep):
   51389         (khtml::EditCommand::cookie):
   51390         * khtml/khtml_part.cpp:
   51391         (KHTMLPart::applyCommand):
   51392         (KHTMLPart::undoRedoEditing):
   51393         (KHTMLPart::undoEditing):
   51394         (KHTMLPart::redoEditing):
   51395         * khtml/khtml_part.h:
   51396         * khtml/xml/dom_elementimpl.cpp:
   51397         (ElementImpl::defaultEventHandler):
   51398 
   51399 2004-02-05  Ken Kocienda  <kocienda (a] apple.com>
   51400 
   51401         Reviewed by Hyatt
   51402         
   51403         This patch includes two major pieces of work.
   51404         
   51405         1. The KHTMLSelection object has been reworked to be a value object.
   51406         Part-related state has been moved out to KHTMLPart. This change makes
   51407         it much easier to program with these objects, since they can now be
   51408         treating unambigously like built-in types. As part of this work, I
   51409         did a pass over the API and improved some function names. A related
   51410         part of work was to clean up the relationship between KHTMLSelection, 
   51411         KHTMLPart and DOMDocumentImpl, and cleared up how to change the selection
   51412         when that is necessary. (There is now a small set of functions on KHTMLPart). 
   51413         
   51414         2. Implemented undo/redo, and hooked into the Cocoa undo architecture. The
   51415         notion of EditCommands has been enhanced by the addition of EditSteps, which
   51416         are primitive operations out of which edit commands are built. Most of the
   51417         existing operations have been updated to use this new design. The last couple
   51418         will be updated soon, so that all supported editing operations will be undoable.
   51419 
   51420         * khtml/editing/htmlediting.cpp:
   51421         * khtml/editing/htmlediting.h:
   51422         * khtml/html/html_elementimpl.cpp:
   51423         (HTMLElementImpl::isFocusable): Prevents children of content editable parents
   51424         from receiving focus.
   51425         * khtml/khtml_part.cpp: Modified to work with new KHTMLSelection class design.
   51426         Also added some new code to work with new edit command architecture. 
   51427         * khtml/khtml_part.h:
   51428         * khtml/khtml_selection.cpp: Reworked as a value class. Too much state was
   51429         being stored in this object for it to be convenient to use as a value. That
   51430         has been fixed.
   51431         * khtml/khtml_selection.h:
   51432         * khtml/khtmlpart_p.h:
   51433         (KHTMLPartPrivate::KHTMLPartPrivate):
   51434         (KHTMLPartPrivate::~KHTMLPartPrivate):
   51435         * khtml/khtmlview.cpp: Modified to work with new KHTMLSelection class design.
   51436         * khtml/rendering/render_block.cpp: Modified to work with new KHTMLSelection class design.
   51437         (khtml::RenderBlock::paintObject):
   51438         * khtml/xml/dom_docimpl.cpp:
   51439         (DocumentImpl::updateSelection):
   51440         (DocumentImpl::deleteSelection):
   51441         (DocumentImpl::pasteHTMLString):
   51442         * khtml/xml/dom_docimpl.h:
   51443         * khtml/xml/dom_elementimpl.cpp: 
   51444         (ElementImpl::defaultEventHandler): Modified to work with new edit command architecture.
   51445         * kwq/KWQKHTMLPart.h:
   51446         * kwq/KWQKHTMLPart.mm:
   51447         (KWQKHTMLPart::registerCommandForUndo): Added hook to Cocoa undo/redo architecture.
   51448         * kwq/WebCoreBridge.h:
   51449         * kwq/WebCoreBridge.mm:
   51450         (-[WebCoreBridge isSelectionEditable]): Modified to work with new edit command architecture.
   51451         (-[WebCoreBridge moveCaretToPoint:]): Ditto
   51452         (-[WebCoreBridge haveSelection]): Ditto
   51453         (-[WebCoreBridge selectedHTML]): Ditto
   51454         (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]): Ditto
   51455         (-[WebCoreBridge reconstructedSource]): Ditto
   51456         (-[WebCoreBridge undoRedoEditing:]): Added hook to Cocoa undo/redo architecture.
   51457 
   51458 2004-02-04  David Hyatt  <hyatt (a] apple.com>
   51459 
   51460 	Improve rule matching in the style system.  Filter out most rules up front, so that only a small
   51461 	number of rules need to be walked for any given element.  Yields a ~4-5% improvement on the PLT.
   51462 	
   51463         Reviewed by kocienda
   51464 
   51465         * khtml/css/css_base.cpp:
   51466         (StyleBaseImpl::setParsedValue):
   51467         (CSSSelector::specificity):
   51468         (CSSSelector::extractPseudoType):
   51469         (CSSSelector::operator == ):
   51470         * khtml/css/css_base.h:
   51471         (DOM::CSSSelector::CSSSelector):
   51472         (DOM::CSSSelector::~CSSSelector):
   51473         (DOM::CSSSelector::append):
   51474         (DOM::CSSSelector::next):
   51475         (DOM::CSSSelector::):
   51476         (DOM::StyleBaseImpl::StyleBaseImpl):
   51477         * khtml/css/css_ruleimpl.cpp:
   51478         (CSSStyleRuleImpl::selectorText):
   51479         (CSSRuleListImpl::insertRule):
   51480         * khtml/css/css_ruleimpl.h:
   51481         (DOM::CSSStyleRuleImpl::setSelector):
   51482         (DOM::CSSStyleRuleImpl::selector):
   51483         * khtml/css/css_stylesheetimpl.cpp:
   51484         * khtml/css/css_stylesheetimpl.h:
   51485         * khtml/css/css_valueimpl.cpp:
   51486         (CSSStyleDeclarationImpl::getPropertyCSSValue):
   51487         (CSSStyleDeclarationImpl::removeProperty):
   51488         (CSSStyleDeclarationImpl::setProperty):
   51489         (CSSStyleDeclarationImpl::setStringProperty):
   51490         (CSSStyleDeclarationImpl::setImageProperty):
   51491         (CSSStyleDeclarationImpl::setLengthProperty):
   51492         (CSSStyleDeclarationImpl::cssText):
   51493         (CSSStyleDeclarationImpl::setCssText):
   51494         * khtml/css/css_valueimpl.h:
   51495         (DOM::CSSStyleDeclarationImpl::node):
   51496         (DOM::CSSProperty::CSSProperty):
   51497         (DOM::CSSProperty::id):
   51498         (DOM::CSSProperty::isImportant):
   51499         * khtml/css/cssparser.cpp:
   51500         (CSSParser::CSSParser):
   51501         (ParseString::lower):
   51502         (CSSParser::parseValue):
   51503         (CSSParser::parseDeclaration):
   51504         (CSSParser::addProperty):
   51505         (CSSParser::parseShadow):
   51506         * khtml/css/cssparser.h:
   51507         * khtml/css/cssstyleselector.cpp:
   51508         (khtml::):
   51509         (khtml::CSSStyleSelector::CSSStyleSelector):
   51510         (khtml::CSSStyleSelector::init):
   51511         (khtml::CSSStyleSelector::~CSSStyleSelector):
   51512         (khtml::CSSStyleSelector::loadDefaultStyle):
   51513         (khtml::CSSStyleSelector::addMatchedRule):
   51514         (khtml::CSSStyleSelector::addMatchedDeclaration):
   51515         (khtml::CSSStyleSelector::matchRules):
   51516         (khtml::CSSStyleSelector::matchRulesForList):
   51517         (khtml::operator >):
   51518         (khtml::operator <=):
   51519         (khtml::CSSStyleSelector::sortMatchedRules):
   51520         (khtml::CSSStyleSelector::initForStyleResolve):
   51521         (khtml::CSSStyleSelector::styleForElement):
   51522         (khtml::CSSStyleSelector::pseudoStyleForElement):
   51523         (khtml::checkPseudoState):
   51524         (khtml::CSSStyleSelector::checkSelector):
   51525         (khtml::CSSStyleSelector::checkOneSelector):
   51526         (khtml::CSSRuleSet::CSSRuleSet):
   51527         (khtml::CSSRuleSet::addToRuleSet):
   51528         (khtml::CSSRuleSet::addRule):
   51529         (khtml::CSSRuleSet::addRulesFromSheet):
   51530         (khtml::CSSStyleSelector::applyDeclarations):
   51531         (khtml::CSSStyleSelector::applyProperty):
   51532         (khtml::CSSStyleSelector::smallerFontSize):
   51533         (khtml::CSSStyleSelector::getColorFromPrimitiveValue):
   51534         * khtml/css/cssstyleselector.h:
   51535         (khtml::):
   51536         (khtml::CSSRuleData::m_next):
   51537         (khtml::CSSRuleData::~CSSRuleData):
   51538         (khtml::CSSRuleData::position):
   51539         (khtml::CSSRuleData::rule):
   51540         (khtml::CSSRuleData::selector):
   51541         (khtml::CSSRuleData::next):
   51542         (khtml::CSSRuleDataList::CSSRuleDataList):
   51543         (khtml::CSSRuleDataList::~CSSRuleDataList):
   51544         (khtml::CSSRuleDataList::first):
   51545         (khtml::CSSRuleDataList::last):
   51546         (khtml::CSSRuleDataList::append):
   51547         (khtml::CSSRuleSet::~CSSRuleSet):
   51548         (khtml::CSSRuleSet::getIDRules):
   51549         (khtml::CSSRuleSet::getClassRules):
   51550         (khtml::CSSRuleSet::getTagRules):
   51551         (khtml::CSSRuleSet::getUniversalRules):
   51552         * khtml/css/cssvalues.c:
   51553         (hash_val):
   51554         (findValue):
   51555         * khtml/css/cssvalues.h:
   51556         * khtml/css/cssvalues.in:
   51557         * khtml/css/html4.css:
   51558         * khtml/css/parser.cpp:
   51559         * khtml/css/parser.h:
   51560         * khtml/css/parser.y:
   51561         * khtml/dom/dom_element.cpp:
   51562         (Element::style):
   51563         * khtml/html/html_baseimpl.cpp:
   51564         (HTMLBodyElementImpl::HTMLBodyElementImpl):
   51565         (HTMLBodyElementImpl::~HTMLBodyElementImpl):
   51566         (HTMLBodyElementImpl::createLinkDecl):
   51567         (HTMLBodyElementImpl::parseAttribute):
   51568         * khtml/html/html_baseimpl.h:
   51569         * khtml/html/html_elementimpl.cpp:
   51570         (HTMLNamedAttrMapImpl::parseClassAttribute):
   51571         (HTMLElementImpl::HTMLElementImpl):
   51572         (HTMLElementImpl::~HTMLElementImpl):
   51573         (HTMLElementImpl::createInlineStyleDecl):
   51574         (HTMLElementImpl::createMappedAttributeDecl):
   51575         (HTMLElementImpl::parseAttribute):
   51576         (HTMLElementImpl::getClassList):
   51577         (HTMLElementImpl::addCSSProperty):
   51578         (HTMLElementImpl::addCSSStringProperty):
   51579         (HTMLElementImpl::addCSSImageProperty):
   51580         (HTMLElementImpl::addCSSLength):
   51581         (HTMLElementImpl::addHTMLColor):
   51582         (HTMLElementImpl::removeCSSProperty):
   51583         * khtml/html/html_elementimpl.h:
   51584         (DOM::HTMLNamedAttrMapImpl::getClassList):
   51585         (DOM::HTMLElementImpl::inlineStyleDecl):
   51586         (DOM::HTMLElementImpl::attributeStyleDecl):
   51587         (DOM::HTMLElementImpl::getInlineStyleDecl):
   51588         * khtml/html/html_tableimpl.cpp:
   51589         (HTMLTableElementImpl::createSharedCellDecls):
   51590         (HTMLTableCellElementImpl::additionalAttributeStyleDecl):
   51591         * khtml/html/html_tableimpl.h:
   51592         * khtml/xml/dom_atomicstring.cpp:
   51593         (DOM::AtomicString::add):
   51594         (DOM::AtomicString::remove):
   51595         * khtml/xml/dom_docimpl.cpp:
   51596         (DocumentImpl::DocumentImpl):
   51597         (DocumentImpl::resetLinkColor):
   51598         (DocumentImpl::resetVisitedLinkColor):
   51599         (DocumentImpl::resetActiveLinkColor):
   51600         (DocumentImpl::recalcStyleSelector):
   51601         * khtml/xml/dom_docimpl.h:
   51602         (DOM::DocumentImpl::linkColor):
   51603         (DOM::DocumentImpl::visitedLinkColor):
   51604         (DOM::DocumentImpl::activeLinkColor):
   51605         (DOM::DocumentImpl::setLinkColor):
   51606         (DOM::DocumentImpl::setVisitedLinkColor):
   51607         (DOM::DocumentImpl::setActiveLinkColor):
   51608         * khtml/xml/dom_elementimpl.cpp:
   51609         (ElementImpl::ElementImpl):
   51610         (ElementImpl::~ElementImpl):
   51611         (ElementImpl::getClassList):
   51612         (ElementImpl::getIDAttribute):
   51613         (ElementImpl::cloneNode):
   51614         (XMLElementImpl::cloneNode):
   51615         * khtml/xml/dom_elementimpl.h:
   51616         (DOM::ElementImpl::inlineStyleDecl):
   51617         (DOM::ElementImpl::attributeStyleDecl):
   51618         (DOM::ElementImpl::getInlineStyleDecl):
   51619         (DOM::ElementImpl::additionalAttributeStyleDecl):
   51620         (DOM::NamedAttrMapImpl::id):
   51621         (DOM::NamedAttrMapImpl::setID):
   51622         * khtml/xml/dom_stringimpl.cpp:
   51623         (DOM::DOMStringImpl::DOMStringImpl):
   51624         (DOM::DOMStringImpl::~DOMStringImpl):
   51625         (DOM::DOMStringImpl::append):
   51626         (DOM::DOMStringImpl::insert):
   51627         (DOM::DOMStringImpl::truncate):
   51628         (DOM::DOMStringImpl::remove):
   51629         (DOM::DOMStringImpl::split):
   51630         * khtml/xml/dom_stringimpl.h:
   51631         (DOM::DOMStringImpl::DOMStringImpl):
   51632 
   51633 2004-02-04  David Hyatt  <hyatt (a] apple.com>
   51634 
   51635 	Fix line-height regression on altavista.
   51636 
   51637         * khtml/rendering/render_br.cpp:
   51638         (RenderBR::RenderBR):
   51639         (RenderBR::position):
   51640         (RenderBR::lineHeight):
   51641         (RenderBR::setStyle):
   51642         * khtml/rendering/render_br.h:
   51643         * khtml/rendering/render_flow.h:
   51644         (khtml::RenderFlow::RenderFlow):
   51645 
   51646 2004-02-04  David Hyatt  <hyatt (a] apple.com>
   51647 
   51648 	Fix a regression in the line-height of first-lines and inline-blocks.
   51649 	
   51650         Reviewed by darin
   51651 
   51652         * khtml/rendering/render_flow.cpp:
   51653         (RenderFlow::lineHeight):
   51654         * khtml/rendering/render_text.cpp:
   51655         (RenderText::lineHeight):
   51656 
   51657 2004-02-02  Chris Blumenberg  <cblu (a] apple.com>
   51658 
   51659 	Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky
   51660 
   51661 
   51662         Reviewed by mjs.
   51663 
   51664         * WebCore-combined.exp:
   51665         * WebCore.exp:
   51666         * kwq/WebCoreBridge.h: added the DOM node element key constant (SPI for now)
   51667         * kwq/WebCoreBridge.mm:
   51668         (-[WebCoreBridge elementAtPoint:]): instead of calling toHTML for every node, put the node on the element so the caller can get the HTML string representation when it needs to.
   51669         * kwq/WebCoreDOMNode.mm:
   51670         (-[WebCoreDOMNode HTMLString]): new
   51671 
   51672 2004-02-02  Darin Adler  <darin (a] apple.com>
   51673 
   51674         Reviewed by Maciej.
   51675 
   51676         - use toInt32 where we really need an int, rather than toInteger,
   51677           because toInteger needs to return an integral number as a double,
   51678           not as an int
   51679 
   51680         * khtml/ecma/kjs_css.cpp:
   51681         (DOMCSSStyleDeclarationProtoFunc::tryCall): Call toInt32 intead of toInteger.
   51682         (DOMStyleSheetListFunc::tryCall): Ditto.
   51683         (KJS::DOMMediaListProtoFunc::tryCall): Ditto.
   51684         (DOMCSSStyleSheetProtoFunc::tryCall): Ditto.
   51685         (DOMCSSRuleListFunc::tryCall): Ditto.
   51686         (DOMCSSRuleFunc::tryCall): Ditto.
   51687         (DOMCSSPrimitiveValueProtoFunc::tryCall): Ditto.
   51688         (DOMCSSValueListFunc::tryCall): Ditto.
   51689         * khtml/ecma/kjs_dom.cpp:
   51690         (DOMCharacterDataProtoFunc::tryCall): Ditto.
   51691         (DOMTextProtoFunc::tryCall): Ditto.
   51692         * khtml/ecma/kjs_events.cpp:
   51693         (DOMUIEventProtoFunc::tryCall): Ditto.
   51694         (DOMMouseEventProtoFunc::tryCall): Ditto.
   51695         (DOMKeyboardEventProtoFunc::tryCall): Ditto.
   51696         (DOMMutationEventProtoFunc::tryCall): Ditto.
   51697         * khtml/ecma/kjs_html.cpp:
   51698         (KJS::HTMLElementFunction::tryCall): Ditto.
   51699         (KJS::HTMLElement::putValue): Ditto.
   51700         (KJS::HTMLSelectCollection::tryPut): Ditto.
   51701         * khtml/ecma/kjs_range.cpp:
   51702         (DOMRangeProtoFunc::tryCall): Ditto.
   51703         * khtml/ecma/kjs_traversal.cpp: (JSNodeFilter::acceptNode): Ditto.
   51704         * khtml/ecma/kjs_window.cpp:
   51705         (WindowFunc::tryCall): Ditto.
   51706         (HistoryFunc::tryCall): Ditto.
   51707 
   51708 2004-02-02  Darin Adler  <darin (a] apple.com>
   51709 
   51710         Reviewed by John.
   51711 
   51712         - fix at least some of <rdar://problem/3546393>: 10,000 leaks, many of DOM::AtomicString::add, after one run of cvs-base
   51713 
   51714         * khtml/xml/dom_atomicstring.cpp: (DOM::AtomicString::add): Remove extra allocation of strings.
   51715         This should speed things up a bit as well as fixing one big leak.
   51716 
   51717 2004-02-02  Chris Blumenberg  <cblu (a] apple.com>
   51718 
   51719 	Fixed: <rdar://problem/3546379>: support for editing via drag & drop
   51720 
   51721         Reviewed by kocienda.
   51722 
   51723         * khtml/xml/dom_docimpl.cpp:
   51724         (DocumentImpl::deleteSelection): fixed a crash I encountered while attempting to delete and empty selection
   51725         * kwq/WebCoreBridge.h:
   51726         * kwq/WebCoreBridge.mm:
   51727         (-[WebCoreBridge isSelectionEditable]): renamed from isEditable
   51728         (-[WebCoreBridge moveCaretToPoint:]): new
   51729         (-[WebCoreBridge elementAtPoint:]): added support for WebCoreElementHTMLStringKey and WebCoreElementIsEditableKey
   51730 
   51731 2004-01-30  David Hyatt  <hyatt (a] apple.com>
   51732 
   51733 	Fix for 3522497, <br>s should not get AXObjects created.
   51734 	
   51735         Reviewed by mjs
   51736 
   51737         * kwq/KWQAccObject.mm:
   51738         (-[KWQAccObject accessibilityIsIgnored]):
   51739 
   51740 === Safari-126 ===
   51741 
   51742 2004-01-30  David Hyatt  <hyatt (a] apple.com>
   51743 
   51744 	Fix a regression I introduced in my atomicstring patch.  I meant to say !attr->isNull() in the contentedtiable
   51745 	attribute parsing code.
   51746 	
   51747         Reviewed by cblu
   51748 
   51749         * khtml/html/html_elementimpl.cpp:
   51750         (HTMLElementImpl::parseAttribute):
   51751 
   51752 2004-01-30  David Hyatt  <hyatt (a] apple.com>
   51753 
   51754 	Make m_lineHeight be cached on RenderFlow instead of RenderText and avoid recomputing it so much when it
   51755 	is not set by CSS (since calls to fontMetrics().lineSpacing() are expensive).
   51756 
   51757 	Yields ~1.5% performance improvement.
   51758 	
   51759         Reviewed by darin
   51760 
   51761         * khtml/rendering/render_block.cpp:
   51762         (khtml::RenderBlock::setStyle):
   51763         * khtml/rendering/render_flow.cpp:
   51764         (RenderFlow::lineHeight):
   51765         * khtml/rendering/render_flow.h:
   51766         * khtml/rendering/render_inline.cpp:
   51767         (RenderInline::setStyle):
   51768         * khtml/rendering/render_object.cpp:
   51769         (RenderObject::verticalPositionHint):
   51770         (RenderObject::lineHeight):
   51771         * khtml/rendering/render_object.h:
   51772         * khtml/rendering/render_text.cpp:
   51773         (RenderText::setStyle):
   51774         (RenderText::checkSelectionPointIgnoringContinuations):
   51775         (RenderText::height):
   51776         (RenderText::lineHeight):
   51777         * khtml/rendering/render_text.h:
   51778 
   51779 2004-01-30  David Hyatt  <hyatt (a] apple.com>
   51780 
   51781 	Disable XBL.  The loadBindings call was taking 0.1-0.25%.  While I know how to get rid of this overhead,
   51782 	it's easier for now to just disable all of XBL.
   51783 
   51784         * WebCorePrefix.h:
   51785         * khtml/misc/loader.h:
   51786         * khtml/xbl/xbl_binding.cpp:
   51787         * khtml/xbl/xbl_binding_manager.cpp:
   51788         * khtml/xbl/xbl_docimpl.cpp:
   51789         * khtml/xbl/xbl_protobinding.cpp:
   51790         * khtml/xbl/xbl_protohandler.cpp:
   51791         * khtml/xbl/xbl_protoimplementation.cpp:
   51792         * khtml/xbl/xbl_tokenizer.cpp:
   51793 
   51794 2004-01-29  David Hyatt  <hyatt (a] apple.com>
   51795 
   51796 	Atomize font families (KWQFontFamily) and all attribute values.  Move atomic string into separate files.
   51797 
   51798 	In my testing, this patch yields the same score as Safari-125 in tests and recovers all lost performance
   51799 	(mostly from excess copying of AtomicStrings where DOMStringImpl* used to be returned).
   51800 	
   51801         Reviewed by darin
   51802 
   51803         * ForwardingHeaders/xml/dom_atomicstring.h: Added.
   51804         * WebCore.pbproj/project.pbxproj:
   51805         * khtml/css/css_base.cpp:
   51806         (CSSSelector::print):
   51807         (CSSSelector::extractPseudoType):
   51808         (CSSSelector::selectorText):
   51809         * khtml/css/css_valueimpl.cpp:
   51810         (FontFamilyValueImpl::FontFamilyValueImpl):
   51811         * khtml/css/cssparser.cpp:
   51812         (CSSParser::parseFontFamily):
   51813         * khtml/css/cssparser.h:
   51814         * khtml/css/cssstyleselector.cpp:
   51815         (khtml::checkPseudoState):
   51816         (khtml::CSSStyleSelector::checkOneSelector):
   51817         (khtml::CSSStyleSelector::applyRule):
   51818         * khtml/dom/dom_element.cpp:
   51819         (Element::getAttributeNS):
   51820         * khtml/dom/dom_string.cpp:
   51821         (DOMString::toInt):
   51822         (DOMString::toLengthArray):
   51823         (DOM::operator==):
   51824         * khtml/dom/dom_string.h:
   51825         (DOM::operator==):
   51826         (DOM::operator!=):
   51827         * khtml/ecma/kjs_navigator.cpp:
   51828         (Plugins::get):
   51829         (MimeTypes::get):
   51830         (Plugin::get):
   51831         * khtml/html/html_baseimpl.cpp:
   51832         (HTMLBodyElementImpl::parseAttribute):
   51833         (HTMLFrameElementImpl::isURLAllowed):
   51834         (HTMLFrameElementImpl::openURL):
   51835         (HTMLFrameElementImpl::parseAttribute):
   51836         (HTMLFrameElementImpl::attach):
   51837         (HTMLFrameElementImpl::setLocation):
   51838         (HTMLFrameSetElementImpl::parseAttribute):
   51839         (HTMLIFrameElementImpl::attach):
   51840         * khtml/html/html_baseimpl.h:
   51841         * khtml/html/html_blockimpl.cpp:
   51842         (HTMLHRElementImpl::parseAttribute):
   51843         (HTMLHRElementImpl::attach):
   51844         (HTMLMarqueeElementImpl::parseAttribute):
   51845         * khtml/html/html_documentimpl.cpp:
   51846         (HTMLDocumentImpl::documentElement):
   51847         * khtml/html/html_documentimpl.h:
   51848         * khtml/html/html_elementimpl.cpp:
   51849         (HTMLElementImpl::parseAttribute):
   51850         (HTMLElementImpl::addCSSLength):
   51851         (HTMLElementImpl::addHTMLAlignment):
   51852         * khtml/html/html_elementimpl.h:
   51853         * khtml/html/html_formimpl.cpp:
   51854         (HTMLGenericFormElementImpl::parseAttribute):
   51855         (HTMLInputElementImpl::parseAttribute):
   51856         (HTMLInputElementImpl::attach):
   51857         (HTMLSelectElementImpl::parseAttribute):
   51858         (HTMLKeygenElementImpl::parseAttribute):
   51859         (HTMLKeygenElementImpl::encoding):
   51860         (HTMLOptionElementImpl::parseAttribute):
   51861         (HTMLTextAreaElementImpl::parseAttribute):
   51862         * khtml/html/html_formimpl.h:
   51863         * khtml/html/html_headimpl.cpp:
   51864         (HTMLLinkElementImpl::parseAttribute):
   51865         (HTMLStyleElementImpl::parseAttribute):
   51866         * khtml/html/html_imageimpl.cpp:
   51867         (HTMLImageElementImpl::parseAttribute):
   51868         (HTMLAreaElementImpl::parseAttribute):
   51869         * khtml/html/html_inlineimpl.cpp:
   51870         (HTMLAnchorElementImpl::parseAttribute):
   51871         * khtml/html/html_listimpl.cpp:
   51872         (HTMLOListElementImpl::parseAttribute):
   51873         (HTMLLIElementImpl::parseAttribute):
   51874         * khtml/html/html_miscimpl.cpp:
   51875         (HTMLCollectionImpl::getNamedItem):
   51876         (HTMLFormCollectionImpl::getNamedFormItem):
   51877         (HTMLFormCollectionImpl::getNamedImgItem):
   51878         * khtml/html/html_objectimpl.cpp:
   51879         (HTMLEmbedElementImpl::parseAttribute):
   51880         (HTMLObjectElementImpl::parseAttribute):
   51881         (HTMLParamElementImpl::HTMLParamElementImpl):
   51882         (HTMLParamElementImpl::~HTMLParamElementImpl):
   51883         (HTMLParamElementImpl::parseAttribute):
   51884         * khtml/html/html_objectimpl.h:
   51885         (DOM::HTMLParamElementImpl::name):
   51886         (DOM::HTMLParamElementImpl::value):
   51887         * khtml/html/html_tableimpl.cpp:
   51888         (HTMLTableElementImpl::parseAttribute):
   51889         (HTMLTablePartElementImpl::parseAttribute):
   51890         (HTMLTableCellElementImpl::parseAttribute):
   51891         (HTMLTableColElementImpl::parseAttribute):
   51892         * khtml/html/htmlparser.cpp:
   51893         (KHTMLParser::insertNode):
   51894         (KHTMLParser::handleIsindex):
   51895         * khtml/html/htmltokenizer.cpp:
   51896         (HTMLTokenizer::parseTag):
   51897         * khtml/html/htmltokenizer.h:
   51898         (khtml::Token::addAttribute):
   51899         * khtml/khtml_part.cpp:
   51900         (KHTMLPart::init):
   51901         * khtml/khtmlview.cpp:
   51902         (KHTMLToolTip::maybeTip):
   51903         * khtml/xml/dom_atomicstring.cpp: Added.
   51904         (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger):
   51905         (DOM::AtomicString::equal):
   51906         (DOM::AtomicString::add):
   51907         (DOM::AtomicString::insert):
   51908         (DOM::AtomicString::remove):
   51909         (DOM::AtomicString::expand):
   51910         (DOM::AtomicString::shrink):
   51911         (DOM::AtomicString::rehash):
   51912         (DOM::AtomicString::init):
   51913         (DOM::operator==):
   51914         (DOM::equalsIgnoreCase):
   51915         * khtml/xml/dom_atomicstring.h: Added.
   51916         (DOM::AtomicString::AtomicString):
   51917         (DOM::AtomicString:::m_string):
   51918         (DOM::AtomicString::operator const DOMString&):
   51919         (DOM::AtomicString::domString):
   51920         (DOM::AtomicString::string):
   51921         (DOM::AtomicString::implementation):
   51922         (DOM::AtomicString::unicode):
   51923         (DOM::AtomicString::length):
   51924         (DOM::AtomicString::ascii):
   51925         (DOM::AtomicString::find):
   51926         (DOM::AtomicString::toInt):
   51927         (DOM::AtomicString::percentage):
   51928         (DOM::AtomicString::toLengthArray):
   51929         (DOM::AtomicString::isNull):
   51930         (DOM::AtomicString::isEmpty):
   51931         (DOM::AtomicString::equal):
   51932         (DOM::operator==):
   51933         (DOM::operator!=):
   51934         * khtml/xml/dom_atomicstringlist.h: Added.
   51935         (DOM::AtomicStringList:::m_next):
   51936         (DOM::AtomicStringList::m_next):
   51937         (DOM::AtomicStringList::~AtomicStringList):
   51938         (DOM::AtomicStringList::next):
   51939         (DOM::AtomicStringList::setNext):
   51940         (DOM::AtomicStringList::string):
   51941         (DOM::AtomicStringList::setString):
   51942         (DOM::AtomicStringList::clone):
   51943         (DOM::AtomicStringList::clear):
   51944         * khtml/xml/dom_docimpl.h:
   51945         * khtml/xml/dom_elementimpl.cpp:
   51946         (AttrImpl::nodeValue):
   51947         (AttrImpl::cloneNode):
   51948         (ElementImpl::getAttribute):
   51949         (ElementImpl::getAttributeNS):
   51950         (ElementImpl::setAttribute):
   51951         (ElementImpl::setAttributeMap):
   51952         (ElementImpl::attach):
   51953         (ElementImpl::detach):
   51954         (ElementImpl::updateId):
   51955         (NamedAttrMapImpl::setNamedItem):
   51956         (NamedAttrMapImpl::removeNamedItem):
   51957         (NamedAttrMapImpl::getAttributeItem):
   51958         (NamedAttrMapImpl::operator=):
   51959         (NamedAttrMapImpl::removeAttribute):
   51960         * khtml/xml/dom_elementimpl.h:
   51961         (DOM::AttributeImpl::AttributeImpl):
   51962         (DOM::AttributeImpl::value):
   51963         (DOM::AttributeImpl::prefix):
   51964         (DOM::AttributeImpl::isNull):
   51965         (DOM::AttributeImpl::isEmpty):
   51966         (DOM::AttributeImpl::setValue):
   51967         (DOM::AttributeImpl::setPrefix):
   51968         (DOM::ElementImpl::getAttribute):
   51969         * khtml/xml/dom_nameimpl.cpp: Removed.
   51970         * khtml/xml/dom_nameimpl.h:
   51971         (DOM::Name::namespaceURI):
   51972         (DOM::Name::localName):
   51973         * khtml/xml/dom_nodeimpl.h:
   51974         * khtml/xml/dom_stringimpl.cpp:
   51975         * kwq/KWQFont.mm:
   51976         (QFont::family):
   51977         * kwq/KWQFontFamily.h:
   51978         (KWQFontFamily::family):
   51979         * kwq/KWQFontFamily.mm:
   51980         (retainDOMStringImpl):
   51981         (releaseDOMStringImpl):
   51982         (KWQFontFamily::getNSFamily):
   51983         (KWQFontFamily::setFamily):
   51984         (KWQFontFamily::operator==):
   51985         * kwq/KWQKHTMLPart.mm:
   51986         (KWQKHTMLPart::fileWrapperForElement):
   51987         * kwq/WebCoreBridge.mm:
   51988         (-[WebCoreBridge elementAtPoint:]):
   51989 
   51990 2004-01-29  Chris Blumenberg  <cblu (a] apple.com>
   51991 
   51992 	Fixed: <rdar://problem/3543619>: copied HTML is strangely formatted, random whitespace and return characters
   51993 
   51994         Reviewed by dave.
   51995 
   51996         * khtml/xml/dom_nodeimpl.cpp:
   51997         (NodeImpl::recursive_toHTMLWithRange): remove all code that tries to format the HTML since we can rely on the existing white space to preserve the original formatting
   51998 
   51999 2004-01-28  John Sullivan  <sullivan (a] apple.com>
   52000 
   52001         Reviewed by Dave.
   52002 
   52003         * khtml/rendering/render_text.cpp:
   52004         (RenderText::paintObject):
   52005         Increment s in the while() clause so it is incremented even
   52006         after a continue statement. This fixes an infinite loop I ran
   52007         into in the printing code path at certain scaled print sizes
   52008         on certain pages.
   52009 
   52010 2004-01-28  Chris Blumenberg  <cblu (a] apple.com>
   52011 
   52012 	Fixed: <rdar://problem/3543041>: when pasting an image, cursor should be after the image, not before
   52013 
   52014         Reviewed by rjw.
   52015 
   52016         * khtml/xml/dom_docimpl.cpp:
   52017         (DocumentImpl::pasteHTMLString): when the last node of the paste is non-text, use 1 instead of 0 as the start offset of the caret
   52018 
   52019 2004-01-28  Ken Kocienda  <kocienda (a] apple.com>
   52020 
   52021         Reviewed by Hyatt
   52022 
   52023 	A small collection of fixes and improvements to editing.
   52024 
   52025 	Added a forwarding header for dom_position.h
   52026 	Added some debugging output to KHTMLSelection
   52027 	Added support for left arrow navigation.
   52028 	Greatly improved support for right arrow navigation.
   52029 	Added include guards to dom_position.h. Oops!
   52030 	Removed pruneEmptyNodes() function from htmlediting.cpp. That was crack.
   52031 	Improved the text insert command so that it splits the text node being
   52032 	    operated on only when necessary.
   52033 	Added support for placing the caret in and arrowing into BR elements.
   52034 	Moved precedesLineBreak/followsLineBreak from RenderText to RenderObject.	
   52035 
   52036         * ForwardingHeaders/dom/dom_position.h: Added.
   52037         * khtml/dom/dom_position.h:
   52038         * khtml/editing/htmlediting.cpp:
   52039         (InputTextCommand::apply):
   52040         (DeleteTextCommand::apply):
   52041         * khtml/khtml_selection.cpp:
   52042         (KHTMLSelection::setSelection):
   52043         (KHTMLSelection::alterSelection):
   52044         (KHTMLSelection::update):
   52045         (KHTMLSelection::previousCharacterPosition):
   52046         (KHTMLSelection::nextCharacterPosition):
   52047         (startAndEndLineNodesIncludingNode):
   52048         (KHTMLSelection::debugRenderer):
   52049         (KHTMLSelection::debugPosition):
   52050         * khtml/khtml_selection.h:
   52051         * khtml/rendering/render_br.cpp:
   52052         (RenderBR::RenderBR):
   52053         (RenderBR::position):
   52054         (RenderBR::caretMaxOffset):
   52055         (RenderBR::caretPos):
   52056         * khtml/rendering/render_br.h:
   52057         (khtml::RenderBR::xPos):
   52058         (khtml::RenderBR::yPos):
   52059         (khtml::RenderBR::height):
   52060         * khtml/rendering/render_object.cpp:
   52061         (RenderObject::precedesLineBreak):
   52062         (RenderObject::followsLineBreak):
   52063         (RenderObject::isEditable):
   52064         * khtml/rendering/render_object.h:
   52065         * khtml/rendering/render_text.cpp:
   52066         (RenderText::caretPos):
   52067         (RenderText::position):
   52068         (RenderText::caretMaxOffset):
   52069         * khtml/rendering/render_text.h:
   52070         * khtml/xml/dom_elementimpl.cpp:
   52071         (ElementImpl::defaultEventHandler):
   52072 
   52073 2004-01-28  David Hyatt  <hyatt (a] apple.com>
   52074 
   52075 	Fix for 3537694, make blocks for parents of inline children be axobjects.
   52076 	
   52077         Reviewed by kocienda
   52078 
   52079         * kwq/KWQAccObject.mm:
   52080         (-[KWQAccObject role]):
   52081         (-[KWQAccObject accessibilityIsIgnored]):
   52082 
   52083 2004-01-28  David Hyatt  <hyatt (a] apple.com>
   52084 
   52085 	Make AtomicString a new class that owns DOMStrings, instead of using KJS::Identifier.  One day when we
   52086 	convert DOMString and UString to have the same underlying rep, then these classes could possibly re-merge.
   52087 	For now this provides an easy migration path for all the code that is using DOMStringImpl*.
   52088 
   52089 	Also fixed a bug with float clearing in the style cascade.
   52090 	
   52091         Reviewed by darin
   52092 
   52093         * khtml/css/cssparser.h:
   52094         (DOM::atomicString):
   52095         * khtml/css/cssstyleselector.cpp:
   52096         (khtml::CSSStyleSelector::checkOneSelector):
   52097         (khtml::CSSStyleSelector::applyRule):
   52098         * khtml/dom/dom_string.cpp:
   52099         (DOMString::DOMString):
   52100         * khtml/xml/dom_nameimpl.cpp:
   52101         (DOM::AtomicStringStatisticsExitLogger::~AtomicStringStatisticsExitLogger):
   52102         (DOM::AtomicString::equal):
   52103         (DOM::AtomicString::add):
   52104         (DOM::AtomicString::insert):
   52105         (DOM::AtomicString::remove):
   52106         (DOM::AtomicString::expand):
   52107         (DOM::AtomicString::shrink):
   52108         (DOM::AtomicString::rehash):
   52109         (DOM::AtomicString::null):
   52110         (DOM::AtomicString::init):
   52111         (DOM::operator==):
   52112         (DOM::equalsIgnoreCase):
   52113         * khtml/xml/dom_nameimpl.h:
   52114         (DOM::AtomicString::AtomicString):
   52115         (DOM::AtomicString:::m_string):
   52116         (DOM::AtomicString::string):
   52117         (DOM::AtomicString::qstring):
   52118         (DOM::AtomicString::implementation):
   52119         (DOM::AtomicString::unicode):
   52120         (DOM::AtomicString::length):
   52121         (DOM::AtomicString::ascii):
   52122         (DOM::AtomicString::find):
   52123         (DOM::AtomicString::isNull):
   52124         (DOM::AtomicString::isEmpty):
   52125         (DOM::AtomicString::equal):
   52126         (DOM::operator==):
   52127         (DOM::operator!=):
   52128         * khtml/xml/dom_stringimpl.cpp:
   52129         (DOM::DOMStringImpl::empty):
   52130         (DOM::DOMStringImpl::DOMStringImpl):
   52131         (DOM::DOMStringImpl::~DOMStringImpl):
   52132         (DOM::DOMStringImpl::append):
   52133         (DOM::DOMStringImpl::insert):
   52134         (DOM::DOMStringImpl::truncate):
   52135         (DOM::DOMStringImpl::remove):
   52136         (DOM::DOMStringImpl::split):
   52137         (DOM::DOMStringImpl::substring):
   52138         (DOM::DOMStringImpl::replace):
   52139         (DOM::DOMStringImpl::computeHash):
   52140         * khtml/xml/dom_stringimpl.h:
   52141         (DOM::DOMStringImpl::DOMStringImpl):
   52142         (DOM::DOMStringImpl::hash):
   52143         * khtml/xml/dom_textimpl.cpp:
   52144         (CharacterDataImpl::CharacterDataImpl):
   52145 
   52146 2004-01-27  Chris Blumenberg  <cblu (a] apple.com>
   52147 
   52148 	Fixed:
   52149 	<rdar://problem/3541812>: Implement Paste menu item
   52150 	<rdar://problem/3541814>: Implement Delete menu item
   52151 	<rdar://problem/3541811>: Implement Cut menu item
   52152 
   52153         Reviewed by dave.
   52154 
   52155         * khtml/xml/dom_docimpl.cpp:
   52156         (DocumentImpl::deleteSelection): new
   52157         (DocumentImpl::pasteHTMLString): new
   52158         * khtml/xml/dom_docimpl.h:
   52159         * kwq/WebCoreBridge.h:
   52160         * kwq/WebCoreBridge.mm:
   52161         (-[WebCoreBridge isEditable]): new
   52162         (-[WebCoreBridge pasteHTMLString:]): new
   52163         (-[WebCoreBridge deleteSelection]): new
   52164         (-[WebCoreBridge haveSelection]): new
   52165 
   52166 2004-01-27  David Hyatt  <hyatt (a] apple.com>
   52167 
   52168 	Add a new AtomicString type (that is really just a KJS::Identifier).  Define a Name class that will eventually
   52169 	be used for element and attribute names.
   52170 
   52171 	Atomize the CSS selector's "value" field, used to hold class names, identifier names, attribute values, and
   52172 	pseudo-element names.
   52173 	
   52174         Reviewed by rjw
   52175 
   52176         * ForwardingHeaders/kjs/identifier.h: Added.
   52177         * WebCore.pbproj/project.pbxproj:
   52178         * khtml/css/css_base.cpp:
   52179         (CSSSelector::print):
   52180         (CSSSelector::specificity):
   52181         (CSSSelector::extractPseudoType):
   52182         (CSSSelector::selectorText):
   52183         * khtml/css/css_base.h:
   52184         (DOM::CSSSelector::):
   52185         * khtml/css/cssparser.cpp:
   52186         (ParseString::lower):
   52187         * khtml/css/cssparser.h:
   52188         (DOM::atomicString):
   52189         * khtml/css/cssstyleselector.cpp:
   52190         (khtml::CSSStyleSelector::checkOneSelector):
   52191         * khtml/css/parser.cpp:
   52192         * khtml/css/parser.y:
   52193         * khtml/html/html_elementimpl.cpp:
   52194         (:NamedAttrMapImpl):
   52195         (HTMLNamedAttrMapImpl::clearAttributes):
   52196         (HTMLNamedAttrMapImpl::isHTMLAttributeMap):
   52197         (HTMLNamedAttrMapImpl::parseClassAttribute):
   52198         (HTMLNamedAttrMapImpl::matchesCSSClass):
   52199         (HTMLElementImpl::parseAttribute):
   52200         (HTMLElementImpl::createAttributeMap):
   52201         (HTMLElementImpl::matchesCSSClass):
   52202         * khtml/html/html_elementimpl.h:
   52203         * khtml/html/html_objectimpl.cpp:
   52204         (HTMLObjectElementImpl::recalcStyle):
   52205         * khtml/html/htmltokenizer.h:
   52206         (khtml::Token::addAttribute):
   52207         * khtml/xml/dom_elementimpl.cpp:
   52208         (ElementImpl::matchesCSSClass):
   52209         (NamedAttrMapImpl::isHTMLAttributeMap):
   52210         (NamedAttrMapImpl::operator=):
   52211         * khtml/xml/dom_elementimpl.h:
   52212         * khtml/xml/dom_nameimpl.cpp: Added.
   52213         (DOM::AtomicStringList::clone):
   52214         (DOM::operator==):
   52215         (DOM::equalsIgnoreCase):
   52216         * khtml/xml/dom_nameimpl.h: Added.
   52217         (DOM::AtomicStringList:::m_next):
   52218         (DOM::AtomicStringList::m_next):
   52219         (DOM::AtomicStringList::~AtomicStringList):
   52220         (DOM::AtomicStringList::next):
   52221         (DOM::AtomicStringList::setNext):
   52222         (DOM::AtomicStringList::string):
   52223         (DOM::AtomicStringList::setString):
   52224         (DOM::AtomicStringList::clear):
   52225         (DOM::Name::Name):
   52226         (DOM::Name::m_localName):
   52227         (DOM::Name::namespaceURI):
   52228         (DOM::Name::localName):
   52229         (DOM::operator==):
   52230         (DOM::operator!=):
   52231         * khtml/xml/dom_nodeimpl.h:
   52232 
   52233 2004-01-27  Darin Adler  <darin (a] apple.com>
   52234 
   52235         Reviewed by Ken.
   52236 
   52237         - fixed <rdar://problem/3526056>: W3C says that DEL key identifier should be U+00007F, we give ForwardDelete instead
   52238 
   52239         * kwq/KWQEvent.mm: (keyIdentifierForKeyEvent): Correct the key identifiers for the Delete, Insert,
   52240         Menu, Scroll Lock, and Select keys, as well as some obscure F25 and higher keys. Also add some
   52241         explicit constants for the keys defined in NSEvent.h that we map to a key identifier using the
   52242         vendor-area Unicode values (which are probably not appropriate).
   52243 
   52244 2004-01-27  David Hyatt  <hyatt (a] apple.com>
   52245 
   52246 	Make a change suggested by kocienda to add a remove() method to InlineBoxes.
   52247 	
   52248         Reviewed by kocienda
   52249 
   52250         * khtml/rendering/render_box.cpp:
   52251         (RenderBox::detach):
   52252         (RenderBox::position):
   52253         * khtml/rendering/render_line.cpp:
   52254         (InlineBox::remove):
   52255         * khtml/rendering/render_line.h:
   52256         * khtml/rendering/render_text.cpp:
   52257         (RenderText::detach):
   52258         (RenderText::position):
   52259 
   52260 2004-01-26  Darin Adler  <darin (a] apple.com>
   52261 
   52262         Reviewed by Maciej.
   52263 
   52264         - follow-on to the text-align change I did earlier today
   52265 
   52266         * khtml/css/html4.css: Set input and textarea so they do not inherit text-align
   52267         from their parent by doing "text-align: -khtml-auto". This fixes google.com among others.
   52268 
   52269 2004-01-26  Darin Adler  <darin (a] apple.com>
   52270 
   52271         Reviewed by Maciej.
   52272 
   52273         - fixed <rdar://problem/3539414>: pop-up windows appear very narrow because of bogus width (carad.com/ebaymotors)
   52274 
   52275         * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): Check the "OK" result from toFloat in
   52276         window.open, and omit any parameters that can't be parsed.
   52277 
   52278 2004-01-26  Darin Adler  <darin (a] apple.com>
   52279 
   52280         Reviewed by Maciej.
   52281 
   52282         - fixed <rdar://problem/3537371>: REGRESSION (100-125): optgroup labels are no longer indented as they were before
   52283 
   52284         * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement):
   52285         Move code that adds spaces after code that strips whitespace. Also simplify
   52286         the code a bit by using DOMString::string().
   52287 
   52288 2004-01-26  Darin Adler  <darin (a] apple.com>
   52289 
   52290         Reviewed by Dave.
   52291 
   52292         - fixed <rdar://problem/3539286>: text with a transparent background color pastes as black on black
   52293 
   52294         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Don't put color in the mutable
   52295         string if it's entirely transparent.
   52296         * kwq/KWQColor.mm: (QColor::getNSColor): Fix bug where we would return nil for RGBA of 0.
   52297 
   52298 2004-01-26  Darin Adler  <darin (a] apple.com>
   52299 
   52300         Reviewed by Maciej.
   52301 
   52302         - fixed <rdar://problem/3529120>: text-align style property not respected on input fields
   52303 
   52304         * khtml/rendering/render_form.h: Added textAlignment function.
   52305         * khtml/rendering/render_form.cpp:
   52306         (RenderFormElement::textAlignment): Added. Converts style alignment to Qt alignment.
   52307         (RenderLineEdit::setStyle): Call textAlignment intead of using direction from style.
   52308         (RenderTextArea::setStyle): Call textAlignment intead of using direction from style.
   52309 
   52310         * kwq/KWQLineEdit.h: Added KWQNSTextAlignmentForAlignmentFlags function.
   52311         * kwq/KWQLineEdit.mm:
   52312         (QLineEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags instead of code
   52313         that handles only left and right alignment.
   52314         (KWQNSTextAlignmentForAlignmentFlags): Added. Converts Qt alignment to NS alignment.
   52315         * kwq/KWQTextEdit.mm: (QTextEdit::setAlignment): Use KWQNSTextAlignmentForAlignmentFlags
   52316         instead of code that handles only left and right alignment.
   52317 
   52318 2004-01-26  Darin Adler  <darin (a] apple.com>
   52319 
   52320         Reviewed by Dave.
   52321 
   52322         - fixed <rdar://problem/3477707>: background image with apostrophe in name missing at http://www.nbc.com
   52323 
   52324         * khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseAttribute): Use addCSSImageProperty
   52325         instead of addCSSProperty, obviating the need for the "url()" syntax (and fixing quoting issues).
   52326 
   52327         * khtml/html/html_tableimpl.cpp:
   52328         (HTMLTableElementImpl::parseAttribute): Ditto.
   52329         (HTMLTablePartElementImpl::parseAttribute): Ditto.
   52330 
   52331         * khtml/html/html_elementimpl.h: Added addCSSStringProperty and addCSSImageProperty.
   52332         * khtml/html/html_elementimpl.cpp:
   52333         (HTMLElementImpl::addCSSStringProperty): Added. Calls setStringProperty. Not used yet.
   52334         (HTMLElementImpl::addCSSImageProperty): Added. Calls setImageProperty.
   52335 
   52336         * khtml/css/css_valueimpl.h: Added setStringProperty and setImageProperty.
   52337         * khtml/css/css_valueimpl.cpp:
   52338         (CSSStyleDeclarationImpl::setStringProperty): Added. Sets a property without parsing.
   52339         (CSSStyleDeclarationImpl::setImageProperty): Added. Sets a property without parsing.
   52340         You'd think we'd be able to just use setStringProperty, but that's not how the image
   52341         properties work.
   52342 
   52343 2004-01-26  Darin Adler  <darin (a] apple.com>
   52344 
   52345         * Makefile.am: Switch from pbxbuild to xcodebuild.
   52346 
   52347 2004-01-26  David Hyatt  <hyatt (a] apple.com>
   52348 
   52349 	Add CSS3 @namespace support.  The whole way namespaces, element, and attribute names are being handled
   52350 	right now is temporary.  This code gives us a baseline of functionality (for regression testing) that we
   52351 	can use when we implement namespaces "the right way."
   52352 	
   52353         Reviewed by darin
   52354 
   52355         * WebCore.pbproj/project.pbxproj:
   52356         * khtml/css/css_base.cpp:
   52357         (CSSSelector::specificity):
   52358         (CSSSelector::selectorText):
   52359         * khtml/css/css_base.h:
   52360         (DOM::CSSNamespace::m_parent):
   52361         (DOM::CSSNamespace::~CSSNamespace):
   52362         (DOM::CSSNamespace::uri):
   52363         (DOM::CSSNamespace::prefix):
   52364         (DOM::CSSNamespace::namespaceForPrefix):
   52365         (DOM::CSSSelector::CSSSelector):
   52366         * khtml/css/css_stylesheetimpl.cpp:
   52367         (CSSStyleSheetImpl::CSSStyleSheetImpl):
   52368         (CSSStyleSheetImpl::addNamespace):
   52369         (CSSStyleSheetImpl::determineNamespace):
   52370         * khtml/css/css_stylesheetimpl.h:
   52371         (DOM::CSSStyleSheetImpl::~CSSStyleSheetImpl):
   52372         * khtml/css/cssparser.cpp:
   52373         (CSSParser::CSSParser):
   52374         (CSSParser::parseSheet):
   52375         * khtml/css/cssparser.h:
   52376         * khtml/css/cssstyleselector.cpp:
   52377         (khtml::CSSStyleSelector::styleForElement):
   52378         (khtml::CSSStyleSelector::pseudoStyleForElement):
   52379         (khtml::CSSStyleSelector::checkSelector):
   52380         (khtml::CSSStyleSelector::checkOneSelector):
   52381         (khtml::CSSStyleSelector::buildLists):
   52382         * khtml/css/html4.css:
   52383         * khtml/css/parser.cpp:
   52384         * khtml/css/parser.y:
   52385         * khtml/xml/dom_docimpl.cpp:
   52386         (DocumentImpl::DocumentImpl):
   52387         (DocumentImpl::~DocumentImpl):
   52388         (DocumentImpl::attrId):
   52389         (DocumentImpl::attrName):
   52390         (DocumentImpl::tagId):
   52391         (DocumentImpl::tagName):
   52392         (DocumentImpl::namespaceURI):
   52393         * khtml/xml/dom_elementimpl.cpp:
   52394         (NamedAttrMapImpl::getAttributeItem):
   52395         * khtml/xml/dom_nodeimpl.cpp:
   52396         (NodeImpl::checkSetPrefix):
   52397         * khtml/xml/dom_nodeimpl.h:
   52398         (DOM::namespacePart):
   52399         (DOM::localNamePart):
   52400         (DOM::makeId):
   52401         * khtml/xml/dom_xmlimpl.cpp:
   52402         (ProcessingInstructionImpl::checkStyleSheet):
   52403         * khtml/xml/xml_namespace_table.cpp: Added.
   52404         (DOM::XmlNamespaceTable::getNamespaceID):
   52405         (DOM::XmlNamespaceTable::getNamespaceURI):
   52406         * khtml/xml/xml_namespace_table.h: Added.
   52407         (DOM::XmlNamespaceEntry::m_uri):
   52408 
   52409 2004-01-26  Darin Adler  <darin (a] apple.com>
   52410 
   52411         Reviewed by Dave.
   52412 
   52413         - fixed <rdar://problem/3532519>: <select> menus show label property instead of tag contents (ups.com time and cost site)
   52414 
   52415         * khtml/html/html_formimpl.cpp: (HTMLOptionElementImpl::text): Ignore the label property as
   52416         a quirk. Neither WinIE nor Mozilla implement the label property, so neither shall we (except
   52417         on strict pages, where we just go crazy and do everything "right").
   52418 
   52419 2004-01-26  Ken Kocienda  <kocienda (a] apple.com>
   52420 
   52421         Reviewed by Hyatt
   52422 
   52423         * khtml/rendering/render_line.h:
   52424         (khtml::InlineBox::isFirstLineStyle): Helper to return whether
   52425 	the line box has the first line style bit set.
   52426         * khtml/rendering/render_text.cpp:
   52427         (RenderText::caretPos): Noe correctly accounts for white space
   52428 	which can precede an inline text box.
   52429 
   52430 2004-01-26  David Hyatt  <hyatt (a] apple.com>
   52431 
   52432 	Remove incremental repainting ifdef.
   52433 
   52434         * khtml/khtmlview.h:
   52435         * khtml/rendering/bidi.cpp:
   52436         (khtml::RenderBlock::layoutInlineChildren):
   52437         * khtml/rendering/render_block.cpp:
   52438         (khtml::RenderBlock::layoutBlock):
   52439         (khtml::RenderBlock::layoutBlockChildren):
   52440         (khtml::RenderBlock::repaintObjectsBeforeLayout):
   52441         (khtml::RenderBlock::positionNewFloats):
   52442         * khtml/rendering/render_block.h:
   52443         * khtml/rendering/render_box.cpp:
   52444         (RenderBox::computeAbsoluteRepaintRect):
   52445         (RenderBox::repaintDuringLayoutIfMoved):
   52446         * khtml/rendering/render_box.h:
   52447         * khtml/rendering/render_container.cpp:
   52448         (RenderContainer::removeChildNode):
   52449         * khtml/rendering/render_flexbox.cpp:
   52450         (khtml::RenderFlexibleBox::layoutBlock):
   52451         (khtml::RenderFlexibleBox::placeChild):
   52452         * khtml/rendering/render_flow.cpp:
   52453         (RenderFlow::getAbsoluteRepaintRect):
   52454         * khtml/rendering/render_image.cpp:
   52455         (RenderImage::layout):
   52456         * khtml/rendering/render_layer.cpp:
   52457         (RenderLayer::RenderLayer):
   52458         (RenderLayer::computeRepaintRects):
   52459         (RenderLayer::updateLayerPositions):
   52460         (RenderLayer::updateLayerPosition):
   52461         (RenderLayer::paintLayer):
   52462         * khtml/rendering/render_layer.h:
   52463         (khtml::RenderLayer::relativePositionOffset):
   52464         * khtml/rendering/render_object.cpp:
   52465         (RenderObject::setNeedsLayout):
   52466         (RenderObject::setChildNeedsLayout):
   52467         (RenderObject::markContainingBlocksForLayout):
   52468         (RenderObject::getAbsoluteRepaintRectIncludingFloats):
   52469         (RenderObject::detach):
   52470         (RenderObject::scheduleRelayout):
   52471         * khtml/rendering/render_object.h:
   52472         * khtml/rendering/render_table.cpp:
   52473         (RenderTable::layout):
   52474         (RenderTableSection::layoutRows):
   52475 
   52476 2004-01-26  David Hyatt  <hyatt (a] apple.com>
   52477 
   52478 	Preserve the integrity of the line box tree when elements get removed.  Change RenderText over to using
   52479 	the same data structures as inlines and blocks for maintaining its list of line boxes.
   52480 	
   52481         Reviewed by kocienda
   52482 
   52483         * khtml/khtml_part.cpp:
   52484         (KHTMLPart::text):
   52485         (KHTMLPart::customEvent):
   52486         * khtml/khtml_selection.cpp:
   52487         (KHTMLSelection::nextCharacterPosition):
   52488         (firstRunAt):
   52489         (lastRunAt):
   52490         * khtml/rendering/bidi.cpp:
   52491         (khtml::RenderBlock::layoutInlineChildren):
   52492         * khtml/rendering/render_block.cpp:
   52493         (khtml::RenderBlock::removeChild):
   52494         * khtml/rendering/render_box.cpp:
   52495         (RenderBox::RenderBox):
   52496         (RenderBox::detach):
   52497         (RenderBox::position):
   52498         (RenderBox::inlineBoxWrapper):
   52499         (RenderBox::deleteLineBoxWrapper):
   52500         * khtml/rendering/render_box.h:
   52501         * khtml/rendering/render_container.cpp:
   52502         (RenderContainer::removeChildNode):
   52503         * khtml/rendering/render_flow.cpp:
   52504         (RenderFlow::detach):
   52505         * khtml/rendering/render_line.cpp:
   52506         (InlineFlowBox::removeChild):
   52507         * khtml/rendering/render_line.h:
   52508         (khtml::InlineBox::nextOnLine):
   52509         (khtml::InlineBox::prevOnLine):
   52510         (khtml::InlineBox::setNextOnLine):
   52511         (khtml::InlineBox::setPrevOnLine):
   52512         (khtml::InlineRunBox::prevLineBox):
   52513         (khtml::InlineRunBox::nextLineBox):
   52514         * khtml/rendering/render_object.cpp:
   52515         (RenderObject::isEditable):
   52516         (RenderObject::inlineBoxWrapper):
   52517         (RenderObject::deleteLineBoxWrapper):
   52518         * khtml/rendering/render_object.h:
   52519         (khtml::RenderObject::documentBeingDestroyed):
   52520         * khtml/rendering/render_text.cpp:
   52521         (RenderText::RenderText):
   52522         (RenderText::detach):
   52523         (RenderText::deleteTextBoxes):
   52524         (RenderText::absoluteRects):
   52525         (RenderText::findNextInlineTextBox):
   52526         (RenderText::nodeAtPoint):
   52527         (RenderText::checkSelectionPointIgnoringContinuations):
   52528         (RenderText::caretPos):
   52529         (RenderText::paintObject):
   52530         (RenderText::paint):
   52531         (RenderText::minXPos):
   52532         (RenderText::xPos):
   52533         (RenderText::yPos):
   52534         (RenderText::height):
   52535         (RenderText::createInlineBox):
   52536         (RenderText::position):
   52537         (RenderText::width):
   52538         (RenderText::caretMinOffset):
   52539         (RenderText::caretMaxOffset):
   52540         * khtml/rendering/render_text.h:
   52541         (khtml::InlineTextBox:::InlineRunBox):
   52542         (khtml::InlineTextBox::nextTextBox):
   52543         (khtml::InlineTextBox::prevTextBox):
   52544         (khtml::RenderText::firstTextBox):
   52545         (khtml::RenderText::lastTextBox):
   52546         * kwq/KWQAccObject.mm:
   52547         (-[KWQAccObject accessibilityIsIgnored]):
   52548         * kwq/KWQDef.h:
   52549         * kwq/KWQKHTMLPart.mm:
   52550         (KWQKHTMLPart::attributedString):
   52551         * kwq/KWQRenderTreeDebug.cpp:
   52552         (write):
   52553 
   52554 2004-01-24  David Hyatt  <hyatt (a] apple.com>
   52555 
   52556 	Polish the error message from the xml tokenizer.
   52557 
   52558         * khtml/xml/xml_tokenizer.cpp:
   52559         (XMLTokenizer::finish):
   52560 
   52561 2004-01-23  Ken Kocienda  <kocienda (a] apple.com>
   52562 
   52563         Reviewed by Richard
   52564 
   52565         * kwq/KWQKHTMLPart.mm:
   52566         (KWQKHTMLPart::setShowsFirstResponder): Now adjusts caret visibility
   52567 	apprpropriately.
   52568 
   52569 2004-01-23  David Hyatt  <hyatt (a] apple.com>
   52570 
   52571 	Stub out @namespace support.  Implement the callbacks into the stylesheet that will enable us to
   52572 	store namespace information for simple selectors.
   52573 
   52574 	Basically with this patch we no longer bomb when we encounter namespaced stylesheets, but we don't handle
   52575 	them properly yet either.
   52576 	
   52577         Reviewed by kocienda
   52578 
   52579         * khtml/css/css_stylesheetimpl.cpp:
   52580         (CSSStyleSheetImpl::addNamespace):
   52581         (CSSStyleSheetImpl::determineNamespace):
   52582         * khtml/css/css_stylesheetimpl.h:
   52583         * khtml/css/cssparser.cpp:
   52584         (DOM::CSSParser::lex):
   52585         * khtml/css/cssparser.h:
   52586         * khtml/css/parser.cpp:
   52587         * khtml/css/parser.h:
   52588         * khtml/css/parser.y:
   52589         * khtml/css/tokenizer.cpp:
   52590         * khtml/css/tokenizer.flex:
   52591 
   52592 2004-01-23  Ken Kocienda  <kocienda (a] apple.com>
   52593 
   52594         Reviewed by Hyatt
   52595 
   52596 	Merged HTML editing progress to TOT from the branch
   52597 	I have been maintaining.
   52598 
   52599         * khtml/dom/dom_position.cpp: Added.
   52600         * khtml/dom/dom_position.h: Added.
   52601         * khtml/editing/htmlediting.cpp: Added.
   52602         * khtml/editing/htmlediting.h: Added.
   52603         * khtml/khtml_selection.cpp: Added.
   52604         * khtml/khtml_selection.h: Added.
   52605 
   52606 2004-01-22  David Hyatt  <hyatt (a] apple.com>
   52607 
   52608 	Fix a bug I accidentally introduced in static positioned elements.  Add more margin collapsing tests.
   52609 	
   52610         * ChangeLog:
   52611         * khtml/rendering/render_block.cpp:
   52612         (khtml::RenderBlock::layoutBlockChildren):
   52613         * layout-tests/fast/block/margin-collapse/044-expected.txt: Added.
   52614         * layout-tests/fast/block/margin-collapse/044.html: Added.
   52615         * layout-tests/fast/block/margin-collapse/045-expected.txt: Added.
   52616         * layout-tests/fast/block/margin-collapse/045.html: Added.
   52617         * layout-tests/fast/block/margin-collapse/062-expected.txt: Added.
   52618         * layout-tests/fast/block/margin-collapse/062.html: Added.
   52619         * layout-tests/fast/block/margin-collapse/063-expected.txt: Added.
   52620         * layout-tests/fast/block/margin-collapse/063.html: Added.
   52621         * layout-tests/fast/block/positioning/007-expected.txt:
   52622 
   52623 2004-01-22  David Hyatt  <hyatt (a] apple.com>
   52624 
   52625         * khtml/rendering/render_block.cpp:
   52626         (khtml::RenderBlock::layoutBlockChildren):
   52627         * layout-tests/fast/block/margin-collapse/062-expected.txt: Added.
   52628         * layout-tests/fast/block/margin-collapse/062.html: Added.
   52629         * layout-tests/fast/block/margin-collapse/063-expected.txt: Added.
   52630         * layout-tests/fast/block/margin-collapse/063.html: Added.
   52631         * layout-tests/fast/block/positioning/007-expected.txt:
   52632 
   52633 2004-01-22  David Hyatt  <hyatt (a] apple.com>
   52634 
   52635 	(1) Implement better XML error handling.
   52636 	(2) Fix a minor z-index bug with the 'initial' value.
   52637 	(3) Initial landing of XBL support.  Code is all ifnef KHTML_NO_XBL so that it can be turned off easily if
   52638 	XBL never comes to fruition.
   52639 	
   52640         Reviewed by darin
   52641 
   52642         * ForwardingHeaders/xbl/xbl_binding_manager.h: Added.
   52643         * ForwardingHeaders/xbl/xbl_docimpl.h: Added.
   52644         * WebCore.pbproj/project.pbxproj:
   52645         * khtml/css/cssparser.cpp:
   52646         (CSSParser::parseValue):
   52647         * khtml/css/cssproperties.c:
   52648         (hash_prop):
   52649         (findProp):
   52650         * khtml/css/cssproperties.h:
   52651         * khtml/css/cssproperties.in:
   52652         * khtml/css/cssstyleselector.cpp:
   52653         (khtml::CSSStyleSelector::applyRule):
   52654         * khtml/dom/dom_element.cpp:
   52655         (Element::getAttributeNS):
   52656         * khtml/misc/loader.cpp:
   52657         (CachedXBLDocument::CachedXBLDocument):
   52658         (CachedXBLDocument::~CachedXBLDocument):
   52659         (CachedXBLDocument::ref):
   52660         (CachedXBLDocument::deref):
   52661         (CachedXBLDocument::data):
   52662         (CachedXBLDocument::checkNotify):
   52663         (CachedXBLDocument::error):
   52664         (DocLoader::requestXBLDocument):
   52665         (Cache::requestXBLDocument):
   52666         (CachedObjectClient::setXBLDocument):
   52667         (Cache::getStatistics):
   52668         * khtml/misc/loader.h:
   52669         (khtml::CachedObject::):
   52670         (khtml::CachedXBLDocument::document):
   52671         (khtml::CachedXBLDocument::schedule):
   52672         * khtml/misc/loader_client.h:
   52673         * khtml/rendering/render_style.cpp:
   52674         (bindingURI):
   52675         (marquee):
   52676         (StyleCSS3NonInheritedData::~StyleCSS3NonInheritedData):
   52677         (StyleCSS3NonInheritedData::bindingsEquivalent):
   52678         (StyleCSS3NonInheritedData::operator==):
   52679         (:m_next):
   52680         (BindingURI::~BindingURI):
   52681         (BindingURI::copy):
   52682         (BindingURI::operator==):
   52683         (RenderStyle::addBindingURI):
   52684         * khtml/rendering/render_style.h:
   52685         (khtml::BindingURI::operator!=):
   52686         (khtml::BindingURI::next):
   52687         (khtml::BindingURI::setNext):
   52688         (khtml::BindingURI::uri):
   52689         (khtml::RenderStyle::bindingURIs):
   52690         (khtml::RenderStyle::setHasAutoZIndex):
   52691         (khtml::RenderStyle::setZIndex):
   52692         (khtml::RenderStyle::deleteBindingURIs):
   52693         (khtml::RenderStyle::inheritBindingURIs):
   52694         * khtml/xbl/xbl_binding.cpp: Added.
   52695         (XBL::m_markedForDeath):
   52696         (XBL::XBLBindingChain::~XBLBindingChain):
   52697         (XBL::XBLBindingChain::firstStyleBindingChain):
   52698         (XBL::XBLBindingChain::lastBindingChain):
   52699         (XBL::XBLBindingChain::insertBindingChain):
   52700         (XBL::XBLBindingChain::markForDeath):
   52701         (XBL::XBLBindingChain::loaded):
   52702         (XBL::XBLBindingChain::hasStylesheets):
   52703         (XBL::XBLBindingChain::failed):
   52704         (XBL::m_nextBinding):
   52705         (XBL::XBLBinding::~XBLBinding):
   52706         (XBL::XBLBinding::loaded):
   52707         (XBL::XBLBinding::setXBLDocument):
   52708         * khtml/xbl/xbl_binding.h: Added.
   52709         (XBL::):
   52710         (XBL::XBLBindingChain::uri):
   52711         (XBL::XBLBindingChain::nextChain):
   52712         (XBL::XBLBindingChain::previousChain):
   52713         (XBL::XBLBindingChain::setNextBindingChain):
   52714         (XBL::XBLBindingChain::setPreviousBindingChain):
   52715         (XBL::XBLBindingChain::markedForDeath):
   52716         (XBL::XBLBindingChain::element):
   52717         * khtml/xbl/xbl_binding_manager.cpp: Added.
   52718         (XBL::m_bindingChainTable):
   52719         (XBL::XBLBindingManager::~XBLBindingManager):
   52720         (XBL::XBLBindingManager::getBindingChain):
   52721         (XBL::XBLBindingManager::setBindingChain):
   52722         (XBL::XBLBindingManager::loadBindings):
   52723         (XBL::XBLBindingManager::checkLoadState):
   52724         * khtml/xbl/xbl_binding_manager.h: Added.
   52725         * khtml/xbl/xbl_docimpl.cpp: Added.
   52726         (XBL:::DocumentImpl):
   52727         (XBL::XBLDocumentImpl::~XBLDocumentImpl):
   52728         (XBL::XBLDocumentImpl::createTokenHandler):
   52729         (XBL::XBLDocumentImpl::setPrototypeBinding):
   52730         (XBL::XBLDocumentImpl::prototypeBinding):
   52731         * khtml/xbl/xbl_docimpl.h: Added.
   52732         (XBL::):
   52733         * khtml/xbl/xbl_protobinding.cpp: Added.
   52734         (XBL::m_handler):
   52735         (XBL::XBLPrototypeBinding::initialize):
   52736         (XBL::XBLPrototypeBinding::document):
   52737         (XBL::XBLPrototypeBinding::addResource):
   52738         * khtml/xbl/xbl_protobinding.h: Added.
   52739         (XBL::XBLPrototypeBinding::element):
   52740         (XBL::XBLPrototypeBinding::setHandler):
   52741         (XBL::XBLPrototypeBinding::handler):
   52742         * khtml/xbl/xbl_protohandler.cpp: Added.
   52743         (XBL::m_unused):
   52744         (XBL::XBLPrototypeHandler::~XBLPrototypeHandler):
   52745         (XBL::XBLPrototypeHandler::appendData):
   52746         * khtml/xbl/xbl_protohandler.h: Added.
   52747         (XBL::XBLPrototypeHandler::setNext):
   52748         (XBL::XBLPrototypeHandler::next):
   52749         * khtml/xbl/xbl_protoimplementation.cpp: Added.
   52750         (XBL::m_compiled):
   52751         (XBL::m_next):
   52752         (XBL::XBLPrototypeMember::appendData):
   52753         (XBL:::XBLPrototypeMember):
   52754         (XBL::XBLPrototypeMethod::isConstructor):
   52755         (XBL::XBLPrototypeMethod::isDestructor):
   52756         (XBL::XBLPrototypeMethod::addParameter):
   52757         (XBL:::XBLPrototypeMethod):
   52758         (XBL::XBLPrototypeConstructor::isConstructor):
   52759         (XBL::XBLPrototypeDestructor::isDestructor):
   52760         (XBL::m_readonly):
   52761         (XBL::XBLPrototypeProperty::appendGetterText):
   52762         (XBL::XBLPrototypeProperty::appendSetterText):
   52763         * khtml/xbl/xbl_protoimplementation.h: Added.
   52764         (XBL::XBLPrototypeMember::~XBLPrototypeMember):
   52765         (XBL::XBLPrototypeMember::setNext):
   52766         (XBL::XBLPrototypeMember::next):
   52767         (XBL::XBLPrototypeImplementation::~XBLPrototypeImplementation):
   52768         (XBL::XBLPrototypeImplementation::setMember):
   52769         (XBL::XBLPrototypeParameter::m_next):
   52770         (XBL::XBLPrototypeParameter::~XBLPrototypeParameter):
   52771         (XBL::XBLPrototypeParameter::next):
   52772         (XBL::XBLPrototypeParameter::setNext):
   52773         (XBL::):
   52774         * khtml/xbl/xbl_tokenizer.cpp: Added.
   52775         (XBL::XBLTokenHandler::XBLTokenHandler):
   52776         (XBL::XBLTokenHandler::~XBLTokenHandler):
   52777         (XBL::XBLTokenHandler::xblDocument):
   52778         (XBL::XBLTokenHandler::startElement):
   52779         (XBL::XBLTokenHandler::endElement):
   52780         (XBL::XBLTokenHandler::characters):
   52781         (XBL::XBLTokenHandler::createBinding):
   52782         (XBL::XBLTokenHandler::createHandler):
   52783         (XBL::XBLTokenHandler::createResource):
   52784         (XBL::XBLTokenHandler::createImplementation):
   52785         (XBL::XBLTokenHandler::addMember):
   52786         (XBL::XBLTokenHandler::createConstructor):
   52787         (XBL::XBLTokenHandler::createDestructor):
   52788         (XBL::XBLTokenHandler::createField):
   52789         (XBL::XBLTokenHandler::createProperty):
   52790         (XBL::XBLTokenHandler::createMethod):
   52791         (XBL::XBLTokenHandler::createParameter):
   52792         * khtml/xbl/xbl_tokenizer.h: Added.
   52793         (XBL::):
   52794         * khtml/xml/dom_docimpl.cpp:
   52795         (DocumentImpl::DocumentImpl):
   52796         (DocumentImpl::~DocumentImpl):
   52797         (DocumentImpl::createTokenHandler):
   52798         (DocumentTypeImpl::DocumentTypeImpl):
   52799         (DocumentTypeImpl::~DocumentTypeImpl):
   52800         * khtml/xml/dom_docimpl.h:
   52801         (DOM::DocumentImpl::bindingManager):
   52802         * khtml/xml/dom_elementimpl.cpp:
   52803         (ElementImpl::getAttributeNS):
   52804         (ElementImpl::childAllowed):
   52805         * khtml/xml/dom_elementimpl.h:
   52806         (DOM::ElementImpl::getAttribute):
   52807         * khtml/xml/dom_nodeimpl.cpp:
   52808         * khtml/xml/xml_tokenizer.cpp:
   52809         (XMLHandler::XMLHandler):
   52810         (XMLHandler::startDocument):
   52811         (XMLHandler::startElement):
   52812         (XMLHandler::endElement):
   52813         (XMLHandler::startCDATA):
   52814         (XMLHandler::endCDATA):
   52815         (XMLHandler::characters):
   52816         (XMLHandler::comment):
   52817         (XMLHandler::processingInstruction):
   52818         (XMLHandler::warning):
   52819         (XMLHandler::error):
   52820         (XMLHandler::fatalError):
   52821         (XMLTokenizer::finish):
   52822         * khtml/xml/xml_tokenizer.h:
   52823         * kwq/KWQXmlSimpleReader.h:
   52824         (QXmlSimpleReader::sawError):
   52825         (QXmlSimpleReader::recordError):
   52826         * kwq/KWQXmlSimpleReader.mm:
   52827         (warningHandler):
   52828         (fatalErrorHandler):
   52829         (normalErrorHandler):
   52830         (QXmlSimpleReader::parse):
   52831 
   52832 2004-01-22  Chris Blumenberg  <cblu (a] apple.com>
   52833 
   52834 	Fixed: <rdar://problem/3537542>: support for copying HTML
   52835 
   52836         Reviewed by dave.
   52837 
   52838         * khtml/xml/dom2_rangeimpl.cpp:
   52839         (RangeImpl::toHTML): implemented
   52840         * khtml/xml/dom_nodeimpl.cpp:
   52841         (NodeImpl::recursive_toHTMLWithRange): new
   52842         * khtml/xml/dom_nodeimpl.h:
   52843         * kwq/WebCoreBridge.h:
   52844         * kwq/WebCoreBridge.mm:
   52845         (-[WebCoreBridge selectedHTML]): new
   52846         (-[WebCoreBridge reconstructedSource]): new
   52847 
   52848 2004-01-21  David Hyatt  <hyatt (a] apple.com>
   52849 
   52850 	Fix for two margin collapsing edge cases.
   52851 	
   52852         Reviewed by darin
   52853 
   52854         * khtml/rendering/render_block.cpp:
   52855         (khtml::RenderBlock::layoutBlockChildren):
   52856 
   52857 2004-01-21  David Hyatt  <hyatt (a] apple.com>
   52858 
   52859 	Switch from expat to libxml and implement namespace support in the simplereader.
   52860 	
   52861         Reviewed by darin
   52862 
   52863         * ChangeLog:
   52864         * expat/Changes: Removed.
   52865         * expat/MANIFEST: Removed.
   52866         * expat/README: Removed.
   52867         * expat/expat_config.h: Removed.
   52868         * expat/lib/ascii.h: Removed.
   52869         * expat/lib/asciitab.h: Removed.
   52870         * expat/lib/expat.h: Removed.
   52871         * expat/lib/iasciitab.h: Removed.
   52872         * expat/lib/internal.h: Removed.
   52873         * expat/lib/latin1tab.h: Removed.
   52874         * expat/lib/nametab.h: Removed.
   52875         * expat/lib/utf8tab.h: Removed.
   52876         * expat/lib/xmlparse.c: Removed.
   52877         * expat/lib/xmlrole.c: Removed.
   52878         * expat/lib/xmlrole.h: Removed.
   52879         * expat/lib/xmltok.c: Removed.
   52880         * expat/lib/xmltok.h: Removed.
   52881         * expat/lib/xmltok_impl.c: Removed.
   52882         * expat/lib/xmltok_impl.h: Removed.
   52883         * expat/lib/xmltok_ns.c: Removed.
   52884         * kwq/KWQXmlAttributes.h:
   52885         (QXmlAttributes::QXmlAttributes):
   52886         (QXmlAttributes::qName):
   52887         (QXmlAttributes::uri):
   52888         * kwq/KWQXmlAttributes.mm:
   52889         (QXmlAttributes::QXmlAttributes):
   52890         (QXmlAttributes::~QXmlAttributes):
   52891         (QXmlAttributes::operator=):
   52892         (QXmlAttributes::localName):
   52893         (QXmlAttributes::split):
   52894         * kwq/KWQXmlSimpleReader.h:
   52895         (KWQXmlNamespace::m_ref):
   52896         (KWQXmlNamespace::uriForPrefix):
   52897         (KWQXmlNamespace::ref):
   52898         (KWQXmlNamespace::deref):
   52899         (QXmlParseException::QXmlParseException):
   52900         (QXmlParseException::message):
   52901         (QXmlParseException::columnNumber):
   52902         (QXmlParseException::lineNumber):
   52903         (QXmlSimpleReader::errorHandler):
   52904         (QXmlSimpleReader::xmlNamespace):
   52905         (QXmlSimpleReader::parserStopped):
   52906         * kwq/KWQXmlSimpleReader.mm:
   52907         (startElementHandler):
   52908         (endElementHandler):
   52909         (charactersHandler):
   52910         (processingInstructionHandler):
   52911         (cdataBlockHandler):
   52912         (commentHandler):
   52913         (warningHandler):
   52914         (fatalErrorHandler):
   52915         (QXmlSimpleReader::pushNamespaces):
   52916         (QXmlSimpleReader::popNamespaces):
   52917         (QXmlSimpleReader::parse):
   52918         (QXmlSimpleReader::stopParsing):
   52919         (QXmlSimpleReader::lineNumber):
   52920         (QXmlSimpleReader::columnNumber):
   52921 
   52922 2004-01-21  David Hyatt  <hyatt (a] apple.com>
   52923 
   52924         * ForwardingHeaders/xbl/xbl_binding_manager.h: Added.
   52925         * ForwardingHeaders/xbl/xbl_docimpl.h: Added.
   52926         * WebCore.pbproj/project.pbxproj:
   52927         * expat/COPYING: Removed.
   52928         * expat/Changes: Removed.
   52929         * expat/MANIFEST: Removed.
   52930         * expat/README: Removed.
   52931         * expat/expat_config.h: Removed.
   52932         * expat/lib/ascii.h: Removed.
   52933         * expat/lib/asciitab.h: Removed.
   52934         * expat/lib/expat.h: Removed.
   52935         * expat/lib/iasciitab.h: Removed.
   52936         * expat/lib/internal.h: Removed.
   52937         * expat/lib/latin1tab.h: Removed.
   52938         * expat/lib/nametab.h: Removed.
   52939         * expat/lib/utf8tab.h: Removed.
   52940         * expat/lib/xmlparse.c: Removed.
   52941         * expat/lib/xmlrole.c: Removed.
   52942         * expat/lib/xmlrole.h: Removed.
   52943         * expat/lib/xmltok.c: Removed.
   52944         * expat/lib/xmltok.h: Removed.
   52945         * expat/lib/xmltok_impl.c: Removed.
   52946         * expat/lib/xmltok_impl.h: Removed.
   52947         * expat/lib/xmltok_ns.c: Removed.
   52948         * khtml/css/cssparser.cpp:
   52949         (CSSParser::parseValue):
   52950         * khtml/css/cssproperties.c:
   52951         (hash_prop):
   52952         (findProp):
   52953         * khtml/css/cssproperties.h:
   52954         * khtml/css/cssproperties.in:
   52955         * khtml/css/cssstyleselector.cpp:
   52956         (khtml::CSSStyleSelector::applyRule):
   52957         * khtml/dom/dom_element.cpp:
   52958         (Element::getAttributeNS):
   52959         * khtml/misc/loader.cpp:
   52960         (CachedXBLDocument::CachedXBLDocument):
   52961         (CachedXBLDocument::~CachedXBLDocument):
   52962         (CachedXBLDocument::ref):
   52963         (CachedXBLDocument::deref):
   52964         (CachedXBLDocument::data):
   52965         (CachedXBLDocument::checkNotify):
   52966         (CachedXBLDocument::error):
   52967         (DocLoader::requestXBLDocument):
   52968         (Cache::requestXBLDocument):
   52969         (CachedObjectClient::setXBLDocument):
   52970         (Cache::getStatistics):
   52971         * khtml/misc/loader.h:
   52972         (khtml::CachedObject::):
   52973         (khtml::CachedXBLDocument::document):
   52974         (khtml::CachedXBLDocument::schedule):
   52975         * khtml/misc/loader_client.h:
   52976         * khtml/rendering/render_block.cpp:
   52977         (khtml::RenderBlock::layoutBlockChildren):
   52978         * khtml/rendering/render_style.cpp:
   52979         (bindingURI):
   52980         (marquee):
   52981         (StyleCSS3NonInheritedData::~StyleCSS3NonInheritedData):
   52982         (StyleCSS3NonInheritedData::bindingsEquivalent):
   52983         (StyleCSS3NonInheritedData::operator==):
   52984         (:m_next):
   52985         (BindingURI::~BindingURI):
   52986         (BindingURI::copy):
   52987         (BindingURI::operator==):
   52988         (RenderStyle::addBindingURI):
   52989         * khtml/rendering/render_style.h:
   52990         (khtml::BindingURI::operator!=):
   52991         (khtml::BindingURI::next):
   52992         (khtml::BindingURI::setNext):
   52993         (khtml::BindingURI::uri):
   52994         (khtml::RenderStyle::bindingURIs):
   52995         (khtml::RenderStyle::setHasAutoZIndex):
   52996         (khtml::RenderStyle::setZIndex):
   52997         (khtml::RenderStyle::deleteBindingURIs):
   52998         (khtml::RenderStyle::inheritBindingURIs):
   52999         * khtml/xbl/xbl_binding.cpp: Added.
   53000         (XBL::m_markedForDeath):
   53001         (XBL::XBLBindingChain::~XBLBindingChain):
   53002         (XBL::XBLBindingChain::firstStyleBindingChain):
   53003         (XBL::XBLBindingChain::lastBindingChain):
   53004         (XBL::XBLBindingChain::insertBindingChain):
   53005         (XBL::XBLBindingChain::markForDeath):
   53006         (XBL::XBLBindingChain::loaded):
   53007         (XBL::XBLBindingChain::hasStylesheets):
   53008         (XBL::XBLBindingChain::failed):
   53009         (XBL::m_nextBinding):
   53010         (XBL::XBLBinding::~XBLBinding):
   53011         (XBL::XBLBinding::loaded):
   53012         (XBL::XBLBinding::setXBLDocument):
   53013         * khtml/xbl/xbl_binding.h: Added.
   53014         (XBL::):
   53015         (XBL::XBLBindingChain::uri):
   53016         (XBL::XBLBindingChain::nextChain):
   53017         (XBL::XBLBindingChain::previousChain):
   53018         (XBL::XBLBindingChain::setNextBindingChain):
   53019         (XBL::XBLBindingChain::setPreviousBindingChain):
   53020         (XBL::XBLBindingChain::markedForDeath):
   53021         (XBL::XBLBindingChain::element):
   53022         * khtml/xbl/xbl_binding_manager.cpp: Added.
   53023         (XBL::m_bindingChainTable):
   53024         (XBL::XBLBindingManager::~XBLBindingManager):
   53025         (XBL::XBLBindingManager::getBindingChain):
   53026         (XBL::XBLBindingManager::setBindingChain):
   53027         (XBL::XBLBindingManager::loadBindings):
   53028         (XBL::XBLBindingManager::checkLoadState):
   53029         * khtml/xbl/xbl_binding_manager.h: Added.
   53030         * khtml/xbl/xbl_docimpl.cpp: Added.
   53031         (XBL:::DocumentImpl):
   53032         (XBL::XBLDocumentImpl::~XBLDocumentImpl):
   53033         (XBL::XBLDocumentImpl::createTokenHandler):
   53034         (XBL::XBLDocumentImpl::setPrototypeBinding):
   53035         (XBL::XBLDocumentImpl::prototypeBinding):
   53036         * khtml/xbl/xbl_docimpl.h: Added.
   53037         (XBL::):
   53038         * khtml/xbl/xbl_protobinding.cpp: Added.
   53039         (XBL::m_handler):
   53040         (XBL::XBLPrototypeBinding::initialize):
   53041         (XBL::XBLPrototypeBinding::document):
   53042         (XBL::XBLPrototypeBinding::addResource):
   53043         * khtml/xbl/xbl_protobinding.h: Added.
   53044         (XBL::XBLPrototypeBinding::element):
   53045         (XBL::XBLPrototypeBinding::setHandler):
   53046         (XBL::XBLPrototypeBinding::handler):
   53047         * khtml/xbl/xbl_protohandler.cpp: Added.
   53048         (XBL::m_unused):
   53049         (XBL::XBLPrototypeHandler::~XBLPrototypeHandler):
   53050         (XBL::XBLPrototypeHandler::appendData):
   53051         * khtml/xbl/xbl_protohandler.h: Added.
   53052         (XBL::XBLPrototypeHandler::setNext):
   53053         (XBL::XBLPrototypeHandler::next):
   53054         * khtml/xbl/xbl_protoimplementation.cpp: Added.
   53055         (XBL::m_compiled):
   53056         (XBL::m_next):
   53057         (XBL::XBLPrototypeMember::appendData):
   53058         (XBL:::XBLPrototypeMember):
   53059         (XBL::XBLPrototypeMethod::isConstructor):
   53060         (XBL::XBLPrototypeMethod::isDestructor):
   53061         (XBL::XBLPrototypeMethod::addParameter):
   53062         (XBL:::XBLPrototypeMethod):
   53063         (XBL::XBLPrototypeConstructor::isConstructor):
   53064         (XBL::XBLPrototypeDestructor::isDestructor):
   53065         (XBL::m_readonly):
   53066         (XBL::XBLPrototypeProperty::appendGetterText):
   53067         (XBL::XBLPrototypeProperty::appendSetterText):
   53068         * khtml/xbl/xbl_protoimplementation.h: Added.
   53069         (XBL::XBLPrototypeMember::~XBLPrototypeMember):
   53070         (XBL::XBLPrototypeMember::setNext):
   53071         (XBL::XBLPrototypeMember::next):
   53072         (XBL::XBLPrototypeImplementation::~XBLPrototypeImplementation):
   53073         (XBL::XBLPrototypeImplementation::setMember):
   53074         (XBL::XBLPrototypeParameter::m_next):
   53075         (XBL::XBLPrototypeParameter::~XBLPrototypeParameter):
   53076         (XBL::XBLPrototypeParameter::next):
   53077         (XBL::XBLPrototypeParameter::setNext):
   53078         (XBL::):
   53079         * khtml/xbl/xbl_tokenizer.cpp: Added.
   53080         (XBL::XBLTokenHandler::XBLTokenHandler):
   53081         (XBL::XBLTokenHandler::~XBLTokenHandler):
   53082         (XBL::XBLTokenHandler::xblDocument):
   53083         (XBL::XBLTokenHandler::startElement):
   53084         (XBL::XBLTokenHandler::endElement):
   53085         (XBL::XBLTokenHandler::characters):
   53086         (XBL::XBLTokenHandler::createBinding):
   53087         (XBL::XBLTokenHandler::createHandler):
   53088         (XBL::XBLTokenHandler::createResource):
   53089         (XBL::XBLTokenHandler::createImplementation):
   53090         (XBL::XBLTokenHandler::addMember):
   53091         (XBL::XBLTokenHandler::createConstructor):
   53092         (XBL::XBLTokenHandler::createDestructor):
   53093         (XBL::XBLTokenHandler::createField):
   53094         (XBL::XBLTokenHandler::createProperty):
   53095         (XBL::XBLTokenHandler::createMethod):
   53096         (XBL::XBLTokenHandler::createParameter):
   53097         * khtml/xbl/xbl_tokenizer.h: Added.
   53098         (XBL::):
   53099         * khtml/xml/dom_docimpl.cpp:
   53100         (DocumentImpl::DocumentImpl):
   53101         (DocumentImpl::~DocumentImpl):
   53102         (DocumentImpl::createTokenHandler):
   53103         (DocumentTypeImpl::DocumentTypeImpl):
   53104         (DocumentTypeImpl::~DocumentTypeImpl):
   53105         * khtml/xml/dom_docimpl.h:
   53106         (DOM::DocumentImpl::bindingManager):
   53107         * khtml/xml/dom_elementimpl.cpp:
   53108         (ElementImpl::getAttributeNS):
   53109         * khtml/xml/dom_elementimpl.h:
   53110         (DOM::ElementImpl::getAttribute):
   53111         * khtml/xml/dom_nodeimpl.cpp:
   53112         * khtml/xml/xml_tokenizer.cpp:
   53113         (XMLHandler::startElement):
   53114         (XMLTokenizer::finish):
   53115         * khtml/xml/xml_tokenizer.h:
   53116         * kwq/KWQXmlAttributes.h:
   53117         (QXmlAttributes::QXmlAttributes):
   53118         (QXmlAttributes::qName):
   53119         (QXmlAttributes::uri):
   53120         * kwq/KWQXmlAttributes.mm:
   53121         (QXmlAttributes::QXmlAttributes):
   53122         (QXmlAttributes::~QXmlAttributes):
   53123         (QXmlAttributes::operator=):
   53124         (QXmlAttributes::localName):
   53125         (QXmlAttributes::split):
   53126         * kwq/KWQXmlSimpleReader.h:
   53127         (XmlNamespace::m_ref):
   53128         (XmlNamespace::uriForPrefix):
   53129         (XmlNamespace::ref):
   53130         (XmlNamespace::deref):
   53131         (QXmlParseException::QXmlParseException):
   53132         (QXmlParseException::message):
   53133         (QXmlParseException::columnNumber):
   53134         (QXmlParseException::lineNumber):
   53135         (QXmlSimpleReader::errorHandler):
   53136         (QXmlSimpleReader::xmlNamespace):
   53137         (QXmlSimpleReader::parserStopped):
   53138         * kwq/KWQXmlSimpleReader.mm:
   53139         (startElementHandler):
   53140         (endElementHandler):
   53141         (charactersHandler):
   53142         (processingInstructionHandler):
   53143         (cdataBlockHandler):
   53144         (commentHandler):
   53145         (warningHandler):
   53146         (fatalErrorHandler):
   53147         (QXmlSimpleReader::pushNamespaces):
   53148         (QXmlSimpleReader::popNamespaces):
   53149         (QXmlSimpleReader::parse):
   53150         (QXmlSimpleReader::stopParsing):
   53151         (QXmlSimpleReader::lineNumber):
   53152         (QXmlSimpleReader::columnNumber):
   53153         * layout-tests/fast/overflow/003.xml:
   53154 
   53155 2004-01-21  David Hyatt  <hyatt (a] apple.com>
   53156 
   53157 	Add some methods to dicts and stacks that exist in Qt.
   53158 	
   53159         Reviewed by darin
   53160 
   53161         * kwq/KWQDict.h:
   53162         (QDict::replace):
   53163         * kwq/KWQPtrDict.h:
   53164         (QPtrDict::replace):
   53165         (QPtrDict::find):
   53166         * kwq/KWQPtrStack.h:
   53167         (QPtrStack::current):
   53168         (QPtrStack::setAutoDelete):
   53169 
   53170 2004-01-19  Maciej Stachowiak  <mjs (a] apple.com>
   53171 
   53172         Reviewed by John, Ken, Dave.
   53173 
   53174 	<rdar://problem/3533319>: Safari allows upload of arbitrary local files w/o user's knowledge or permission
   53175         
   53176 	* khtml/html/html_formimpl.cpp:
   53177         (HTMLInputElementImpl::value): Don't fall back to the value
   53178 	attribute for file inputs, since that way malicious HTML could
   53179 	force the user to upload files unexpectedly.
   53180 
   53181 2004-01-18  David Hyatt  <hyatt (a] apple.com>
   53182 
   53183 	Fix for 3532569, bugzilla patch viewer doesn't work.  My previous fix for 3531983 caused moves to happen
   53184 	when they should not have, due to childX and childY not being implemented at all on KWQScrollView.
   53185 
   53186         Reviewed by darin
   53187 	
   53188         * kwq/KWQScrollView.mm:
   53189         (QScrollView::childX):
   53190         (QScrollView::childY):
   53191 
   53192 === Safari-124 ===
   53193 
   53194 2004-01-16  David Hyatt  <hyatt (a] apple.com>
   53195 
   53196 	Fix for 3531983, fixed positioning not working for widgets.  Make sure to move widgets at paint time
   53197 	if necessary.
   53198 	
   53199         Reviewed by darin
   53200 	
   53201         * khtml/rendering/render_replaced.cpp:
   53202         (RenderWidget::paintObject):
   53203 
   53204 2004-01-15  David Hyatt  <hyatt (a] apple.com>
   53205 
   53206 	Fix for 3530734, many java applets don't show up.  Go ahead and just use the width/height from the style
   53207 	system as the initial size when the width/height are fixed.
   53208 	
   53209         Reviewed by rjw
   53210 
   53211         * khtml/rendering/render_applet.cpp:
   53212         (RenderApplet::createWidgetIfNecessary):
   53213 
   53214 2004-01-15  Richard Williamson   <rjw (a] apple.com>
   53215 
   53216 	Fixed 3529426.  Exclude pages that contain Java applets from 
   53217 	the page cache.  The means applets get the normal stop/destroy
   53218 	messages that they expect when a user leaves a page.
   53219 
   53220         Reviewed by John.
   53221 
   53222         * kwq/KWQKHTMLPart.mm:
   53223         (KWQKHTMLPart::canCachePage):
   53224 
   53225 2004-01-15  Vicki Murley  <vicki (a] apple.com>
   53226 
   53227         Reviewed by Darin.
   53228 
   53229         * WebCore.pbproj/project.pbxproj: Update copyright date to 2004.
   53230 
   53231 2004-01-15  Darin Adler  <darin (a] apple.com>
   53232 
   53233         Reviewed by Ken.
   53234 
   53235         - fixed 3529943: REGRESSION (119-120): nil-deref in KHTMLPart::javaEnabled when hitting back button
   53236 
   53237         * khtml/html/html_objectimpl.cpp: (HTMLAppletElementImpl::getAppletInstance):
   53238         Add missing nil check that the other call to javaEnabled has.
   53239 
   53240 === Safari-122 ===
   53241 
   53242 2004-01-14  David Hyatt  <hyatt (a] apple.com>
   53243 
   53244 	Fix for 3527819, marquee makes page layout too wide.  Make sure marquees have a minimum width of 0.
   53245 	
   53246         Reviewed by john
   53247 
   53248         * khtml/rendering/render_block.cpp:
   53249         (khtml::RenderBlock::calcMinMaxWidth):
   53250         (khtml::RenderBlock::calcInlineMinMaxWidth):
   53251 
   53252 2004-01-13  David Hyatt  <hyatt (a] apple.com>
   53253 
   53254 	Fix for 3527707, crash on w3c css page.  Make sure height isn't allowed to be negative when computing
   53255 	positioned elements' heights.  Also bulletproof the crash in case there are other negative height code
   53256 	paths.
   53257 	
   53258         Reviewed by john
   53259 
   53260         * khtml/rendering/render_block.cpp:
   53261         (khtml::RenderBlock::layoutBlock):
   53262         (khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats):
   53263         * khtml/rendering/render_box.cpp:
   53264         (RenderBox::calcAbsoluteVertical):
   53265 
   53266 2004-01-13  Maciej Stachowiak  <mjs (a] apple.com>
   53267 
   53268         Reviewed by Darin.
   53269 
   53270 	<rdar://problem/3527853>: REGRESSION (119-120): Peoplesoft menus do not work
   53271 	
   53272         * kwq/KWQKHTMLPart.mm:
   53273         (KWQKHTMLPart::scrollToAnchor): Right before calling checkCompleted(), set
   53274 	m_bComplete to false, so it can get set right back to true if we're actually done
   53275 	loading and fire all the right signals.
   53276 
   53277 2004-01-13  David Hyatt  <hyatt (a] apple.com>
   53278 
   53279 	Fix for 3526710, applets need to have the correct initial size after a layout has been done, since our
   53280 	Java applets can't yet resize.
   53281 	
   53282         Reviewed by john
   53283 
   53284         * khtml/rendering/render_applet.cpp:
   53285         (RenderApplet::createWidgetIfNecessary):
   53286         (RenderApplet::layout):
   53287         (RenderEmptyApplet::layout):
   53288 
   53289 === Safari-121 ===
   53290 
   53291 2004-01-11  Darin Adler  <darin (a] apple.com>
   53292 
   53293         - fixed Dave's check-in so it compiles; I assume he forgot to land one source file
   53294 
   53295         * khtml/khtmlview.h: Add RenderPart to the friends of KHTMLView.
   53296 
   53297 2004-01-11  David Hyatt  <hyatt (a] apple.com>
   53298 
   53299 	Fix for frame repainting bugs (3510669, 3515442).  This is a narrower fix than the previous attempt.
   53300 	
   53301         Reviewed by darin
   53302 
   53303         * khtml/rendering/render_frames.cpp:
   53304         (RenderPart::updateWidgetPositions):
   53305         * khtml/rendering/render_frames.h:
   53306         * khtml/rendering/render_replaced.cpp:
   53307         (RenderWidget::updateWidgetPositions):
   53308 
   53309 2004-01-10  Darin Adler  <darin (a] apple.com>
   53310 
   53311         Reviewed by John.
   53312 
   53313         - fixed 3525468: REGRESSION (114-115): HOMEPAGE: after hitting textarea limit, backspace key is ignored
   53314 
   53315         * kwq/KWQEvent.mm:
   53316         (keyIdentifierForKeyEvent): Treat 7F as 08; matches other browsers.
   53317         (QKeyEvent::QKeyEvent): Ditto.
   53318 
   53319 2004-01-09  David Hyatt  <hyatt (a] apple.com>
   53320 
   53321 	Fixes for 3510669 and 3515442, blank frame problems caused by WebKit's use of a separate needsLayout boolean.
   53322 	
   53323         Reviewed by darin
   53324 
   53325         * kwq/WebCoreBridge.h:
   53326         * kwq/WebCoreBridge.mm:
   53327         (-[WebCoreBridge setNeedsLayout]):
   53328 
   53329 2004-01-08  David Hyatt  <hyatt (a] apple.com>
   53330 
   53331 	Fix for 3524118, floats don't repaint when moved.
   53332 	
   53333         Reviewed by darin
   53334 
   53335          * khtml/rendering/render_block.cpp:
   53336         (khtml::RenderBlock::positionNewFloats):
   53337  
   53338 2004-01-08  David Hyatt  <hyatt (a] apple.com>
   53339 
   53340 	Fix for 3519003, crash in mail because <dir> and <menu> don't allow the same children as <ul> and <ol>.
   53341 	
   53342         Reviewed by darin
   53343 
   53344         * khtml/html/dtd.cpp:
   53345         (DOM::checkChild):
   53346 
   53347 2004-01-08  John Sullivan  <sullivan (a] apple.com>
   53348 
   53349         - fixed <rdar://problem/3524359>: REGRESSSION (119-120): 
   53350         Double click to select text in form broken
   53351 
   53352         Reviewed by Dave and Darin.
   53353 
   53354         * khtml/khtmlview.cpp:
   53355         (KHTMLView::dispatchMouseEvent):
   53356         Don't blur the focused node if that's the one you clicked on.
   53357 
   53358 2004-01-07  Richard Williamson   <rjw (a] apple.com>
   53359 
   53360 	Fixed 3517550.  Named array lookup of applet failed, i.e.:
   53361 	var appletobj = document.applets['myapplet']
   53362 
   53363         Reviewed by Chris.
   53364 
   53365         * khtml/ecma/kjs_html.cpp:
   53366         (KJS::HTMLCollection::getNamedItems):
   53367 
   53368 === Safari-120 ===
   53369 
   53370 2004-01-06  David Hyatt  <hyatt (a] apple.com>
   53371 
   53372 	Possible fix for table bugs 3510005 and 3492945, repainting glitches that occurred when table cells moved.
   53373 
   53374 	Fix for 33522497, empty AXElements appear in AXBrowser.
   53375 	
   53376         Reviewed by darin
   53377 
   53378         * khtml/rendering/render_table.cpp:
   53379         (RenderTableSection::layoutRows):
   53380         (RenderTableCell::setWidth):
   53381         * khtml/rendering/render_table.h:
   53382 
   53383         * kwq/KWQAccObject.mm:
   53384         (-[KWQAccObject accessibilityIsIgnored]):
   53385 
   53386 2004-01-06  John Sullivan  <sullivan (a] apple.com>
   53387 
   53388         - fixed <rdar://problem/3484465>: REGRESSION (118): button click does 
   53389         not take focus away from <textarea>; breaks Outlook Web Access
   53390 
   53391         Reviewed by Dave.
   53392 
   53393         * khtml/khtmlview.cpp:
   53394         (KHTMLView::dispatchMouseEvent):
   53395         Removed nodeimpl == nil test that was preventing button/link clicks
   53396         from blurring previously-focused text field.
   53397 
   53398 2004-01-06  David Hyatt  <hyatt (a] apple.com>
   53399 
   53400 	Fix for 3520636, infinite loop in page breaking code when printing.
   53401 	
   53402         Reviewed by darin
   53403 
   53404         * khtml/rendering/render_text.cpp:
   53405         (RenderText::paintObject):
   53406         * kwq/WebCoreBridge.mm:
   53407         (-[WebCoreBridge computePageRectsWithPrintWidth:printHeight:]):
   53408 
   53409 2004-01-05  David Hyatt  <hyatt (a] apple.com>
   53410 
   53411 	Fix for 3521466, generated image content should not try to calcWidth/height when it isn't yet rooted in
   53412 	the rendering tree.
   53413 	
   53414         Reviewed by john
   53415 
   53416         * khtml/rendering/render_image.cpp:
   53417         (RenderImage::setPixmap):
   53418 
   53419 2003-12-26  Darin Adler  <darin (a] apple.com>
   53420 
   53421         - one more small step to make -[KWQPageState dealloc] safer
   53422 
   53423         * kwq/KWQPageState.mm: (-[KWQPageState dealloc]): Only do the real detach() if the
   53424         document is already in the detached state; we don't want to detach prematurely.
   53425 
   53426 2003-12-23  John Sullivan  <sullivan (a] apple.com>
   53427 
   53428         - fixed <rdar://problem/3451306>: address book search fails at Airborne 
   53429         Express Corporate site (Apple Shipping wants to use it)
   53430 
   53431         Reviewed by Darin.
   53432 
   53433         * khtml/ecma/kjs_html.cpp:
   53434         commented out definition of document.all; now sites like this one that
   53435         set document.all to a value will work.
   53436         * khtml/ecma/kjs_html.lut.h: regenerated this file
   53437 
   53438 2003-12-23  Darin Adler  <darin (a] apple.com>
   53439 
   53440         Reviewed by John.
   53441 
   53442         - another try at fixing the -[KWQPageState dealloc] bug, even though we don't fully understand it
   53443         
   53444         This change saves the renderer inside the document rather than in the KWQPageState to
   53445         try to eliminate the possibility that multiple KWQPageState objects could restore the
   53446         same renderer multiple times, resulting in multiple detaches of the same renderer.
   53447 
   53448         * khtml/xml/dom_docimpl.h: Add a m_savedRenderer field.
   53449         * khtml/xml/dom_docimpl.cpp:
   53450         (DocumentImpl::DocumentImpl): Initialize m_savedRenderer to 0.
   53451         (DocumentImpl::~DocumentImpl): Added some asserts to make sure we don't get destroyed
   53452         while we are in the page cache.
   53453         (DocumentImpl::attach): Added an assert.
   53454         (DocumentImpl::setInPageCache): Save the renderer when setting the flag, and restore
   53455         the renderer when clearing it.
   53456 
   53457         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache): Instead of doing a restoreRenderer
   53458         call, just do setInPageCache(NO), which will restore the renderer as a side effect.
   53459 
   53460         * kwq/KWQPageState.h: Removed the renderer method and field.
   53461         * kwq/KWQPageState.mm:
   53462         (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:]):
   53463         Don't store a pointer to the renderer.
   53464         (-[KWQPageState clear]): New method, shared by invalidate and dealloc.
   53465         (-[KWQPageState invalidate]): Removed code relating to "relinquishing object ownership";
   53466         just deallocate everything here without doing a detach().
   53467         (-[KWQPageState dealloc]): Removed restoreRenderer now that setInPageCache(NO) handles that.
   53468         Added some assertions. Share code with invalidate by calling clear.
   53469 
   53470 2003-12-22  John Sullivan  <sullivan (a] apple.com>
   53471 
   53472         - fixed <rdar://problem/3508798>: ACCESSIBILITY: role/description/value strings not defined
   53473 
   53474         Reviewed by Darin.
   53475 
   53476         * kwq/KWQAccObject.mm:
   53477         (-[KWQAccObject roleDescription]):
   53478         provide not-yet-localized strings for all the role descriptions that this class uses.
   53479         (-[KWQAccObject value]):
   53480         return nil string rather than dummy string for the cases where we don't have a value attribute.
   53481         (-[KWQAccObject accessibilityActionDescription:]):
   53482         changed comment passed to UI_STRING bogus macro so it won't have to change if/when macro
   53483         loses its bogosity
   53484 
   53485 2003-12-22  John Sullivan  <sullivan (a] apple.com>
   53486 
   53487 	- WebCore part of fix for <rdar://problem/3515706>: 
   53488 	REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor
   53489 
   53490         Reviewed by Darin.
   53491 
   53492         * kwq/WebCoreBridge.h:
   53493         * kwq/WebCoreBridge.mm:
   53494         (-[WebCoreBridge computePageRectsWithPrintWidth:printHeight:]):
   53495 	renamed method for clarity; now iterates over pages horizontally as well 
   53496 	as vertically; assume x starts at 0 as we were already assuming that y
   53497 	starts at 0; now returns autoreleased result
   53498 
   53499 2003-12-22  Darin Adler  <darin (a] apple.com>
   53500 
   53501         Reviewed by John.
   53502 
   53503         - follow-on to my fix for 3467919: handle collapsed spaces at the starts of runs too, not just at the
   53504           end, and make sure that a space inherits style from the run it was collapsed from rather than always
   53505           from the run it precedes
   53506 
   53507         * khtml/khtml_part.cpp: (KHTMLPart::text): Add code to deal with collapsed spaces at the start of runs.
   53508         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Change code to keep the style of a space that
   53509         was collapsed at the end of the run, and use that styled space if necessary. Also add the code to deal
   53510         with collapsed spaces at the start of runs. Also remove comment that refers to long-since-deleted code.
   53511 
   53512 2003-12-21  Darin Adler  <darin (a] apple.com>
   53513 
   53514         Reviewed by John.
   53515 
   53516         - fixed 3467919: REGRESSION (91-92): space missing when copying text with link at start or end of line
   53517 
   53518         * khtml/khtml_part.cpp: (KHTMLPart::text):
   53519         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString):
   53520         Changed both "turn HTML into text" code paths to generate spaces in a different way.
   53521         First, corrected the logic so it notices spaces left out at the end of a RenderText object.
   53522         Second, don't emit the space until we are emitting more text, to prevent emitting trailing
   53523         spaces. To get this completely right for the attributed string case, I had to add code to
   53524         adjust the offset used to mark links.
   53525 
   53526 2003-12-21  Darin Adler  <darin (a] apple.com>
   53527 
   53528         Reviewed by John.
   53529 
   53530         - fixed 3477453: nowrap in a fixed-width TD is ignored on screen but not when printed (Williams-Sonoma)
   53531 
   53532         * khtml/rendering/render_table.cpp: (RenderTableCell::setStyle):
   53533         Compute the proper whitespace mode before calling the base class setStyle,
   53534         since the base class setStyle may create styles that inherit from our style,
   53535         and we want them to inherit the computed whitespace mode.
   53536 
   53537         * WebCore.pbproj/project.pbxproj: Let Xcode be 1.1, as it was meant to be.
   53538 
   53539 2003-12-21  Darin Adler  <darin (a] apple.com>
   53540 
   53541         Reviewed by Dave.
   53542 
   53543         - fixed a storage leak
   53544 
   53545         * khtml/rendering/render_style.h: Added a destructor and a private unimplemented assignment
   53546         operator to StyleCSS3InheritedData, since the textShadow field that needs to be allocated
   53547         and deallocated and the default destructor and assignment operator don't do that.
   53548         * khtml/rendering/render_style.cpp: (StyleCSS3InheritedData::~StyleCSS3InheritedData):
   53549         Added destructor that deletes the textShadow object.
   53550 
   53551         - fixed locking for JavaScript debugging tools in Caches window
   53552 
   53553         * kwq/WebCoreJavaScript.mm:
   53554         (+[WebCoreJavaScript rootObjectClasses]): Lock and unlock around call to JavaScriptCore.
   53555         (+[WebCoreJavaScript garbageCollect]): Ditto.
   53556 
   53557 2003-12-19  David Hyatt  <hyatt (a] apple.com>
   53558 
   53559 	Fix for 3483130, repaint doesn't occur when font is decreased dynamically when at the bottom of
   53560 	amazon.com.
   53561 	
   53562         Reviewed by john
   53563 
   53564         * khtml/khtml_part.cpp:
   53565         (KHTMLPart::setZoomFactor):
   53566         * kwq/WebCoreBridge.mm:
   53567         (-[WebCoreBridge setTextSizeMultiplier:]):
   53568 
   53569 2003-12-19  Richard Williamson   <rjw (a] apple.com>
   53570 
   53571 	Fixed 3515590.  Return Undefined to JS for applet if
   53572 	Java is disabled.
   53573 
   53574         Reviewed by Chris.
   53575 
   53576         * khtml/html/html_objectimpl.cpp:
   53577         (HTMLAppletElementImpl::getAppletInstance):
   53578 
   53579 2003-12-19  Maciej Stachowiak  <mjs (a] apple.com>
   53580 
   53581         Reviewed by Chris.
   53582 
   53583 	<rdar://problem/3512545>: reproducible assertion failure in KWQKHTMLPart::addData scrolling to anchor while page loads
   53584         
   53585 	* kwq/KWQKHTMLPart.mm:
   53586         (KWQKHTMLPart::scrollToAnchor): Don't pretend we finished loading,
   53587 	because we don't actually make anchor scrolling stop the current
   53588 	page load.
   53589 
   53590 === Safari-119 ===
   53591 
   53592 2003-12-18  Richard Williamson   <rjw (a] apple.com>
   53593 
   53594 	Fixed 3511415.  We have to un-visually order visually ordered text
   53595 	before passing to ATSU.
   53596 
   53597         Reviewed by John.
   53598 
   53599         * khtml/rendering/font.cpp:
   53600         (Font::drawHighlightForText):
   53601         (Font::drawText):
   53602         * khtml/rendering/font.h:
   53603         * khtml/rendering/render_text.cpp:
   53604         (InlineTextBox::paintSelection):
   53605         (RenderText::paintObject):
   53606         * kwq/KWQPainter.h:
   53607         * kwq/KWQPainter.mm:
   53608         (QPainter::drawText):
   53609         (QPainter::drawHighlightForText):
   53610         * kwq/WebCoreTextRenderer.h:
   53611         * kwq/WebCoreTextRendererFactory.m:
   53612         (WebCoreInitializeEmptyTextStyle):
   53613 
   53614 2003-12-17  Richard Williamson   <rjw (a] apple.com>
   53615 
   53616         * khtml/html/html_objectimpl.cpp:
   53617         (HTMLAppletElementImpl::getAppletInstance):
   53618         * khtml/html/html_objectimpl.h:
   53619         * kwq/KWQKHTMLPart.h:
   53620         * kwq/KWQKHTMLPart.mm:
   53621         (KWQKHTMLPart::getAppletInstanceForView):
   53622         (KWQKHTMLPart::addPluginRootObject):
   53623         (KWQKHTMLPart::cleanupPluginRootObjects):
   53624         * kwq/WebCoreBridge.mm:
   53625         (-[WebCoreBridge init]):
   53626 
   53627 2003-12-17  Darin Adler  <darin (a] apple.com>
   53628 
   53629         Reviewed by Dave.
   53630 
   53631         - fixed 3469085: can't tab to all links on aintitcool.com
   53632 
   53633         * khtml/html/html_inlineimpl.cpp:
   53634         (HTMLAnchorElementImpl::isFocusable): Re-implemented this to check width and height of
   53635         all continuations, not just the main render object. Also, check the absoluteRects after
   53636         checking all the render objects to catch things like floats.
   53637         (HTMLAnchorElementImpl::isMouseFocusable): Clean up the code here a bit.
   53638 
   53639         * khtml/rendering/render_inline.h:
   53640         * khtml/rendering/render_inline.cpp: (RenderInline::absoluteRects):
   53641         * khtml/rendering/render_object.h:
   53642         * khtml/rendering/render_object.cpp: (RenderObject::absoluteRects):
   53643         * khtml/rendering/render_text.h:
   53644         * khtml/rendering/render_text.cpp: (RenderText::absoluteRects):
   53645         * kwq/KWQAccObject.mm: (boundingBoxRect):
   53646         Use QValueList instead of QPtrList for clarity and to fix storage leaks.
   53647 
   53648 === Safari-118 ===
   53649 
   53650 2003-12-16  David Hyatt  <hyatt (a] apple.com>
   53651 
   53652 	Fix for 3510956, crash on mezzoblue.com.  Relax the float-list searching code that runs when
   53653 	a float is removed.
   53654 	
   53655         Reviewed by darin
   53656 
   53657         * khtml/rendering/render_object.cpp:
   53658         (checkFloats):
   53659         (RenderObject::removeFromObjectLists):
   53660 
   53661 2003-12-16  John Sullivan  <sullivan (a] apple.com>
   53662 
   53663         fixed <rdar://problem/3482852>: oft-seen, non-repro, nil-deref in 
   53664         HTMLTokenizer::notifyFinished (snapfish.com, etc.)
   53665         
   53666         At least one of the dupes of this bug is a separate (still reproducible) issue;
   53667         I'll clone it back to life and test the others.
   53668 
   53669         Reviewed by Darin.
   53670 
   53671         * khtml/html/htmltokenizer.cpp:
   53672         (HTMLTokenizer::notifyFinished):
   53673         Move check of cachedScript.isEmpty() until after scriptExecution()
   53674         call, because cachedScript.isEmpty() value can be changed by that call.
   53675 
   53676 2003-12-15  David Hyatt  <hyatt (a] apple.com>
   53677 
   53678 	Fix for 3508807, positions/sizes wrong for text elts and multi-line elts for accessibility.
   53679 	
   53680         Reviewed by john
   53681 
   53682         * khtml/rendering/render_inline.cpp:
   53683         (RenderInline::absoluteRects):
   53684         * khtml/rendering/render_inline.h:
   53685         * khtml/rendering/render_object.cpp:
   53686         (RenderObject::absoluteRects):
   53687         * khtml/rendering/render_object.h:
   53688         * khtml/rendering/render_text.cpp:
   53689         (RenderText::absoluteRects):
   53690         * khtml/rendering/render_text.h:
   53691         * kwq/KWQAccObject.mm:
   53692         (boundingBoxRect):
   53693         (-[KWQAccObject position]):
   53694         (-[KWQAccObject size]):
   53695 
   53696 2003-12-15  Richard Williamson   <rjw (a] apple.com>
   53697 
   53698 	Return 0 if the view doesn't have a bridge.
   53699 
   53700         Reviewed by John.
   53701 
   53702         * kwq/WebCoreBridge.mm:
   53703         (rootForView):
   53704 
   53705 2003-12-15  David Hyatt  <hyatt (a] apple.com>
   53706 
   53707 	Fix for 3508792.  Remove tables and cells as AxObjects.
   53708 	
   53709         Reviewed by john
   53710 
   53711         * kwq/KWQAccObject.mm:
   53712         (-[KWQAccObject role]):
   53713         (-[KWQAccObject accessibilityIsIgnored]):
   53714 
   53715 2003-12-15  John Sullivan  <sullivan (a] apple.com>
   53716 
   53717         - fixed <rdar://problem/3510459>: REGRESSION (100-113): Pressing button at google.com 
   53718         removes focus from text field
   53719 
   53720         Reviewed by Dave.
   53721 
   53722         * khtml/khtmlview.cpp:
   53723         (KHTMLView::dispatchMouseEvent):
   53724         Don't clear the focused widget when a mousedown occurs on a widget that is focusable
   53725         in the abstract sense but is not mouse focusable or currently keyboard focusable. This
   53726         matches the behavior of older Safaris (clicking in background or page text will make the
   53727         webview itself be first responder, but clicking on a button won't).
   53728 
   53729 2003-12-14  Darin Adler  <darin (a] apple.com>
   53730 
   53731         Reviewed by Maciej.
   53732 
   53733         - fixed 3458937: nil-deref in timed layout
   53734 
   53735         * khtml/khtmlview.cpp: (KHTMLView::layout): Add a nil check for m_part.
   53736 
   53737 2003-12-14  Darin Adler  <darin (a] apple.com>
   53738 
   53739         Reviewed by Maciej.
   53740 
   53741         - fixed 3311205: click() on a file input type form element does not work bring up the file chooser as it does in IE
   53742 
   53743         * khtml/html/html_formimpl.cpp:
   53744         (HTMLInputElementImpl::click): Add a case for FILE that calls RenderFileButton's click() function.
   53745         Get rid of the default case and list more cases explicitly.
   53746         (HTMLInputElementImpl::accessKeyAction): Change FILE from just focus to focus/click.
   53747 
   53748         * khtml/rendering/render_form.h: Added a click() function to RenderFileButton.
   53749         * khtml/rendering/render_form.cpp:
   53750         (RenderFileButton::slotTextChanged): Added call to onChange on the element to match text input
   53751         fields; helpful for the test case Adobe supplied.
   53752         (RenderFileButton::click): Added. Calls click() on KWQFileButton.
   53753 
   53754         * kwq/KWQFileButton.h: Added a click function.
   53755         * kwq/KWQFileButton.mm: (KWQFileButton::click): Added. Calls performClick on the file button.
   53756 
   53757         * kwq/WebCoreBridge.h: Add a performClick method to WebCoreFileButton.
   53758 
   53759 2003-12-13  Maciej Stachowiak  <mjs (a] apple.com>
   53760 
   53761         Reviewed by Darin.
   53762 
   53763 	<rdar://problem/3269212>: FILEMAKER: can't use Option objects created in a different window
   53764 
   53765         * khtml/ecma/kjs_binding.cpp:
   53766         (ScriptInterpreter::updateDOMObjectDocument): Update per-document
   53767 	caching for the DOM object - let it be protected by both the old
   53768 	and the new document.
   53769         * khtml/ecma/kjs_binding.h: Prototype new method.
   53770         * khtml/xml/dom_nodeimpl.cpp:
   53771         (NodeImpl::setDocument): New method to change a node's document pointer.
   53772         (NodeImpl::checkAddChild): If the new child node is owned by the
   53773 	wrong document but not actually in it, change its document (using
   53774 	the two aforementioned methods) instead of throwing an exception.
   53775 	* khtml/xml/dom_nodeimpl.h: Prototype new method.
   53776 
   53777 2003-12-14  Darin Adler  <darin (a] apple.com>
   53778 
   53779         Reviewed by Maciej.
   53780 
   53781         - fixed 3332280: REGRESSION (74-85): setting src of iframe results in two GETs
   53782 
   53783         * khtml/html/html_baseimpl.h: Added openURL virtual function.
   53784         * khtml/html/html_baseimpl.cpp:
   53785         (HTMLFrameElementImpl::updateForNewURL): Call openURL to do the meat of the work,
   53786         since it's different for frames and iframes.
   53787         (HTMLFrameElementImpl::openURL): Move the part that's different for frames in here.
   53788         (HTMLFrameElementImpl::parseAttribute): Call setLocation to share code.
   53789         (HTMLFrameElementImpl::setLocation): Do nothing if the location is not changing.
   53790         Not needed to fix this bug, but could eliminate other cases of extra GETs.
   53791         (HTMLIFrameElementImpl::parseAttribute): Remove special handling of SRC, because now
   53792         we will end up calling openURL, which will do the right thing for iframes.
   53793         (HTMLIFrameElementImpl::openURL): Instead of doing the change to the frame directly,
   53794         use updateWidget, since that's what we do for other changes to iframes. To trigger a
   53795         call to updateWidget(), set needWidgetUpdate and mark the node changed.
   53796 
   53797 2003-12-13  Maciej Stachowiak  <mjs (a] apple.com>
   53798 
   53799         Reviewed by Darin.
   53800 
   53801 	<rdar://problem/3507885>: REGRESSION (100-116): frames missing due to cross-domain check (derstandard.at)
   53802         
   53803 	* khtml/ecma/kjs_window.cpp:
   53804         (Window::isSafeScript): Loosen the frame access rules a bit. We already allowed access to
   53805 	a document loaded as empty from the parent or opener. Now also allow access from any document
   53806 	in the same domain as the parent or opener, so that, for instance, a sibling frame can access it
   53807 	so long as it is in the same domain as the parent.
   53808 
   53809 2003-12-13  Darin Adler  <darin (a] apple.com>
   53810 
   53811         Reviewed by Maciej.
   53812 
   53813         - fixed 3506204: homepage.mac slide show window is wrong size on 2nd monitor
   53814 
   53815         * kwq/KWQApplication.mm: (QDesktopWidget::screenGeometry): Add code to flip the Y coordinate.
   53816         This has no effect on the main screen, but a big effect on others. I used the same code to
   53817         flip Y screen coordinates that is used KWQWindowWidget.mm and KWQKHTMLPartBrowserExtension.mm.
   53818         * kwq/KWQKWinModule.mm: (KWinModule::workArea): Replaced the incorrect code to flip the Y
   53819         coordinate here with correct code. The code flipped based on the frame of the main screen,
   53820         but it needs to flip based on the frame of screen 0.
   53821 
   53822 2003-12-12  Chris Blumenberg  <cblu (a] apple.com>
   53823 
   53824 	Fixed: <rdar://problem/3505208>: keys added to keychain from KEYGEN need better UI names
   53825 
   53826         Reviewed by rjw.
   53827 
   53828         * khtml/html/html_formimpl.cpp:
   53829         (HTMLKeygenElementImpl::encoding): pass the page URL to signedPublicKeyAndChallengeString
   53830         * kwq/KWQKSSLKeyGen.h:
   53831         * kwq/KWQKSSLKeyGen.mm:
   53832         (KSSLKeyGen::signedPublicKeyAndChallengeString): take a URL
   53833         * kwq/WebCoreKeyGenerator.h:
   53834         * kwq/WebCoreKeyGenerator.m:
   53835         (-[WebCoreKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): take a URL
   53836 
   53837 2003-12-12  David Hyatt  <hyatt (a] apple.com>
   53838 
   53839 	Fix for 3254534, CSS background-image style should be loaded lazily only when used.
   53840 	
   53841         Reviewed by rjw
   53842 
   53843         * ChangeLog:
   53844         * khtml/css/css_valueimpl.cpp:
   53845         (CSSImageValueImpl::CSSImageValueImpl):
   53846         (CSSImageValueImpl::~CSSImageValueImpl):
   53847         (CSSImageValueImpl::image):
   53848         * khtml/css/css_valueimpl.h:
   53849         
   53850 2003-12-11  David Hyatt  <hyatt (a] apple.com>
   53851 
   53852 	WebCore part of 3453214.  This ensures that all outline styles except for auto (which has a CG bug) will
   53853 	be displayed properly during the PaintActionOutline phase.
   53854 	
   53855         Reviewed by john and darin
   53856 
   53857         * khtml/rendering/render_block.cpp:
   53858         (khtml::RenderBlock::paint):
   53859         * khtml/rendering/render_box.cpp:
   53860         (RenderBox::setStyle):
   53861         * khtml/rendering/render_canvas.cpp:
   53862         (RenderCanvas::RenderCanvas):
   53863         * khtml/rendering/render_canvas.h:
   53864         (khtml::RenderCanvas::setMaximalOutlineSize):
   53865         (khtml::RenderCanvas::maximalOutlineSize):
   53866         * khtml/rendering/render_object.cpp:
   53867         (RenderObject::maximalOutlineSize):
   53868         * khtml/rendering/render_object.h:
   53869         * khtml/rendering/render_replaced.cpp:
   53870         (RenderReplaced::paint):
   53871         * khtml/rendering/render_table.cpp:
   53872         (RenderTable::paint):
   53873         (RenderTableSection::paint):
   53874         (RenderTableCell::paint):
   53875 
   53876 2003-12-12  John Sullivan  <sullivan (a] apple.com>
   53877 
   53878         - fixed <rdar://problem/3508825>: REGRESSION (100-116): crash in 
   53879         HTMLGenericFormElementImpl::attach at sonyericsson.com
   53880 
   53881         Reviewed by Maciej.
   53882 
   53883         * khtml/html/html_formimpl.cpp:
   53884         (HTMLGenericFormElementImpl::attach):
   53885         Move a few lines inside an existing nil check to prevent nil dereference.
   53886 
   53887 2003-12-12  John Sullivan  <sullivan (a] apple.com>
   53888 
   53889         - fixed <rdar://problem/3508760>: tabbing to out-of-sight link behaves 
   53890         differently than tabbing to out-of-sight form control
   53891 
   53892         Reviewed by Dave.
   53893 
   53894         * kwq/KWQScrollView.h:
   53895         * kwq/KWQScrollView.mm:
   53896         (QScrollView::ensureVisible):
   53897         added comments and changed parameter names to reveal differences between
   53898         what we've implemented and what QScrollView was intended to do.
   53899         (QScrollView::ensureRectVisibleCentered):
   53900         New method that calls _KWQ_scrollRectToVisible, which is the method
   53901         we use when scrolling to reveal form controls.
   53902 
   53903         * kwq/KWQKHTMLPart.mm:
   53904         (KWQKHTMLPart::nextKeyViewInFrame):
   53905         call ensureRectVisibleCentered so tabbing to a link will use the
   53906         same scroll-to-reveal code as tabbing to a form control
   53907         
   53908 2003-12-11  Maciej Stachowiak  <mjs (a] apple.com>
   53909 
   53910         Reviewed by John.
   53911 
   53912 	<rdar://problem/3507856>: XMLHttpRequest xhtml test displays but doesn't load
   53913 
   53914         * khtml/ecma/xmlhttprequest.cpp:
   53915         (KJS::XMLHttpRequestProtoFunc::tryCall): complete the URL using the document,
   53916 	not the htmlDocument.
   53917 
   53918 2003-12-12  Richard Williamson   <rjw (a] apple.com>
   53919 
   53920 	Replace call to global functions with static member functions.
   53921 
   53922         Reviewed by Ken.
   53923 
   53924         * kwq/KWQKHTMLPart.mm:
   53925         (KWQKHTMLPart::cleanupPluginRootObjects):
   53926         * kwq/WebCoreBridge.mm:
   53927         (rootForView):
   53928         (-[WebCoreBridge init]):
   53929 
   53930 2003-12-11  Maciej Stachowiak  <mjs (a] apple.com>
   53931 
   53932         Reviewed by Darin.
   53933 
   53934 	<rdar://problem/3464315>: createDocument creates document with initial child element, unlike other browsers
   53935 	
   53936         * khtml/xml/dom_docimpl.cpp:
   53937         (DOMImplementationImpl::createDocument): Don;t add initial element.
   53938 
   53939 2003-12-11  Maciej Stachowiak  <mjs (a] apple.com>
   53940 
   53941         Reviewed by Darin. 
   53942 
   53943 	<rdar://problem/3507863>: XMLHttpRequest should not parse response if HTML
   53944         
   53945 	* khtml/ecma/xmlhttprequest.cpp:
   53946         (KJS::XMLHttpRequest::getValueProperty):
   53947 
   53948 2003-12-11  Richard Williamson   <rjw (a] apple.com>
   53949 
   53950 	Cleaned up and verified reference counting scheme, and
   53951 	dereferencing of vended JavaScript objects when applet is
   53952 	destroyed (actually when part is destroyed).
   53953 
   53954         Reviewed by Ken.
   53955 
   53956         * kwq/KWQKHTMLPart.h:
   53957         * kwq/KWQKHTMLPart.mm:
   53958         (KWQKHTMLPart::~KWQKHTMLPart):
   53959         (KWQKHTMLPart::getAppletInstanceForView):
   53960         (KWQKHTMLPart::addPluginRootObject):
   53961         (KWQKHTMLPart::cleanupPluginRootObjects):
   53962         * kwq/WebCoreBridge.h:
   53963         * kwq/WebCoreBridge.mm:
   53964         (rootForView):
   53965         (-[WebCoreBridge init]):
   53966 
   53967 2003-12-11  Maciej Stachowiak  <mjs (a] apple.com>
   53968 
   53969         Reviewed by John.
   53970 
   53971 	<rdar://problem/3507862>: XMLHttpRequest documents that reference external resources (e.g. stylesheets) cause crash
   53972 
   53973         * khtml/html/html_headimpl.cpp:
   53974         (HTMLLinkElementImpl::process):
   53975         * khtml/html/htmltokenizer.cpp:
   53976         (HTMLTokenizer::scriptHandler):
   53977         * khtml/xml/dom_xmlimpl.cpp:
   53978         (ProcessingInstructionImpl::checkStyleSheet):
   53979         * khtml/xml/xml_tokenizer.cpp:
   53980         (XMLHandler::processingInstruction):
   53981         (XMLTokenizer::executeScripts):
   53982 
   53983 2003-12-11  Maciej Stachowiak  <mjs (a] apple.com>
   53984 
   53985         Reviewed by Chris.
   53986 
   53987 	<rdar://problem/3507859>: Status text should only include "OK", not full "HTTP/1.0 200 OK" status line
   53988 	
   53989         * khtml/ecma/xmlhttprequest.cpp:
   53990         (KJS::XMLHttpRequest::getStatusText): Include only the status
   53991 	text, not the full status line.
   53992 
   53993 === Safari-117 ===
   53994 
   53995 2003-12-11  David Hyatt  <hyatt (a] apple.com>
   53996 
   53997 	Fix for 3507164, scrolling really slow on hixie's web forms spec page.  Hixie has 12 little transparent layers
   53998         at various points on this page, and beginning/ending transparency on only those 12 layers as you scroll
   53999         is enough to kill scrolling performance.
   54000 
   54001 	This patch works around the issue by lazily beginning transparency layers only when we determine that
   54002 	we're actually painting a descendant layer of a transparent ancestor or a transparent layer.
   54003 
   54004 	Also fixing QColor's comparison operator.  It was broken and not comparing the "valid" bit, so invalid and
   54005 	valid colors were being assumed to be the same.
   54006 
   54007 	Also fixed the render dumper to not dump transparent and invalid background colors and fixed it do dump the
   54008 	alpha for colors with an alpha < 0xFF.
   54009 	
   54010 	Reviewed by mjs (opacity changes), darin (color changes) and john (render tree dumper changes)
   54011 
   54012         * ChangeLog:
   54013         * khtml/rendering/render_layer.cpp:
   54014         (RenderLayer::RenderLayer):
   54015         (RenderLayer::beginTransparencyLayers):
   54016         (RenderLayer::paint):
   54017         (RenderLayer::paintLayer):
   54018         * khtml/rendering/render_layer.h:
   54019         * kwq/KWQColor.h:
   54020         (operator==):
   54021         (operator!=):
   54022         * kwq/KWQColor.mm:
   54023         (QColor::name):
   54024         * kwq/KWQRenderTreeDebug.cpp:
   54025         (operator<<):
   54026 
   54027 2003-12-11  Ken Kocienda  <kocienda (a] apple.com>
   54028 
   54029         * kwq/KWQLoader.mm:
   54030         (KWQCacheObjectExpiresTime): Fixed deployment build bustage.
   54031 
   54032 2003-12-09  Ken Kocienda  <kocienda (a] apple.com>
   54033 
   54034         Reviewed by Darin
   54035         
   54036         <rdar://problem/3505444>: WebCore cache does not use expiration dates on cache items
   54037         
   54038         * khtml/misc/loader.cpp:
   54039         (Loader::slotFinished): Don't reset expiration date. We set this once in
   54040         slotReceivedResponse.
   54041         (Loader::slotReceivedResponse): Call new KWQ function to get a cache object's
   54042         expiration date using its NSURLResponse data.
   54043         (Cache::requestImage): Don't reset expiration date. We set this once in
   54044         slotReceivedResponse, and we do not want the value from the DocLoader
   54045 	anyway.
   54046         (Cache::requestStyleSheet): Ditto.
   54047         (Cache::requestScript): Ditto.
   54048         * kwq/KWQLoader.h:
   54049         * kwq/KWQLoader.mm:
   54050         (KWQCacheObjectExpiresTime): New function. Call over bridge to get access
   54051         to SPI in NSURLResponse to calculate expiration time.
   54052         * kwq/WebCoreBridge.h: Declare bridge method.
   54053 
   54054 2003-12-10  Maciej Stachowiak  <mjs (a] apple.com>
   54055 
   54056         Reviewed by Darin.
   54057 
   54058 	<rdar://problem/3504156>: XMLHttpRequest reuse test fails
   54059 	<rdar://problem/3505158>: XMLHttpRequest "abort with open" test fails
   54060 
   54061         * khtml/ecma/xmlhttprequest.cpp:
   54062         (KJS::XMLHttpRequest::open):
   54063         (KJS::XMLHttpRequest::abort):
   54064         (KJS::XMLHttpRequestProtoFunc::tryCall):
   54065 
   54066 2003-12-10  Maciej Stachowiak  <mjs (a] apple.com>
   54067 
   54068         Reviewed by Darin.
   54069 
   54070 	<rdar://problem/3507175>: Setting timeout function can allocate JS objects without lock
   54071 
   54072         * khtml/ecma/kjs_window.cpp:
   54073         (ScheduledAction::execute): Lock interpreter around code that
   54074 	might allocate JS objects.
   54075 
   54076 2003-12-10  David Hyatt  <hyatt (a] apple.com>
   54077 
   54078 	Fix for 3507097, overflow:auto should include the height of the horizontal scrollbar when the height
   54079 	of the block is auto.
   54080 	
   54081         Reviewed by darin
   54082 
   54083         * khtml/rendering/bidi.cpp:
   54084         (khtml::RenderBlock::layoutInlineChildren):
   54085         * khtml/rendering/render_block.cpp:
   54086         (khtml::RenderBlock::layoutBlock):
   54087         (khtml::RenderBlock::layoutBlockChildren):
   54088 
   54089 2003-12-10  Darin Adler  <darin (a] apple.com>
   54090 
   54091         Reviewed by Maciej.
   54092 
   54093         - fixed 3506739: nil-deref in DocumentImpl::setSelection triple clicking (generated content)
   54094 
   54095         * khtml/khtml_part.cpp: (KHTMLPart::khtmlMousePressEvent): Check for the case where
   54096         m_selectionEnd is 0. This doesn't fix the behavior completely, but it does prevent a crash.
   54097 
   54098 2003-12-10  Maciej Stachowiak  <mjs (a] apple.com>
   54099 
   54100         Reviewed by Richard.
   54101 
   54102 	<rdar://problem/3487160>: Implement synchronous loading for XMLHttpRequest
   54103         
   54104 	* khtml/ecma/xmlhttprequest.cpp:
   54105         (KJS::XMLHttpRequest::XMLHttpRequest):
   54106         (KJS::XMLHttpRequest::send):
   54107         (KJS::XMLHttpRequest::abort):
   54108         (KJS::XMLHttpRequest::processSyncLoadResults):
   54109         (KJS::XMLHttpRequest::slotRedirection):
   54110         (KJS::XMLHttpRequest::slotData):
   54111         * khtml/ecma/xmlhttprequest.h:
   54112         * kwq/KWQLoader.h:
   54113         * kwq/KWQLoader.mm:
   54114         (KWQHeaderStringFromDictionary):
   54115         (KWQServeSynchronousRequest):
   54116         (KWQResponseHeaderString):
   54117         * kwq/WebCoreBridge.h:
   54118 
   54119 2003-12-10  Darin Adler  <darin (a] apple.com>
   54120 
   54121         Reviewed by Maciej.
   54122 
   54123         - fixed 3506706: REGRESSION (100-115): onkeyup handlers called twice for active input fields
   54124 
   54125         * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView keyUp:]): Don't call super because we
   54126         don't want to pass the event down the responder chain.
   54127         * kwq/KWQTextField.mm: (-[KWQTextField textView:shouldHandleEvent:]): Return NO for
   54128         key up events because we don't want to pass the event down the responder chain.
   54129 
   54130 2003-12-10  Richard Williamson   <rjw (a] apple.com>
   54131 
   54132 	Added method to get to the bridge from a view.  This is
   54133 	used to ultimately get the part and KJS::Window for a
   54134 	particular applet.
   54135 
   54136         Reviewed by Hyatt.
   54137 
   54138         * kwq/WebCoreBridge.h:
   54139         * kwq/WebCoreBridge.mm:
   54140         (rootForView):
   54141         (-[WebCoreBridge init]):
   54142         * kwq/WebCoreViewFactory.h:
   54143         * kwq/WebCoreViewFactory.m:
   54144 
   54145 2003-12-10  John Sullivan  <sullivan (a] apple.com>
   54146 
   54147         - WebCore part of fix for:
   54148         <rdar://problem/3505231>: REGRESSION (100-114): Some sites autoscroll to bottom of page when loading
   54149 
   54150         Reviewed by Darin.
   54151 
   54152         * kwq/KWQNSViewExtras.h:
   54153         * kwq/KWQNSViewExtras.m:
   54154         (-[NSView _KWQ_scrollPointRecursive:]):
   54155         (-[NSView _KWQ_scrollPointRecursive:inView:]):
   54156         new methods, similar to existing scrollRect methods
   54157         except that the preferred position for the point is
   54158         the top-left corner rather than centered in the visible area
   54159         
   54160         * kwq/KWQScrollView.h:
   54161         * kwq/KWQScrollView.mm:
   54162         (QScrollView::setContentsPosRecursive):
   54163         new method, calls _KWQ_scrollPointRecursive:
   54164 
   54165         * khtml/khtml_part.cpp:
   54166         (KHTMLPart::gotoAnchor):
   54167         call setContentsPosRecursive instead of setContentsPos; also remove
   54168         the 50 pixel offset that upset Hyatt so.
   54169         
   54170 
   54171 2003-12-10  Chris Blumenberg  <cblu (a] apple.com>
   54172 
   54173         * kwq/KWQKSSLKeyGen.mm:
   54174         (KSSLKeyGen::signedPublicKeyAndChallengeString): removed unnecessary includes
   54175 
   54176 2003-12-10  David Hyatt  <hyatt (a] apple.com>
   54177 
   54178 	Fix for 3505846, overflow:auto region doesn't update when scrolled.  The child layers inside an overflow:auto
   54179 	block were not updating their positions.
   54180 	
   54181         Reviewed by john
   54182 
   54183         * khtml/khtmlview.cpp:
   54184         (KHTMLView::layout):
   54185         * khtml/rendering/render_layer.cpp:
   54186         (RenderLayer::updateLayerPositions):
   54187         (RenderLayer::scrollToOffset):
   54188         * khtml/rendering/render_layer.h:
   54189 
   54190 2003-12-09  Maciej Stachowiak  <mjs (a] apple.com>
   54191 
   54192         Reviewed by John.
   54193 
   54194 	<rdar://problem/3505795>: loading invalid XML document crashes trying to create h1 element
   54195 	<rdar://problem/3504158>: XMLHttpRequest xhtml test totally fails
   54196         
   54197 	* khtml/xml/dom_docimpl.cpp:
   54198         (DocumentImpl::isValidName): include "0123456789" instead of
   54199 	"0-9", it's not a regexp it's just a list of characters.
   54200 
   54201 2003-12-09  Maciej Stachowiak  <mjs (a] apple.com>
   54202 
   54203         Reviewed by John.
   54204 
   54205 	<rdar://problem/3504155>: Safari fails XMLHttpRequest abort test
   54206         
   54207 	* khtml/ecma/xmlhttprequest.cpp:
   54208         (KJS::XMLHttpRequestProtoFunc::tryCall): Avoid throwing an
   54209 	exception after send().
   54210 
   54211 2003-12-09  David Hyatt  <hyatt (a] apple.com>
   54212 
   54213 	Rename -apple-aqua to auto for outline styles.
   54214 	
   54215         Reviewed by darin
   54216 
   54217         * khtml/css/cssparser.cpp:
   54218         (CSSParser::parseValue):
   54219         * khtml/css/cssstyleselector.cpp:
   54220         (khtml::CSSStyleSelector::applyRule):
   54221         * khtml/css/cssvalues.c:
   54222         (hash_val):
   54223         (findValue):
   54224         * khtml/css/cssvalues.h:
   54225         * khtml/css/cssvalues.in:
   54226         * khtml/css/html4.css:
   54227         * khtml/rendering/render_inline.cpp:
   54228         (RenderInline::paintObject):
   54229         * khtml/rendering/render_object.cpp:
   54230         (RenderObject::drawBorder):
   54231         (RenderObject::paintOutline):
   54232         * khtml/rendering/render_style.h:
   54233         (khtml::):
   54234         (khtml::OutlineValue::OutlineValue):
   54235         (khtml::RenderStyle::outlineStyleIsAuto):
   54236         (khtml::RenderStyle::outlineOffset):
   54237         (khtml::RenderStyle::setOutlineStyle):
   54238         (khtml::RenderStyle::setOutlineOffset):
   54239         * kwq/KWQRenderTreeDebug.cpp:
   54240         (printBorderStyle):
   54241 
   54242 2003-12-09  Maciej Stachowiak  <mjs (a] apple.com>
   54243 
   54244         Reviewed by John.
   54245 
   54246 	<rdar://problem/3487195>: Implement responseXML property for XMLHttpRequest
   54247         
   54248         * khtml/ecma/xmlhttprequest.cpp:
   54249         (KJS::XMLHttpRequest::getValueProperty): Implemented responseXML by parsing the
   54250 	document and returning it.
   54251         (KJS::XMLHttpRequest::XMLHttpRequest): Initialize new field
   54252         * khtml/ecma/xmlhttprequest.h:
   54253 
   54254         * khtml/ecma/kjs_window.cpp: 
   54255 	(Windw::get): Forgot this in last commit; add XMLSerializer
   54256 	constructor.
   54257         * khtml/ecma/kjs_window.lut.h:
   54258 	* khtml/ecma/Makefile.am: Forgot to include this in the last commit.
   54259 
   54260 2003-12-09  Maciej Stachowiak  <mjs (a] apple.com>
   54261 
   54262         Reviewed by Richard.
   54263 
   54264 	<rdar://problem/3504049>: XMLSerializer object and serializeToString method needed for XMLHttpRequest testing
   54265 
   54266 	Also fixed some lasst-minute mistakes in the DOM serialization
   54267 	code that was already there.
   54268 	
   54269         * WebCore.pbproj/project.pbxproj:
   54270         * khtml/dom/dom_doc.h:
   54271         * khtml/ecma/Makefile.am:
   54272         * khtml/ecma/kjs_window.cpp:
   54273         (Window::get):
   54274         * khtml/ecma/kjs_window.h:
   54275         (KJS::Window::):
   54276         * khtml/ecma/kjs_window.lut.h:
   54277         (KJS::):
   54278         * khtml/ecma/xmlserializer.cpp: Added.
   54279         (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
   54280         (KJS::XMLSerializerConstructorImp::implementsConstruct):
   54281         (KJS::XMLSerializerConstructorImp::construct):
   54282         (KJS::):
   54283         (KJS::XMLSerializer::XMLSerializer):
   54284         (KJS::XMLSerializerProtoFunc::tryCall):
   54285         * khtml/ecma/xmlserializer.h: Added.
   54286         (KJS::XMLSerializer::toBoolean):
   54287         (KJS::XMLSerializer::classInfo):
   54288         (KJS::XMLSerializer::):
   54289         * khtml/ecma/xmlserializer.lut.h: Added.
   54290         (KJS::):
   54291         * khtml/xml/dom_docimpl.cpp:
   54292         (DocumentImpl::toString):
   54293         (DocumentFragmentImpl::toString):
   54294         * khtml/xml/dom_elementimpl.cpp:
   54295         (AttrImpl::toString):
   54296         (ElementImpl::toString):
   54297 
   54298 2003-12-09  David Hyatt  <hyatt (a] apple.com>
   54299 
   54300 	Implement start() and stop() for marquees.
   54301 	
   54302         Reviewed by darin
   54303 
   54304         * khtml/ecma/kjs_html.cpp:
   54305         (KJS::HTMLElement::classInfo):
   54306         (KJS::HTMLElementFunction::tryCall):
   54307         * khtml/ecma/kjs_html.h:
   54308         (KJS::HTMLElement::):
   54309         * khtml/ecma/kjs_html.lut.h:
   54310         (KJS::):
   54311 
   54312 2003-12-09  Darin Adler  <darin (a] apple.com>
   54313 
   54314         Reviewed by John.
   54315 
   54316         - fixed 3505277: nil-deref in ownerElement after choosing item from menu at projectnissan.com
   54317 
   54318         * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchWindowEvent): Add check for nil.
   54319 
   54320 2003-12-09  Darin Adler  <darin (a] apple.com>
   54321 
   54322         Reviewed by Maciej.
   54323 
   54324         * kwq/KWQKHTMLPart.mm:
   54325         (KWQKHTMLPart::saveLocationProperties): Add locking around the call to get the location
   54326         since it can allocate.
   54327         (KWQKHTMLPart::restoreLocationProperties): Ditto.
   54328 
   54329 2003-12-09  David Hyatt  <hyatt (a] apple.com>
   54330 
   54331 	Fix for mojibake bg painting problem on bofa.com.  The bug # is 3487144.  Transparent colors were not
   54332 	being handled properly when specified on the body.
   54333 	
   54334         Reviewed by darin
   54335 
   54336         * khtml/rendering/render_box.cpp:
   54337         (RenderBox::paintRootBoxDecorations):
   54338         (RenderBox::paintBackgroundExtended):
   54339 
   54340 2003-12-09  Darin Adler  <darin (a] apple.com>
   54341 
   54342         Reviewed by Dave.
   54343 
   54344         - fixed 3505391: REGRESSION (100-116): pages that move cells around don't repaint correctly
   54345 
   54346         * khtml/rendering/render_table.cpp: (RenderTableSection::layoutRows): Added code
   54347         similar to the code in RenderBlock::layoutBlock, but for table cells.
   54348 
   54349 2003-12-09  Darin Adler  <darin (a] apple.com>
   54350 
   54351         Reviewed by Maciej.
   54352 
   54353         * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): Add locking around the call to
   54354         push event handler scope. Without this, we hit the "allocated without locking" assertion.
   54355 
   54356 2003-12-09  David Hyatt  <hyatt (a] apple.com>
   54357 
   54358 	Fix the dirty rect checks on various render_objects to be more accurate so that page-break properties don't
   54359 	have mojibake when printing.
   54360 	
   54361         Reviewed by john
   54362 
   54363         * khtml/rendering/render_block.cpp:
   54364         (khtml::RenderBlock::paint):
   54365         * khtml/rendering/render_flow.cpp:
   54366         (RenderFlow::paintLineBoxBackgroundBorder):
   54367         (RenderFlow::paintLineBoxDecorations):
   54368         * khtml/rendering/render_replaced.cpp:
   54369         (RenderReplaced::paint):
   54370         * khtml/rendering/render_table.cpp:
   54371         (RenderTable::paint):
   54372 
   54373 2003-12-09  Darin Adler  <darin (a] apple.com>
   54374 
   54375         Reviewed by Richard.
   54376 
   54377         - fixed 3500408: Web Kit should pass the MAYSCRIPT attribute from the APPLET tag to the Java plug-in
   54378 
   54379         * khtml/html/html_objectimpl.cpp:
   54380         (HTMLAppletElementImpl::parseAttribute): Allow the "mayscript" attribute.
   54381         (HTMLAppletElementImpl::createRenderer): Pass the value of the "mayscript" attribute
   54382         as an argument named "mayScript".
   54383 
   54384         * khtml/misc/htmlattrs.in: Added "mayscript".
   54385         * khtml/misc/htmlattrs.c: Regenerated.
   54386         * khtml/misc/htmlattrs.h: Regenerated.
   54387 
   54388 2003-12-09  Maciej Stachowiak  <mjs (a] apple.com>
   54389 
   54390         Reviewed by Darin.
   54391 
   54392 	<rdar://problem/3501030>: JavaScript sites crash when a PAC file is in place (WebCore,Safari 1.2)
   54393 	
   54394         * khtml/ecma/kjs_events.cpp:
   54395         (JSEventListener::handleEvent): Lock interpreter when needed.
   54396         (JSLazyEventListener::parseCode): Likewise.
   54397         (KJS::getDOMEvent): Likewise.
   54398         * khtml/ecma/kjs_proxy.cpp:
   54399         (KJSProxyImpl::evaluate): Likewise.
   54400         (KJSProxyImpl::initScript): Likewise.
   54401 
   54402 2003-12-09  David Hyatt  <hyatt (a] apple.com>
   54403 
   54404 	Fix for 3491235, really make <script src="..."/> work in HTML.  My original attempt to fix this only made
   54405 	the tag flat, but did not ensure that the script got processed.
   54406 	
   54407         Reviewed by john
   54408 
   54409         * khtml/html/htmltokenizer.cpp:
   54410         (HTMLTokenizer::parseTag):
   54411 
   54412 2003-12-08  David Hyatt  <hyatt (a] apple.com>
   54413 
   54414 	Fix for 3503652, news.com misrenders badly (footer is out of position).  My fix to 3495748 caused this
   54415 	regression.  I made the tag priority of <nobr> too high.  It needed to be the same as <div>, and I
   54416 	accidentally made it higher.  I intended for it to be the same as <div>.
   54417 
   54418 	I also had to make a fix (now that <nobr> has a higher priority) to ensure <nobr> can't be nested inside
   54419 	other <nobr>.  
   54420 
   54421 	Both fixes were required to make news.com render correctly again.
   54422 	
   54423         Reviewed by darin
   54424 
   54425         * khtml/html/dtd.cpp:
   54426         * khtml/html/htmlparser.cpp:
   54427         (KHTMLParser::getElement):
   54428 
   54429 2003-12-08  Chris Blumenberg  <cblu (a] apple.com>
   54430 
   54431 	Fixed: <rdar://problem/3234676>: Support for KEYGEN tag (ie 509 email certificates from www.thawte.com)
   54432 
   54433         Reviewed by mjs.
   54434 
   54435         * WebCore-combined.exp:
   54436         * WebCore.exp:
   54437         * WebCore.pbproj/project.pbxproj:
   54438         * khtml/html/html_formimpl.cpp:
   54439         (HTMLKeygenElementImpl::parseAttribute): store the KEYTYPE attribute
   54440         (HTMLKeygenElementImpl::encoding): call KSSLKeyGen::signedPublicKeyAndChallengeString
   54441         * khtml/html/html_formimpl.h: remove 2 declared but unimplemented methods
   54442         * khtml/misc/htmlattrs.c: generated changes
   54443         (hash_attr):
   54444         (findAttr):
   54445         * khtml/misc/htmlattrs.h: generated change
   54446         * khtml/misc/htmlattrs.in: added KEYTYPE
   54447         * kwq/KWQKSSLKeyGen.h:
   54448         * kwq/KWQKSSLKeyGen.mm:
   54449         (KSSLKeyGen::supportedKeySizes): call renamed strengthMenuItemTitles
   54450         (KSSLKeyGen::signedPublicKeyAndChallengeString): new, calls [WebCoreKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:] 
   54451         * kwq/WebCoreKeyGenerationFactory.h: Added.
   54452         * kwq/WebCoreKeyGenerationFactory.m: Added.
   54453         (+[WebCoreKeyGenerationFactory sharedFactory]):
   54454         (-[WebCoreKeyGenerationFactory init]):
   54455         (-[WebCoreKeyGenerationFactory strengthMenuItemTitles]):
   54456         (-[WebCoreKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]):
   54457         * kwq/WebCoreLocalizedStringFactory.h: Removed.
   54458         * kwq/WebCoreLocalizedStringFactory.m: Removed.
   54459 
   54460 2003-12-08  Maciej Stachowiak  <mjs (a] apple.com>
   54461 
   54462         Reviewed by Ken.
   54463 
   54464 	<rdar://problem/3504047>: XMLHttpRequest object needs onload event
   54465         
   54466 	* khtml/ecma/xmlhttprequest.cpp:
   54467         (KJS::XMLHttpRequest::getValueProperty): Implemented onload property.
   54468         (KJS::XMLHttpRequest::putValue): Ditto.
   54469         (KJS::XMLHttpRequest::XMLHttpRequest): Ditto.
   54470         (KJS::XMLHttpRequest::changeState): Ditto.
   54471         * khtml/ecma/xmlhttprequest.h:
   54472         * khtml/ecma/xmlhttprequest.lut.h: Regenerated.
   54473 
   54474 2003-12-08  David Hyatt  <hyatt (a] apple.com>
   54475 
   54476 	Fix for 3503022, asahi.com is too wide.  Bugs in line breaking of breakable Japanese characters caused
   54477 	the breaks to be ignored.
   54478 	
   54479         Reviewed by john
   54480 
   54481         * khtml/rendering/render_text.cpp:
   54482         (RenderText::calcMinMaxWidth):
   54483 
   54484 2003-12-05  David Hyatt  <hyatt (a] apple.com>
   54485 
   54486 	Fix the position method to return screen coords like it should and to use the lower left corner instead of
   54487 	the upper left.
   54488 	
   54489         Reviewed by john
   54490 
   54491         * kwq/KWQAccObject.h:
   54492         * kwq/KWQAccObject.mm:
   54493         (-[KWQAccObject position]):
   54494         (-[KWQAccObject size]):
   54495 
   54496 2003-12-07  Darin Adler  <darin (a] apple.com>
   54497 
   54498         Reviewed by John.
   54499 
   54500         - fixed 3502347: REGRESSION (100-116): bottom of login window sometimes missing (TR background image)
   54501 
   54502         * khtml/rendering/render_object.h: Added setPixmap.
   54503         * khtml/rendering/render_object.cpp: (RenderObject::setPixmap): Moved this
   54504         function here from RenderBox. This code is needed for the table row class and
   54505         similar classes that supply a background image that is drawn by the table cell,
   54506         and those are not RenderBox subclasses.
   54507 
   54508         * khtml/rendering/render_box.cpp: Removed setPixmap.
   54509         * khtml/rendering/render_box.h: Removed setPixmap.
   54510 
   54511 2003-12-06  John Sullivan  <sullivan (a] apple.com>
   54512 
   54513         - fixed <rdar://problem/3502655>: REGRESSION: Repro crash at espn.com
   54514 
   54515         Reviewed by Darin.
   54516 
   54517         * khtml/html/html_objectimpl.cpp:
   54518         (HTMLAppletElementImpl::getAppletInstance):
   54519         Check for nil RenderApplet before dereferencing rather than after.
   54520 
   54521 2003-12-05  David Hyatt  <hyatt (a] apple.com>
   54522 
   54523 	Add support for link clicking as an accessibility action.
   54524 	
   54525         Reviewed by john
   54526 
   54527         * kwq/KWQAccObject.mm:
   54528         (-[KWQAccObject anchorElement]):
   54529         (-[KWQAccObject role]):
   54530         (-[KWQAccObject accessibilityAttributeNames]):
   54531         (-[KWQAccObject accessibilityActionNames]):
   54532         (-[KWQAccObject accessibilityActionDescription:]):
   54533         (-[KWQAccObject accessibilityPerformAction:]):
   54534 
   54535 2003-12-05  Maciej Stachowiak  <mjs (a] apple.com>
   54536 
   54537         Reviewed by John.
   54538 
   54539 	<rdar://problem/3487222>: Add ability to create working fully standalone document object
   54540 	
   54541         * khtml/css/cssstyleselector.cpp:
   54542         (khtml::CSSStyleSelector::CSSStyleSelector):
   54543         (khtml::CSSStyleSelector::addSheet):
   54544         (khtml::CSSStyleSelector::initForStyleResolve):
   54545         (khtml::CSSStyleSelector::applyRule):
   54546         * khtml/dom/dom_doc.cpp:
   54547         (DOM::Document::part):
   54548         * khtml/dom/dom_doc.h:
   54549         * khtml/ecma/kjs_dom.cpp:
   54550         (DOMDocument::getValueProperty):
   54551         (KJS::checkNodeSecurity):
   54552         * khtml/ecma/kjs_html.cpp:
   54553         (KJS::HTMLDocFunction::tryCall):
   54554         (KJS::HTMLDocument::tryGet):
   54555         (KJS::HTMLDocument::putValue):
   54556         (KJS::HTMLElement::tryGet):
   54557         (Image::notifyFinished):
   54558         * khtml/ecma/kjs_traversal.cpp:
   54559         (JSNodeFilter::acceptNode):
   54560         * khtml/ecma/xmlhttprequest.cpp:
   54561         (KJS::XMLHttpRequest::changeState):
   54562         * khtml/html/html_baseimpl.cpp:
   54563         (HTMLBodyElementImpl::insertedIntoDocument):
   54564         (HTMLFrameElementImpl::isURLAllowed):
   54565         (HTMLFrameElementImpl::attach):
   54566         (HTMLFrameElementImpl::detach):
   54567         (HTMLFrameElementImpl::contentDocument):
   54568         (HTMLIFrameElementImpl::attach):
   54569         * khtml/html/html_documentimpl.cpp:
   54570         (HTMLDocumentImpl::referrer):
   54571         (HTMLDocumentImpl::lastModified):
   54572         * khtml/html/html_formimpl.cpp:
   54573         (HTMLFormElementImpl::formData):
   54574         (HTMLFormElementImpl::prepareSubmit):
   54575         (HTMLFormElementImpl::submit):
   54576         (HTMLFormElementImpl::reset):
   54577         (HTMLGenericFormElementImpl::isKeyboardFocusable):
   54578         (HTMLGenericFormElementImpl::defaultEventHandler):
   54579         * khtml/html/html_headimpl.cpp:
   54580         (HTMLBaseElementImpl::process):
   54581         (HTMLLinkElementImpl::process):
   54582         * khtml/html/html_inlineimpl.cpp:
   54583         (HTMLAnchorElementImpl::isKeyboardFocusable):
   54584         (HTMLAnchorElementImpl::defaultEventHandler):
   54585         * khtml/html/html_objectimpl.cpp:
   54586         (HTMLAppletElementImpl::createRenderer):
   54587         (HTMLAppletElementImpl::getAppletInstance):
   54588         (HTMLEmbedElementImpl::rendererIsNeeded):
   54589         (HTMLObjectElementImpl::rendererIsNeeded):
   54590         * khtml/html/htmltokenizer.cpp:
   54591         (HTMLTokenizer::scriptExecution):
   54592         (HTMLTokenizer::parseTag):
   54593         * khtml/rendering/render_applet.cpp:
   54594         (RenderApplet::RenderApplet):
   54595         * khtml/xml/dom_docimpl.cpp:
   54596         (DocumentImpl::setTitle):
   54597         (DocumentImpl::part):
   54598         (DocumentImpl::close):
   54599         (DocumentImpl::processHttpEquiv):
   54600         * khtml/xml/dom_docimpl.h:
   54601         * khtml/xml/dom_nodeimpl.cpp:
   54602         (NodeImpl::dispatchEvent):
   54603         * kwq/KWQAccObject.mm:
   54604         (-[KWQAccObject textUnderElement]):
   54605         * kwq/KWQKHTMLPart.mm:
   54606         (KWQKHTMLPart::partForNode):
   54607         (KWQKHTMLPart::attributedString):
   54608 
   54609 2003-12-05  Richard Williamson   <rjw (a] apple.com>
   54610 
   54611 	Fixed 3501885.  Added null test to returned node from collection.
   54612 
   54613         Reviewed by John.
   54614 
   54615         * khtml/ecma/kjs_html.cpp:
   54616         (KJS::HTMLCollection::tryGet):
   54617 
   54618 2003-12-04  Richard Williamson   <rjw (a] apple.com>
   54619 
   54620 	Added support for named applet access from document node.
   54621 	Factored creation of KJS::Values from RuntimeObjectImps.
   54622 
   54623         Reviewed by Chris.
   54624 
   54625         * khtml/ecma/kjs_dom.cpp:
   54626         (KJS::getDOMNamedNodeMap):
   54627         (KJS::getRuntimeObject):
   54628         * khtml/ecma/kjs_dom.h:
   54629         * khtml/ecma/kjs_html.cpp:
   54630         (KJS::HTMLDocument::tryGet):
   54631         (KJS::HTMLElement::tryGet):
   54632         (KJS::HTMLCollection::tryGet):
   54633 
   54634 2003-12-04  Darin Adler  <darin (a] apple.com>
   54635 
   54636         Reviewed by John.
   54637 
   54638         - fixed 3498712: REGRESSION (100-115): Safari aborts at http://www11.dht.dk/~blangstrup_org/
   54639 
   54640         This was an uncaught exception thrown by DocumentImpl. But the design of KHTML DOM is that
   54641         "impl" classes return exception codes; they don't throw exceptions.
   54642 
   54643         * khtml/dom/dom_doc.cpp:
   54644         (DOM::Document::createElement): Throw exception if necessary. The impl function now returns
   54645         an exception code.
   54646         (DOM::Document::createElementNS): Ditto.
   54647 
   54648         * khtml/html/html_documentimpl.h: Add exception code parameter to createElement.
   54649         * khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::createElement): Pass along the
   54650         exception code from the lower level.
   54651 
   54652         * khtml/xml/dom_docimpl.h: Add exception code parameters to createElement, createElementNS,
   54653         and createHTMLElement.
   54654         * khtml/xml/dom_docimpl.cpp:
   54655         (DOMImplementationImpl::createDocument): Handle exception code from createElementNS.
   54656         (DocumentImpl::createElement): Add exception code parameter, not set since there is
   54657         no exception.
   54658         (DocumentImpl::importNode): Handle exception code from createElementNS.
   54659         (DocumentImpl::createElementNS): Add exception code parameter. Propagate the exception
   54660         codes that we get from createHTMLElement and setPrefix.
   54661         (DocumentImpl::createHTMLElement): Add exception code parameter. Use an exception code
   54662         rather than a C+exception for INVALID_CHARACTER_ERR.
   54663 
   54664         * khtml/xml/dom_elementimpl.cpp: (ElementImpl::cloneNode): Pass exception code parameter to
   54665         createElement.
   54666 
   54667         * khtml/xml/xml_tokenizer.cpp:
   54668         (XMLHandler::startElement): Pass exception code parameter to createElementNS, and return false
   54669         if it is not zero. This is where the bug happened. Before we would get an exception from
   54670         createElementNS, but "impl" functions are not supposed to throw in KHTML's DOM.
   54671         (XMLTokenizer::finish): Add various exception code parameters to compile, but we know we won't
   54672         get any exceptions.
   54673 
   54674         * kwq/WebCoreDOMDocument.mm:
   54675         (-[WebCoreDOMDocument createElement:]): Pass an (ignored) exception code parameter.
   54676         (-[WebCoreDOMDocument createElementNS::]): Pass an (ignored) exception code parameter.
   54677 
   54678 === Safari-116 ===
   54679 
   54680 2003-12-03  Richard Williamson   <rjw (a] apple.com>
   54681 
   54682 	LiveConnect:  Removed some debugging.
   54683 
   54684         Reviewed by Chris.
   54685 
   54686         * khtml/ecma/kjs_html.cpp:
   54687         (KJS::HTMLCollection::tryGet):
   54688 
   54689 2003-12-03  David Hyatt  <hyatt (a] apple.com>
   54690 
   54691 	Fix for 3475761, list bullets mislayout after text zooming.
   54692 	
   54693         Reviewed by kocienda
   54694 
   54695         * khtml/rendering/render_block.cpp:
   54696         (khtml::RenderBlock::setStyle):
   54697 
   54698 2003-12-03  David Hyatt  <hyatt (a] apple.com>
   54699 
   54700 	Fix for 3493356, table cells didn't repaint properly.
   54701 	
   54702         Reviewed by kocienda
   54703 
   54704         * khtml/rendering/render_object.cpp:
   54705         (RenderObject::repaintObjectsBeforeLayout):
   54706         * khtml/rendering/render_table.cpp:
   54707         (RenderTableCell::getAbsoluteRepaintRect):
   54708         * khtml/rendering/render_table.h:
   54709 
   54710 2003-12-03  David Hyatt  <hyatt (a] apple.com>
   54711 
   54712 	Fix for 3495748, hang in parser at ocelot.ca.  <nobr> needs to have very high priority (equal to the
   54713 	priority of blocks like h1-6, p, and div), so that unclosed <nobr>s will close divs and ps.
   54714 	
   54715         Reviewed by gramps
   54716 
   54717         * khtml/html/dtd.cpp:
   54718 
   54719 2003-12-03  David Hyatt  <hyatt (a] apple.com>
   54720 
   54721 	Fix for 3475767, hang at saabnet.com.  Fix h1-h6 to be more tolerant regarding allowed child elements, to avoid
   54722 	deeply nested pages.
   54723 	
   54724         Reviewed by darin
   54725 
   54726         * khtml/html/dtd.cpp:
   54727         (DOM::checkChild):
   54728 
   54729 2003-12-03  John Sullivan  <sullivan (a] apple.com>
   54730 
   54731         - fixed these two design issues after Dave and I talked to HI:
   54732         <rdar://problem/3497072>: There shouldn't be a focus ring around clicked regions
   54733         <rdar://problem/3499315>: Focus ring should use aqua color always
   54734 
   54735         Reviewed by Dave.
   54736 
   54737         * khtml/css/html4.css:
   54738 
   54739 2003-12-03  Maciej Stachowiak  <mjs (a] apple.com>
   54740 
   54741         Reviewed by Ken.
   54742 
   54743 	<rdar://problem/3395759>: results of parent.document.getElementsByTagName can't be added to string
   54744         
   54745 	* khtml/ecma/kjs_dom.cpp:
   54746         (DOMNodeList::toPrimitive): Always convert to string instead of trying to convert
   54747 	to number and failing, as is done for DOMNode.
   54748         * khtml/ecma/kjs_dom.h: Prototype new method.
   54749 
   54750 2003-12-02  Richard Williamson   <rjw (a] apple.com>
   54751 
   54752 	Return a value that is backed by RuntimeObjectImpl, instead
   54753 	of a DOM object for applet[0].  This is better than having
   54754 	the DOM object redirect to the RuntimeObjectImpl.
   54755 
   54756         Reviewed by Chris.
   54757 
   54758         * khtml/ecma/kjs_html.cpp:
   54759         (KJS::HTMLCollection::tryGet):
   54760 
   54761 2003-12-02  Maciej Stachowiak  <mjs (a] apple.com>
   54762 
   54763         Reviewed by John.
   54764 
   54765 	<rdar://problem/3488220>: namespaces test from David Faure causes Safari to crash in DOM::DocumentImpl::createElementNS
   54766 	
   54767         * khtml/xml/dom_docimpl.cpp:
   54768         (DocumentImpl::createElementNS): Check if new element is NULL
   54769 	before messing with it, to avoid a crash.
   54770 
   54771 2003-12-02  David Hyatt  <hyatt (a] apple.com>
   54772 
   54773 	Fix for 3497999, null check the text() of RenderTexts to avoid a crash in current().
   54774 	
   54775         Reviewed by kocienda
   54776 
   54777         * khtml/rendering/bidi.cpp:
   54778         (khtml::BidiIterator::current):
   54779 
   54780 2003-12-02  Maciej Stachowiak  <mjs (a] apple.com>
   54781 
   54782         Reviewed by Darin.
   54783 
   54784 	Implemented a simple form of document serialization, enough to take care of:
   54785 
   54786 	<rdar://problem/3487190>: implement send of DOMDocument for XMLHttpRequest
   54787 
   54788         * khtml/dom/dom_doc.cpp:
   54789         (DOM::Document::toString):
   54790         * khtml/dom/dom_doc.h:
   54791         * khtml/ecma/xmlhttprequest.cpp:
   54792         (KJS::XMLHttpRequest::urlMatchesDocumentDomain):
   54793         (KJS::XMLHttpRequestProtoFunc::tryCall):
   54794         * khtml/html/html_elementimpl.cpp:
   54795         (HTMLElementImpl::toString):
   54796         * khtml/html/html_elementimpl.h:
   54797         * khtml/xml/dom_docimpl.cpp:
   54798         (DocumentImpl::toString):
   54799         (DocumentFragmentImpl::toString):
   54800         (DocumentTypeImpl::copyFrom):
   54801         (DocumentTypeImpl::toString):
   54802         * khtml/xml/dom_docimpl.h:
   54803         * khtml/xml/dom_elementimpl.cpp:
   54804         (AttrImpl::toString):
   54805         (ElementImpl::openTagStartToString):
   54806         (ElementImpl::toString):
   54807         * khtml/xml/dom_elementimpl.h:
   54808         * khtml/xml/dom_nodeimpl.h:
   54809         * khtml/xml/dom_textimpl.cpp:
   54810         (CommentImpl::toString):
   54811         (TextImpl::toString):
   54812         (CDATASectionImpl::toString):
   54813         * khtml/xml/dom_textimpl.h:
   54814         * khtml/xml/dom_xmlimpl.cpp:
   54815         (EntityImpl::toString):
   54816         (EntityReferenceImpl::toString):
   54817         (ProcessingInstructionImpl::setStyleSheet):
   54818         (ProcessingInstructionImpl::toString):
   54819         * khtml/xml/dom_xmlimpl.h:
   54820 
   54821 2003-12-02  David Hyatt  <hyatt (a] apple.com>
   54822 
   54823 	Fix for 3493677, containingBlock() null because we tried to support position:relative on table rows.  Fix
   54824 	is to disallow this.
   54825 	
   54826         Reviewed by kocienda
   54827 
   54828         * khtml/css/cssstyleselector.cpp:
   54829         (khtml::CSSStyleSelector::adjustRenderStyle):
   54830 
   54831 2003-12-02  David Hyatt  <hyatt (a] apple.com>
   54832 
   54833 	Fix for 3493697, nil-deref in bidi code.  Need to null-check strings with no length.
   54834 	
   54835         Reviewed by john
   54836 
   54837         * khtml/rendering/bidi.cpp:
   54838         (khtml::addRun):
   54839 
   54840 2003-12-02  David Hyatt  <hyatt (a] apple.com>
   54841 
   54842 	Fix for 3495746, nil deref of containing block (frame inside frameset).
   54843 	
   54844         Reviewed by kocienda
   54845 
   54846         * khtml/rendering/render_box.cpp:
   54847         (RenderBox::containingBlockWidth):
   54848 
   54849 2003-12-02  Ken Kocienda  <kocienda (a] apple.com>
   54850 
   54851         Reviewed by John
   54852 
   54853         * kwq/KWQRect.h:
   54854         * kwq/KWQRect.mm:
   54855         (QRect::bottomRight): Added helper.
   54856 
   54857 2003-12-02  Maciej Stachowiak  <mjs (a] apple.com>
   54858 
   54859 	Merged the following patch from David Faure to fix:
   54860 
   54861 	<rdar://problem/3497663>: Can't look up frames by number using windw[i] notation
   54862 
   54863     2003-11-25  David Faure  <faure (a] kde.org>
   54864 
   54865         * ecma/kjs_window.cpp: Implement hasProperty and get for frames by number in Window,
   54866         to fix window[0] and parent[1] etc. (#56983)
   54867 
   54868 2003-11-21  Maciej Stachowiak  <mjs (a] apple.com>
   54869 
   54870         Reviewed by Richard.
   54871 
   54872 	<rdar://problem/3487185>: implement security checks for XMLHttpRequest
   54873 	
   54874         * khtml/ecma/xmlhttprequest.cpp:
   54875         (KJS::XMLHttpRequest::open): Refuse to start if the URL is not one
   54876 	this document is allowed to access.
   54877         (KJS::XMLHttpRequest::slotRedirection): Stop the job if we redirect
   54878 	to a URL the home document is not allowed to access.
   54879         * kwq/KWQResourceLoader.mm:
   54880         (-[KWQResourceLoader redirectedToURL:]): emit the right signal
   54881         * kwq/WebCoreResourceLoader.h: Prototype new method
   54882 
   54883 2003-12-01  Richard Williamson   <rjw (a] apple.com>
   54884 
   54885 Fixed parameter passing to applet.  Child elements are NOT valid in setStyle().  So we now either create the widget before needed with createWidgetIfNecessary.  This either happens when doing the first layout, or when JavaScript first references the applet element.
   54886 
   54887 Fixed early delete of the the main applet instance.  When the JS collector cleaned up the last JS object referring to the applet instance we were deleting the java instance.  This caused the applet instance cached on the applet element to be invalid.  The applet instance is the only Java object not to be cleaned up by the JS collector.
   54888 
   54889 Added support for getting at Java object fields.
   54890 
   54891         Reviewed by Chris.
   54892 
   54893         * khtml/ecma/kjs_html.cpp:
   54894         (KJS::HTMLElement::tryGet):
   54895         * khtml/html/html_objectimpl.cpp:
   54896         (HTMLAppletElementImpl::createRenderer):
   54897         (HTMLAppletElementImpl::getAppletInstance):
   54898         * khtml/html/html_objectimpl.h:
   54899         * khtml/rendering/render_applet.cpp:
   54900         (RenderApplet::createWidgetIfNecessary):
   54901         (RenderApplet::layout):
   54902         * khtml/rendering/render_applet.h:
   54903         (khtml::RenderApplet::renderName):
   54904 
   54905 2003-12-01  Darin Adler  <darin (a] apple.com>
   54906 
   54907         Reviewed by Dave.
   54908 
   54909         - fixed 3496960: nil-deref in idFromNode inside elementDoesAutoComplete:
   54910 
   54911         * kwq/WebCoreBridge.mm:
   54912         (inputElementFromDOMElement): Added nil check.
   54913         (formElementFromDOMElement): Added nil check.
   54914 
   54915 2003-12-01  David Hyatt  <hyatt (a] apple.com>
   54916 
   54917 	Fix for 3490959, collapsed border tables don't paint backgrounds.
   54918 	
   54919         Reviewed by darin
   54920 
   54921         * khtml/rendering/render_table.cpp:
   54922         (RenderTable::setStyle):
   54923         (RenderTable::paint):
   54924         (RenderTable::paintBoxDecorations):
   54925         * khtml/rendering/render_table.h:
   54926 
   54927 2003-12-01  Darin Adler  <darin (a] apple.com>
   54928 
   54929         Reviewed by Dave.
   54930 
   54931         - fixed 3493939: ordered lists with type="A" roll over to A' after X rather than after Z
   54932 
   54933         * khtml/rendering/render_list.cpp: (toLetter): Change 24 to 26.
   54934 
   54935 === Safari-115 ===
   54936 
   54937 2003-11-21  Maciej Stachowiak  <mjs (a] apple.com>
   54938 
   54939         Reviewed by Ken.
   54940 
   54941 	WebCore part of fix for:
   54942 	
   54943 	<rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest
   54944 
   54945         * khtml/ecma/xmlhttprequest.cpp:
   54946         (KJS::XMLHttpRequest::getValueProperty): Call appropriate methods for
   54947 	status and statusText.
   54948         (KJS::XMLHttpRequest::send): Set request headers as "customHeaders"
   54949 	metadata property.
   54950         (KJS::XMLHttpRequest::setRequestHeader): Simply append to header
   54951 	string.
   54952         (KJS::XMLHttpRequest::getAllResponseHeaders): Return the header string
   54953 	except for the first line.
   54954 	(KJS::XMLHttpRequest::getResponseHeader): Scan the response header
   54955 	string for the header field. Not sure if it's worth being more
   54956 	efficient.
   54957         (KJS::XMLHttpRequest::getStatus): Try to pull a code out
   54958 	of the status line.
   54959         (KJS::XMLHttpRequest::getStatusText): Pull the first line
   54960 	off the headers (if any), otherwise return undefined.
   54961         (KJS::XMLHttpRequest::slotData): The first time through, save
   54962 	the response headers, retrieved from "HTTP-Headers" metadata
   54963 	property.
   54964         (KJS::XMLHttpRequestProtoFunc::tryCall): Make setRequestHeader,
   54965 	getResponseHeader, getAllResponseHeaders call the right thing.
   54966         * khtml/ecma/xmlhttprequest.h:
   54967         * kwq/KWQKJobClasses.h:
   54968         * kwq/KWQKJobClasses.mm:
   54969         (KIO::TransferJobPrivate::TransferJobPrivate): Added header
   54970 	support.
   54971         (KIO::TransferJobPrivate::~TransferJobPrivate):
   54972         (KIO::TransferJob::assembleResponseHeaders): Get a header string
   54973 	out of the response if needed.
   54974         (KIO::TransferJob::queryMetaData): Special-case "HTTP-Headers".
   54975         (KIO::TransferJob::emitReceivedResponse): Save response.
   54976         * kwq/KWQLoader.h:
   54977         * kwq/KWQLoader.mm:
   54978         (-[NSDictionary _webcore_initWithHeaderString:]): Helper method to
   54979 	turn a string of header fields into a dictionary.
   54980         (KWQServeRequest): Pass custom headers through.
   54981         (KWQResponseMIMEType): Admit it's an NSURLResponse *.
   54982         (KWQResponseHeaderString): Assembled status code and response
   54983 	header fields into response header. Cheat a little on the status
   54984 	line.
   54985         * kwq/KWQResourceLoader.mm:
   54986         (-[KWQResourceLoader receivedResponse:]): Admit it's an
   54987 	NSURLResponse *.
   54988         * kwq/WebCoreResourceLoader.h: Ditto.
   54989 	* kwq/WebCoreBridge.h: Add customHeader: arguments.
   54990 
   54991 2003-11-21  Chris Blumenberg  <cblu (a] apple.com>
   54992 
   54993 	Fixed: <rdar://problem/3491907>: When viewing applet, view hierarchy was an empty KWQView
   54994 
   54995         Reviewed by rjw.
   54996 
   54997         * WebCore.pbproj/project.pbxproj:
   54998         * khtml/html/html_objectimpl.cpp: removed setupApplet because that work is done when the applet widget is created
   54999         (HTMLAppletElementImpl::createRenderer): pass the PARAM args to the render object
   55000         (HTMLAppletElementImpl::getAppletInstance): don't call setupApplet
   55001         * khtml/rendering/render_applet.cpp:
   55002         (RenderApplet::RenderApplet): store args and context, don't call setQWidget here 
   55003         (RenderApplet::setStyle): call setQWidget here
   55004         (RenderApplet::layout): don't parse args here, that is done in HTMLAppletElementImpl::createRenderer
   55005         * khtml/rendering/render_applet.h:
   55006         * kwq/KWQKJavaAppletWidget.h:
   55007         (KJavaApplet::KJavaApplet): turned into a stub, this work is no longer needed
   55008         (KJavaApplet::setAppletClass): ditto
   55009         (KJavaApplet::setAppletName): ditto
   55010         (KJavaApplet::setArchives): ditto
   55011         (KJavaApplet::setBaseURL): ditto
   55012         (KJavaApplet::setCodeBase): ditto
   55013         (KJavaApplet::setParameter): ditto
   55014         (KJavaAppletWidget::~KJavaAppletWidget): ditto
   55015         (KJavaAppletWidget::applet): ditto
   55016         (KJavaAppletWidget::setBaseURL): ditto
   55017         (KJavaAppletWidget::setParameter): ditto
   55018         (KJavaAppletWidget::showApplet): ditto 
   55019         * kwq/KWQKJavaAppletWidget.mm:
   55020         (KJavaAppletWidget::KJavaAppletWidget): create the java here instead of doing it later
   55021 
   55022 2003-11-21  John Sullivan  <sullivan (a] apple.com>
   55023 
   55024         - WebCore part of fix for <rdar://problem/3333744>: Safari prints page with 
   55025         very, very long line very, very small
   55026 
   55027         Reviewed by Ken.
   55028 
   55029         * kwq/KWQKHTMLPart.h:
   55030         * kwq/KWQKHTMLPart.mm:
   55031         (KWQKHTMLPart::forceLayoutWithPageWidthRange):
   55032         Changed method name from forceLayoutForPageWidth; now takes min and max
   55033         page width values. Use max page width value to limit how wide page will
   55034         get when there's a very long line.
   55035         
   55036         * kwq/WebCoreBridge.h:
   55037         * kwq/WebCoreBridge.mm:
   55038         (-[WebCoreBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
   55039         changed pageWidth parameter into min and max parameters; pass them along to KWQKHTMLPart.
   55040 
   55041 2003-11-21  Darin Adler  <darin (a] apple.com>
   55042 
   55043         Reviewed by Ken.
   55044 
   55045         - fixed 3490260: allow &sup1 to be misspelled &supl (lowercase l instead of numeral 1) because WinIE does
   55046 
   55047         * khtml/html/kentities.gperf: Added supl to the list. Maps to U+00B9, just as sup1 does.
   55048         * khtml/html/kentities.c: Regenerated.
   55049 
   55050 2003-11-20  Maciej Stachowiak  <mjs (a] apple.com>
   55051 
   55052         Reviewed by Darin.
   55053 
   55054 	- fixed 3487201 - Implement abort for XMLHttpRequest async loads
   55055 	
   55056         * khtml/ecma/xmlhttprequest.cpp:
   55057         (KJS::XMLHttpRequest::abort): Kill and clear job.
   55058         (KJS::XMLHttpRequest::slotData): Avoid moving to state 3 on early abort.
   55059         (KJS::XMLHttpRequestProtoFunc::tryCall): Call abort when appropriate.
   55060         * khtml/ecma/xmlhttprequest.h:
   55061 
   55062 2003-11-20  John Sullivan  <sullivan (a] apple.com>
   55063 
   55064         - WebCore part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always"
   55065 
   55066         Dave wrote this part and we reviewed it together.
   55067 
   55068         * khtml/rendering/render_block.cpp:
   55069         (khtml::RenderBlock::paintObject):
   55070         if printing, check for CSS page break locations
   55071         (khtml::RenderBlock::inRootBlockContext):
   55072         new method, used to check whether we're in a context for which
   55073         CSS page breaks are legal.
   55074         
   55075         * khtml/rendering/render_block.h:
   55076         prototype for inRootBlockContext; this might be useful for
   55077         other code later.
   55078         
   55079         * khtml/rendering/render_canvas.cpp:
   55080         (RenderCanvas::setBestTruncatedAt):
   55081         now takes a forcedBreak parameter which overrides others.
   55082         
   55083         * khtml/rendering/render_canvas.h:
   55084         (khtml::RenderCanvas::setTruncatedAt):
   55085         set default value for m_forcedPageBreak
   55086         
   55087         * kwq/WebCoreBridge.h:
   55088         * kwq/WebCoreBridge.mm:
   55089         (-[WebCoreBridge computePageRects:withPageHeight:]):
   55090         do the real work of pagination here
   55091 
   55092 2003-11-20  Chris Blumenberg  <cblu (a] apple.com>
   55093 
   55094 	Fixed: <rdar://problem/3491225>: Need UI and localized strings for <KEYGEN> support
   55095 
   55096         Reviewed by john.
   55097 
   55098         * WebCore-combined.exp:
   55099         * WebCore.exp:
   55100         * WebCore.pbproj/project.pbxproj:
   55101         * kwq/KWQKSSLKeyGen.h:
   55102         * kwq/KWQKSSLKeyGen.mm: Added.
   55103         (KSSLKeyGen::supportedKeySizes): implemented, calls [WebCoreLocalizedStringFactory keyGenerationMenuItemTitles]
   55104         * kwq/WebCoreLocalizedStringFactory.h: Added.
   55105         * kwq/WebCoreLocalizedStringFactory.m: Added.
   55106         (+[WebCoreLocalizedStringFactory sharedFactory]): new
   55107         (-[WebCoreLocalizedStringFactory init]): new
   55108         (-[WebCoreLocalizedStringFactory keyGenerationMenuItemTitles]): new
   55109 
   55110 2003-11-19  Maciej Stachowiak  <mjs (a] apple.com>
   55111 
   55112         Reviewed by Ken.
   55113 
   55114 	- fixed 3490086 - support http post for XMLHttpRequest
   55115 	
   55116         * kwq/KWQKJobClasses.h:
   55117         * kwq/KWQKJobClasses.mm:
   55118         (KIO::TransferJobPrivate::TransferJobPrivate):
   55119         (KIO::TransferJob::TransferJob):
   55120 
   55121 2003-11-20  Richard Williamson   <rjw (a] apple.com>
   55122 
   55123 	Cleaned up synchronous applet lookup and initialization.
   55124 	We need to further cleanup applet instantiation.  It doesn't
   55125 	need to be lazy with my modified Java Plugin.
   55126 
   55127         Reviewed by Chris.
   55128 
   55129         * khtml/ecma/kjs_html.cpp:
   55130         (KJS::HTMLElement::tryGet):
   55131         * khtml/html/html_objectimpl.cpp:
   55132         (HTMLAppletElementImpl::setupApplet):
   55133         (HTMLAppletElementImpl::getAppletInstance):
   55134         * khtml/html/html_objectimpl.h:
   55135         * kwq/KWQKHTMLPart.mm:
   55136         (KWQKHTMLPart::getAppletInstanceForView):
   55137         * kwq/KWQKJavaAppletWidget.h:
   55138         * kwq/KWQKJavaAppletWidget.mm:
   55139         (KJavaAppletWidget::showApplet):
   55140 
   55141 2003-11-20  Ken Kocienda  <kocienda (a] apple.com>
   55142 
   55143         Reviewed by David
   55144 
   55145 	Fix for this bug:
   55146 
   55147 	<rdar://problem/3487421>: crash/exception when tabbing to a link without text
   55148 
   55149         * khtml/html/html_inlineimpl.cpp:
   55150         (HTMLAnchorElementImpl::isFocusable): A link is also not focusable 
   55151 	if it has zero width or height, if it has no children, or if it is 
   55152 	is not a continuation.
   55153         * kwq/KWQPainter.mm:
   55154         (QPainter::drawFocusRing): Put in a guard against trying to draw a focus
   55155         ring with no control points. Log this as an error.
   55156 
   55157 2003-11-19  David Hyatt  <hyatt (a] apple.com>
   55158 
   55159 	Fix for 3486963, crash because generated content was referencing a deleted object.  Fix is to update the
   55160 	variable to a sane value after deleting old generated content.
   55161 	
   55162         Reviewed by darin
   55163 
   55164         * khtml/rendering/render_container.cpp:
   55165         (RenderContainer::updatePseudoChild):
   55166 
   55167 2003-11-19  Maciej Stachowiak  <mjs (a] apple.com>
   55168 
   55169         Reviewed by John.
   55170 
   55171 	- fixed 3486998 - Implement asynchronous http loading for XMLHttpRequest
   55172 	
   55173         * khtml/ecma/xmlhttprequest.cpp:
   55174         (KJS::XMLHttpRequestQObject::XMLHttpRequestQObject): New QObject to use to
   55175 	connect to signals.
   55176         (KJS::XMLHttpRequestQObject::slotData): Call XMLHttpRequest.
   55177         (KJS::XMLHttpRequestQObject::slotFinished): Ditto.
   55178         (KJS::XMLHttpRequestQObject::slotRedirection): Ditto.
   55179         (KJS::XMLHttpRequest::getValueProperty): Implemented, onrequeststatechange,
   55180 	readyState and responseText.
   55181         (KJS::XMLHttpRequest::putValue): Implemented onrequeststatechange.
   55182         (KJS::XMLHttpRequest::XMLHttpRequest): Initialize new fields.
   55183         (KJS::XMLHttpRequest::~XMLHttpRequest): Delete decoder.
   55184         (KJS::XMLHttpRequest::changeState): Update state, and send event if needed.
   55185         (KJS::XMLHttpRequest::open): Save the parameters.
   55186         (KJS::XMLHttpRequest::send): Fire up a post or get job.
   55187         (KJS::XMLHttpRequest::slotFinished): go to final state.
   55188         (KJS::XMLHttpRequest::slotRedirection): Just stub for now.
   55189         (KJS::XMLHttpRequest::slotData): Update state; decode & save data.
   55190         (KJS::XMLHttpRequestProtoFunc::tryCall): Implemented open and send.
   55191         * khtml/ecma/xmlhttprequest.h: Prototyped new stuff.
   55192         * khtml/xml/dom2_eventsimpl.cpp:
   55193         (EventImpl::typeToId): Added "readystatechange" event.
   55194         (EventImpl::idToType): Ditto.
   55195         * khtml/xml/dom2_eventsimpl.h: Ditto.
   55196         * kwq/KWQLoader.h:
   55197         * kwq/KWQLoader.mm:
   55198         (KWQServeRequest): New variant that doesn't need a Request.
   55199         * kwq/KWQSlot.mm:
   55200         (KWQSlot::KWQSlot): Handle XMLHttpRequestQObject's slots.
   55201         (KWQSlot::call): Ditto.
   55202 
   55203 2003-11-19  Richard Williamson   <rjw (a] apple.com>
   55204 
   55205 	More LiveConnect stuff.  With that patch we make the applet
   55206 	visible to JavaScript in an Bindings::Instance.  Next step
   55207 	it to flush out implementation of RuntimeObjectImp and
   55208 	RuntimeFunctionImp.
   55209 
   55210         Reviewed by Ken.
   55211 
   55212         * khtml/html/html_objectimpl.cpp:
   55213         (HTMLAppletElementImpl::HTMLAppletElementImpl):
   55214         (HTMLAppletElementImpl::~HTMLAppletElementImpl):
   55215         (HTMLAppletElementImpl::getAppletInstance):
   55216         * khtml/html/html_objectimpl.h:
   55217         * kwq/KWQKHTMLPart.h:
   55218         * kwq/KWQKHTMLPart.mm:
   55219         (KWQKHTMLPart::getAppletInstanceForView):
   55220         * kwq/WebCoreBridge.h:
   55221 
   55222 2003-11-19  David Hyatt  <hyatt (a] apple.com>
   55223 
   55224 	Fix for 3488888, about:blank in iframes doesn't repaint properly.  Fix for 3485478, refreshing a remote
   55225 	page often causes a white flash.  Fix for 3488827, XML/XHTML documents don't fire load events on bodies/framesets.
   55226 	
   55227         Reviewed by darin
   55228 	
   55229         * khtml/html/html_documentimpl.cpp:
   55230         (HTMLDocumentImpl::HTMLDocumentImpl):
   55231         * khtml/html/html_documentimpl.h:
   55232         * khtml/rendering/render_canvas.cpp:
   55233         (RenderCanvas::RenderCanvas):
   55234         (RenderCanvas::layout):
   55235         * khtml/xml/dom_docimpl.cpp:
   55236         (DocumentImpl::DocumentImpl):
   55237         (DocumentImpl::body):
   55238         (DocumentImpl::close):
   55239         * khtml/xml/dom_docimpl.h:
   55240 
   55241 2003-11-18  Maciej Stachowiak  <mjs (a] apple.com>
   55242 
   55243         Reviewed by Darin.
   55244 
   55245 	- fixed 3488883 - KIO::TransferJob needs to really use signals instead of calling loader directly
   55246         
   55247 	* khtml/khtml_part.cpp:
   55248         (KHTMLPart::openURL):
   55249         * khtml/misc/loader.cpp:
   55250         (Loader::servePendingRequests):
   55251         (Loader::slotReceivedResponse):
   55252         * khtml/misc/loader.h:
   55253         * kwq/KWQKJobClasses.h:
   55254         * kwq/KWQKJobClasses.mm:
   55255         (KIO::TransferJob::TransferJob):
   55256         (KIO::TransferJob::url):
   55257         (KIO::TransferJob::emitData):
   55258         (KIO::TransferJob::emitRedirection):
   55259         (KIO::TransferJob::emitResult):
   55260         (KIO::TransferJob::emitReceivedResponse):
   55261         * kwq/KWQLoader.mm:
   55262         (KWQServeRequest):
   55263         * kwq/KWQObject.mm:
   55264         (QObject::connect):
   55265         * kwq/KWQResourceLoader.h:
   55266         * kwq/KWQResourceLoader.mm:
   55267         (-[KWQResourceLoader receivedResponse:]):
   55268         (-[KWQResourceLoader addData:]):
   55269         (-[KWQResourceLoader finishJobAndHandle]):
   55270         * kwq/KWQSignal.h:
   55271         * kwq/KWQSignal.mm:
   55272         (KWQSignal::call):
   55273         * kwq/KWQSlot.h:
   55274         * kwq/KWQSlot.mm:
   55275         (KWQSlot::KWQSlot):
   55276         (KWQSlot::call):
   55277 
   55278 2003-11-18  David Hyatt  <hyatt (a] apple.com>
   55279 
   55280 	Fix for 3488244, marquee-increments with percentage values not handled correctly.  Also added a tweak to ensure
   55281 	that 1% of a small value ends up being at least an increment of 1.  Also added an optimization to not even
   55282 	bother kicking off the marquee timer if the increment's initial value is 0 (matches WinIE).
   55283 
   55284         * khtml/rendering/render_layer.cpp:
   55285         (Marquee::start):
   55286         (Marquee::timerEvent):
   55287 
   55288 2003-11-18  Richard Williamson   <rjw (a] apple.com>
   55289 
   55290 	More live connect stuff.  We're getting close.
   55291 
   55292         Reviewed by Chris.
   55293 
   55294         * WebCore.pbproj/project.pbxproj:
   55295         * khtml/ecma/kjs_html.cpp:
   55296         (KJS::HTMLElement::tryGet):
   55297         * khtml/html/html_objectimpl.cpp:
   55298         (HTMLAppletElementImpl::parseAttribute):
   55299         (HTMLAppletElementImpl::getAppletInstance):
   55300         * khtml/html/html_objectimpl.h:
   55301 
   55302 2003-11-18  David Hyatt  <hyatt (a] apple.com>
   55303 
   55304 	Fix for 3478122, crash using first-letter and zooming, and also the fix for 3478078, generated content
   55305 	does not get removed properly on w3c site.  The root cause of these two bugs was the same, namely my
   55306 	change to meld the concept of generated anonymous content and anonymous blocks created by the layout
   55307 	engine together.  RenderBlock's setStyle method was incorrectly updating before/after/first-letter content
   55308 	and wiping out its style in random (and bad) ways.
   55309 	
   55310         * khtml/rendering/render_block.cpp:
   55311         (khtml::RenderBlock::setStyle):
   55312 
   55313 2003-11-18  David Hyatt  <hyatt (a] apple.com>
   55314 
   55315 	Fix for 3487424, images not painting because of dropped layouts.  When replaced elements dirtied
   55316 	themselves during line layout, they only needed to do a local dirty and not walk up the parent chain.
   55317 	
   55318         Reviewed by mjs
   55319 
   55320         * khtml/rendering/bidi.cpp:
   55321         (khtml::RenderBlock::layoutInlineChildren):
   55322 
   55323 2003-11-17  Maciej Stachowiak  <mjs (a] apple.com>
   55324 
   55325         Reviewed by Dave.
   55326 
   55327 	- fixed 3486991 - Add XMLHttpRequest object and stub methods
   55328 
   55329         * khtml/ecma/kjs_window.cpp:
   55330         (Window::get): Handle XMLHttpRequest constructor like Option and Image.
   55331         * khtml/ecma/kjs_window.h: Ditto.
   55332         * khtml/ecma/kjs_window.lut.h: Regenerated.
   55333         * khtml/ecma/xmlhttprequest.cpp: Added. Stub implementations of everything.
   55334         (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
   55335         (KJS::XMLHttpRequestConstructorImp::implementsConstruct):
   55336         (KJS::XMLHttpRequestConstructorImp::construct):
   55337         (KJS::XMLHttpRequest::tryGet):
   55338         (KJS::XMLHttpRequest::getValueProperty):
   55339         (KJS::XMLHttpRequest::tryPut):
   55340         (KJS::XMLHttpRequest::putValue):
   55341         (KJS::XMLHttpRequest::notifyFinished):
   55342         (KJS::XMLHttpRequest::XMLHttpRequest):
   55343         (KJS::XMLHttpRequest::~XMLHttpRequest):
   55344         (KJS::XMLHttpRequestProtoFunc::tryCall):
   55345         * khtml/ecma/xmlhttprequest.h: Added. Stub implementations of everything.
   55346         (KJS::XMLHttpRequest::toBoolean):
   55347         (KJS::XMLHttpRequest::classInfo):
   55348         * khtml/ecma/xmlhttprequest.lut.h: Added.
   55349         * khtml/ecma/Makefile.am: Add new .lut.h file.
   55350 	* WebCore.pbproj/project.pbxproj: Add new files.
   55351 
   55352 2003-11-17  David Hyatt  <hyatt (a] apple.com>
   55353 
   55354 	Fix for 3487136, marquees reset when you return to a page in the b/f cache.  This patch makes
   55355 	marquees suspend and resume properly, so they pick up animating where they left off.
   55356 	
   55357         Reviewed by mjs
   55358 
   55359         * khtml/rendering/render_layer.cpp:
   55360         (RenderLayer::suspendMarquees):
   55361         (m_direction):
   55362         (Marquee::start):
   55363         (Marquee::suspend):
   55364         * khtml/rendering/render_layer.h:
   55365         * kwq/KWQKHTMLPart.mm:
   55366         (KWQKHTMLPart::clearTimers):
   55367 
   55368 2003-11-17  Maciej Stachowiak  <mjs (a] apple.com>
   55369 
   55370 	Merged from khtml:
   55371 	
   55372 	- fixed 3487324 - CSS url values should be wrapped in "url()" for cssText purposes
   55373 	
   55374     2003-11-07  Dirk Mueller  <mueller (a] kde.org>
   55375 	 
   55376 	* css/css_valueimpl.cpp (cssText): wrap uri's into url(). 
   55377 	Stephan Kulow noted that other browsers do that.
   55378 	
   55379 
   55380 2003-11-17  David Hyatt  <hyatt (a] apple.com>
   55381 
   55382 	Fix for 3472998, stop a crash on an insanely malformed page.  I had to change the concept of 
   55383 	"inStrayTableContent" to be a counter, since you could be nested and need to push/pop, and
   55384 	then I also had to stop from mistakenly popping when I didn't need to.
   55385 	
   55386         Reviewed by rjw
   55387 
   55388         * khtml/html/htmlparser.cpp:
   55389         (KHTMLParser::reset):
   55390         (KHTMLParser::insertNode):
   55391         (KHTMLParser::reopenResidualStyleTags):
   55392         (KHTMLParser::popBlock):
   55393         (KHTMLParser::popOneBlock):
   55394         * khtml/html/htmlparser.h:
   55395 
   55396 2003-11-17  Darin Adler  <darin (a] apple.com>
   55397 
   55398         Reviewed by Ken.
   55399 
   55400         - did keyboard event cleanup to follow up on the keyCode work I did before
   55401         - fixed 3485558: key identifers use lowercase hex, but the W3C document shows uppercase
   55402         - fixed 3485564: key identifier for the Return key should be "Enter"
   55403         - fixed 3485579: letter keys generate different key identifiers depending on whether the shift key is down
   55404         - fixed 3485568: keyboard event modifier key bits are uninitialized; may have incorrect values
   55405         - fixed 3481514: which attribute for DOM events reports incorrect value
   55406         - fixed 3452569: charCode attribute for DOM events not supported
   55407 
   55408         * khtml/dom/dom2_events.h: Added charCode.
   55409         * khtml/dom/dom2_events.cpp:
   55410         (UIEvent::keyCode): Call through to KeyboardEventImpl instead of doing the work here;
   55411         better factoring.
   55412         (UIEvent::charCode): Added. Calls through to KeyboardEventImpl.
   55413         (UIEvent::which): Call keyCode in KeyboardEventImpl to share code.
   55414 
   55415         * khtml/ecma/kjs_events.h: Added charCode property for DOMUIEvent.
   55416         * khtml/ecma/kjs_events.cpp: (DOMUIEvent::getValueProperty): Added charCode.
   55417         * khtml/ecma/kjs_events.lut.h: Regenerated.
   55418 
   55419         * khtml/html/html_formimpl.h:
   55420         * khtml/html/html_formimpl.cpp:
   55421         (HTMLInputElementImpl::defaultEventHandler): Remove checks for "U+00000d" since we now use "Enter"
   55422         for that key; also, we use capitalized hex, so it would have to change to "U+00000D" anyway.
   55423         (HTMLSelectElementImpl::defaultEventHandler): Ditto.
   55424         * khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::defaultEventHandler): Ditto.
   55425 
   55426         * khtml/khtmlview.cpp: (KHTMLView::keyPressEvent): Put !APPLE_CHANGES around code we are not
   55427         using. It was doing a switch based on Qt key codes, but the key value it was using to check
   55428         was a Macintosh virtual key code, which could yield strange results when the codes happen to
   55429         match. Safer and smaller code size not to do any of it at all.
   55430 
   55431         * khtml/rendering/render_form.cpp:
   55432         (RenderLineEdit::RenderLineEdit): Use a KLineEdit instead of LineEditWidget for APPLE_CHANGES.
   55433         Allows us to put !APPLE_CHANGES around more Qt key code stuff.
   55434         (RenderLineEdit::select): Cast to KLineEdit instead of LineEditWidget.
   55435         (ComboBoxWidget::event): Put !APPLE_CHANGES around more unneeded Qt key code stuff.
   55436         (TextAreaWidget::event): Put !APPLE_CHANGES around more unneeded Qt key code stuff.
   55437 
   55438         * khtml/xml/dom2_eventsimpl.h: Made id() const and added keyCode() and charCode().
   55439         * khtml/xml/dom2_eventsimpl.cpp:
   55440         (KeyboardEventImpl::KeyboardEventImpl): Initialize all fields in the empty constructor.
   55441         Initialize all the modifier bits in the main constructor; the old code assumed they started
   55442         off false, which is not a safe assumption. Also set m_altGraphKey false. Eliminated the
   55443         unneeded check of text() before calling identifier(). Also adapted for the name change from
   55444         identifier() to keyIdentifier().
   55445         (KeyboardEventImpl::keyCode): Added. Returns the Windows virtual key code for keydown and
   55446         keyup events, and the Unicode character for all other events.
   55447         (KeyboardEventImpl::charCode): Added. Returns the Unicode character.
   55448 
   55449         * kwq/KWQEvent.h: Changed QCustomEvent to be a typedef for QEvent.
   55450         (QEvent::QEvent): Removed AccelAvailable, and added KParts, so I could remove some ugly
   55451         constants from the KParts code.
   55452         (QMouseEvent::button): Use a cast here since the field is now int.
   55453         (QMouseEvent::state): Use a cast here since the field is now int.
   55454         (QMouseEvent::stateAfter): Use a cast here since the field is now int, and use the new
   55455         _stateAfter field.
   55456         (QTimerEvent::QTimerEvent): Moved the constructor to be inline since it's so simple.
   55457         (QKeyEvent::QKeyEvent): Removed type and button state parameters, now unneeded.
   55458         Also removed now-unused _key, _ascii, and _count fields, and key(), ascii(),
   55459         and count() functions.
   55460         (QKeyEvent::state): Made inline.
   55461         (QKeyEvent::isAccepted): Made inline.
   55462         (QKeyEvent::text): Made inline.
   55463         (QKeyEvent::isAutoRepeat): Made inline.
   55464         (QKeyEvent::accept): Made inline.
   55465         (QKeyEvent::ignore): Made inline.
   55466         (QKeyEvent::unmodifiedText): Made inline.
   55467         (QKeyEvent::keyIdentifier): Made inline and chnaged name from identifier().
   55468         * kwq/KWQEvent.mm:
   55469         (keyIdentifierForKeyEvent): Renamed from identifierForKeyText and changed parameter
   55470         to be the event. Cleaned up the code a little bit, and wrote a comment or two.
   55471         Changed from lowercase hex to uppercase, and called toupper on the key so that
   55472         letter a-z would work properly. (A non-Unicode toupper is just the ticket here,
   55473         because I am only sure we want to do this for a-z, not other lowercase characters.)
   55474         (isKeypadEvent): Added. Uses virtual key codes to decide if a key event is a keypad
   55475         event, so we can set the state flag correctly.
   55476         (WindowsKeyCodeForKeyEvent): Added Clear key to the switch statement; it was missing.
   55477         Changed to no longe use the characterCode helper function since this was the only
   55478         place it was needed.
   55479         (mouseButtonForEvent): Added. Similar logic to what was in KWQKHTMLPart before; better
   55480         factoring to have it in here.
   55481         (nonMouseButtonsForEvent): Ditto.
   55482         (QMouseEvent::QMouseEvent): Rewrote constructors. One matches the one from Qt that's
   55483         used in some places in KHTML code. The other takes an NSEvent and uses the new functions
   55484         above to compute the button and state.
   55485         (QKeyEvent::QKeyEvent): Computer type based on the passed-in NSEvent. Compute the
   55486         auto-repeat flag based on the event and also the "forceAutoRepeat" parameter. Compute
   55487         the button state based on the event too.
   55488 
   55489         * kwq/KWQKHTMLPart.h: Remove buttonForCurrentEvent and stateForCurrentEvent. Both
   55490         are now in KWQEvent.mm.
   55491         * kwq/KWQKHTMLPart.mm:
   55492         (KWQKHTMLPart::keyEvent): Remove extra parameters in code that creates QKeyEvent, now
   55493         that QKeyEvent can handle everything itself.
   55494         (KWQKHTMLPart::mouseDown): Same thing as above, only for QMouseEvent.
   55495         (KWQKHTMLPart::mouseDragged): Ditto.
   55496         (KWQKHTMLPart::mouseUp): Ditto.
   55497         (KWQKHTMLPart::mouseMoved): Ditto.
   55498         (KWQKHTMLPart::sendContextMenuEvent): Ditto.
   55499 
   55500         * kwq/KWQKPartsEvent.h: Tweaked the class around a little so it can work without
   55501         taking advantage of QCustomEvent's data pointer.
   55502         * kwq/KWQKPartsEvent.mm:
   55503         (KParts::Event::Event): Changed so it does a strdup on the event name and uses the
   55504         new event type pre-allocated in KWQEvent.h for us.
   55505         (KParts::Event::~Event): Free the event name.
   55506         (KParts::Event::test): Reimplemented this.
   55507 
   55508         * kwq/KWQKPartsPart.h: (KParts::Part::event): Removed now-unnecessary cast to change
   55509         a QCustomEvent into a QEvent.
   55510 
   55511         * kwq/KWQNamespace.h: Removed the Qt::Key enum. All the code that used it was already
   55512         broken because of the mixup between Qt and Macintosh key codes.
   55513 
   55514 2003-11-17  Ken Kocienda  <kocienda (a] apple.com>
   55515 
   55516         Reviewed by Maciej
   55517 
   55518 	<rdar://problem/3487079>: Some scheme checks in KURL do not verify 
   55519 	first char is a legal first char for a scheme
   55520 
   55521         * kwq/KWQKURL.mm:
   55522         (KURL::KURL): Added some additional checks when looking through
   55523 	strings looking for schemes. Now the first character is checked
   55524 	for validity as a first character in a scheme.
   55525 
   55526 2003-11-17  David Hyatt  <hyatt (a] apple.com>
   55527 
   55528 	Fix for 3486441, don't use the visibleWidth when computing the containingBlockWidth().  No need to
   55529 	query the view, since the canvas's width has been set to the proper size (when printing).
   55530 	
   55531         Reviewed by john
   55532 
   55533         * khtml/rendering/render_box.cpp:
   55534         (RenderBox::containingBlockWidth):
   55535 
   55536 2003-11-17  Maciej Stachowiak  <mjs (a] apple.com>
   55537 
   55538         Reviewed by Darin.
   55539 
   55540 	- fixed 3413713 - iframe forms posting fails without initial src attribute value
   55541 
   55542         * khtml/rendering/render_frames.cpp:
   55543         (RenderPartObject::updateWidget): If the new part is for "about:blank",
   55544 	set the document base URL to parent's base URL.
   55545         * kwq/KWQKHTMLPart.mm:
   55546         (KWQKHTMLPart::createEmptyDocument): If this part is an
   55547 	iframe, set the document base URL to the parent's base URL.
   55548 
   55549 2003-11-17  Darin Adler  <darin (a] apple.com>
   55550 
   55551         Reviewed by John.
   55552 
   55553         - fixed 3485925: Safari does not correctly parse eight-digit hex character entities
   55554 
   55555         * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::parseEntity): Replaced puzzling variable limit
   55556         on number of hexadecimal characters to parse with an 8-character limit.
   55557 
   55558 2003-11-17  Darin Adler  <darin (a] apple.com>
   55559 
   55560         Reviewed by John.
   55561 
   55562         - fixed 3485572 -- secure form check in KHTML uses case-sensitive comparison with "https"
   55563 
   55564         * khtml/html/html_formimpl.h:
   55565         * khtml/html/html_formimpl.cpp: (HTMLFormElementImpl::formWouldHaveSecureSubmission):
   55566         Changed to take a DOMString reference for slightly better efficiency, and to use startsWith
   55567         so the prefix check is not case sensitive and for slightly better efficiency and clarity
   55568         than calling latin1() and using strncmp.
   55569 
   55570 2003-11-17  Maciej Stachowiak  <mjs (a] apple.com>
   55571 
   55572 	- commit updated .lut.h file that I forgot to commit before
   55573 
   55574         * khtml/ecma/kjs_window.lut.h:
   55575 
   55576 2003-11-17  Maciej Stachowiak  <mjs (a] apple.com>
   55577 
   55578         Reviewed by Darin.
   55579 
   55580 	- fixed 3382829 - Safari won't load script src javascript if done by a document.write followed by document.close
   55581 	
   55582         * khtml/xml/dom_docimpl.cpp:
   55583         (DocumentImpl::closeInternal): Don't delete the tokenizer if it's
   55584 	waiting for scripts. It will get destroyed later when the part
   55585 	gets all subresources and closes the document.
   55586         * khtml/html/htmltokenizer.cpp:
   55587         (HTMLTokenizer::isWaitingForScripts): Added.
   55588         * khtml/html/htmltokenizer.h: Prototyped.
   55589         * khtml/xml/xml_tokenizer.cpp:
   55590         (XMLTokenizer::isWaitingForScripts): Added.
   55591         * khtml/xml/xml_tokenizer.h: Prototyped.
   55592 
   55593 2003-11-17  David Hyatt  <hyatt (a] apple.com>
   55594 
   55595 	Fix for 3480108, crash because of the wrong malformedTableParent when stray content is placed inside
   55596 	a <tr>.
   55597 	
   55598         Reviewed by john
   55599 
   55600         * khtml/html/htmlparser.cpp:
   55601         (KHTMLParser::popBlock):
   55602 
   55603 2003-11-17  Maciej Stachowiak  <mjs (a] apple.com>
   55604 
   55605         Reviewed by Dave.
   55606 
   55607 	- fixed 3397494 - FileMaker: Setting option object text fails if created without text
   55608 	
   55609         * khtml/html/html_formimpl.cpp:
   55610         (HTMLOptionElementImpl::childrenChanged): Update the select element.
   55611 	This ends up getting called when you add a text node to an option that
   55612 	didn't used to have one.
   55613         * khtml/html/html_formimpl.h: Prototype it.
   55614 
   55615 2003-11-17  Ken Kocienda  <kocienda (a] apple.com>
   55616 
   55617         Reviewed by Maciej
   55618 
   55619 	Fix for this bug:
   55620 
   55621 	<rdar://problem/3480023>: Links don't work if there's a colon in the URL
   55622 
   55623 	The colon in the URL was confusing KURL. I modified some checks in
   55624 	KURL so that its search for schemes stops when a non-scheme 
   55625 	character is found rather than when a path end segment character
   55626 	is found.
   55627 
   55628         * kwq/KWQKURL.mm: Added a new Colon class to the table of characters.
   55629         (isSchemeCharOrColon): New helper.
   55630         (KURL::KURL): Call on new helper when looking for a scheme.
   55631         (KURL::findHostnameInHierarchicalURL): Ditto.
   55632 
   55633 2003-11-17  David Hyatt  <hyatt (a] apple.com>
   55634 
   55635 	Fix for 2931829, lines with hyphens should break on the hyphens.  Match WinIE's behavior of
   55636 	breaking on - and ?.
   55637 	
   55638         Reviewed by john
   55639 
   55640         * khtml/rendering/break_lines.cpp:
   55641         (khtml::isBreakable):
   55642 
   55643 2003-11-17  David Hyatt  <hyatt (a] apple.com>
   55644 
   55645 	Fix for 3415771, Safari should use mini form controls when necessary.  This patch adds heuristics for
   55646 	swapping in mini form controls and also drops intrinsic margins when mini form controls are used.
   55647 
   55648 	Fix for 3486454, options/optgroups should strip leading/trailing space.
   55649 	
   55650 	Together these two fixes solve 3486581, travelocity misrenders because form controls are too large.
   55651 
   55652 	Reviewed by Darin
   55653 
   55654 	Also fixing 3474994, alink needs to be restricted to actual links and not all <a> tags.
   55655 
   55656 	Reviewed by John
   55657 
   55658 	Finally, adding :active outlines around <input type=image> (covered by the old bug 3141767).
   55659 
   55660         * khtml/css/cssstyleselector.cpp:
   55661         (khtml::CSSStyleSelector::CSSStyleSelector):
   55662         (khtml::CSSStyleSelector::applyRule):
   55663         (khtml::CSSStyleSelector::checkForGenericFamilyChange):
   55664         (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
   55665         (khtml::):
   55666         (khtml::CSSStyleSelector::fontSizeForKeyword):
   55667         (khtml::CSSStyleSelector::largerFontSize):
   55668         (khtml::CSSStyleSelector::smallerFontSize):
   55669         * khtml/css/cssstyleselector.h:
   55670         * khtml/css/html4.css:
   55671         * khtml/html/html_baseimpl.cpp:
   55672         (HTMLBodyElementImpl::parseAttribute):
   55673         * khtml/khtml_part.cpp:
   55674         (KHTMLPart::setZoomFactor):
   55675         * khtml/rendering/render_form.cpp:
   55676         (RenderFormElement::addIntrinsicMarginsIfAllowed):
   55677         (RenderSelect::updateFromElement):
   55678         * khtml/xml/dom_docimpl.cpp:
   55679         (DocumentImpl::recalcStyle):
   55680         (DocumentImpl::attach):
   55681         * kwq/KWQButton.mm:
   55682         (KWQNSControlSizeForFont):
   55683 
   55684 2003-11-17  David Hyatt  <hyatt (a] apple.com>
   55685 
   55686 	Back out my change to exclude text runs from getting a relayout on a style change.  I totally forgot about
   55687 	text zooming.
   55688 	
   55689         * khtml/rendering/render_object.cpp:
   55690         (RenderObject::setStyle):
   55691 
   55692 2003-11-16  Maciej Stachowiak  <mjs (a] apple.com>
   55693 
   55694         Reviewed by Dave.
   55695 
   55696 	<rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons
   55697         
   55698 	* khtml/ecma/kjs_window.cpp:
   55699         (Window::get): add support for window.print (Apple-only)
   55700         (WindowFunc::tryCall): ditto
   55701         * khtml/ecma/kjs_window.h: Add Print to enum
   55702         * khtml/ecma/kjs_window.lut.h: Regenerated
   55703         * kwq/KWQKHTMLPart.mm:
   55704         (KWQKHTMLPart::print): Call bridge.
   55705         * kwq/KWQKHTMLPart.h: Declare above.
   55706         * kwq/WebCoreBridge.h: prototype print method for other side of bridge.
   55707 
   55708 2003-11-16  Maciej Stachowiak  <mjs (a] apple.com>
   55709 
   55710         Reviewed by Darin.
   55711 
   55712         * kwq/KWQKHTMLPartBrowserExtension.mm:
   55713         (KHTMLPartBrowserExtension::createNewWindow): Check for the
   55714 	returned part being NULL, not the out value pointer.
   55715 
   55716 2003-11-16  David Hyatt  <hyatt (a] apple.com>
   55717 
   55718 	Fix for 3485779, <input type=image> and <button> should not be mouse focusable.
   55719 
   55720 	Fix for 3485795, <input type=image> and <button> are being treated like links when they should not be.
   55721 
   55722 	Fix for 3485817, <input type=image> and <button> should obey full keyboard access mode.
   55723 
   55724 	Fix for 3485802, fieldset/legend/option/optgroup/label should not be focusable at all.
   55725 	
   55726         Reviewed by kocienda
   55727 
   55728         * ChangeLog:
   55729         * khtml/html/html_formimpl.cpp:
   55730         (HTMLGenericFormElementImpl::isKeyboardFocusable):
   55731         (HTMLGenericFormElementImpl::isMouseFocusable):
   55732         (HTMLFieldSetElementImpl::isFocusable):
   55733         (HTMLLabelElementImpl::isFocusable):
   55734         (HTMLLegendElementImpl::isFocusable):
   55735         (HTMLOptGroupElementImpl::isFocusable):
   55736         (HTMLOptionElementImpl::HTMLOptionElementImpl):
   55737         (HTMLOptionElementImpl::isFocusable):
   55738         * khtml/html/html_formimpl.h:
   55739         * khtml/html/html_inlineimpl.cpp:
   55740         (HTMLAnchorElementImpl::isMouseFocusable):
   55741         (HTMLAnchorElementImpl::isKeyboardFocusable):
   55742         * khtml/html/html_inlineimpl.h:
   55743         * khtml/khtml_part.cpp:
   55744         (KHTMLPart::tabsToLinks):
   55745         (KHTMLPart::tabsToAllControls):
   55746         * khtml/khtml_part.h:
   55747         * kwq/KWQKHTMLPart.h:
   55748         * kwq/KWQKHTMLPart.mm:
   55749         (KWQKHTMLPart::nextKeyViewInFrame):
   55750         (KWQKHTMLPart::tabsToLinks):
   55751         (KWQKHTMLPart::tabsToAllControls):
   55752 
   55753 2003-11-16  Maciej Stachowiak  <mjs (a] apple.com>
   55754 
   55755         Reviewed by Dave.
   55756 
   55757 	- fixed 3484723 - name property of window reference from window.open call is always empty
   55758 	
   55759         * kwq/KWQKHTMLPartBrowserExtension.mm:
   55760         (KHTMLPartBrowserExtension::createNewWindow): Set the part name on the khtml side when
   55761 	making a new window.
   55762 
   55763 2003-11-16  David Hyatt  <hyatt (a] apple.com>
   55764 
   55765 	Fix for 3485766.
   55766 	
   55767 	Make sure DOM elements that are programmatically focused at a time when they have no render objects restore the
   55768 	focus to their widgets when render objects get built.
   55769 	
   55770         Reviewed by darin
   55771 
   55772         * khtml/html/html_formimpl.cpp:
   55773         (HTMLGenericFormElementImpl::attach):
   55774 
   55775 2003-11-16  David Hyatt  <hyatt (a] apple.com>
   55776 
   55777 	Add border info to the render tree dumper.
   55778 
   55779         * khtml/rendering/render_style.h:
   55780         (khtml::BorderValue::operator!=):
   55781         * kwq/KWQRenderTreeDebug.cpp:
   55782         (printBorderStyle):
   55783         (operator<<):
   55784         * layout-tests/apple-only/base/bugzilla.mozilla.org/index-expected.txt:
   55785         * layout-tests/apple-only/base/home.netscape.com/index-expected.txt:
   55786         * layout-tests/apple-only/base/lxr.mozilla.org/index-expected.txt:
   55787         * layout-tests/apple-only/base/my.netscape.com/index-expected.txt:
   55788         * layout-tests/apple-only/base/news.cnet.com/index-expected.txt:
   55789         * layout-tests/apple-only/base/web.icq.com/index-expected.txt:
   55790         * layout-tests/apple-only/base/www.altavista.com/index-expected.txt:
   55791         * layout-tests/apple-only/base/www.amazon.com/index-expected.txt:
   55792         * layout-tests/apple-only/base/www.cnn.com/index-expected.txt:
   55793         * layout-tests/apple-only/base/www.digitalcity.com/index-expected.txt:
   55794         * layout-tests/apple-only/base/www.ebay.com/index-expected.txt:
   55795         * layout-tests/apple-only/base/www.excite.com/index-expected.txt:
   55796         * layout-tests/apple-only/base/www.expedia.com/index-expected.txt:
   55797         * layout-tests/apple-only/base/www.iplanet.com/index-expected.txt:
   55798         * layout-tests/apple-only/base/www.mapquest.com/index-expected.txt:
   55799         * layout-tests/apple-only/base/www.microsoft.com/index-expected.txt:
   55800         * layout-tests/apple-only/base/www.moviefone.com/index-expected.txt:
   55801         * layout-tests/apple-only/base/www.msn.com/index-expected.txt:
   55802         * layout-tests/apple-only/base/www.msnbc.com/index-expected.txt:
   55803         * layout-tests/apple-only/base/www.nytimes.com/index-expected.txt:
   55804         * layout-tests/apple-only/base/www.nytimes.com_Table/index-expected.txt:
   55805         * layout-tests/apple-only/base/www.quicken.com/index-expected.txt:
   55806         * layout-tests/apple-only/base/www.sun.com/index-expected.txt:
   55807         * layout-tests/apple-only/base/www.time.com/index-expected.txt:
   55808         * layout-tests/apple-only/base/www.travelocity.com/index-expected.txt:
   55809         * layout-tests/apple-only/base/www.w3.org_DOML2Core/index-expected.txt:
   55810         * layout-tests/apple-only/base/www.yahoo.com/index-expected.txt:
   55811         * layout-tests/apple-only/base/www.zdnet.com/index-expected.txt:
   55812         * layout-tests/apple-only/base/www.zdnet.com_Gamespot.com/index-expected.txt:
   55813         * layout-tests/css1/basic/class_as_selector-expected.txt:
   55814         * layout-tests/css1/basic/comments-expected.txt:
   55815         * layout-tests/css1/basic/containment-expected.txt:
   55816         * layout-tests/css1/basic/contextual_selectors-expected.txt:
   55817         * layout-tests/css1/basic/grouping-expected.txt:
   55818         * layout-tests/css1/basic/id_as_selector-expected.txt:
   55819         * layout-tests/css1/basic/inheritance-expected.txt:
   55820         * layout-tests/css1/box_properties/acid_test-expected.txt:
   55821         * layout-tests/css1/box_properties/border-expected.txt:
   55822         * layout-tests/css1/box_properties/border_bottom-expected.txt:
   55823         * layout-tests/css1/box_properties/border_bottom_inline-expected.txt:
   55824         * layout-tests/css1/box_properties/border_bottom_width-expected.txt:
   55825         * layout-tests/css1/box_properties/border_bottom_width_inline-expected.txt:
   55826         * layout-tests/css1/box_properties/border_color-expected.txt:
   55827         * layout-tests/css1/box_properties/border_color_inline-expected.txt:
   55828         * layout-tests/css1/box_properties/border_inline-expected.txt:
   55829         * layout-tests/css1/box_properties/border_left-expected.txt:
   55830         * layout-tests/css1/box_properties/border_left_inline-expected.txt:
   55831         * layout-tests/css1/box_properties/border_left_width-expected.txt:
   55832         * layout-tests/css1/box_properties/border_left_width_inline-expected.txt:
   55833         * layout-tests/css1/box_properties/border_right-expected.txt:
   55834         * layout-tests/css1/box_properties/border_right_inline-expected.txt:
   55835         * layout-tests/css1/box_properties/border_right_width-expected.txt:
   55836         * layout-tests/css1/box_properties/border_right_width_inline-expected.txt:
   55837         * layout-tests/css1/box_properties/border_style-expected.txt:
   55838         * layout-tests/css1/box_properties/border_style_inline-expected.txt:
   55839         * layout-tests/css1/box_properties/border_top-expected.txt:
   55840         * layout-tests/css1/box_properties/border_top_inline-expected.txt:
   55841         * layout-tests/css1/box_properties/border_top_width-expected.txt:
   55842         * layout-tests/css1/box_properties/border_top_width_inline-expected.txt:
   55843         * layout-tests/css1/box_properties/border_width-expected.txt:
   55844         * layout-tests/css1/box_properties/border_width_inline-expected.txt:
   55845         * layout-tests/css1/box_properties/clear-expected.txt:
   55846         * layout-tests/css1/box_properties/clear_float-expected.txt:
   55847         * layout-tests/css1/box_properties/float-expected.txt:
   55848         * layout-tests/css1/box_properties/float_elements_in_series-expected.txt:
   55849         * layout-tests/css1/box_properties/float_margin-expected.txt:
   55850         * layout-tests/css1/box_properties/float_on_text_elements-expected.txt:
   55851         * layout-tests/css1/box_properties/height-expected.txt:
   55852         * layout-tests/css1/box_properties/margin-expected.txt:
   55853         * layout-tests/css1/box_properties/margin_bottom-expected.txt:
   55854         * layout-tests/css1/box_properties/margin_bottom_inline-expected.txt:
   55855         * layout-tests/css1/box_properties/margin_inline-expected.txt:
   55856         * layout-tests/css1/box_properties/margin_left-expected.txt:
   55857         * layout-tests/css1/box_properties/margin_left_inline-expected.txt:
   55858         * layout-tests/css1/box_properties/margin_right-expected.txt:
   55859         * layout-tests/css1/box_properties/margin_right_inline-expected.txt:
   55860         * layout-tests/css1/box_properties/margin_top-expected.txt:
   55861         * layout-tests/css1/box_properties/margin_top_inline-expected.txt:
   55862         * layout-tests/css1/box_properties/padding-expected.txt:
   55863         * layout-tests/css1/box_properties/padding_bottom-expected.txt:
   55864         * layout-tests/css1/box_properties/padding_bottom_inline-expected.txt:
   55865         * layout-tests/css1/box_properties/padding_inline-expected.txt:
   55866         * layout-tests/css1/box_properties/padding_left-expected.txt:
   55867         * layout-tests/css1/box_properties/padding_left_inline-expected.txt:
   55868         * layout-tests/css1/box_properties/padding_right-expected.txt:
   55869         * layout-tests/css1/box_properties/padding_right_inline-expected.txt:
   55870         * layout-tests/css1/box_properties/padding_top-expected.txt:
   55871         * layout-tests/css1/box_properties/padding_top_inline-expected.txt:
   55872         * layout-tests/css1/box_properties/width-expected.txt:
   55873         * layout-tests/css1/cascade/cascade_order-expected.txt:
   55874         * layout-tests/css1/cascade/important-expected.txt:
   55875         * layout-tests/css1/classification/display-expected.txt:
   55876         * layout-tests/css1/classification/list_style-expected.txt:
   55877         * layout-tests/css1/classification/list_style_image-expected.txt:
   55878         * layout-tests/css1/classification/list_style_position-expected.txt:
   55879         * layout-tests/css1/classification/list_style_type-expected.txt:
   55880         * layout-tests/css1/classification/white_space-expected.txt:
   55881         * layout-tests/css1/color_and_background/background-expected.txt:
   55882         * layout-tests/css1/color_and_background/background_attachment-expected.txt:
   55883         * layout-tests/css1/color_and_background/background_color-expected.txt:
   55884         * layout-tests/css1/color_and_background/background_image-expected.txt:
   55885         * layout-tests/css1/color_and_background/background_position-expected.txt:
   55886         * layout-tests/css1/color_and_background/background_repeat-expected.txt:
   55887         * layout-tests/css1/color_and_background/color-expected.txt:
   55888         * layout-tests/css1/conformance/forward_compatible_parsing-expected.txt:
   55889         * layout-tests/css1/font_properties/font-expected.txt:
   55890         * layout-tests/css1/font_properties/font_family-expected.txt:
   55891         * layout-tests/css1/font_properties/font_size-expected.txt:
   55892         * layout-tests/css1/font_properties/font_style-expected.txt:
   55893         * layout-tests/css1/font_properties/font_variant-expected.txt:
   55894         * layout-tests/css1/font_properties/font_weight-expected.txt:
   55895         * layout-tests/css1/formatting_model/canvas-expected.txt:
   55896         * layout-tests/css1/formatting_model/floating_elements-expected.txt:
   55897         * layout-tests/css1/formatting_model/height_of_lines-expected.txt:
   55898         * layout-tests/css1/formatting_model/inline_elements-expected.txt:
   55899         * layout-tests/css1/formatting_model/replaced_elements-expected.txt:
   55900         * layout-tests/css1/formatting_model/vertical_formatting-expected.txt:
   55901         * layout-tests/css1/pseudo/anchor-expected.txt:
   55902         * layout-tests/css1/pseudo/firstletter-expected.txt:
   55903         * layout-tests/css1/pseudo/firstline-expected.txt:
   55904         * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
   55905         * layout-tests/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
   55906         * layout-tests/css1/text_properties/letter_spacing-expected.txt:
   55907         * layout-tests/css1/text_properties/line_height-expected.txt:
   55908         * layout-tests/css1/text_properties/text-transform-expected.txt:
   55909         * layout-tests/css1/text_properties/text_align-expected.txt:
   55910         * layout-tests/css1/text_properties/text_decoration-expected.txt:
   55911         * layout-tests/css1/text_properties/text_indent-expected.txt:
   55912         * layout-tests/css1/text_properties/text_transform-expected.txt:
   55913         * layout-tests/css1/text_properties/vertical_align-expected.txt:
   55914         * layout-tests/css1/text_properties/word_spacing-expected.txt:
   55915         * layout-tests/css1/units/color_units-expected.txt:
   55916         * layout-tests/css1/units/length_units-expected.txt:
   55917         * layout-tests/css1/units/percentage_units-expected.txt:
   55918         * layout-tests/css1/units/urls-expected.txt:
   55919         * layout-tests/fast/block/basic/001-expected.txt:
   55920         * layout-tests/fast/block/basic/002-expected.txt:
   55921         * layout-tests/fast/block/basic/003-expected.txt:
   55922         * layout-tests/fast/block/basic/004-expected.txt:
   55923         * layout-tests/fast/block/basic/007-expected.txt:
   55924         * layout-tests/fast/block/basic/011-expected.txt:
   55925         * layout-tests/fast/block/basic/015-expected.txt:
   55926         * layout-tests/fast/block/basic/016-expected.txt:
   55927         * layout-tests/fast/block/basic/017-expected.txt:
   55928         * layout-tests/fast/block/basic/018-expected.txt:
   55929         * layout-tests/fast/block/basic/019-expected.txt:
   55930         * layout-tests/fast/block/float/004-expected.txt:
   55931         * layout-tests/fast/block/float/005-expected.txt:
   55932         * layout-tests/fast/block/float/006-expected.txt:
   55933         * layout-tests/fast/block/float/007-expected.txt:
   55934         * layout-tests/fast/block/float/012-expected.txt:
   55935         * layout-tests/fast/block/float/013-expected.txt:
   55936         * layout-tests/fast/block/float/015-expected.txt:
   55937         * layout-tests/fast/block/float/016-expected.txt:
   55938         * layout-tests/fast/block/float/017-expected.txt:
   55939         * layout-tests/fast/block/float/019-expected.txt:
   55940         * layout-tests/fast/block/float/021-expected.txt:
   55941         * layout-tests/fast/block/float/022-expected.txt:
   55942         * layout-tests/fast/block/float/024-expected.txt:
   55943         * layout-tests/fast/block/float/025-expected.txt:
   55944         * layout-tests/fast/block/float/026-expected.txt:
   55945         * layout-tests/fast/block/float/027-expected.txt:
   55946         * layout-tests/fast/block/float/028-expected.txt:
   55947         * layout-tests/fast/block/margin-collapse/001-expected.txt:
   55948         * layout-tests/fast/block/margin-collapse/005-expected.txt:
   55949         * layout-tests/fast/block/margin-collapse/006-expected.txt:
   55950         * layout-tests/fast/block/margin-collapse/010-expected.txt:
   55951         * layout-tests/fast/block/margin-collapse/011-expected.txt:
   55952         * layout-tests/fast/block/margin-collapse/012-expected.txt:
   55953         * layout-tests/fast/block/margin-collapse/015-expected.txt:
   55954         * layout-tests/fast/block/margin-collapse/016-expected.txt:
   55955         * layout-tests/fast/block/margin-collapse/017-expected.txt:
   55956         * layout-tests/fast/block/margin-collapse/018-expected.txt:
   55957         * layout-tests/fast/block/margin-collapse/019-expected.txt:
   55958         * layout-tests/fast/block/margin-collapse/020-expected.txt:
   55959         * layout-tests/fast/block/margin-collapse/021-expected.txt:
   55960         * layout-tests/fast/block/margin-collapse/022-expected.txt:
   55961         * layout-tests/fast/block/margin-collapse/024-expected.txt:
   55962         * layout-tests/fast/block/margin-collapse/025-expected.txt:
   55963         * layout-tests/fast/block/margin-collapse/026-expected.txt:
   55964         * layout-tests/fast/block/margin-collapse/027-expected.txt:
   55965         * layout-tests/fast/block/margin-collapse/028-expected.txt:
   55966         * layout-tests/fast/block/margin-collapse/029-expected.txt:
   55967         * layout-tests/fast/block/margin-collapse/030-expected.txt:
   55968         * layout-tests/fast/block/margin-collapse/032-expected.txt:
   55969         * layout-tests/fast/block/margin-collapse/033-expected.txt:
   55970         * layout-tests/fast/block/margin-collapse/034-expected.txt:
   55971         * layout-tests/fast/block/margin-collapse/035-expected.txt:
   55972         * layout-tests/fast/block/margin-collapse/041-expected.txt:
   55973         * layout-tests/fast/block/margin-collapse/042-expected.txt:
   55974         * layout-tests/fast/block/margin-collapse/043-expected.txt:
   55975         * layout-tests/fast/block/positioning/048-expected.txt:
   55976         * layout-tests/fast/block/positioning/049-expected.txt:
   55977         * layout-tests/fast/block/positioning/050-expected.txt:
   55978         * layout-tests/fast/block/positioning/051-expected.txt:
   55979         * layout-tests/fast/block/positioning/056-expected.txt:
   55980         * layout-tests/fast/block/positioning/057-expected.txt:
   55981         * layout-tests/fast/block/positioning/058-expected.txt:
   55982         * layout-tests/fast/block/positioning/auto/001-expected.txt:
   55983         * layout-tests/fast/block/positioning/auto/002-expected.txt:
   55984         * layout-tests/fast/block/positioning/auto/003-expected.txt:
   55985         * layout-tests/fast/block/positioning/auto/004-expected.txt:
   55986         * layout-tests/fast/block/positioning/auto/005-expected.txt:
   55987         * layout-tests/fast/block/positioning/auto/006-expected.txt:
   55988         * layout-tests/fast/clip/013-expected.txt:
   55989         * layout-tests/fast/clip/014-expected.txt:
   55990         * layout-tests/fast/css-generated-content/006-expected.txt:
   55991         * layout-tests/fast/css/003-expected.txt:
   55992         * layout-tests/fast/css/004-expected.txt:
   55993         * layout-tests/fast/css/005-expected.txt:
   55994         * layout-tests/fast/dynamic/002-expected.txt:
   55995         * layout-tests/fast/dynamic/004-expected.txt:
   55996         * layout-tests/fast/encoding/utf-16-big-endian-expected.txt:
   55997         * layout-tests/fast/encoding/utf-16-little-endian-expected.txt:
   55998         * layout-tests/fast/flexbox/007-expected.txt:
   55999         * layout-tests/fast/flexbox/008-expected.txt:
   56000         * layout-tests/fast/flexbox/009-expected.txt:
   56001         * layout-tests/fast/flexbox/011-expected.txt:
   56002         * layout-tests/fast/flexbox/016-expected.txt:
   56003         * layout-tests/fast/flexbox/017-expected.txt:
   56004         * layout-tests/fast/flexbox/018-expected.txt:
   56005         * layout-tests/fast/flexbox/019-expected.txt:
   56006         * layout-tests/fast/flexbox/022-expected.txt:
   56007         * layout-tests/fast/flexbox/025-expected.txt:
   56008         * layout-tests/fast/forms/001-expected.txt:
   56009         * layout-tests/fast/forms/002-expected.txt:
   56010         * layout-tests/fast/forms/006-expected.txt:
   56011         * layout-tests/fast/forms/007-expected.txt:
   56012         * layout-tests/fast/forms/form-element-geometry-expected.txt:
   56013         * layout-tests/fast/frames/001-expected.txt:
   56014         * layout-tests/fast/inline-block/001-expected.txt:
   56015         * layout-tests/fast/inline-block/002-expected.txt:
   56016         * layout-tests/fast/inline-block/003-expected.txt:
   56017         * layout-tests/fast/inline/001-expected.txt:
   56018         * layout-tests/fast/invalid/008-expected.txt:
   56019         * layout-tests/fast/invalid/014-expected.txt:
   56020         * layout-tests/fast/invalid/016-expected.txt:
   56021         * layout-tests/fast/lists/001-expected.txt:
   56022         * layout-tests/fast/lists/004-expected.txt:
   56023         * layout-tests/fast/lists/007-expected.txt:
   56024         * layout-tests/fast/overflow/001-expected.txt:
   56025         * layout-tests/fast/overflow/002-expected.txt:
   56026         * layout-tests/fast/overflow/004-expected.txt:
   56027         * layout-tests/fast/replaced/005-expected.txt:
   56028         * layout-tests/fast/replaced/006-expected.txt:
   56029         * layout-tests/fast/replaced/008-expected.txt:
   56030         * layout-tests/fast/selectors/009-expected.txt:
   56031         * layout-tests/fast/selectors/014-expected.txt:
   56032         * layout-tests/fast/selectors/032-expected.txt:
   56033         * layout-tests/fast/selectors/033-expected.txt:
   56034         * layout-tests/fast/selectors/039-expected.txt:
   56035         * layout-tests/fast/selectors/039b-expected.txt:
   56036         * layout-tests/fast/selectors/064-expected.txt:
   56037         * layout-tests/fast/selectors/077-expected.txt:
   56038         * layout-tests/fast/selectors/077b-expected.txt:
   56039         * layout-tests/fast/selectors/078-expected.txt:
   56040         * layout-tests/fast/selectors/078b-expected.txt:
   56041         * layout-tests/fast/selectors/166a-expected.txt:
   56042         * layout-tests/fast/table/003-expected.txt:
   56043         * layout-tests/fast/table/004-expected.txt:
   56044         * layout-tests/fast/table/005-expected.txt:
   56045         * layout-tests/fast/table/006-expected.txt:
   56046         * layout-tests/fast/table/007-expected.txt:
   56047         * layout-tests/fast/table/008-expected.txt:
   56048         * layout-tests/fast/table/009-expected.txt:
   56049         * layout-tests/fast/table/015-expected.txt:
   56050         * layout-tests/fast/table/017-expected.txt:
   56051         * layout-tests/fast/table/018-expected.txt:
   56052         * layout-tests/fast/table/020-expected.txt:
   56053         * layout-tests/fast/table/023-expected.txt:
   56054         * layout-tests/fast/table/025-expected.txt:
   56055         * layout-tests/fast/table/027-expected.txt:
   56056         * layout-tests/fast/table/028-expected.txt:
   56057         * layout-tests/fast/table/029-expected.txt:
   56058         * layout-tests/fast/table/030-expected.txt:
   56059         * layout-tests/fast/table/035-expected.txt:
   56060         * layout-tests/fast/table/036-expected.txt:
   56061         * layout-tests/fast/table/038-expected.txt:
   56062         * layout-tests/fast/table/border-collapsing/001-expected.txt:
   56063         * layout-tests/fast/table/border-collapsing/002-expected.txt:
   56064         * layout-tests/fast/table/border-collapsing/003-expected.txt:
   56065         * layout-tests/fast/table/border-collapsing/004-expected.txt:
   56066         * layout-tests/fast/table/large-width-expected.txt:
   56067         * layout-tests/fast/table/nobr-expected.txt:
   56068         * layout-tests/fast/text/basic/001-expected.txt:
   56069         * layout-tests/fast/text/basic/003-expected.txt:
   56070         * layout-tests/fast/text/basic/004-expected.txt:
   56071         * layout-tests/fast/text/basic/005-expected.txt:
   56072         * layout-tests/fast/text/basic/006-expected.txt:
   56073         * layout-tests/fast/text/basic/007-expected.txt:
   56074         * layout-tests/fast/text/basic/012-expected.txt:
   56075         * layout-tests/fast/text/firstline/002-expected.txt:
   56076         * layout-tests/fast/text/whitespace/002-expected.txt:
   56077         * layout-tests/fast/text/whitespace/003-expected.txt:
   56078         * layout-tests/fast/text/whitespace/020-expected.txt:
   56079         * layout-tests/fast/text/whitespace/023-expected.txt:
   56080         * layout-tests/fast/text/whitespace/024-expected.txt:
   56081         * layout-tests/fast/text/whitespace/025-expected.txt:
   56082         * layout-tests/fast/text/whitespace/027-expected.txt:
   56083 
   56084 2003-11-16  Maciej Stachowiak  <mjs (a] apple.com>
   56085 
   56086         Reviewed by John.
   56087 
   56088 	- fixed 3362841 - javascript History Object length property is always 0
   56089 
   56090         * kwq/KWQKPartsBrowserInterface.mm:
   56091         (KParts::BrowserInterface::property): For the historyLength property,
   56092 	retturn a UInt variant, not Int, because that's what the kjs_window code
   56093 	expects.
   56094 
   56095 2003-11-14  Maciej Stachowiak  <mjs (a] apple.com>
   56096 
   56097         Reviewed by Ken and Dave.
   56098 
   56099 	- fixed 3471925 - getting and setting cssText not implemented
   56100 
   56101         * khtml/css/css_valueimpl.cpp:
   56102         (CSSStyleDeclarationImpl::cssText): Implemented by gathering text of all
   56103 	properties (that are not non-CSS hints), separated with semicolons.
   56104         (CSSStyleDeclarationImpl::setCssText): Implemented by clearing all existing
   56105 	properties (that are not non-CSS hints) and invoking css parser.
   56106         (CSSValueListImpl::cssText): Implemented.
   56107         (FontValueImpl::cssText): Implemented.
   56108         (ShadowValueImpl::cssText): Implemented.
   56109         (CSSProperty::cssText): Implemented.
   56110         * khtml/css/css_valueimpl.h: Declared new methods; made
   56111 	CSSValueImpl::cssText() pure virtual; removed CSSValueImpl::setCssText().
   56112 
   56113 2003-11-16  David Hyatt  <hyatt (a] apple.com>
   56114 
   56115 	3485717, Cleanup of the float code.  Eliminated the -khtml-flow-mode style property in favor of two simple methods,
   56116 	avoidsFloats() and usesLineWidth().  avoidsFloats can be called to tell whether an object does not want
   56117 	floats to intrude into its space (and that it should also move to avoid floats).  usesLineWidth is called
   56118 	to find out if an object's containing block width is the line width or the content width, and has all the
   56119 	right smarts to emulate WinIE's behaviors in both quirks and strict mode.
   56120 
   56121 	Also fixed a bug (3485718) where overflow:scroll blocks with auto height did not factor in the horizontal scrollbar's
   56122 	height (thus causing it to paint on top of content).
   56123 	
   56124         Reviewed by darin
   56125 
   56126         * khtml/css/cssparser.cpp:
   56127         (CSSParser::parseValue):
   56128         * khtml/css/cssstyleselector.cpp:
   56129         (khtml::CSSStyleSelector::applyRule):
   56130         * khtml/css/cssvalues.c:
   56131         (hash_val):
   56132         (findValue):
   56133         * khtml/css/cssvalues.h:
   56134         * khtml/css/cssvalues.in:
   56135         * khtml/css/html4.css:
   56136         * khtml/rendering/bidi.cpp:
   56137         (khtml::RenderBlock::layoutInlineChildren):
   56138         * khtml/rendering/render_block.cpp:
   56139         (khtml::RenderBlock::layoutBlock):
   56140         (khtml::RenderBlock::layoutBlockChildren):
   56141         (khtml::RenderBlock::clearFloats):
   56142         * khtml/rendering/render_box.cpp:
   56143         (RenderBox::containingBlockWidth):
   56144         (RenderBox::calcWidth):
   56145         * khtml/rendering/render_object.cpp:
   56146         (RenderObject::isHR):
   56147         * khtml/rendering/render_object.h:
   56148         (khtml::RenderObject::avoidsFloats):
   56149         (khtml::RenderObject::usesLineWidth):
   56150         * khtml/rendering/render_style.h:
   56151         (khtml::RenderStyle::NonInheritedFlags::operator==):
   56152         (khtml::RenderStyle::setBitDefaults):
   56153         (khtml::RenderStyle::initialTextDecoration):
   56154         * khtml/rendering/render_table.cpp:
   56155         (RenderTable::calcWidth):
   56156 
   56157 2003-11-14  David Hyatt  <hyatt (a] apple.com>
   56158 
   56159 	Fix for 3485260, regression on Uniview site from incremental repainting.  When appending/inserting child
   56160 	nodes into the render tree, we need to always mark them as needing layout themselves (and not just as
   56161 	having children needing layout).  This ensures that the incremental repainting code will know to repaint the
   56162 	enclosing container (even though that container's size may not change).
   56163 
   56164 	Fix for 3411960, block-level replaced elements should avoid floats.
   56165 
   56166 	Fix for 3463234, floats should not intrude into overflow blocks (even when siblings happen to get in
   56167 	between the float and the overflow block).
   56168 
   56169 	Fix for 3485576, the containing block for text runs is incorrect.
   56170 
   56171 	Fix for 3485577, text runs should not trigger layout when style is re-resolved.
   56172 	
   56173         Reviewed by darin
   56174 
   56175         * khtml/rendering/render_container.cpp:
   56176         (RenderContainer::appendChildNode):
   56177         (RenderContainer::insertChildNode):
   56178         * khtml/rendering/render_box.cpp
   56179 	* khtml/rendering/render_object.cpp
   56180 	
   56181 2003-11-14  David Hyatt  <hyatt (a] apple.com>
   56182 
   56183 	Fix for 3473707, 100% height positioned divs are too tall.  The padding box wasn't being used like it was
   56184 	supposed to be when calcing percentage heights.
   56185 	
   56186         Reviewed by kocienda
   56187 
   56188         * khtml/rendering/render_box.cpp:
   56189         (RenderBox::calcAbsoluteVertical):
   56190 
   56191 === Safari-114 ===
   56192 
   56193 2003-11-14  Maciej Stachowiak  <mjs (a] apple.com>
   56194 
   56195         - backed out changes unintentionally commited while the tree was closed
   56196 
   56197         * khtml/css/css_valueimpl.cpp:
   56198         * khtml/css/css_valueimpl.h:
   56199         * kwq/KWQKPartsBrowserInterface.mm:
   56200 
   56201 2003-11-14  Maciej Stachowiak  <mjs (a] apple.com>
   56202 
   56203         Reviewed by Ken.
   56204 
   56205 	- fixed 3471925 - getting and setting cssText not implemented
   56206 
   56207         * khtml/css/css_valueimpl.cpp:
   56208         (CSSStyleDeclarationImpl::cssText): Implemented by gathering text of all
   56209 	properties, separated with semicolons.
   56210         (CSSStyleDeclarationImpl::setCssText): Implemented by clearing all existing
   56211 	properties and invoking css parser.
   56212         (CSSValueListImpl::cssText): Implemented.
   56213         (FontValueImpl::cssText): Implemented.
   56214         (ShadowValueImpl::cssText): Implemented.
   56215         (CSSProperty::cssText): Implemented.
   56216         * khtml/css/css_valueimpl.h: Declared new methods; made
   56217 	CSSValueImpl::cssText() pure virtual; removed
   56218 	CSSValueImpl::setCssText().
   56219 
   56220 2003-11-14  Darin Adler  <darin (a] apple.com>
   56221 
   56222         Reviewed by John.
   56223 
   56224         - first half of fix for 3457162 -- selecting text during a page load that blows the text field
   56225           away causes a crash
   56226 
   56227         The WebCore part of this fix is to generalize the "defers loading" feature to all mouse clicks,
   56228         rather than just doing it for mouse clicks on the combo box.
   56229 
   56230         * kwq/KWQComboBox.mm: (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
   56231         Remove code to defer loading.
   56232         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Put the code here
   56233         instead.
   56234 
   56235 2003-11-14  John Sullivan  <sullivan (a] apple.com>
   56236 
   56237         - fixed <rdar://problem/3483585>: Option-tab in a text field inputs 
   56238         a character rather than tabbing to the next widget
   56239 
   56240         Reviewed by Ken.
   56241 
   56242         * kwq/KWQKHTMLPart.h:
   56243         * kwq/KWQKHTMLPart.mm:
   56244         (KWQKHTMLPart::handleKeyboardOptionTabInView):
   56245         New method. If current event is option-tab or option-shift-tab, do
   56246         keyboard navigation and return YES.
   56247         
   56248         * kwq/KWQTextArea.mm:
   56249         (-[KWQTextArea textDidChange:]):
   56250         Bail out if KWQKHTMLPart::handleKeyboardOptionTabInView returns YES.
   56251         
   56252         * kwq/KWQTextField.mm:
   56253         (-[KWQTextField controlTextDidChange:]):
   56254         Bail out if KWQKHTMLPart::handleKeyboardOptionTabInView returns YES.
   56255 
   56256 2003-11-13  Darin Adler  <darin (a] apple.com>
   56257 
   56258         Reviewed by Dave.
   56259 
   56260         - fixed 3472875 -- REGRESSION (109-110): insertion point does not blink in a nonempty textarea
   56261         - fixed 3484002 -- disabling, then enabling a read-only <textarea> will make it editable
   56262 
   56263         * kwq/KWQTextArea.mm:
   56264         (-[KWQTextArea setText:]): Call updateTextColor after setting the text.
   56265         (-[KWQTextArea setEditable:]): Don't set the NSTextView editable property directly,
   56266         because we don't want to make a disabled text view editable right away, but we need
   56267         to later if it's enabled.
   56268         (-[KWQTextArea isEditable]): Don't get the NSTextView editable property directly,
   56269         because it can be appropriate to return YES even if the text view happens to be disabled.
   56270         (-[KWQTextAreaTextView initWithFrame:textContainer:]): Initialize editableIfEnabled to YES.
   56271         (-[KWQTextAreaTextView setEnabled:]): Don't set the editable state to true if
   56272         editableIfEnabled is NO. The old code would make a read-only field editable if you
   56273         changed it to be enabled. Also update the color of the text here.
   56274         (-[KWQTextAreaTextView setEditableIfEnabled:]): Store the editableIfEnabled state in a
   56275         field, and then alter the state of the editable flag to match if we're currently enabled.
   56276         (-[KWQTextAreaTextView isEditableIfEnabled]): Return the editableIfEnabled state.
   56277         (-[KWQTextAreaTextView updateTextColor]): Update the color of the text. This was done in
   56278         drawRect: before, which was the cause of the lack of insertion point.
   56279 
   56280 2003-11-13  Darin Adler  <darin (a] apple.com>
   56281 
   56282         Reviewed by Dave.
   56283 
   56284         - fixed 3474330 -- tooltips do not work for <area> elements
   56285 
   56286         * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): When looking for a title, start
   56287         with innerNode (which can be an <area> inside a <map>). This matches what Mozilla does.
   56288 
   56289 2003-11-13  Maciej Stachowiak  <mjs (a] apple.com>
   56290 
   56291         Reviewed by John.
   56292 
   56293 	- fixed - 3479285 - hang at www.saccourt.com
   56294 	- fixed - 3477088 - (85-112) Safari frozen loading a page at Postal Service site of Taiwan
   56295 	
   56296         * khtml/ecma/kjs_html.cpp:
   56297         (KJS::HTMLSelectCollection::tryPut): Use the range-checking
   56298 	version of the number-conversion function to avoid negative
   56299 	numbers and NaN.
   56300 
   56301 2003-11-13  Ken Kocienda  <kocienda (a] apple.com>
   56302 
   56303         Reviewed by John
   56304 	
   56305 	Fix for this bug:
   56306 
   56307 	<rdar://problem/3483284>: Tabbing to links needs to honor new 
   56308 	WebKit tab-to-links preference
   56309 
   56310 	In addition to fixing the bug, I also did a bit of cleanup
   56311 	in the code which helps to determine tab order.
   56312 
   56313 	Biggest change is to modify the keyboard UI mode function so
   56314 	that it is a set of flags, rather than a straight-up value.
   56315 
   56316 	I also tweaked the names on the keyboard UI mode constants
   56317 	to make them read better.
   56318 
   56319         * kwq/KWQButton.mm:
   56320         (QButton::focusPolicy): Tweaks to make more readable and use 
   56321 	new model for keyboard UI mode.
   56322         * kwq/KWQComboBox.mm:
   56323         (QComboBox::focusPolicy): Ditto. Plus, this function was not
   56324 	blocking exceptions.
   56325         * kwq/KWQFileButton.mm:
   56326         (KWQFileButton::focusPolicy): Tweaks to make more readable and use 
   56327         new model for keyboard UI mode.
   56328         * kwq/KWQKHTMLPart.h:
   56329         * kwq/KWQKHTMLPart.mm:
   56330         (KWQKHTMLPart::nextKeyViewInFrame): Now checks new tabsToLinks
   56331 	function to determine if links can be tabbed to.
   56332         (KWQKHTMLPart::currentEventIsKeyboardOptionTab): New function
   56333 	checks for option-tab keyboard event.
   56334         (KWQKHTMLPart::tabsToLinks): New helper to take keyboard UI mode
   56335 	and option-tab into account.
   56336         (KWQKHTMLPart::keyboardUIMode): Name tweak.
   56337         * kwq/KWQListBox.mm: Tweaks to make more readable and use 
   56338         new model for keyboard UI mode.
   56339         (QListBox::focusPolicy):
   56340         * kwq/WebCoreKeyboardAccess.h: Tweaked names. Added WebCoreKeyboardAccessTabsToLinks.
   56341 
   56342 2003-11-13  David Hyatt  <hyatt (a] apple.com>
   56343 
   56344 	Implement a custom unfurl marquee style.
   56345 	
   56346         Reviewed by john
   56347 
   56348         * khtml/css/cssparser.cpp:
   56349         (CSSParser::parseValue):
   56350         * khtml/css/cssstyleselector.cpp:
   56351         (khtml::CSSStyleSelector::applyRule):
   56352         * khtml/css/cssvalues.c:
   56353         (hash_val):
   56354         (findValue):
   56355         * khtml/css/cssvalues.h:
   56356         * khtml/css/cssvalues.in:
   56357         * khtml/rendering/render_box.cpp:
   56358         (RenderBox::calcHeight):
   56359         * khtml/rendering/render_layer.cpp:
   56360         (m_direction):
   56361         (Marquee::isUnfurlMarquee):
   56362         (Marquee::start):
   56363         (Marquee::updateMarqueePosition):
   56364         (Marquee::updateMarqueeStyle):
   56365         (Marquee::timerEvent):
   56366         * khtml/rendering/render_layer.h:
   56367         (khtml::):
   56368         * khtml/rendering/render_style.h:
   56369         (khtml::):
   56370 
   56371 2003-11-13  Ken Kocienda  <kocienda (a] apple.com>
   56372 
   56373         Reviewed by John
   56374 
   56375 	Fix for this bug:
   56376 
   56377 	<rdar://problem/3480761>: event object type attribute returns 
   56378 	khtml_keypress instead of keypress
   56379 
   56380 	Fixed string so that it returns keypress instead of khtml_keypress.
   56381 	While I was at it, I changed the constant used for this event from
   56382 	KHTML_KEYPRESS_EVENT to KEYPRESS_EVENT.
   56383 
   56384         * khtml/ecma/kjs_binding.cpp:
   56385         (ScriptInterpreter::wasRunByUserGesture): Constant name fixup.
   56386         * khtml/ecma/kjs_dom.cpp: Ditto.
   56387         (DOMNode::getValueProperty): Ditto.
   56388         (DOMNode::putValue): Ditto.
   56389         * khtml/ecma/kjs_window.cpp:
   56390         (Window::get): Ditto.
   56391         (Window::put): Ditto.
   56392         * khtml/html/html_elementimpl.cpp:
   56393         (HTMLElementImpl::parseAttribute): Ditto.
   56394         * khtml/html/html_formimpl.cpp:
   56395         (HTMLInputElementImpl::defaultEventHandler): Ditto.
   56396         (HTMLSelectElementImpl::defaultEventHandler): Ditto.
   56397         * khtml/xml/dom2_eventsimpl.cpp:
   56398         (EventImpl::idToType): This is the change that fixes the bug.
   56399         (KeyboardEventImpl::KeyboardEventImpl): Constant name fixup.
   56400         * khtml/xml/dom2_eventsimpl.h:
   56401         (DOM::EventImpl::): Ditto.
   56402 
   56403 2003-11-13  Darin Adler  <darin (a] apple.com>
   56404 
   56405         Reviewed by Ken.
   56406 
   56407         - fixed 3452554 -- keyCode attribute for DOM events reports incorrect value
   56408 
   56409         * khtml/dom/dom2_events.cpp:
   56410         (UIEvent::keyCode): Return the Windows key code for keydown and keyup events.
   56411         But for other events, return the character code. This matches IE.
   56412         (UIEvent::which): Same behavior for now; may need further refinement.
   56413 
   56414         * kwq/KWQEvent.h: Change QEvent to allow copying. The Qt version probably doesn't
   56415         allow it, but for us it's no big deal. Our event objects are just data holders.
   56416         (QKeyEvent::QKeyEvent): Change parameters; take an NSEvent and figure the rest out
   56417         here. Except for now get the type, button state, and auto repeat flag from the caller
   56418         because that's a smaller change from how things are done now. I'll take this the next
   56419         step later.
   56420         * kwq/KWQEvent.mm:
   56421         (characterCode): Added. Extracts the character code from the string if it's exactly
   56422         1 character long.
   56423         (WindowsKeyCode): Added. Given an event, figures out the Windows key code. 
   56424         (QKeyEvent::QKeyEvent): Changed to get things from the NSEvent rather than having them
   56425         passed individually. One change is that _ascii is now the Unicode value of the first
   56426         character in the string. This causes us to return the Unicode value from keyCode for
   56427         keypress events. Another change is that we now compute the Windows key code.
   56428 
   56429         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::keyEvent): Change to use the new QKeyEvent
   56430         constructor, passing in the NSEvent.
   56431 
   56432         * khtml/xml/dom2_eventsimpl.cpp: (KeyboardEventImpl::KeyboardEventImpl):
   56433         In APPLE_CHANGES, copy the QKeyEvent using the copy constructor rather than
   56434         listing the fields. This is easier to maintain when the list of fields changes.
   56435 
   56436         * khtml/rendering/render_form.cpp: (ComboBoxWidget::eventFilter): Put #if
   56437         !APPLE_CHANGES around code that constructs a QKeyEvent. We don't ever run this
   56438         code, but now we can't compile it either so we need the #if.
   56439 
   56440 2003-11-12  David Hyatt  <hyatt (a] apple.com>
   56441 
   56442 	Fix for 3482132, incremental repainting for layout, i.e., only repaint areas that change when
   56443 	doing a layout.
   56444 	
   56445         Reviewed by kocienda
   56446 
   56447         * khtml/khtmlview.h:
   56448         * khtml/rendering/render_canvas.cpp:
   56449         (RenderCanvas::repaintViewRectangle):
   56450         * khtml/rendering/render_layer.h:
   56451         * khtml/rendering/render_object.cpp:
   56452         (RenderObject::setNeedsLayout):
   56453         (RenderObject::setChildNeedsLayout):
   56454         * khtml/rendering/render_object.h:
   56455         * khtml/rendering/render_table.cpp:
   56456         (RenderTableSection::layoutRows):
   56457 
   56458 2003-11-12  Ken Kocienda  <kocienda (a] apple.com>
   56459 
   56460 	I am an idiot for just assuming that these elements implement a focus()
   56461 	function, without actually compiling and testing. I will have to add 
   56462 	this function to these elements so I can make this work.
   56463 
   56464         * khtml/html/html_formimpl.cpp:
   56465         (HTMLButtonElementImpl::accessKeyAction): These elements do not implement focus().
   56466         * khtml/html/html_inlineimpl.cpp:
   56467         (HTMLAnchorElementImpl::accessKeyAction): Ditto.
   56468 
   56469 2003-11-12  Ken Kocienda  <kocienda (a] apple.com>
   56470 
   56471         Reviewed by Richard
   56472 
   56473         * khtml/html/html_formimpl.cpp:
   56474         (HTMLButtonElementImpl::click): Implemented. Missed this in my earlier patch.
   56475         (HTMLButtonElementImpl::accessKeyAction): Added. Focus and click.
   56476         (HTMLInputElementImpl::accessKeyAction): Added. Focus the element.
   56477         (HTMLSelectElementImpl::accessKeyAction): Added. Focus the element.
   56478         (HTMLTextAreaElementImpl::accessKeyAction): Added. Focus the element.
   56479         * khtml/html/html_formimpl.h:
   56480         * khtml/html/html_inlineimpl.cpp:
   56481         (HTMLAnchorElementImpl::accessKeyAction): Added. Focus and click.
   56482         * khtml/html/html_inlineimpl.h:
   56483         * khtml/xml/dom_docimpl.cpp:
   56484         (DocumentImpl::DocumentImpl):
   56485         (DocumentImpl::addElementById): Dirty the accesskey dictionary.
   56486         (DocumentImpl::removeElementById): Ditto.
   56487         (DocumentImpl::getElementByAccessKey): Function to look up an element
   56488 	based on the key provided.
   56489         (DocumentImpl::setDocumentChanged): Dirty the accesskey dictionary.
   56490         (DocumentImpl::defaultEventHandler): Check the accesskey dictionary
   56491 	to see if some element wants to handle a key event.
   56492         * khtml/xml/dom_docimpl.h:
   56493         * khtml/xml/dom_elementimpl.h:
   56494         (DOM::ElementImpl::accessKeyAction): Added. Send a click to the element.
   56495 
   56496 2003-11-12  Ken Kocienda  <kocienda (a] apple.com>
   56497 
   56498         Reviewed by Richard
   56499 
   56500 	Fix for this bug:
   56501 
   56502 	<rdar://problem/3481600>: key event objects do not preserve unmodified keys
   56503 
   56504         * khtml/xml/dom2_eventsimpl.cpp: Modified constructor call to include
   56505 	unmodifiedText.
   56506         (KeyboardEventImpl::KeyboardEventImpl):
   56507         * kwq/KWQEvent.h: Added unmodifiedText accessor and variable to QKeyEvent.
   56508         * kwq/KWQEvent.mm:
   56509         (QKeyEvent::QKeyEvent): Modified constructor to include unmodifiedText.
   56510         (QKeyEvent::unmodifiedText): Added accessor.
   56511         * kwq/KWQKHTMLPart.mm:
   56512         (KWQKHTMLPart::keyEvent): Modified constructor call to include
   56513         unmodifiedText.
   56514 
   56515 2003-11-12  Ken Kocienda  <kocienda (a] apple.com>
   56516 
   56517         Reviewed by Maciej
   56518 
   56519         * khtml/html/html_elementimpl.cpp:
   56520         (HTMLElementImpl::click): Implemented a programmatic click function for
   56521 	elements.
   56522         * khtml/html/html_elementimpl.h:
   56523         * khtml/html/html_formimpl.cpp:
   56524         (HTMLFormElementImpl::submitClick): Implemented a programmatic click function for
   56525 	elements.
   56526         (HTMLInputElementImpl::click): This implementation calls through
   56527 	to Cocoa button programmatic click function to get user interface
   56528 	feedback for button elements, and calls through to the superclass
   56529 	for other elements.
   56530         * khtml/html/html_formimpl.h:
   56531         * khtml/html/html_inlineimpl.cpp: Removed click() function for anchors.
   56532 	No longer needed.
   56533         * khtml/html/html_inlineimpl.h: Ditto.
   56534 
   56535 2003-11-12  David Hyatt  <hyatt (a] apple.com>
   56536 
   56537 	Fix build bustage in deployment builds.
   56538 
   56539         * kwq/KWQLineEdit.mm:
   56540         (QLineEdit::hasMarkedText):
   56541 
   56542 2003-11-11  David Hyatt  <hyatt (a] apple.com>
   56543 
   56544 	Fix for 3481134, shorthand parsing in CSS does not fill in omitted values.  The fix is to implement
   56545 	the CSS3 'initial' value for all properties (covered by 3481323), and then to fill in the omitted 
   56546 	values with the 'initial' value.
   56547 
   56548 	This patch also fixes two bugs in the style system: 3481324, collapsed borders with border-style: none
   56549 	should always return a width of 0, and 3481322, 'clip' not inheriting properly in CSS when explicit
   56550 	inheritance is used.
   56551 	
   56552         Reviewed by mjs
   56553 
   56554         * khtml/css/css_valueimpl.cpp:
   56555         (CSSInitialValueImpl::cssText):
   56556         * khtml/css/css_valueimpl.h:
   56557         (DOM::CSSInitialValueImpl::cssValueType):
   56558         * khtml/css/cssparser.cpp:
   56559         (CSSParser::parseValue):
   56560         (CSSParser::parseShortHand):
   56561         * khtml/css/cssstyleselector.cpp:
   56562         (khtml::CSSStyleSelector::applyRule):
   56563         * khtml/css/cssvalues.c:
   56564         (hash_val):
   56565         (findValue):
   56566         * khtml/css/cssvalues.h:
   56567         * khtml/css/cssvalues.in:
   56568         * khtml/dom/css_value.h:
   56569         (DOM::CSSValue::):
   56570         * khtml/rendering/render_style.cpp:
   56571         (StyleBoxData::StyleBoxData):
   56572         (StyleVisualData::StyleVisualData):
   56573         (StyleBackgroundData::StyleBackgroundData):
   56574         (StyleMarqueeData::StyleMarqueeData):
   56575         (StyleFlexibleBoxData::StyleFlexibleBoxData):
   56576         (opacity):
   56577         (StyleInheritedData::StyleInheritedData):
   56578         (RenderStyle::diff):
   56579         * khtml/rendering/render_style.h:
   56580         (khtml::BorderValue::BorderValue):
   56581         (khtml::CollapsedBorderValue::width):
   56582         (khtml::RenderStyle::InheritedFlags::operator==):
   56583         (khtml::RenderStyle::setBitDefaults):
   56584         (khtml::RenderStyle::resetBorderTop):
   56585         (khtml::RenderStyle::resetBorderRight):
   56586         (khtml::RenderStyle::resetBorderBottom):
   56587         (khtml::RenderStyle::resetBorderLeft):
   56588         (khtml::RenderStyle::resetOutline):
   56589         (khtml::RenderStyle::setHasClip):
   56590         (khtml::RenderStyle::resetMargin):
   56591         (khtml::RenderStyle::resetPadding):
   56592         (khtml::RenderStyle::setCursor):
   56593 
   56594 2003-11-11  Maciej Stachowiak  <mjs (a] apple.com>
   56595 
   56596         Reviewed by John.
   56597 
   56598 	- fixed 3479537 - reproducible crash in KJS::WindowFunc::tryCall
   56599 	
   56600         * khtml/ecma/kjs_window.cpp:
   56601         (WindowFunc::tryCall): Check part and doc impl for null.
   56602 
   56603 2003-11-11  Maciej Stachowiak  <mjs (a] apple.com>
   56604 
   56605         Reviewed by Ken.
   56606 
   56607 	- fixed 3472330 -  REGRESSION: onKeyPress handler not called when hitting keys in <input type=password> field
   56608 
   56609         * kwq/KWQTextField.mm:
   56610         (-[KWQSecureTextField initWithQLineEdit:]): New initializer, so
   56611 	the secure text field knows about the widget.
   56612         (-[KWQTextField setPasswordMode:]): Use new initializer for
   56613 	KWQSecureTextField.
   56614         (-[KWQSecureTextField textView:shouldHandleEvent:]): New method,
   56615 	do the same thing as the non-secure text field to pass the event on.
   56616         (-[KWQSecureTextField textView:didHandleEvent:]): Ditto.
   56617 
   56618 2003-11-11  Ken Kocienda  <kocienda (a] apple.com>
   56619 
   56620         Reviewed by Maciej
   56621 
   56622 	Fix for this bug:
   56623 
   56624 	<rdar://problem/3480173>: Too many names for programmatic click functions
   56625 
   56626 	Changed all instances of performClick() and simulateClick() to click().
   56627 	Changed all instances of performSubmitClick() to submitClick().
   56628 
   56629 	Additionally, KWQButton had a simulateClick method, which was redundant
   56630 	given that its superclass has a performClick: method.
   56631 
   56632         * khtml/html/html_formimpl.cpp:
   56633         (HTMLFormElementImpl::submitClick):
   56634         (HTMLInputElementImpl::defaultEventHandler):
   56635         (HTMLSelectElementImpl::defaultEventHandler):
   56636         * khtml/html/html_formimpl.h:
   56637         * khtml/html/html_inlineimpl.cpp:
   56638         (HTMLAnchorElementImpl::defaultEventHandler):
   56639         (HTMLAnchorElementImpl::click):
   56640         * khtml/html/html_inlineimpl.h:
   56641         * khtml/rendering/render_form.cpp:
   56642         (RenderLineEdit::slotReturnPressed):
   56643         * kwq/KWQButton.h:
   56644         * kwq/KWQButton.mm:
   56645         (QButton::click):
   56646 
   56647 2003-11-11  Maciej Stachowiak  <mjs (a] apple.com>
   56648 
   56649         Reviewed by John.
   56650 
   56651 	- fixed 3475272 - custom property on CSSStyleObject won't hold a value
   56652 
   56653         * khtml/ecma/kjs_css.cpp:
   56654         (DOMCSSStyleDeclaration::tryPut): If the property is not a css property,
   56655 	save it as a custom object property in the normal way.
   56656 
   56657 2003-11-11  John Sullivan  <sullivan (a] apple.com>
   56658 
   56659         - fixed <rdar://problem/3480421>: Focus rings around links are too thick, 
   56660         should use 3 px instead of 5 px
   56661 
   56662         Reviewed by Don and Ken.
   56663 
   56664         * khtml/css/html4.css:
   56665         use 3px instead of 5 px for :active, :focus
   56666 
   56667 2003-11-11  Ken Kocienda  <kocienda (a] apple.com>
   56668 
   56669         Reviewed by John
   56670 
   56671 	In the DOM Level 3 Events specification, keydown and keyup are 
   56672 	standard events. We can remove the KHTML component in the names 
   56673 	of these constants. Note that the keypress event is still 
   56674 	nonstandard and will retain the KHTML name component.
   56675 
   56676         * khtml/ecma/kjs_binding.cpp:
   56677         (ScriptInterpreter::wasRunByUserGesture)
   56678         * khtml/ecma/kjs_dom.cpp:
   56679         (DOMNode::getValueProperty)
   56680         (DOMNode::putValue)
   56681         * khtml/ecma/kjs_window.cpp:
   56682         (Window::get)
   56683         (Window::put)
   56684         * khtml/html/html_elementimpl.cpp:
   56685         (HTMLElementImpl::parseAttribute)
   56686         * khtml/html/html_formimpl.cpp:
   56687         (HTMLGenericFormElementImpl::defaultEventHandler)
   56688         * khtml/html/html_inlineimpl.cpp:
   56689         (HTMLAnchorElementImpl::defaultEventHandler)
   56690         * khtml/xml/dom2_eventsimpl.cpp:
   56691         (EventImpl::typeToId)
   56692         (EventImpl::idToType)
   56693         (KeyboardEventImpl::KeyboardEventImpl)
   56694         * khtml/xml/dom2_eventsimpl.h:
   56695         (DOM::EventImpl::)
   56696 
   56697 2003-11-11  Chris Blumenberg  <cblu (a] apple.com>
   56698 
   56699 	Fixed: <rdar://problem/3480281>: drag image of selected text and images include broken images
   56700 	
   56701         Reviewed by dave.
   56702 
   56703         * khtml/rendering/render_image.cpp:
   56704         (RenderImage::paintObject): when drawing the drag image, don't draw the broken image
   56705 
   56706 2003-11-11  Vicki Murley  <vicki (a] apple.com>
   56707 
   56708         Reviewed by sullivan.
   56709 
   56710 	- rolled Merlot build fix onto the trunk
   56711 
   56712         * WebCorePrefix.h: added #include <sys/types.h>
   56713 
   56714 2003-11-10  David Hyatt  <hyatt (a] apple.com>
   56715 
   56716 	Fix for 3473531, text nested in hr inside h3 did not get the h3's style.
   56717 	
   56718         Reviewed by darin
   56719 
   56720         * khtml/html/dtd.cpp:
   56721         (DOM::checkChild):
   56722 
   56723 2003-11-10  David Hyatt  <hyatt (a] apple.com>
   56724 
   56725 	Fix for 3478435, <hr> tags should be centered by default.  Ditched the 1px margin as well.
   56726 
   56727 	Fix for 3479441, <h1>-<h6> tags should *not* be centered by default.  They should also use bold instead of
   56728 	bolder.
   56729 	
   56730         Reviewed by darin
   56731 
   56732         * khtml/css/html4.css:
   56733         * khtml/html/html_blockimpl.cpp:
   56734         (HTMLHRElementImpl::parseAttribute):
   56735         * layout-tests/apple-only/base/bugzilla.mozilla.org/index-expected.txt:
   56736         * layout-tests/apple-only/base/home.netscape.com/index-expected.txt:
   56737         * layout-tests/apple-only/base/www.altavista.com/index-expected.txt:
   56738         * layout-tests/apple-only/base/www.cnn.com/index-expected.txt:
   56739         * layout-tests/apple-only/base/www.digitalcity.com/index-expected.txt:
   56740         * layout-tests/apple-only/base/www.ebay.com/index-expected.txt:
   56741         * layout-tests/apple-only/base/www.excite.com/index-expected.txt:
   56742         * layout-tests/apple-only/base/www.mapquest.com/index-expected.txt:
   56743         * layout-tests/apple-only/base/www.microsoft.com/index-expected.txt:
   56744         * layout-tests/apple-only/base/www.msnbc.com/index-expected.txt:
   56745         * layout-tests/apple-only/base/www.nytimes.com/index-expected.txt:
   56746         * layout-tests/apple-only/base/www.nytimes.com_Table/index-expected.txt:
   56747         * layout-tests/apple-only/base/www.quicken.com/index-expected.txt:
   56748         * layout-tests/apple-only/base/www.w3.org_DOML2Core/index-expected.txt:
   56749         * layout-tests/css1/basic/class_as_selector-expected.txt:
   56750         * layout-tests/css1/basic/comments-expected.txt:
   56751         * layout-tests/css1/basic/containment-expected.txt:
   56752         * layout-tests/css1/basic/contextual_selectors-expected.txt:
   56753         * layout-tests/css1/basic/grouping-expected.txt:
   56754         * layout-tests/css1/basic/id_as_selector-expected.txt:
   56755         * layout-tests/css1/basic/inheritance-expected.txt:
   56756         * layout-tests/css1/box_properties/border-expected.txt:
   56757         * layout-tests/css1/box_properties/border_bottom-expected.txt:
   56758         * layout-tests/css1/box_properties/border_bottom_inline-expected.txt:
   56759         * layout-tests/css1/box_properties/border_bottom_width-expected.txt:
   56760         * layout-tests/css1/box_properties/border_bottom_width_inline-expected.txt:
   56761         * layout-tests/css1/box_properties/border_color-expected.txt:
   56762         * layout-tests/css1/box_properties/border_color_inline-expected.txt:
   56763         * layout-tests/css1/box_properties/border_inline-expected.txt:
   56764         * layout-tests/css1/box_properties/border_left-expected.txt:
   56765         * layout-tests/css1/box_properties/border_left_inline-expected.txt:
   56766         * layout-tests/css1/box_properties/border_left_width-expected.txt:
   56767         * layout-tests/css1/box_properties/border_left_width_inline-expected.txt:
   56768         * layout-tests/css1/box_properties/border_right-expected.txt:
   56769         * layout-tests/css1/box_properties/border_right_inline-expected.txt:
   56770         * layout-tests/css1/box_properties/border_right_width-expected.txt:
   56771         * layout-tests/css1/box_properties/border_right_width_inline-expected.txt:
   56772         * layout-tests/css1/box_properties/border_style-expected.txt:
   56773         * layout-tests/css1/box_properties/border_style_inline-expected.txt:
   56774         * layout-tests/css1/box_properties/border_top-expected.txt:
   56775         * layout-tests/css1/box_properties/border_top_inline-expected.txt:
   56776         * layout-tests/css1/box_properties/border_top_width-expected.txt:
   56777         * layout-tests/css1/box_properties/border_top_width_inline-expected.txt:
   56778         * layout-tests/css1/box_properties/border_width-expected.txt:
   56779         * layout-tests/css1/box_properties/border_width_inline-expected.txt:
   56780         * layout-tests/css1/box_properties/clear-expected.txt:
   56781         * layout-tests/css1/box_properties/clear_float-expected.txt:
   56782         * layout-tests/css1/box_properties/float-expected.txt:
   56783         * layout-tests/css1/box_properties/float_elements_in_series-expected.txt:
   56784         * layout-tests/css1/box_properties/float_margin-expected.txt:
   56785         * layout-tests/css1/box_properties/float_on_text_elements-expected.txt:
   56786         * layout-tests/css1/box_properties/height-expected.txt:
   56787         * layout-tests/css1/box_properties/margin-expected.txt:
   56788         * layout-tests/css1/box_properties/margin_bottom-expected.txt:
   56789         * layout-tests/css1/box_properties/margin_bottom_inline-expected.txt:
   56790         * layout-tests/css1/box_properties/margin_inline-expected.txt:
   56791         * layout-tests/css1/box_properties/margin_left-expected.txt:
   56792         * layout-tests/css1/box_properties/margin_left_inline-expected.txt:
   56793         * layout-tests/css1/box_properties/margin_right-expected.txt:
   56794         * layout-tests/css1/box_properties/margin_right_inline-expected.txt:
   56795         * layout-tests/css1/box_properties/margin_top-expected.txt:
   56796         * layout-tests/css1/box_properties/margin_top_inline-expected.txt:
   56797         * layout-tests/css1/box_properties/padding-expected.txt:
   56798         * layout-tests/css1/box_properties/padding_bottom-expected.txt:
   56799         * layout-tests/css1/box_properties/padding_bottom_inline-expected.txt:
   56800         * layout-tests/css1/box_properties/padding_inline-expected.txt:
   56801         * layout-tests/css1/box_properties/padding_left-expected.txt:
   56802         * layout-tests/css1/box_properties/padding_left_inline-expected.txt:
   56803         * layout-tests/css1/box_properties/padding_right-expected.txt:
   56804         * layout-tests/css1/box_properties/padding_right_inline-expected.txt:
   56805         * layout-tests/css1/box_properties/padding_top-expected.txt:
   56806         * layout-tests/css1/box_properties/padding_top_inline-expected.txt:
   56807         * layout-tests/css1/box_properties/width-expected.txt:
   56808         * layout-tests/css1/cascade/cascade_order-expected.txt:
   56809         * layout-tests/css1/cascade/important-expected.txt:
   56810         * layout-tests/css1/classification/display-expected.txt:
   56811         * layout-tests/css1/classification/list_style-expected.txt:
   56812         * layout-tests/css1/classification/list_style_image-expected.txt:
   56813         * layout-tests/css1/classification/list_style_position-expected.txt:
   56814         * layout-tests/css1/classification/list_style_type-expected.txt:
   56815         * layout-tests/css1/classification/white_space-expected.txt:
   56816         * layout-tests/css1/color_and_background/background-expected.txt:
   56817         * layout-tests/css1/color_and_background/background_attachment-expected.txt:
   56818         * layout-tests/css1/color_and_background/background_color-expected.txt:
   56819         * layout-tests/css1/color_and_background/background_image-expected.txt:
   56820         * layout-tests/css1/color_and_background/background_position-expected.txt:
   56821         * layout-tests/css1/color_and_background/background_repeat-expected.txt:
   56822         * layout-tests/css1/color_and_background/color-expected.txt:
   56823         * layout-tests/css1/conformance/forward_compatible_parsing-expected.txt:
   56824         * layout-tests/css1/font_properties/font-expected.txt:
   56825         * layout-tests/css1/font_properties/font_family-expected.txt:
   56826         * layout-tests/css1/font_properties/font_size-expected.txt:
   56827         * layout-tests/css1/font_properties/font_style-expected.txt:
   56828         * layout-tests/css1/font_properties/font_variant-expected.txt:
   56829         * layout-tests/css1/font_properties/font_weight-expected.txt:
   56830         * layout-tests/css1/formatting_model/canvas-expected.txt:
   56831         * layout-tests/css1/formatting_model/floating_elements-expected.txt:
   56832         * layout-tests/css1/formatting_model/height_of_lines-expected.txt:
   56833         * layout-tests/css1/formatting_model/inline_elements-expected.txt:
   56834         * layout-tests/css1/formatting_model/replaced_elements-expected.txt:
   56835         * layout-tests/css1/formatting_model/vertical_formatting-expected.txt:
   56836         * layout-tests/css1/pseudo/anchor-expected.txt:
   56837         * layout-tests/css1/pseudo/firstletter-expected.txt:
   56838         * layout-tests/css1/pseudo/firstline-expected.txt:
   56839         * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
   56840         * layout-tests/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
   56841         * layout-tests/css1/text_properties/letter_spacing-expected.txt:
   56842         * layout-tests/css1/text_properties/line_height-expected.txt:
   56843         * layout-tests/css1/text_properties/text-transform-expected.txt:
   56844         * layout-tests/css1/text_properties/text_align-expected.txt:
   56845         * layout-tests/css1/text_properties/text_decoration-expected.txt:
   56846         * layout-tests/css1/text_properties/text_indent-expected.txt:
   56847         * layout-tests/css1/text_properties/text_transform-expected.txt:
   56848         * layout-tests/css1/text_properties/vertical_align-expected.txt:
   56849         * layout-tests/css1/text_properties/word_spacing-expected.txt:
   56850         * layout-tests/css1/units/color_units-expected.txt:
   56851         * layout-tests/css1/units/length_units-expected.txt:
   56852         * layout-tests/css1/units/percentage_units-expected.txt:
   56853         * layout-tests/css1/units/urls-expected.txt:
   56854         * layout-tests/fast/encoding/utf-16-big-endian-expected.txt:
   56855         * layout-tests/fast/encoding/utf-16-little-endian-expected.txt:
   56856 
   56857 2003-11-10  Chris Blumenberg  <cblu (a] apple.com>
   56858 
   56859 	Fixed: <rdar://problem/3479266>: selected images don't obey CSS3 selection background-color attribute
   56860 	
   56861         Reviewed by dave.
   56862 
   56863         * khtml/rendering/render_image.cpp:
   56864         (RenderImage::selectionTintColor): new, takes style into account
   56865         (RenderImage::paintObject): use selectionTintColor
   56866         * khtml/rendering/render_image.h:
   56867         * kwq/KWQPainter.h: removed selectedImageTintColor
   56868         * kwq/KWQPainter.mm:
   56869 
   56870 2003-11-10  David Hyatt  <hyatt (a] apple.com>
   56871 
   56872 	Fix for 3479287, macro-ize the handling of the CSS 'inherit' value.  This patch is preparation for
   56873 	adding support for the 'initial' value, which will be used to fix the CSS parser's shorthand parsing
   56874 	bugs.
   56875 	
   56876         Reviewed by kocienda
   56877 
   56878         * khtml/css/cssparser.cpp:
   56879         (CSSParser::parseValue):
   56880         * khtml/css/cssproperties.c:
   56881         (hash_prop):
   56882         (findProp):
   56883         * khtml/css/cssproperties.h:
   56884         * khtml/css/cssproperties.in:
   56885         * khtml/css/cssstyleselector.cpp:
   56886         (khtml::CSSStyleSelector::applyRule):
   56887         * khtml/khtmlview.cpp:
   56888         (KHTMLView::layout):
   56889 
   56890 2003-11-10  Chris Blumenberg  <cblu (a] apple.com>
   56891 
   56892 	Fixed:
   56893 	<rdar://problem/3478883>: REGRESSION (113-114u): drag image for selected text includes unselected images
   56894 	<rdar://problem/3479204>: selected images don't look selected
   56895 
   56896         Reviewed by dave.
   56897 
   56898         * khtml/rendering/render_image.cpp:
   56899         (RenderImage::RenderImage): init m_selectionState
   56900         (RenderImage::paintObject): draw a tint over the image if selected, don't draw anything if not selected and the action is PaintActionSelection
   56901         * khtml/rendering/render_image.h:
   56902         (khtml::RenderImage::selectionState): new
   56903         (khtml::RenderImage::setSelectionState): new
   56904         * kwq/KWQPainter.h:
   56905         * kwq/KWQPainter.mm:
   56906         (QPainter::selectedImageTintColor): new
   56907 
   56908 2003-11-10  Ken Kocienda  <kocienda (a] apple.com>
   56909 
   56910         Reviewed by Hyatt
   56911 
   56912 	Fix for this bug:
   56913 
   56914 	<rdar://problem/3477795>: REGRESSION: can't submit form without 
   56915 	submit button by hitting return (cocoadev.com)
   56916 
   56917 	When I changed submitting forms using the return key in a text field
   56918 	to go through a search for the correct submit or image input 
   56919 	element to use when submitting, I neglected to cover the case of
   56920 	forms which have neither a submit or image input element. When
   56921 	I encounter a form such as this now, I submit it anyway after
   56922 	performing the submit or image input element and failing to find one.
   56923 
   56924         * khtml/html/html_formimpl.cpp:
   56925         (HTMLFormElementImpl::performSubmitClick)
   56926 
   56927 2003-11-10  Richard Williamson   <rjw (a] apple.com>
   56928 
   56929 	Fixed 3478765.  Use ICU to access unicode properties.
   56930 	Fixed 3478831.  Unicode property/conversion functions should be 32 bit savvy.
   56931 
   56932         Reviewed by Darin.
   56933 
   56934         * WebCore-combined.exp:
   56935         * WebCore.exp:
   56936         * kwq/KWQChar.mm:
   56937         (QChar::lower):
   56938         (QChar::upper):
   56939         (QChar::mirroredChar):
   56940         * kwq/KWQString.h:
   56941         (QChar::direction):
   56942         * kwq/WebCoreUnicode.cpp:
   56943         * kwq/WebCoreUnicode.h:
   56944 
   56945 2003-11-10  Chris Blumenberg  <cblu (a] apple.com>
   56946 
   56947 	Fixed: <rdar://problem/3478781>: drag image of selected text and images doesn't include images
   56948 
   56949         Reviewed by rjw.
   56950 
   56951         * khtml/rendering/render_image.cpp:
   56952         (RenderImage::paintObject): paint when the paint action is PaintActionSelection
   56953         * khtml/rendering/render_replaced.cpp:
   56954         (RenderReplaced::paint): ditto
   56955 
   56956 2003-11-10  Ken Kocienda  <kocienda (a] apple.com>
   56957 
   56958         Reviewed by John
   56959 
   56960 	Fix for this bug:
   56961 
   56962 	<rdar://problem/3477624>: REGRESSION (113): Using input method to 
   56963 	enter non-ascii text submits the form
   56964 
   56965 	This regression has been in the tree for a couple of versions now, 
   56966 	since we improved the way key events are processed. The solution
   56967 	is to ask the text input manager if it has any marked text when
   56968 	the return key (or enter key) is pressed, because if it does, the key
   56969 	needs to work in the "accept" role for the input manager. Fixing
   56970 	in this way has the pleasant effect of making return/enter key
   56971 	behavior "do the right thing" based on context.
   56972 
   56973         * khtml/html/html_formimpl.cpp:
   56974         (HTMLInputElementImpl::defaultEventHandler): Add check to see
   56975 	if text input manager has marked text before submitting text
   56976 	and password fields. Broke out key handling for checkboxes and
   56977 	radios, since the old code for these widgets worked fine.
   56978         * kwq/KWQLineEdit.h: Added hasMarkedText function.
   56979         * kwq/KWQLineEdit.mm:
   56980         (QLineEdit::hasMarkedText): Returns whether the current input
   56981 	manager has marked text or not.
   56982 
   56983 2003-11-09  Darin Adler  <darin (a] apple.com>
   56984 
   56985         Reviewed by Dave.
   56986 
   56987         - fixed 3478173 -- REGRESSION (112-113): getElementById is failing for many types of elements
   56988 
   56989         The problem was that ElementImpl::attach was being skipped for many objects with classes
   56990         derived from ElementImpl. By changing them all to call up to their base classes instead of
   56991         skipping levels, the bug went away. This was possible (and easy to do) because of the
   56992         rendererIsNeeded() change I made a while back.
   56993 
   56994         * khtml/html/html_baseimpl.cpp:
   56995         (HTMLFrameElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
   56996         and then calling NodeBaseImpl::attach(). This was a remnant of the old way of changing the logic
   56997         about when to create the renderer, not needed now that we have rendererIsNeeded().
   56998         (HTMLFrameSetElementImpl::attach): Ditto.
   56999         (HTMLIFrameElementImpl::attach): Ditto.
   57000 
   57001         * khtml/html/html_formimpl.h: Removed many unused attach() overrides.
   57002         * khtml/html/html_formimpl.cpp:
   57003         (HTMLGenericFormElementImpl::attach): Ditto.
   57004         (HTMLButtonElementImpl::attach): Removed, because now the base class's attach does the right thing.
   57005         (HTMLFieldSetElementImpl::attach): Ditto.
   57006         (HTMLInputElementImpl::attach): Removed explicit createRendererIfNeeded call, not needed now that
   57007         HTMLGenericFormElementImpl calls through to its base class.
   57008         (HTMLLegendElementImpl::attach): Removed, because now the base class's attach does the right thing.
   57009         (HTMLSelectElementImpl::attach): Ditto.
   57010         (HTMLTextAreaElementImpl::attach): Ditto.
   57011 
   57012         * khtml/html/html_imageimpl.cpp:
   57013         (HTMLImageElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
   57014         and then calling NodeBaseImpl::attach().
   57015         (HTMLImageElementImpl::detach): Call base class's detach() instead of NodeBaseImpl::detach(). No
   57016         need to skip the ElementImpl::detach() function, and important not to for the new "id" optimization.
   57017 
   57018         * khtml/html/html_inlineimpl.h: Removed HTMLBRElementImpl::attach override.
   57019         * khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::attach): Call base class's attach() instead
   57020         of creating renderer explicitly and then calling NodeBaseImpl::attach().
   57021 
   57022         * khtml/html/html_objectimpl.h: Removed HTMLAppletElementImpl::attach override.
   57023         * khtml/html/html_objectimpl.cpp:
   57024         (HTMLAppletElementImpl::attach): Removed, because the base class's attach does the right thing.
   57025         (HTMLEmbedElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
   57026         and then calling NodeBaseImpl::attach().
   57027         (HTMLObjectElementImpl::attach): Ditto.
   57028 
   57029 2003-11-09  David Hyatt  <hyatt (a] apple.com>
   57030 
   57031 	Fix for 3478317, letter/word-spacing don't inherit properly through italic/bold elements.
   57032 	
   57033         Reviewed by darin
   57034 
   57035         * khtml/rendering/font.h:
   57036         (khtml::Font::Font):
   57037         * khtml/rendering/render_style.h:
   57038         (khtml::RenderStyle::setFontDef):
   57039 
   57040 2003-11-09  David Hyatt  <hyatt (a] apple.com>
   57041 
   57042 	Fix for 3478309, make sure backgrounds paint in the border box and not just in the padding box.
   57043 	
   57044         Reviewed by darin
   57045 
   57046 	Also making sure that <frame>s aren't transparent, since other browsers seem to only make <iframe>s/<object>s
   57047 	be transparent.
   57048 	
   57049         * khtml/rendering/render_box.cpp:
   57050         (RenderBox::paintRootBoxDecorations):
   57051         (RenderBox::paintBackgroundExtended):
   57052 
   57053 2003-11-08  Darin Adler  <darin (a] apple.com>
   57054 
   57055         Reviewed by John.
   57056 
   57057         - fixed 3478025 -- links with non-Latin-1 characters in the hostname are not getting IDN-encoded
   57058 
   57059         * kwq/KWQKURL.mm:
   57060         (KURL::parse): Changed existing code to take advantage of the fact that a NUL character
   57061         is classified as a path segment end character.
   57062         (KURL::findHostnameInHierarchicalURL): Don't treat NUL characters as terminating characters
   57063         for hostnames, because QChar::latin1() turns all non-Latin-1 characters into NUL characters.
   57064 
   57065 2003-11-08  Darin Adler  <darin (a] apple.com>
   57066 
   57067         Reviewed by John.
   57068 
   57069         - fixed 3477509 -- REGRESSION (112-113): crash in KHTMLPart::processObjectRequest at espn.com, chosun.com
   57070 
   57071         * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest): Use a dynamic_cast to check the type of the
   57072         part rather than assuming it's always a KHTMLPart. The crash was caused by casting a KWQPluginPart to
   57073         KHTMLPart.
   57074 
   57075 2003-11-08  Darin Adler  <darin (a] apple.com>
   57076 
   57077         Reviewed by Richard.
   57078 
   57079         - event cleanup motivated by questions on khtml-devel
   57080 
   57081         * khtml/dom/dom2_events.h: Removed eventModuleName.
   57082         * khtml/dom/dom2_events.cpp: Removed eventModuleName.
   57083 
   57084         * khtml/xml/dom2_eventsimpl.h: Removed eventModuleName, made many trivially simple
   57085         functions inline, made virtual functions no longer inline. Also made some functions const.
   57086         (DOM::EventImpl::propagationStopped): Made this non-virtual; there was no reason for
   57087         it to be virtual I could see.
   57088         (DOM::EventImpl::defaultPrevented): Ditto.
   57089         (DOM::EventImpl::setDefaultHandled): Ditto.
   57090         (DOM::UIEventImpl::view): Made this inline.
   57091         (DOM::UIEventImpl::detail): Ditto.
   57092         (DOM::MouseEventImpl::screenX): Ditto.
   57093         (DOM::MouseEventImpl::screenY): Ditto.
   57094         (DOM::MouseEventImpl::clientX): Ditto.
   57095         (DOM::MouseEventImpl::clientY): Ditto.
   57096         (DOM::MouseEventImpl::layerX): Ditto.
   57097         (DOM::MouseEventImpl::layerY): Ditto.
   57098         (DOM::MouseEventImpl::ctrlKey): Ditto.
   57099         (DOM::MouseEventImpl::shiftKey): Ditto.
   57100         (DOM::MouseEventImpl::altKey): Ditto.
   57101         (DOM::MouseEventImpl::metaKey): Ditto.
   57102         (DOM::MouseEventImpl::button): Ditto.
   57103         (DOM::MouseEventImpl::relatedTarget): Ditto.
   57104         (DOM::MutationEventImpl::relatedNode): Ditto.
   57105         (DOM::MutationEventImpl::prevValue): Ditto.
   57106         (DOM::MutationEventImpl::newValue): Ditto.
   57107         (DOM::MutationEventImpl::attrName): Ditto.
   57108         (DOM::MutationEventImpl::attrChange): Ditto.
   57109 
   57110         * khtml/ecma/kjs_events.cpp: (KJS::getDOMEvent): Changed implementation to no longer
   57111         require eventModuleName(), and removed some unneeded casts.
   57112 
   57113         * khtml/xml/dom2_eventsimpl.cpp: Made lots of functions inline.
   57114         (EventImpl::isUIEvent): Since this is virtual, make it no longer inline.
   57115         (EventImpl::isMouseEvent): Ditto.
   57116         (EventImpl::isMutationEvent): Ditto.
   57117         (EventImpl::isKeyboardEvent): Ditto.
   57118         (UIEventImpl::isUIEvent): Ditto.
   57119         (MouseEventImpl::isMouseEvent): Ditto.
   57120         (KeyboardEventImpl::isKeyboardEvent): Ditto.
   57121         (MutationEventImpl::isMutationEvent): Ditto.
   57122 
   57123 2003-11-07  Chris Blumenberg  <cblu (a] apple.com>
   57124 
   57125 	Fixed: <rdar://problem/3020196>: links with href="" don't show hand cursor when you mouse over them
   57126 
   57127         Reviewed by darin.
   57128 
   57129         * khtml/khtmlview.cpp:
   57130         (KHTMLView::viewportMouseMoveEvent): check if the URL on the event is non-NULL, not if it is non-empty
   57131 
   57132 2003-11-07  Richard Williamson   <rjw (a] apple.com>
   57133 
   57134 	Fixed 3477067.  Use our case unicode conversion routines.
   57135 
   57136         Reviewed by Ken.
   57137 
   57138         * kwq/KWQChar.mm:
   57139         (QChar::lower):
   57140         (QChar::upper):
   57141 
   57142 2003-11-06  David Hyatt  <hyatt (a] apple.com>
   57143 
   57144 	Fixes for 3476717, inline blocks should expand to encompass floats; 3476718, inline blocks should not
   57145 	collapse margins with children; and 3476721, run-ins and compacts can flow into anonymous blocks, even
   57146 	ones that they caused to be created by failing to run in/compact in the first place.
   57147 	
   57148         Reviewed by darin (inline block fixes only).
   57149 
   57150         * khtml/rendering/render_block.cpp:
   57151         (khtml::RenderBlock::layoutBlock):
   57152         (khtml::RenderBlock::layoutBlockChildren):
   57153 
   57154 2003-11-06  Richard Williamson   <rjw (a] apple.com>
   57155 
   57156 	Fixed 3476563.  Remove unnecessary call to set view position after load completes.
   57157  
   57158         Reviewed by Gramps.
   57159 
   57160         * khtml/khtml_part.cpp:
   57161         (KHTMLPart::checkCompleted):
   57162 
   57163 2003-11-06  Chris Blumenberg  <cblu (a] apple.com>
   57164 
   57165         * khtml/rendering/render_image.h:
   57166         (khtml::RenderImage::isDisplayingError): forgot to remove the "virtual" part of the declaration
   57167 
   57168 2003-11-06  Chris Blumenberg  <cblu (a] apple.com>
   57169 
   57170 	Fixed:
   57171 	<rdar://problem/3275118>: Dragging from missing-image link stretches missing-image icon to size of missing image
   57172 	<rdar://problem/3476225>: assert dragging non-existant images
   57173 
   57174         Reviewed by rjw.
   57175 
   57176         * khtml/rendering/render_image.h:
   57177         (khtml::RenderImage::isDisplayingError): new method, returns true for the broken image
   57178         * kwq/WebCoreBridge.mm:
   57179         (-[WebCoreBridge elementAtPoint:]): only provide info if there is an image and the image is not broken
   57180 
   57181 2003-11-06  Ken Kocienda  <kocienda (a] apple.com>
   57182 
   57183         Reviewed by Richard
   57184 
   57185 	Fixes for these bugs:
   57186 
   57187 	<rdar://problem/3476006>: Form file input widgets do not scroll 
   57188 	to view when focused
   57189 
   57190 	<rdar://problem/3476007>: Form file input widgets should only 
   57191 	focus when full keyboard access is on
   57192 
   57193         * kwq/KWQFileButton.h: Added focusPolicy declaration.
   57194         * kwq/KWQFileButton.mm:
   57195         (KWQFileButton::focusPolicy): Added. Now works like other buttons.
   57196 	Fixes 3476007.
   57197         (KWQFileButton::focusChanged): Added. Code similar to text area
   57198 	widgets. Fixes 3476006.
   57199 
   57200 2003-11-06  Chris Blumenberg  <cblu (a] apple.com>
   57201 
   57202 	Fixed: <rdar://problem/3308609>: 6L60 Safari URL links with line-endings converted to hex by contextual menu
   57203 
   57204         Reviewed by rjw.
   57205 
   57206         * kwq/WebCoreBridge.mm:
   57207         (-[WebCoreBridge elementAtPoint:]): use parseURL to go from an attribute string to a URL string
   57208 
   57209 === Safari-113 ===
   57210 
   57211 2003-11-06  John Sullivan  <sullivan (a] apple.com>
   57212 
   57213         - fixed broken build
   57214 
   57215         * khtml/xml/dom_docimpl.cpp:
   57216         (DocumentImpl::completeURL):
   57217         removed stray character
   57218 
   57219 2003-11-06  Maciej Stachowiak  <mjs (a] apple.com>
   57220 
   57221         Reviewed by Darin.
   57222 
   57223 	- fixed 3475366 - 4.5% of time spent making html event listeners on slow intel page.
   57224 
   57225 	6% speedup on intel page, 1% speedup on cvs-base PLT.
   57226 	
   57227         * khtml/ecma/kjs_events.cpp:
   57228         (JSEventListener::JSEventListener): Don't add self to hashtable if imp is null (which
   57229 	can now happen in the lazy listener case).
   57230         (JSEventListener::~JSEventListener): Ditto on removing.
   57231         (JSEventListener::listenerObj): Made this virtual.
   57232         (JSLazyEventListener::JSLazyEventListener): New constructor.
   57233 	(JSLazyEventListener::handleEvent): call parseCode, then
   57234 	superclass if it appeared to succeed.
   57235         (JSLazyEventListener::listenerObj): call parseCode, then superclass.
   57236         (JSLazyEventListener::parseCode):
   57237         (KJS::getNodeEventListener): Check for null listenerObjImp in case of
   57238 	lazy listener that failed to parse.
   57239         * khtml/ecma/kjs_dom.cpp:
   57240 	(DOMNode::getListener): Ditto.
   57241         * khtml/ecma/kjs_html.cpp:
   57242         (Image::getValueProperty): Ditto.
   57243         * khtml/ecma/kjs_events.h:
   57244 	(KJS::JSEventListener::listenerObjImp): call listenerObj() virtual
   57245 	method and get imp from the result.
   57246         * khtml/ecma/kjs_proxy.cpp:
   57247         (KJSProxyImpl::createHTMLEventHandler): Don't parse the code here, make a lazy
   57248 	listener.
   57249         * khtml/ecma/kjs_window.cpp:
   57250         (Window::getJSLazyEventListener): make a new JSLazyEventListener - no need
   57251 	to check the listeners hashtable cause a brand new lazy listener won't have
   57252 	a function anyway.
   57253         * khtml/ecma/kjs_window.h: Prototype new method.
   57254 
   57255 2003-11-06  Maciej Stachowiak  <mjs (a] apple.com>
   57256 
   57257         Reviewed by Darin.
   57258 
   57259 	- fixed 3475397 - REGRESSION: relative URLs on page load test sometimes contain garbage, leading to missing images
   57260 	
   57261         * kwq/KWQKURL.mm:
   57262         (KURL::KURL): When constructing from NSURL, null-terminate the raw
   57263 	bytes since KURL::parse expects a null-terminated C string. It
   57264 	might be even better to pass a length to parse, but this fix is
   57265 	simple and does the job.
   57266 
   57267 2003-11-05  Darin Adler  <darin (a] apple.com>
   57268 
   57269         Reviewed by Maciej.
   57270 
   57271         - fixed 3475109 -- support keyboard event object properties of altkey, ctrlKey, shiftKey
   57272 
   57273         We had the DOM Level 3 KeyboardEvent class already; I just had to add JavaScript bindings.
   57274 
   57275         * khtml/ecma/kjs_events.h: Added DOMKeyboardEvent class.
   57276         * khtml/ecma/kjs_events.cpp:
   57277         (KJS::getDOMEvent): Added code to make a DOMKeyboardEvent if the event is a DOM::KeyboardEvent.
   57278         (DOMKeyboardEvent::~DOMKeyboardEvent): Added.
   57279         (DOMKeyboardEvent::classInfo): Added.
   57280         (DOMKeyboardEvent::tryGet): Added.
   57281         (DOMKeyboardEvent::getValueProperty): Added.
   57282         (DOMKeyboardEventProtoFunc::tryCall): Added.
   57283 
   57284         * khtml/dom/dom2_events.cpp:
   57285         (KeyboardEvent::keyIdentifier): Added.
   57286         (KeyboardEvent::keyLocation): Added.
   57287 
   57288         * khtml/ecma/kjs_events.lut.h: Regenerated.
   57289 
   57290 2003-11-05  Maciej Stachowiak  <mjs (a] apple.com>
   57291 
   57292         Reviewed by John.
   57293 
   57294 	- fixed 3475092 - Notifying the bridge about duplicate images takes 13% of time on intel page
   57295 
   57296 	Another 15% speedup on the intel page.
   57297 
   57298 	This also results in a 3% speedup on cvs-base PLT! (or maybe that was my last change)
   57299 	
   57300         * kwq/KWQLoader.mm:
   57301         (KWQServeRequest): Note that we told the bridge about the load.
   57302         (KWQCheckCacheObjectStatus): Don't tell the bridge about the load
   57303 	if we have alrady; if we do tell it, then note it down.
   57304         * kwq/KWQKHTMLPart.h:
   57305         * kwq/KWQKHTMLPart.mm:
   57306         (KWQKHTMLPart::didTellBridgeAboutLoad): Helper method for the above.
   57307         (KWQKHTMLPart::haveToldBridgeAboutLoad): Ditto.
   57308         (KWQKHTMLPart::clear): Clear our idea of what URLs we told the bridge about.
   57309         * khtml/khtml_part.h: make clear() virtual.
   57310 
   57311 2003-11-05  Darin Adler  <darin (a] apple.com>
   57312 
   57313         * WebCore-combined.exp: Checked in generated file.
   57314 
   57315 2003-11-05  Richard Williamson   <rjw (a] apple.com>
   57316 
   57317 	Fixed 3474957.  Changed name of image rendering method to better reflect it's actual function.
   57318 
   57319 	- (void)beginAnimationInRect:(NSRect)ir fromRect:(NSRect)fr;
   57320 
   57321 	renamed to
   57322 
   57323 	- (void)drawImageInRect:(NSRect)ir fromRect:(NSRect)fr;
   57324 
   57325         Reviewed by Chris.
   57326 
   57327         * kwq/KWQPainter.mm:
   57328         (QPainter::drawPixmap):
   57329         * kwq/WebCoreImageRenderer.h:
   57330 
   57331 2003-11-05  Darin Adler  <darin (a] apple.com>
   57332 
   57333         * WebCore-tests.exp: Added missing symbol so tests will link.
   57334 
   57335 2003-11-05  Maciej Stachowiak  <mjs (a] apple.com>
   57336 
   57337         Reviewed by Ken.
   57338 
   57339 	- fixed 3474756 - Creating HTML event listeners takes 5% of time on particular slow intel page
   57340 	
   57341         * khtml/ecma/kjs_window.h: Make jsEventListeners a hashtable keyed
   57342 	by listener object, not a list.
   57343         * khtml/ecma/kjs_window.cpp:
   57344         (Window::getJSEventListener): Do hashtable lookup for existing listener instead of
   57345 	walking list.
   57346         * khtml/ecma/kjs_events.cpp:
   57347         (JSEventListener::JSEventListener): Use hashtable insert instead of list append.
   57348         (JSEventListener::~JSEventListener): Use hashtable remove instead of list removeRef.
   57349 
   57350 2003-11-05  Darin Adler  <darin (a] apple.com>
   57351 
   57352         Reviewed by Maciej.
   57353 
   57354         - fixed 3473872 -- encode domain names for IDN when creating URLs inside WebCore
   57355 
   57356         * kwq/KWQKURL.h: Added KWQIntegerPair type, a number of private functions.
   57357         * kwq/KWQKURL.mm:
   57358         (isSchemeFirstChar): Make inline function from macro.
   57359         (isSchemeChar): Make inline function from macro.
   57360         (isUserInfoChar): Make inline function from macro.
   57361         (isHostnameChar): Make inline function from macro.
   57362         (isIPv6Char): Make inline function from macro.
   57363         (isPathSegmentEndChar): Make inline function from macro.
   57364         (isBadChar): Make inline function from macro.
   57365         (isHexDigit): Make inline function from macro.
   57366         (KURL::KURL): Remove unneeded initializations of m_isValid, since parse sets it.
   57367         Use CFURLGetBytes in one place a FIXME asked for it. Changed non-ASCII case to use
   57368         a separate function instead of code in line.
   57369         (KURL::encodeHostnames): Added. Finds host names and encodes them.
   57370         (KURL::findHostnameInHierarchicalURL): Added. Finds host name in a hierarchical URL.
   57371         (KURL::encodeHostname): Added. Encodes one host name.
   57372         (KURL::findHostnamesInMailToURL): Added. Finds host names in a mailto URL.
   57373 
   57374         * kwq/KWQString.h: Added new overloads for startsWith.
   57375         * kwq/KWQString.mm:
   57376         (compareIgnoringCaseForASCIIOnly): Moved these functions up in the file so they can be
   57377         used by more methods of QString.
   57378         (QString::startsWith): Added new overloads.
   57379 
   57380         * WebCore.pbproj/project.pbxproj: Add libicucore.A.dylib library.
   57381 
   57382 2003-11-05  Maciej Stachowiak  <mjs (a] apple.com>
   57383 
   57384         Reviewed by Darin.
   57385 
   57386 	- fixed 3473906 - getElementById takes about 44% of time on particular slow intel page
   57387 
   57388 	I fixed this by adding a per-document id --> element hash
   57389 	table. This speeds up my local copy of the intel page by 60% (50
   57390 	sec to 20 sec!) and does not cause any PLT slowdown.
   57391 	
   57392         * khtml/xml/dom_docimpl.h: New QDict field for id to element hash table.
   57393         * khtml/xml/dom_docimpl.cpp:
   57394         (DocumentImpl::getElementById): Just look it up in the newly
   57395 	added hash table.
   57396         (DocumentImpl::addElementById): New method. Add to hash table if
   57397 	no other element is set for that key (this lets the first element
   57398 	of several with matching ids win).
   57399         (DocumentImpl::removeElementById): New method. Remove from hash
   57400 	table only if the key and value both match.
   57401 
   57402 	These Element changes to keep the id --> element hashtable working
   57403 	seem needlessly tricky, due to lack of bottlenecks in attribute
   57404 	changing.
   57405 	
   57406         * khtml/xml/dom_elementimpl.cpp:
   57407         (ElementImpl::updateId): New method that removes element from
   57408 	hash table for old it
   57409         (ElementImpl::setAttribute): If setting id, call updateId.
   57410         (ElementImpl::setAttributeMap): If either the old or the new map
   57411 	includes id, call updateId.
   57412         (ElementImpl::attach): If we have an id, call updateId to set it
   57413 	after attaching.
   57414         (ElementImpl::detach): Newly added. If we have an id, call
   57415 	updateId to clear it before detaching.
   57416 	(NamedAttrMapImpl::setNamedItem): If the name is id, call updateId on
   57417 	our element.
   57418         (NamedAttrMapImpl::removeNamedItem): If the name is id, call updateId on
   57419 	our element.
   57420         (NamedAttrMapImpl::operator=): If old or new contents include id attribute,
   57421 	call updateId on our element.
   57422 	* khtml/xml/dom_elementimpl.h: Prototype new methods.
   57423 
   57424 2003-11-05  Ken Kocienda  <kocienda (a] apple.com>
   57425 
   57426         Reviewed by Maciej
   57427 
   57428 	Fix for these bugs:
   57429 
   57430 	<rdar://problem/3467558>: Cannot tab to form file input widgets
   57431 	<rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore
   57432 
   57433 	Tabbing now works for these widgets. While I was in the neighborhood,
   57434 	I improved the communication mechanism between the WebKit and WebCore
   57435 	sides of the file button implementation, replacing notifications
   57436 	with a callback object.
   57437 
   57438         * WebCore-combined.exp: Remove no-longer used WebCoreFileButtonClicked
   57439     	and WebCoreFileButtonFilenameChanged notofication strings.
   57440         * WebCore.exp: Ditto.
   57441         * kwq/KWQFileButton.h: Changed declarations to match changes in
   57442         callback functions.
   57443         * kwq/KWQFileButton.mm:
   57444         (KWQFileButton::KWQFileButton): Now sets the view after creating
   57445         the delegate object.
   57446         (KWQFileButton::filenameChanged): Now takes a QString argument
   57447         which indicates the filename.
   57448         (KWQFileButton::focusChanged): New function. Sends DOM focus and
   57449         blur events.
   57450         (-[KWQFileButtonAdapter initWithKWQFileButton:]): No longer needs
   57451         to register for notifications.
   57452         (-[KWQFileButtonAdapter dealloc]): No longer needs to remove itself
   57453         from the notification center.
   57454         (-[KWQFileButtonAdapter filenameChanged:]): No longer a notification
   57455         callback. Now a WebCoreFileButtonCallback callback.
   57456         (-[KWQFileButtonAdapter focusChanged:]): New WebCoreFileButtonCallback
   57457         callback.
   57458         (-[KWQFileButtonAdapter clicked]): No longer a notification
   57459         callback. Now a WebCoreFileButtonCallback callback.
   57460         * kwq/KWQKHTMLPart.mm:
   57461         (KWQKHTMLPart::nextKeyViewInFrame): Unrelated cleanup.
   57462         * kwq/WebCoreBridge.h: Declared new WebCoreFileButtonDelegate protocol.
   57463 
   57464 2003-11-05  Maciej Stachowiak  <mjs (a] apple.com>
   57465 
   57466 	- fixed deployment build
   57467 	
   57468         * kwq/KWQKHTMLPart.mm:
   57469         (KWQKHTMLPart::fileWrapperForElement):
   57470 
   57471 2003-11-04  Maciej Stachowiak  <mjs (a] apple.com>
   57472 
   57473         Reviewed by Ken.
   57474 
   57475         * khtml/ecma/kjs_window.cpp: Don't make event read-only, some
   57476 	sites want to set their own top-level function named "event" and
   57477 	will hang if they can't.
   57478         * khtml/ecma/kjs_window.lut.h: Regenerated.
   57479 
   57480 2003-11-03  David Hyatt  <hyatt (a] apple.com>
   57481 
   57482 	Fix for 3472167, for shrink-to-fit style printing, grow the width of the initial containing block
   57483 	to be as large as the rightmost position after doing a layout to the page width.
   57484 	
   57485         Reviewed by john
   57486 
   57487         * kwq/KWQKHTMLPart.mm:
   57488         (KWQKHTMLPart::forceLayoutForPageWidth):
   57489 
   57490 2003-11-04  Chris Blumenberg  <cblu (a] apple.com>
   57491 
   57492 	Fixed:
   57493 	<rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs
   57494 
   57495         Reviewed by john.
   57496 
   57497         * kwq/KWQKHTMLPart.h:
   57498         * kwq/KWQKHTMLPart.mm:
   57499         (KWQKHTMLPart::fileWrapperForElement): call [_bridge _fileWrapperForURL:] to get cached data
   57500         * kwq/WebCoreBridge.h: added _fileWrapperForURL: to the bridge protocol
   57501         * kwq/WebCoreBridge.mm:
   57502         (-[WebCoreBridge selectedAttributedString]): call the instance method attributedString 
   57503         (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]): call the instance method attributedString 
   57504 
   57505 2003-11-04  Maciej Stachowiak  <mjs (a] apple.com>
   57506 
   57507         Reviewed by Chris.
   57508 
   57509         - fixed 3472893 - Slow intel page takes 20% of its time in CachedObject::ref
   57510         
   57511 	Speeds up loading of
   57512 	http://www.intel.com/cd/ids/developer/asmo-na/eng/index.htm by
   57513 	19%, no slowdown on PLT.
   57514 	
   57515         * khtml/misc/loader.h: Use QPtrDict for m_clients instead of QPtrList.
   57516 	* khtml/misc/loader.cpp:
   57517         (CachedObjectClientWalker::CachedObjectClientWalker): Ditto.
   57518         (CachedObject::ref): Ditto.
   57519         * kwq/KWQPtrDict.h:
   57520         (QPtrDict::isEmpty): Implemented.
   57521 
   57522 2003-11-03  Maciej Stachowiak  <mjs (a] apple.com>
   57523 
   57524         Reviewed by Darin.
   57525 
   57526 	- fixed 3370085 - new frames with javascript: URLs should be populated with the result of the JavaScript code
   57527 	
   57528         * ChangeLog:
   57529         * khtml/html/html_baseimpl.cpp:
   57530         (HTMLFrameElementImpl::updateForNewURL): Skip special filtering of
   57531 	javascript:.
   57532         (HTMLFrameElementImpl::attach): Ditto.
   57533         * khtml/khtml_part.cpp:
   57534         (KHTMLPart::replaceContentsWithScriptResult): New method to execute
   57535 	script and if the result is a string, set it as the new document contents.
   57536 	(KHTMLPart::requestFrame): Removed APPLE_CHANGES around
   57537 	javascript: handling. Use new
   57538 	replaceContentsWithScriptResult method. This executes the
   57539 	JS in the new child frame, not the parent frame, as in other
   57540 	browsers.
   57541         * khtml/khtml_part.h: Prototype new method.
   57542         * kwq/KWQKHTMLPartBrowserExtension.mm:
   57543         (KHTMLPartBrowserExtension::openURLRequest): Use new part method.
   57544 
   57545 2003-11-03  Vicki Murley  <vicki (a] apple.com>
   57546 
   57547         Reviewed by kocienda.
   57548 
   57549 	- fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
   57550 
   57551         * WebCore.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles
   57552 
   57553 2003-11-03  Ken Kocienda  <kocienda (a] apple.com>
   57554 
   57555         Reviewed by Maciej
   57556 
   57557 	Fix for this bug:
   57558 
   57559 	<rdar://problem/3470338>: onclick is not executing when you hit enter on focused links
   57560 
   57561 	Now when we trap return or enter when a link is focused, we send
   57562 	a click event to the node.
   57563 
   57564         * khtml/html/html_inlineimpl.cpp:
   57565         (HTMLAnchorElementImpl::defaultEventHandler): Swallow key event when 
   57566 	return or enter and send a mouse event.
   57567         (HTMLAnchorElementImpl::performClick): New function to send simulated
   57568 	click.
   57569         * khtml/html/html_inlineimpl.h: Declare performClick function.
   57570 
   57571 2003-11-03  Darin Adler  <darin (a] apple.com>
   57572 
   57573         Reviewed by John.
   57574 
   57575         - fixed 3392543 -- incorrect base writing direction in RTL form controls
   57576         - fixed baseline for list box <select> elements
   57577         - moved style code from updateFromElement to setStyle
   57578 
   57579         * khtml/rendering/render_form.h: Added setStyle function to RenderFormElement, RenderLineEdit,
   57580         RenderSelect, and RenderTextArea. Removed some unused stuff.
   57581         * khtml/rendering/render_form.cpp:
   57582         (RenderFormElement::setStyle): Set the font based on the style.
   57583         (RenderFormElement::updateFromElement): Remove font setting code; moved to setStyle.
   57584         Also ifdef'd out the color-setting code, which belongs in setStyle and is irrelevant
   57585         for KWQ anyway.
   57586         (RenderSubmitButton::setStyle): Set the writing direction based on the style.
   57587         (RenderSubmitButton::updateFromElement): Tiny code cleanup, using a local variable.
   57588         (RenderLineEdit::setStyle): Set the alignment and writing direction based on the style.
   57589         (RenderLineEdit::updateFromElement): Remove alignment setting code; moved to setStyle.
   57590         (RenderFileButton::RenderFileButton): Remove code to set m_focus, a data member that was
   57591         never used.
   57592         (RenderSelect::setWidgetWritingDirection): Added. Helper function.
   57593         (RenderSelect::setStyle): Call setWidgetWritingDirection.
   57594         (RenderSelect::updateFromElement): Call setWidgetWritingDirection if a new widget is created.
   57595         (RenderSelect::baselinePosition): Added a FIXME comment.
   57596         (RenderTextArea::setStyle): Set the alignment and writing direction based on the style.
   57597         (RenderTextArea::updateFromElement): Remove alignment setting code; moved to setStyle.
   57598 
   57599         * kwq/KWQButton.h: Added setWritingDirection function.
   57600         * kwq/KWQButton.mm:
   57601         (+[KWQButton cellClass]): Use KWQButtonCell.
   57602         (-[KWQButtonCell baseWritingDirection:]): Return base writing direction.
   57603         (-[KWQButtonCell setBaseWritingDirection:]): Store base writing direction.
   57604         (-[KWQButtonCell _textAttributes]): Set the base writing direction in the paragraph
   57605         style if it's not already right.
   57606         (QButton::setWritingDirection): Call setBaseWritingDirection: on the cell and do
   57607         setNeedsDisplay: as needed.
   57608 
   57609         * kwq/KWQComboBox.h: Added setWritingDirection function.
   57610         * kwq/KWQComboBox.mm:
   57611         (QComboBox::setWritingDirection): Call setBaseWritingDirection: on the cell and do
   57612         setNeedsDisplay: as needed.
   57613         (-[KWQPopUpButtonCell setBaseWritingDirection:]): Store base writing direction.
   57614         (-[KWQPopUpButtonCell baseWritingDirection:]): Return base writing direction.
   57615         (-[KWQPopUpButtonCell _textAttributes]): Set the base writing direction in the
   57616         paragraph style if it's not already right.
   57617 
   57618         * kwq/KWQLineEdit.h: Added setWritingDirection function.
   57619         * kwq/KWQLineEdit.mm:
   57620         (QLineEdit::setAlignment): Tweaked to match new setWritingDirection in style.
   57621         (QLineEdit::setWritingDirection): Call setBaseWritingDirection: on the KWQTextField.
   57622 
   57623         * kwq/KWQTextField.h: Added setBaseWritingDirection method.
   57624         * kwq/KWQTextField.mm:
   57625         (-[KWQTextField setPasswordMode:]): Set the base writing direction of the secure field's
   57626         cell based on the base writing direction of the parent field's cell, when creating the
   57627         secure field.
   57628         (-[KWQTextField setBaseWritingDirection:]): Added. Sets the base writing direction of
   57629         the field's cell and the secure field's cell, if it exists, and does setNeedsDisplay
   57630         as needed.
   57631         (-[KWQTextFieldCell setBaseWritingDirection:]): Added. Stores the base writing direction.
   57632         (-[KWQTextFieldCell baseWritingDirection]): Added. Returns the base writing direction.
   57633         (-[KWQTextFieldCell _textAttributes]): Set the base writing direction in the paragraph
   57634         style if it's not already right.
   57635         (-[KWQSecureTextFieldCell setBaseWritingDirection:]): Added. Stores the base writing
   57636         direction.
   57637         (-[KWQSecureTextFieldCell _textAttributes]): Set the base writing direction in the
   57638         paragraph style if it's not already right.
   57639 
   57640         * kwq/KWQListBox.h: Added itemIsGroupLabel and setWritingDirection functions, and made
   57641         the private insertItem function take a QString instead of an NSObject.
   57642         (QListBox::insertItem): Changed parameter from unsigned to int to match Qt, and made it
   57643         use an inlne to call the private insertItem function shared with insertGroupLabel.
   57644         (QListBox::insertGroupLabel): Changed parameter from unsigned to int and made it use an
   57645         inline to call the private insertItem function.
   57646         * kwq/KWQListBox.mm:
   57647         (itemFont): Added. Returns a suitable font for individual items.
   57648         (groupLabelFont): Added. Returns a suitable font for group labels.
   57649         (paragraphStyle): Added. Returns a suitable paragraph style for a given writing direction.
   57650         (stringAttributes): Added. Returns a string attributes dictionary for a given writing direction for
   57651         either individual items or group labels.
   57652         (QListBox::insertItem): Use an attributed string to give the item the appropriate font and
   57653         writing direction, calling stringAttributes to get the attributes dictionary, and getting
   57654         the writing direction from the table view.
   57655         (QListBox::endBatchInsert): Tweak for consistency with other nearby methods.
   57656         (QListBox::setSelected): Add an assertion and tweak a bit.
   57657         (QListBox::isSelected): Add an assertion and tweak a bit.
   57658         (QListBox::setWritingDirection): Update the styles for all the attributed strings and call
   57659         reloadData if the writing direction changes. Also store the direction in the table view.
   57660         (QListBox::itemIsGroupLabel): Added. Returns true if a given item is a group label; works
   57661         by checking the font in the attributed string.
   57662         (-[KWQTableView initWithListBox:items:]): Use itemFont() instead of computing the font.
   57663         (-[KWQTableView tableView:shouldSelectRow:]): Use itemIsGroupLabel function instead of
   57664         checking for NSString vs. NSttributedString in the items array; we now use attributed
   57665         strings for all the items.
   57666         (-[KWQTableView setBaseWritingDirection:]): Added. Stores a base writing direction.
   57667         (-[KWQTableView baseWritingDirection]): Added. Returns the stored base writing direction.
   57668 
   57669         * kwq/KWQTextEdit.h: Added setWritingDirection function.
   57670         * kwq/KWQTextEdit.mm:
   57671         (QTextEdit::setAlignment): Removed code to set base writing direction.
   57672         (QTextEdit::setWritingDirection): Added. Sets base writing direction.
   57673 
   57674         * kwq/KWQTextArea.mm: (-[KWQTextArea setBaseWritingDirection:]): Call setNeedsDisplay:YES.
   57675 
   57676 2003-11-03  David Hyatt  <hyatt (a] apple.com>
   57677 
   57678 	Fix 3472200, media tests fail to parse correctly.  Merging a patch to handle exotic media types
   57679 	from the KHTML trunk.
   57680 
   57681         * khtml/css/parser.cpp:
   57682         * khtml/css/parser.y:
   57683 
   57684 2003-11-03  David Hyatt  <hyatt (a] apple.com>
   57685 
   57686 	Fix for 3471314, make sure to check the outline phase before painting backgrounds of iframes.
   57687 	
   57688         Reviewed by mjs
   57689 
   57690         * khtml/rendering/render_replaced.cpp:
   57691         (RenderReplaced::paint):
   57692 
   57693 2003-11-03  David Hyatt  <hyatt (a] apple.com>
   57694 
   57695 	Fix for 3470855, links with script action stay focused when clicking.
   57696 
   57697 	Fix for 3470858, clicking and dragging a link and then releasing doesn't clear the glow ring.
   57698 
   57699 	Fix for 3472090, link should not be mouse focusable.
   57700 	
   57701         Reviewed by mjs
   57702 
   57703         * khtml/css/html4.css:
   57704         * khtml/html/html_inlineimpl.h:
   57705         (DOM::HTMLAnchorElementImpl::isMouseFocusable):
   57706 
   57707 2003-11-03  David Hyatt  <hyatt (a] apple.com>
   57708 
   57709 	Fix for 3472030, line-height not properly reset in all cases when the font shorthand is used.
   57710 	
   57711         Reviewed by mjs
   57712 
   57713         * khtml/css/cssparser.cpp:
   57714         (CSSParser::parseFont):
   57715 
   57716 2003-11-03  Maciej Stachowiak  <mjs (a] apple.com>
   57717 
   57718         Reviewed by Darin.
   57719 
   57720 	- fixed 3472023 - REGRESSION: assertion on layout tests
   57721 	
   57722         * kwq/KWQTextCodec.mm:
   57723         (KWQTextDecoder::convertUTF16): Remove assert that length is not
   57724 	0, since we can get zero length now when flushing.
   57725 
   57726 2003-11-03  Ken Kocienda  <kocienda (a] apple.com>
   57727 
   57728         Reviewed by John
   57729 
   57730 	Fix for this bug:
   57731 
   57732 	<rdar://problem/3260780>: hitting return in a text field submits 
   57733 	form without running onclick handler for submit button
   57734 
   57735         * khtml/html/html_formimpl.cpp:
   57736         (HTMLFormElementImpl::performSubmitClick): Refactored this function to
   57737 	be more generic, so that text fields can use it, too.
   57738         (HTMLInputElementImpl::defaultEventHandler): Removed code to check
   57739 	for a submit button, and merged this code into new performSubmitClick.
   57740         (HTMLSelectElementImpl::defaultEventHandler): Ditto.
   57741         * khtml/html/html_formimpl.h: Removed declaration for simulateButtonClickForEvent.
   57742 	Added declaration for performSubmitClick.
   57743         * khtml/rendering/render_form.cpp:
   57744         (RenderLineEdit::slotReturnPressed): Now calls performSubmitClick rather
   57745 	than prepareSubmit on the form. This is the key piece for the bug fix.
   57746 
   57747 2003-11-03  Ken Kocienda  <kocienda (a] apple.com>
   57748 
   57749         Reviewed by John
   57750 
   57751         Fix for this bug:
   57752 
   57753         <rdar://problem/3470342>: focus rings are shown for links in
   57754         web pages even in non-frontmost windows
   57755 
   57756         * kwq/KWQKHTMLPart.h: Add setShowsFirstResponder, showsFirstResponder functions and
   57757         _showsFirstResponder member variable.
   57758         (KWQKHTMLPart::showsFirstResponder): Added.
   57759         * kwq/KWQKHTMLPart.mm:
   57760         (KWQKHTMLPart::KWQKHTMLPart): Initialize _showsFirstResponder to true
   57761         (KWQKHTMLPart::setShowsFirstResponder): Sets whether the painter draws focus rings.
   57762         * kwq/KWQPainter.h: Add _drawsFocusRing member variable.
   57763         (QPainter::setDrawsFocusRing): Sets whether the painter draws focus rings.
   57764         * kwq/KWQPainter.mm:
   57765         (QPainter::QPainter): Initialize _drawsFocusRing to true.
   57766         (QPainter::initFocusRing): Check _drawsFocusRing flag. Return if set to false.
   57767         (QPainter::addFocusRingRect): Ditto.
   57768         (QPainter::drawFocusRing): Ditto.
   57769         * kwq/WebCoreBridge.h: Add setShowsFirstResponder method.
   57770         * kwq/WebCoreBridge.mm:
   57771         (-[WebCoreBridge drawRect:]): Sets the value for _drawsFocusRing on the
   57772 	painter using _showsFirstResponder value from the part.
   57773         (-[WebCoreBridge setShowsFirstResponder:]): Set passed in value on the part.
   57774 	Redraw the focus ring if flag has changed.
   57775 
   57776 2003-11-03  David Hyatt  <hyatt (a] apple.com>
   57777 
   57778 	Remove unneeded style property additions for form controls.  In the KHTML trunk these moved into the UA
   57779 	sheet, but we don't even need them there, since we don't honor any of them.
   57780 
   57781         * khtml/html/html_formimpl.cpp:
   57782         (HTMLInputElementImpl::attach):
   57783         (HTMLSelectElementImpl::attach):
   57784         (HTMLTextAreaElementImpl::attach):
   57785 
   57786 2003-11-03  David Hyatt  <hyatt (a] apple.com>
   57787 
   57788 	Patch from KHTML trunk.  Move frameset positioning reset into adjustRenderStyle so as not to
   57789 	pollute the render tree.
   57790 
   57791         * khtml/css/cssstyleselector.cpp:
   57792         (khtml::CSSStyleSelector::adjustRenderStyle):
   57793         * khtml/rendering/render_box.cpp:
   57794         (RenderBox::setStyle):
   57795 
   57796 2003-11-03  David Hyatt  <hyatt (a] apple.com>
   57797 
   57798 	Fix for 3471609, 'transparent' should be an acceptable named color value instead of a special
   57799 	keyword used only by background/border.
   57800 	
   57801         Reviewed by kocienda
   57802 
   57803         * khtml/css/cssparser.cpp:
   57804         (CSSParser::parseValue):
   57805         * khtml/css/cssstyleselector.cpp:
   57806         (khtml::):
   57807         (khtml::CSSStyleSelector::applyRule):
   57808         * khtml/css/cssvalues.c:
   57809         * khtml/css/cssvalues.h:
   57810         * khtml/css/cssvalues.in:
   57811         * khtml/rendering/render_box.cpp:
   57812         (RenderBox::paintBackgroundExtended):
   57813         * khtml/rendering/render_object.cpp:
   57814         (RenderObject::setStyle):
   57815         * khtml/rendering/render_style.h:
   57816         (khtml::BorderValue::BorderValue):
   57817         (khtml::BorderValue::isTransparent):
   57818         (khtml::BorderValue::operator==):
   57819         (khtml::CollapsedBorderValue::isTransparent):
   57820         (khtml::RenderStyle::setBorderLeftColor):
   57821         (khtml::RenderStyle::setBorderRightColor):
   57822         (khtml::RenderStyle::setBorderTopColor):
   57823         (khtml::RenderStyle::setBorderBottomColor):
   57824 
   57825 2003-11-02  Maciej Stachowiak  <mjs (a] apple.com>
   57826 
   57827         Reviewed by Darin.
   57828 
   57829 	- fixed 3471226 - HTML document that's less than 16 bytes comes out blank
   57830 	
   57831         * kwq/KWQTextCodec.mm:
   57832         (KWQTextDecoder::toUnicode): When flushing, don't bail out early
   57833 	if there are no new characters!
   57834 
   57835 2003-11-02  Maciej Stachowiak  <mjs (a] apple.com>
   57836 
   57837         Reviewed by Darin.
   57838 
   57839 	- don't resolve Null href or src attributes, since the distinction
   57840 	between empty and absent attribute is important.
   57841 
   57842         * khtml/dom/html_base.cpp:
   57843         (HTMLIFrameElement::src):
   57844         * khtml/dom/html_form.cpp:
   57845         (HTMLInputElement::src):
   57846         * khtml/dom/html_head.cpp:
   57847         (HTMLBaseElement::href):
   57848         (HTMLLinkElement::href):
   57849         (HTMLScriptElement::src):
   57850         * khtml/dom/html_image.cpp:
   57851         (HTMLAreaElement::href):
   57852         (HTMLImageElement::src):
   57853         * khtml/dom/html_inline.cpp:
   57854         (HTMLAnchorElement::href):
   57855 
   57856 2003-11-01  David Hyatt  <hyatt (a] apple.com>
   57857 
   57858 	Fix for 3468924, an implementation of outline-offset.  We also give :focus links a built-in offset of 
   57859 	outline-width/2  by default for the Apple Aqua style.
   57860 
   57861 	Fix for 3470660, input type=image excluded from tab order.
   57862 	
   57863         Reviewed by darin
   57864 
   57865         * khtml/css/cssparser.cpp:
   57866         (CSSParser::parseValue):
   57867         * khtml/css/cssproperties.c:
   57868         (hash_prop):
   57869         (findProp):
   57870         * khtml/css/cssproperties.h:
   57871         * khtml/css/cssproperties.in:
   57872         * khtml/css/cssstyleselector.cpp:
   57873         (khtml::CSSStyleSelector::applyRule):
   57874         * khtml/css/html4.css:
   57875         * khtml/rendering/render_box.cpp:
   57876         (RenderBox::getAbsoluteRepaintRect):
   57877         (RenderBox::computeAbsoluteRepaintRect):
   57878         * khtml/rendering/render_flow.cpp:
   57879         (RenderFlow::getAbsoluteRepaintRect):
   57880         * khtml/rendering/render_inline.cpp:
   57881         (RenderInline::paintFocusRing):
   57882         (RenderInline::paintOutlines):
   57883         (RenderInline::paintOutline):
   57884         * khtml/rendering/render_object.cpp:
   57885         (RenderObject::paintOutline):
   57886         * khtml/rendering/render_style.h:
   57887         (khtml::OutlineValue::OutlineValue):
   57888         (khtml::RenderStyle::outlineSize):
   57889         (khtml::RenderStyle::outlineOffset):
   57890         (khtml::RenderStyle::setOutlineOffset):
   57891         * khtml/rendering/render_text.cpp:
   57892         (RenderText::paintObject):
   57893         * kwq/KWQPainter.h:
   57894         * kwq/KWQPainter.mm:
   57895         (QPainterPrivate::QPainterPrivate):
   57896         (QPainter::initFocusRing):
   57897         (QPainter::addFocusRingRect):
   57898 
   57899 2003-11-01  Maciej Stachowiak  <mjs (a] apple.com>
   57900 
   57901         Reviewed by Darin.
   57902 
   57903 	- fixed 3469262 - REGRESSION (110-112): logitech page is very slow to load (due to style sheet updates?)
   57904 	
   57905         * khtml/xml/dom_nodeimpl.cpp:
   57906         (NodeImpl::dispatchGenericEvent): Don't do default handling for
   57907 	events that don't bubble. Not 100% sure why this caused the big
   57908 	slowdown but it was a somewhat arbitrary change in my earlier
   57909 	patch.
   57910 
   57911 2003-11-01  Darin Adler  <darin (a] apple.com>
   57912 
   57913         Reviewed by John.
   57914 
   57915         - fixed 3468870 -- REGRESSION (108-109): cannot upload files (<input type=file> is broken)
   57916 
   57917         * kwq/KWQFileButton.mm: (KWQFileButton::filenameChanged): Pass the filename to
   57918         the textChanged signal. The one without a parameter is a different signal.
   57919 
   57920 2003-11-01  Darin Adler  <darin (a] apple.com>
   57921 
   57922         Reviewed by John.
   57923 
   57924         - fixed 3466714 -- page with <object> tag with text subtype and no URL causes hang
   57925 
   57926         * khtml/khtml_part.cpp: (KHTMLPart::requestObject): Added a check so that an empty
   57927         URL string doesn't get completed, and results in an empty KURL object. Also made the
   57928         change to allow empty URLs unconditional, because I don't think it's a WebCore-specific
   57929         thing on further reflection.
   57930 
   57931 2003-10-31  David Hyatt  <hyatt (a] apple.com>
   57932 
   57933 	Fix for 3470489, I just forgot to commit a piece of my patch.  This has actually even
   57934 	been reviewed by ken already.
   57935 
   57936 	Reviewed by kocienda
   57937 	
   57938         * khtml/rendering/render_replaced.cpp:
   57939         (RenderWidget::eventFilter):
   57940 
   57941 2003-10-31  Darin Adler  <darin (a] apple.com>
   57942 
   57943         Reviewed by John.
   57944 
   57945         - fixed 3457875 -- text disappears from fields in forms upon certain types of scrolling
   57946 
   57947         * kwq/KWQTextField.mm: (-[KWQTextField control:textShouldBeginEditing:]):
   57948         Call releaseGState on the field editor and its clip view to prevent undesirable caching.
   57949 
   57950 2003-10-31  Ken Kocienda  <kocienda (a] apple.com>
   57951 
   57952         Reviewed by Darin
   57953 
   57954 	Fix for this bug:
   57955 
   57956 	<rdar://problem/3440719>: Read-only text field form controls 
   57957 	do not keyboard focus and do not take part in tabbing
   57958 
   57959         * kwq/KWQTextField.mm:
   57960         (-[KWQTextField acceptsFirstResponder]): We want our text fields
   57961         to accept first responder even if not editable.
   57962 
   57963 	Once this is fixed, this one comes along for free:
   57964 
   57965 	<rdar://problem/3440710>: Read-only textarea form controls should select all text when focused
   57966 
   57967 2003-10-31  Darin Adler  <darin (a] apple.com>
   57968 
   57969         Reviewed by Ken.
   57970 
   57971         - fixed 3469383 -- REGRESSION (100-111): if one line is selected on this page, too much gets copied (plain text)
   57972 
   57973         * khtml/khtml_part.cpp: (KHTMLPart::text): Range check the child node indices before using them
   57974         to get at a child node. We don't want to set startNode or endNode to nil in any case. If the end
   57975         node is set to nil, we end up copying the entire remainder of the page.
   57976 
   57977 2003-10-31  David Hyatt  <hyatt (a] apple.com>
   57978 
   57979 	Fix for 3470007, links don't get focus on mouse down.  Fix the focus check on mouse down to actually
   57980 	crawl up the content tree in order to find the nearest enclosing focusable node.  Also clean up and
   57981 	fix checks that improperly blurred the link after it got focused.
   57982 
   57983 	Fix for 3450335, AppKit widgets not obeying their desired focus policies.  I renamed isSelectable to
   57984 	isFocusable and then also added isMouseFocusable and isKeyboardFocusable methods.
   57985 	
   57986         Reviewed by kocienda
   57987 
   57988         * khtml/css/html4.css:
   57989         * khtml/html/html_baseimpl.cpp:
   57990         (HTMLFrameElementImpl::isFocusable):
   57991         * khtml/html/html_baseimpl.h:
   57992         * khtml/html/html_formimpl.cpp:
   57993         (HTMLGenericFormElementImpl::isFocusable):
   57994         (HTMLGenericFormElementImpl::isKeyboardFocusable):
   57995         (HTMLGenericFormElementImpl::isMouseFocusable):
   57996         * khtml/html/html_formimpl.h:
   57997         * khtml/html/html_inlineimpl.cpp:
   57998         (HTMLAnchorElementImpl::isFocusable):
   57999         * khtml/html/html_inlineimpl.h:
   58000         * khtml/khtmlview.cpp:
   58001         (KHTMLView::dispatchMouseEvent):
   58002         * khtml/xml/dom_docimpl.cpp:
   58003         (DocumentImpl::nextFocusNode):
   58004         (DocumentImpl::previousFocusNode):
   58005         * khtml/xml/dom_nodeimpl.cpp:
   58006         (NodeImpl::isFocusable):
   58007         (NodeImpl::isKeyboardFocusable):
   58008         (NodeImpl::isMouseFocusable):
   58009         * khtml/xml/dom_nodeimpl.h:
   58010         * kwq/KWQKHTMLPart.mm:
   58011         (KWQKHTMLPart::khtmlMousePressEvent):
   58012 
   58013 2003-10-31  Ken Kocienda  <kocienda (a] apple.com>
   58014 
   58015         Reviewed by David
   58016 
   58017 	Fix for this bug:
   58018 
   58019 	<rdar://problem/3470233>: solid outlines drawing incorrectly
   58020 
   58021 	The problem was that when I collected the array of line boxes for
   58022 	render inlines, I put a QRect() at the start and the end of the list.
   58023 	However, the border calculation code expected "invalid" rectangles
   58024 	(rects with 0 for all four dimentions) in the first and last
   58025 	positions, and the default constructor for QRect makes rects with 1,1
   58026 	for width/height.
   58027 
   58028         * khtml/rendering/render_inline.cpp:
   58029         (RenderInline::paintOutlines)
   58030 
   58031 2003-10-31  Darin Adler  <darin (a] apple.com>
   58032 
   58033         Reviewed by Dave.
   58034 
   58035         - fixed 3464759 -- REGRESSION (100-107): Pressing on link loses mouse-down feedback almost instantly
   58036 
   58037         * khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): Pass true for the "read-only"
   58038         flag in prepareMoveEvent to prevent us from updating :hover and :active while the mouse is down.
   58039 
   58040 2003-10-31  Ken Kocienda  <kocienda (a] apple.com>
   58041 
   58042         Reviewed by David
   58043 
   58044 	<rdar://problem/3468910>: REGRESSION: other than focus rings, outlines styles are broken
   58045 
   58046 	Outlines now draw like they used to.
   58047 
   58048         * khtml/rendering/render_inline.cpp:
   58049         (RenderInline::paintObject): Now branches to call focus ring or "regular" outlines.
   58050         (RenderInline::paintFocusRing): Broke out drawing aqua focus rings into its
   58051 	own function.
   58052         (RenderInline::paintOutlines): New function to draw "regular outlines.
   58053         (RenderInline::paintOutline): Removed code which special-cased aqua outlines.
   58054         * khtml/rendering/render_inline.h: Added paintOutlines declaration.
   58055 
   58056 2003-10-31  David Hyatt  <hyatt (a] apple.com>
   58057 
   58058 	Fix for 3467419, highlighted text in "search in books" Amazon feature is obscured.  The
   58059 	site is using the CSS3 opacity property.  The CSS3 Color module is far enough along now
   58060 	that opacity can safely be used without the "-khtml-" in front of it.
   58061 
   58062 	Fix for 3466542, the minimum font size bug.  I am introducing a new minimum font size pref that
   58063 	really is a hard override.
   58064 	
   58065         Reviewed by gramps (opacity) and john (min font size)
   58066 	
   58067         * khtml/css/cssparser.cpp:
   58068         (CSSParser::parseValue):
   58069         * khtml/css/cssproperties.c:
   58070         (hash_prop):
   58071         (findProp):
   58072         * khtml/css/cssproperties.h:
   58073         * khtml/css/cssproperties.in:
   58074         * khtml/css/cssstyleselector.cpp:
   58075         (khtml::CSSStyleSelector::applyRule):
   58076 
   58077 2003-10-31  Ken Kocienda  <kocienda (a] apple.com>
   58078 
   58079         Reviewed by Darin
   58080 
   58081 	Fix for this bug:
   58082 
   58083 	<rdar://problem/3469088>: focus not removed from text link 
   58084 	when user hits cmd-L or clicks in window chrome
   58085 
   58086         * kwq/WebCoreBridge.h:
   58087         * kwq/WebCoreBridge.mm:
   58088         (-[WebCoreBridge deselectAll]): Now clears the focus ring as well.
   58089         (-[WebCoreBridge deselectText]): Just clears text selection.
   58090 
   58091 2003-10-31  David Hyatt  <hyatt (a] apple.com>
   58092 
   58093 	Three simple fixes:
   58094 	
   58095 	(1) Fix for 3463777, crash on CSS3 box model draft.  This was just a situation where a simple null-check
   58096 	was needed for generated content.
   58097 
   58098 	(2) Added a != check when the old and new hover obj are the same to avoid a little bit of extra work.
   58099 
   58100 	(3) Removed the m_pressed member from DOM nodes and removed the calls to setPressed, since this code
   58101 	is dead and not used by anyone.
   58102 	
   58103         * khtml/khtmlview.cpp:
   58104         * khtml/rendering/render_layer.cpp:
   58105         (RenderLayer::addChild):
   58106         (RenderLayer::updateHoverActiveState):
   58107         * khtml/xml/dom_nodeimpl.cpp:
   58108         (NodeImpl::NodeImpl):
   58109         * khtml/xml/dom_nodeimpl.h:
   58110         (DOM::NodeImpl::hasStyle):
   58111         (DOM::NodeImpl::setHasStyle):
   58112 
   58113 2003-10-30  David Hyatt  <hyatt (a] apple.com>
   58114 
   58115 	Fix for 3469330, the Marquee data in RenderStyle needs a copy constructor hack like all the other
   58116 	objects do.
   58117 
   58118         * khtml/rendering/render_style.cpp:
   58119         (direction):
   58120         * khtml/rendering/render_style.h:
   58121 
   58122 2003-10-30  David Hyatt  <hyatt (a] apple.com>
   58123 
   58124 	Fix for 3469206, images didn't paint outlines any more.  They were bailing early because I forgot to
   58125 	add a check for my new PaintAction.
   58126 	
   58127         Reviewed by darin
   58128 
   58129         * khtml/rendering/render_replaced.cpp:
   58130         (RenderReplaced::paint):
   58131 
   58132 2003-10-30  David Hyatt  <hyatt (a] apple.com>
   58133 
   58134 	Fixes for 3469057, outlines not drawn on aintitcool.com and also for 3469178, objects with width/height of 0
   58135 	incorrectly excluded from tabbing.
   58136 	
   58137         Reviewed by darin
   58138 
   58139         * khtml/html/html_formimpl.cpp:
   58140         (HTMLGenericFormElementImpl::isSelectable):
   58141         * khtml/html/html_inlineimpl.cpp:
   58142         (HTMLAnchorElementImpl::isSelectable):
   58143         * khtml/rendering/render_flow.cpp:
   58144         (RenderFlow::getAbsoluteRepaintRect):
   58145         * khtml/rendering/render_inline.cpp:
   58146         (RenderInline::addFocusRingRects):
   58147         (RenderInline::paintOutline):
   58148         * khtml/rendering/render_object.cpp:
   58149         (RenderObject::addFocusRingRects):
   58150         (RenderObject::getAbsoluteRepaintRectWithOutline):
   58151 
   58152 2003-10-30  Maciej Stachowiak  <mjs (a] apple.com>
   58153 
   58154         Reviewed by Darin.
   58155 
   58156 	- fixed 3426081 - empty cells HTMLCollection for <tr>
   58157 	- fixed 3367598 - "length" attribute for table row "cells" always returns 0
   58158 	
   58159         * khtml/dom/html_table.cpp:
   58160         (HTMLTableRowElement::cells): TR_CELLS, not TABLE_ROWS.
   58161 
   58162 2003-10-30  David Hyatt  <hyatt (a] apple.com>
   58163 
   58164 	Fix for 3468916, outline needs its own paint action so that focus rings don't draw under other content.
   58165 	
   58166         Reviewed by kocienda
   58167 
   58168         * khtml/rendering/render_block.cpp:
   58169         (khtml::RenderBlock::paintObject):
   58170         (khtml::RenderBlock::paintFloats):
   58171         * khtml/rendering/render_image.cpp:
   58172         (RenderImage::paintObject):
   58173         * khtml/rendering/render_inline.cpp:
   58174         (RenderInline::paintObject):
   58175         * khtml/rendering/render_layer.cpp:
   58176         (RenderLayer::paintLayer):
   58177         * khtml/rendering/render_object.h:
   58178 
   58179 2003-10-30  Maciej Stachowiak  <mjs (a] apple.com>
   58180 
   58181 	Fixed Dave's fix to my fix to my fix:
   58182 
   58183         * khtml/html/html_imageimpl.cpp:
   58184         (HTMLImageElementImpl::width): Put back m_render check, consider
   58185 	the case of image with no width/height attributes and display:none
   58186 	set. We don't want to crash on that.
   58187         (HTMLImageElementImpl::height): Ditto.
   58188 
   58189 2003-10-30  Ken Kocienda  <kocienda (a] apple.com>
   58190 
   58191         Reviewed by Hyatt
   58192 
   58193 	Support for tabbing to links.
   58194 
   58195 	Fixes these bugs
   58196 
   58197 	<rdar://problem/3468395>: fix full keyboard access loop for buttons
   58198 	<rdar://problem/3468397>: paint aqua focus rings around text links
   58199 	<rdar://problem/3468406>: focused links do not activate by hitting
   58200 	   return key
   58201 	<rdar://problem/3468410>: paintTextOutline in RenderText objects
   58202 	   should be done at a higher level
   58203 	<rdar://problem/3468424>: improve function to determine if a node is
   58204 	   tab selectable
   58205 	<rdar://problem/3468427>: add bridge function to access active
   58206 	   document view for a node
   58207 	<rdar://problem/3468429>: links do not scroll into view when focusing
   58208 	<rdar://problem/3468435>: when tabbing out of a frame, last focused
   58209 	   node is not cleared if it is a text link
   58210 	<rdar://problem/3468436>: focus on text link does not clear when
   58211 	   clicking mouse in document body
   58212 	<rdar://problem/3468440>: add setRect convenience to QRect
   58213 	<rdar://problem/3468444>: elements paint their outlines even if they
   58214 	   are not visible
   58215 	<rdar://problem/3468448>: setting focus on a node sets focus on all
   58216 	   its siblings
   58217 	<rdar://problem/3468456>: cannot tab to form image input elements
   58218 	<rdar://problem/3468461>: tab focus can seem to disappear from view on
   58219 	   pages with dhtml menus
   58220 	<rdar://problem/3469021>: webcore bridge nextKeyView always starts 
   58221 	from the beginning of the document
   58222 
   58223         * WebCore-combined.exp: Export WebCoreGraphicsBridge class
   58224         * WebCore.exp: Ditto
   58225         * WebCore.pbproj/project.pbxproj: Add WebCoreGraphicsBridge class
   58226         * khtml/css/cssparser.cpp: 
   58227         (CSSParser::parseValue): border style check now take apple aqua
   58228 	style into account
   58229         * khtml/css/cssvalues.in: Add -apple-aqua border value
   58230         * khtml/css/html4.css: Change focus, a:link:active, and a:visited:active
   58231 	to use new -apple-aqua focus rings.
   58232         * khtml/html/html_formimpl.cpp:
   58233         (HTMLGenericFormElementImpl::isSelectable): Improve function so
   58234 	that invisible elements are no longer considered selectable
   58235         * khtml/html/html_inlineimpl.cpp:
   58236         (HTMLAnchorElementImpl::isSelectable): Ditto.
   58237         (HTMLAnchorElementImpl::defaultEventHandler): Make return key
   58238 	activate links as well as Enter.
   58239         * khtml/html/html_inlineimpl.h: Move isSelectable function into
   58240 	implementation file.
   58241         * khtml/rendering/render_block.cpp: 
   58242         (khtml::RenderBlock::paintObject): Do not paint outlines if
   58243 	content is invisible.
   58244         * khtml/rendering/render_flow.cpp:
   58245         (RenderFlow::getAbsoluteRepaintRect): Improve function to correctly
   58246 	calculate repaint rects including outlines.
   58247         * khtml/rendering/render_image.cpp:
   58248         (RenderImage::paintObject): Do not paint outlines if
   58249         content is invisible.
   58250         * khtml/rendering/render_inline.cpp:
   58251         (RenderInline::paintObject): Ditto.
   58252         (RenderInline::addFocusRingRects): New function to gather up rects
   58253 	to use for painting outlines.
   58254         (RenderInline::paintOutline): Added code to paint aqua focus rings.
   58255         * khtml/rendering/render_inline.h:
   58256         * khtml/rendering/render_object.cpp:
   58257         (RenderObject::drawBorder): Add case for apple aqua border style.
   58258         (RenderObject::addFocusRingRects): New function to gather up rects
   58259         to use for painting outlines.
   58260         (RenderObject::paintOutline): Added code to paint aqua focus rings.
   58261         (RenderObject::getAbsoluteRepaintRectWithOutline): Helper function
   58262 	to calculate rectangle to use for repainting when an object has an
   58263 	outline.
   58264         * khtml/rendering/render_object.h: Add addFocusRingRects declaration.
   58265         * khtml/rendering/render_style.h: Add APPLEAQUA to border enum
   58266         * khtml/rendering/render_text.cpp:
   58267         (RenderText::paintObject): Removed code to draw outlines.
   58268         * khtml/rendering/render_text.h: Ditto.
   58269         * khtml/xml/dom_elementimpl.cpp: Removed redundant isSelectable check.
   58270         * khtml/xml/dom_elementimpl.h: Ditto.
   58271         * khtml/xml/dom_nodeimpl.cpp:
   58272         (NodeImpl::isSelectable): Added.
   58273         (NodeBaseImpl::setFocus): Do not set focus on siblings.
   58274         * khtml/xml/dom_nodeimpl.h: Moved implementation to .cpp file.
   58275         * kwq/KWQButton.mm:
   58276         (-[KWQButton nextKeyView]): Send a blur before going to next
   58277 	key view. This prevents focus from being lost altogether.
   58278         (-[KWQButton previousKeyView]): Ditto.
   58279         * kwq/KWQKHTMLPart.h: Added documentViewForNode function.
   58280         * kwq/KWQKHTMLPart.mm:
   58281         (KWQKHTMLPart::nextKeyViewInFrame): Add check for other focusables,
   58282 	like text links.
   58283         (KWQKHTMLPart::nextKeyViewInFrameHierarchy): Remove focus when leaving
   58284 	a view.
   58285         (KWQKHTMLPart::documentViewForNode): Added.
   58286         (KWQKHTMLPart::khtmlMousePressEvent): Remove focus when you click in
   58287 	a non-focusable area, like the document body.
   58288         * kwq/KWQPainter.h: Added declarations.
   58289         * kwq/KWQPainter.mm:
   58290         (QPainterPrivate::QPainterPrivate): Modified constructor for new fields.
   58291         (QPainter::initFocusRing): Added.
   58292         (QPainter::addFocusRingRect): Added.
   58293         (QPainter::drawFocusRing): Added.
   58294         (QPainter::clearFocusRing): Added.
   58295         * kwq/KWQRect.h:
   58296         (QRect::setRect): Added.
   58297         * kwq/WebCoreBridge.h:
   58298         * kwq/WebCoreBridge.mm:
   58299         (-[WebCoreBridge nextKeyView]): Start from the currently-focused node,
   58300 	if there is one, not unconditionally from the start of the document.
   58301         (-[WebCoreBridge previousKeyView]): Ditto
   58302         * kwq/WebCoreGraphicsBridge.h: Added.
   58303         * kwq/WebCoreGraphicsBridge.m: Added.
   58304         (+[WebCoreGraphicsBridge sharedBridge]): Added.
   58305         (-[WebCoreGraphicsBridge init]): Added.
   58306         (-[WebCoreGraphicsBridge setFocusRingStyle:radius:color:]): Added.
   58307 
   58308 2003-10-30  Maciej Stachowiak  <mjs (a] apple.com>
   58309 
   58310 	Fix mistake in my last change that I did not mean to commit.
   58311 
   58312         * khtml/html/html_imageimpl.cpp:
   58313         (HTMLImageElementImpl::width): Remove extraneous second attempt to
   58314 	lay out.
   58315 
   58316 2003-10-30  David Hyatt  <hyatt (a] apple.com>
   58317 
   58318 	Put paged-media changes back without the wrongful removal of the style data copy constructors (which
   58319 	were necessary after all).
   58320 	
   58321         * ChangeLog:
   58322         * khtml/css/cssstyleselector.cpp:
   58323         (khtml::CSSStyleSelector::applyRule):
   58324         * khtml/rendering/render_style.cpp:
   58325         (StyleInheritedData::StyleInheritedData):
   58326         (StyleInheritedData::operator==):
   58327         * khtml/rendering/render_style.h:
   58328         (khtml::):
   58329         (khtml::RenderStyle::NonInheritedFlags::operator==):
   58330         (khtml::RenderStyle::setBitDefaults):
   58331         (khtml::RenderStyle::widows):
   58332         (khtml::RenderStyle::orphans):
   58333         (khtml::RenderStyle::pageBreakInside):
   58334         (khtml::RenderStyle::pageBreakBefore):
   58335         (khtml::RenderStyle::pageBreakAfter):
   58336         (khtml::RenderStyle::setWidows):
   58337         (khtml::RenderStyle::setOrphans):
   58338         (khtml::RenderStyle::setPageBreakInside):
   58339         (khtml::RenderStyle::setPageBreakBefore):
   58340         (khtml::RenderStyle::setPageBreakAfter):
   58341 
   58342 2003-10-30  Maciej Stachowiak  <mjs (a] apple.com>
   58343 
   58344         Reviewed by Dave.
   58345 
   58346 	- fixed 3468129 - REGRESSION: FOUC occurs on Surfin' Safari
   58347 	
   58348         * khtml/ecma/kjs_html.cpp:
   58349         (KJS::HTMLElement::getValueProperty): Don't force layout for image
   58350 	width/height if you can determine it statically from the attribute.
   58351         * khtml/html/html_image.cpp:
   58352         (HTMLImageElementImpl::width):
   58353         (HTMLImageElementImpl::height):
   58354 
   58355 === Safari-112 ===
   58356 
   58357 2003-10-30  Ken Kocienda  <kocienda (a] apple.com>
   58358 
   58359 	Rolling out this code since it caused a big performance 
   58360 	regression.
   58361 
   58362 	2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58363 
   58364 		Add the paged media properties to RenderStyle.  
   58365 		They aren't used yet, but they should now be
   58366 		parsed and interpreted correctly.
   58367 
   58368         * khtml/css/cssstyleselector.cpp:
   58369         (khtml::CSSStyleSelector::applyRule):
   58370         * khtml/rendering/render_style.cpp:
   58371         (StyleSurroundData::StyleSurroundData):
   58372         (StyleBoxData::StyleBoxData):
   58373         (StyleBoxData::operator==):
   58374         (StyleVisualData::~StyleVisualData):
   58375         (StyleVisualData::StyleVisualData):
   58376         (StyleBackgroundData::StyleBackgroundData):
   58377         (StyleFlexibleBoxData::StyleFlexibleBoxData):
   58378         (opacity):
   58379         (textShadow):
   58380         (StyleInheritedData::StyleInheritedData):
   58381         (StyleInheritedData::~StyleInheritedData):
   58382         (StyleInheritedData::operator==):
   58383         * khtml/rendering/render_style.h:
   58384         (khtml::StyleBackgroundData::~StyleBackgroundData):
   58385         (khtml::StyleFlexibleBoxData::~StyleFlexibleBoxData):
   58386         (khtml::RenderStyle::NonInheritedFlags::operator==):
   58387         (khtml::RenderStyle::setBitDefaults):
   58388 
   58389 2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58390 
   58391 	Fix for 3466628, widgets in overflow blocks don't move when the overflow block is scrolled.  This
   58392 	was a regression caused by my change to move widgets only during layout and not at paint time.  The
   58393 	problem with this is that scrolling an overflow block doesn't do a layout, just a repaint.  I patched
   58394 	the layer code to update widget positions on an overflow block scroll.
   58395 
   58396 	This then exposed a bug in absolutePosition, namely that the scroll offset was never factored in when
   58397 	computing absolutePosition.  This bug also explains why text selection and cursor display were wrong
   58398 	inside scrolled overflow blocks.
   58399 	
   58400         Reviewed by mjs
   58401 
   58402         * khtml/rendering/render_box.cpp:
   58403         (RenderBox::absolutePosition):
   58404         * khtml/rendering/render_layer.cpp:
   58405         (RenderLayer::scrollToOffset):
   58406         * khtml/rendering/render_object.cpp:
   58407         (RenderObject::absolutePosition):
   58408         * khtml/rendering/render_text.cpp:
   58409         (RenderText::cursorPos):
   58410         (RenderText::posOfChar):
   58411         * khtml/rendering/render_text.h:
   58412 
   58413 2003-10-29  Maciej Stachowiak  <mjs (a] apple.com>
   58414 
   58415         Reviewed by Dave.
   58416 
   58417 	- fixed 3467499 - REGRESSION: onClick handlers on links don't work (bubbling broken)
   58418 	
   58419         * khtml/xml/dom2_eventsimpl.cpp:
   58420         (EventImpl::EventImpl): Initialize m_cancelBubble (duh).
   58421 
   58422 2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58423 
   58424 	Fix for 3466802.  When breaking on a newline, "pre" is determined by checking the actual object that
   58425 	the line broke on, and not by simply checking the "pre" status of the containing block.
   58426 	
   58427         Reviewed by mjs
   58428 
   58429         * khtml/rendering/bidi.cpp:
   58430         (khtml::RenderBlock::layoutInlineChildren):
   58431 
   58432 2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58433 
   58434 	Add the paged media properties to RenderStyle.  They aren't used yet, but they should now be 
   58435 	parsed and interpreted correctly.
   58436 	
   58437         Reviewed by kocienda
   58438 
   58439         * khtml/css/cssstyleselector.cpp:
   58440         (khtml::CSSStyleSelector::applyRule):
   58441         * khtml/rendering/render_style.cpp:
   58442         (StyleBoxData::operator==):
   58443         (StyleFlexibleBoxData::StyleFlexibleBoxData):
   58444         (:opacity):
   58445         (:textShadow):
   58446         (StyleInheritedData::StyleInheritedData):
   58447         (StyleInheritedData::operator==):
   58448         * khtml/rendering/render_style.h:
   58449         (khtml::):
   58450         (khtml::RenderStyle::NonInheritedFlags::operator==):
   58451         (khtml::RenderStyle::setBitDefaults):
   58452         (khtml::RenderStyle::widows):
   58453         (khtml::RenderStyle::orphans):
   58454         (khtml::RenderStyle::pageBreakInside):
   58455         (khtml::RenderStyle::pageBreakBefore):
   58456         (khtml::RenderStyle::pageBreakAfter):
   58457         (khtml::RenderStyle::setWidows):
   58458         (khtml::RenderStyle::setOrphans):
   58459         (khtml::RenderStyle::setPageBreakInside):
   58460         (khtml::RenderStyle::setPageBreakBefore):
   58461         (khtml::RenderStyle::setPageBreakAfter):
   58462 
   58463 2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58464 
   58465         * khtml/css/cssstyleselector.cpp:
   58466         (khtml::CSSStyleSelector::applyRule):
   58467         * khtml/rendering/render_style.cpp:
   58468         (StyleBoxData::operator==):
   58469         (StyleFlexibleBoxData::StyleFlexibleBoxData):
   58470         (:opacity):
   58471         (:textShadow):
   58472         (StyleInheritedData::StyleInheritedData):
   58473         (StyleInheritedData::operator==):
   58474         * khtml/rendering/render_style.h:
   58475         (khtml::):
   58476         (khtml::RenderStyle::NonInheritedFlags::operator==):
   58477         (khtml::RenderStyle::setBitDefaults):
   58478         (khtml::RenderStyle::widows):
   58479         (khtml::RenderStyle::orphans):
   58480         (khtml::RenderStyle::pageBreakInside):
   58481         (khtml::RenderStyle::pageBreakBefore):
   58482         (khtml::RenderStyle::pageBreakAfter):
   58483         (khtml::RenderStyle::setWidows):
   58484         (khtml::RenderStyle::setOrphans):
   58485         (khtml::RenderStyle::setPageBreakInside):
   58486         (khtml::RenderStyle::setPageBreakBefore):
   58487         (khtml::RenderStyle::setPageBreakAfter):
   58488 
   58489 2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58490 
   58491 	Refine the fix to updateLayout.
   58492 	updateStyleSelector would get called over and over again when you queried for layout properties from
   58493 	JS.  If no stylesheets are pending, this isn't necessary (and is quite expensive, since updateStyleSelector
   58494 	is a slow function).
   58495 	
   58496         Reviewed by darin
   58497 
   58498         * khtml/xml/dom_docimpl.cpp:
   58499         (DocumentImpl::updateLayout):
   58500 
   58501 2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58502 
   58503 	Fix crasher in border collapsing code.
   58504 	
   58505         Reviewed by kocienda
   58506 
   58507         * khtml/rendering/render_table.cpp:
   58508         (RenderTable::cellRight):
   58509 
   58510 2003-10-28  Maciej Stachowiak  <mjs (a] apple.com>
   58511 
   58512         Reviewed by Darin.
   58513 
   58514 	- fixed 3163842 - Citibank cardmember central DHTML menus not working right in Safari
   58515 	
   58516         * khtml/ecma/kjs_html.cpp:
   58517         (KJS::HTMLElement::getValueProperty): update layout before fetching image properties
   58518 	that need it.
   58519         * khtml/xml/dom_docimpl.cpp:
   58520         (DocumentImpl::DocumentImpl): Initialize m_ignorePendingStylesheets to false.
   58521         (DocumentImpl::updateLayout): Ignore pending stylesheets - when JS demands a
   58522 	layout, it wants a real one now.
   58523         (DocumentImpl::updateStyleSelector): Go ahead with the update if we're ignoring
   58524 	pending stylesheets.
   58525         * khtml/xml/dom_docimpl.h:
   58526         (DOM::DocumentImpl::haveStylesheetsLoaded): Pretend stylesheets have loaded if
   58527 	we're temporarily ignoring pending stylesheets.
   58528 
   58529 2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58530 
   58531 	Implement support for <marquee>.  This includes support for the CSS3 specification (although modified a fair
   58532 	bit to actually be compatible with WinIE's version and to correct obvious errors in the draft).  All of the
   58533 	marquee behaviors (slide, scroll, and alternate) are supported.
   58534 
   58535 	This patch also fixes the following bugs that were discovered while testing marquee:
   58536 	(1) An error in the computation of scrollWidth and scrollHeight.  
   58537 	(2) The ability to ask for the leftmostPosition as well as the rightmostPosition of content and to
   58538 	be able to ask for the positions of children (via left/right/lowest) without including the parent in the
   58539 	computation.
   58540 	(3) An optimization to RenderFlow's rightmost/lowestPosition functions to avoid examining text elements since
   58541 	they are always fully accounted for by either overflow or by inline flow boxes.
   58542 	(4) A fix for RTL rendering.  A block with direction:RTL was being placed on the right, when in reality only
   58543 	its children should be placed on the right.
   58544 	(5) A fix to prevent inline blocks and tables from computing auto margins (making them just like floats in this
   58545 	regard).
   58546 	
   58547         Reviewed by darin
   58548 
   58549         * khtml/css/cssparser.cpp:
   58550         (validUnit):
   58551         (CSSParser::parseValue):
   58552         * khtml/css/cssproperties.c:
   58553         (hash_prop):
   58554         (findProp):
   58555         * khtml/css/cssproperties.h:
   58556         * khtml/css/cssproperties.in:
   58557         * khtml/css/cssstyleselector.cpp:
   58558         (khtml::convertToLength):
   58559         (khtml::CSSStyleSelector::applyRule):
   58560         * khtml/css/cssvalues.c:
   58561         (hash_val):
   58562         (findValue):
   58563         * khtml/css/cssvalues.h:
   58564         * khtml/css/cssvalues.in:
   58565         * khtml/css/html4.css:
   58566         * khtml/html/html_blockimpl.cpp:
   58567         (HTMLMarqueeElementImpl::HTMLMarqueeElementImpl):
   58568         (HTMLMarqueeElementImpl::id):
   58569         (HTMLMarqueeElementImpl::parseAttribute):
   58570         * khtml/html/html_blockimpl.h:
   58571         (DOM::HTMLMarqueeElementImpl::minimumDelay):
   58572         * khtml/html/htmlparser.cpp:
   58573         (KHTMLParser::getElement):
   58574         * khtml/misc/htmlattrs.c:
   58575         (hash_attr):
   58576         (findAttr):
   58577         * khtml/misc/htmlattrs.h:
   58578         * khtml/misc/htmlattrs.in:
   58579         * khtml/rendering/bidi.cpp:
   58580         (khtml::RenderBlock::findNextLineBreak):
   58581         * khtml/rendering/render_block.cpp:
   58582         (khtml::RenderBlock::lowestPosition):
   58583         (khtml::RenderBlock::rightmostPosition):
   58584         (khtml::RenderBlock::leftmostPosition):
   58585         * khtml/rendering/render_block.h:
   58586         * khtml/rendering/render_box.cpp:
   58587         (RenderBox::setStyle):
   58588         (RenderBox::calcWidth):
   58589         (RenderBox::calcHorizontalMargins):
   58590         (RenderBox::lowestPosition):
   58591         (RenderBox::rightmostPosition):
   58592         (RenderBox::leftmostPosition):
   58593         * khtml/rendering/render_box.h:
   58594         * khtml/rendering/render_flow.cpp:
   58595         (RenderFlow::lowestPosition):
   58596         (RenderFlow::rightmostPosition):
   58597         (RenderFlow::leftmostPosition):
   58598         * khtml/rendering/render_flow.h:
   58599         * khtml/rendering/render_layer.cpp:
   58600         (RenderLayer::RenderLayer):
   58601         (RenderLayer::~RenderLayer):
   58602         (RenderLayer::updateLayerPositions):
   58603         (RenderLayer::scrollToOffset):
   58604         (RenderLayer::computeScrollDimensions):
   58605         (RenderLayer::styleChanged):
   58606         (RenderLayer::stopMarquees):
   58607         (m_whiteSpace):
   58608         (Marquee::marqueeSpeed):
   58609         (Marquee::direction):
   58610         (Marquee::isHorizontal):
   58611         (Marquee::computePosition):
   58612         (Marquee::start):
   58613         (Marquee::stop):
   58614         (Marquee::updateMarqueePosition):
   58615         (Marquee::updateMarqueeStyle):
   58616         (Marquee::timerEvent):
   58617         * khtml/rendering/render_layer.h:
   58618         (khtml::):
   58619         (khtml::RenderLayer::marquee):
   58620         * khtml/rendering/render_object.cpp:
   58621         (RenderObject::isHTMLMarquee):
   58622         (RenderObject::sizesToMaxWidth):
   58623         * khtml/rendering/render_object.h:
   58624         (khtml::RenderObject::lowestPosition):
   58625         (khtml::RenderObject::rightmostPosition):
   58626         (khtml::RenderObject::leftmostPosition):
   58627         * khtml/rendering/render_style.cpp:
   58628         (StyleMarqueeData::StyleMarqueeData):
   58629         (StyleMarqueeData::operator==):
   58630         (opacity):
   58631         (marquee):
   58632         (StyleCSS3NonInheritedData::operator==):
   58633         (RenderStyle::RenderStyle):
   58634         * khtml/rendering/render_style.h:
   58635         (khtml::):
   58636         (khtml::StyleMarqueeData::operator!=):
   58637         (khtml::RenderStyle::marqueeIncrement):
   58638         (khtml::RenderStyle::marqueeSpeed):
   58639         (khtml::RenderStyle::marqueeLoopCount):
   58640         (khtml::RenderStyle::marqueeBehavior):
   58641         (khtml::RenderStyle::marqueeDirection):
   58642         (khtml::RenderStyle::setMarqueeIncrement):
   58643         (khtml::RenderStyle::setMarqueeSpeed):
   58644         (khtml::RenderStyle::setMarqueeDirection):
   58645         (khtml::RenderStyle::setMarqueeBehavior):
   58646         (khtml::RenderStyle::setMarqueeLoopCount):
   58647         * khtml/xml/dom_docimpl.cpp:
   58648         (DocumentImpl::createHTMLElement):
   58649         * kwq/KWQKHTMLPart.mm:
   58650         (KWQKHTMLPart::clearTimers):
   58651 
   58652 2003-10-29  David Hyatt  <hyatt (a] apple.com>
   58653 
   58654 	Make <button> be an inline-block.
   58655 	
   58656         * khtml/css/html4.css:
   58657 
   58658 2003-10-28  Maciej Stachowiak  <mjs (a] apple.com>
   58659 
   58660         Reviewed by Darin.
   58661 
   58662 	 - fixed 3465547 - REGRESSION (100-111)?: window.prompt does not work
   58663 	
   58664         * kwq/KWQKHTMLPart.mm:
   58665         (KWQKHTMLPart::runJavaScriptPrompt): Return the result properly
   58666 	instead of always returning false.
   58667 
   58668 2003-10-28  Darin Adler  <darin (a] apple.com>
   58669 
   58670         Reviewed by Maciej.
   58671 
   58672         - fixed 3465504 -- REGRESSION (100-111): text areas with Chinese text in them are wider than ones without
   58673 
   58674         * kwq/KWQTextArea.h: Add _font field.
   58675         * kwq/KWQTextArea.mm:
   58676         (-[KWQTextArea dealloc]): Release _font.
   58677         (-[KWQTextArea setFont:]): Store font in _font as well as setting it in the text view.
   58678         (-[KWQTextArea sizeWithColumns:rows:]): Use _font rather than asking the text view for the font.
   58679 
   58680 2003-10-28  Darin Adler  <darin (a] apple.com>
   58681 
   58682         Reviewed by Maciej.
   58683 
   58684         - fixed 3464702 -- node.item(x) is not implemented (dynamic menus not filled out at techcu.com)
   58685 
   58686         * khtml/ecma/kjs_dom.cpp: (DOMNodeProtoFunc::tryCall): Add implementation of item function.
   58687         * khtml/ecma/kjs_dom.h: Added Item to the enum.
   58688         * khtml/ecma/kjs_dom.lut.h: Regenerated.
   58689 
   58690 2003-10-28  Maciej Stachowiak  <mjs (a] apple.com>
   58691 
   58692         Reviewed by Dave,
   58693 
   58694 	- fixed 3379725 - for <a> elements with both onclick and href, Web Kit's behavior does not match other browsers
   58695 
   58696 	The fix for this was to make cancelBubble only prevent bubbling,
   58697 	but not stop propagation or prevent default. While I was at it, I
   58698 	made returnValue work right too.
   58699 	
   58700         * khtml/ecma/kjs_events.cpp:
   58701         (DOMEvent::getValueProperty): Implement cancelBubble and returnValue properties properly.
   58702         (DOMEvent::putValue): Ditto.
   58703         * khtml/dom/dom2_events.cpp:
   58704         (Event::setCancelBubble): Call impl.
   58705         (Event::setDefaultPrevented): Ditto.
   58706         (Event::getCancelBubble): Ditto.
   58707         (Event::defaultPrevented): Ditto.
   58708         * khtml/dom/dom2_events.h:
   58709         * khtml/xml/dom2_eventsimpl.h:
   58710         (DOM::EventImpl::propagationStopped): Made this a const method.
   58711         (DOM::EventImpl::defaultPrevented): Ditto.
   58712         (DOM::EventImpl::setCancelBubble): Implemented by setting a new field.
   58713         (DOM::EventImpl::getCancelBubble): Corresponding getter.
   58714         (DOM::EventImpl::setDefaultPrevented): Set the already existing field for this.
   58715         * khtml/xml/dom_nodeimpl.cpp:
   58716         (NodeImpl::dispatchGenericEvent): Check getCancelBubble() when bubbling. Do not
   58717 	check bubbles() before default handling.
   58718 
   58719 2003-10-28  Chris Blumenberg  <cblu (a] apple.com>
   58720 
   58721 	Fixed: <rdar://problem/3464472>: REGRESSION: New CSS cursor support breaks style="cursor:default
   58722 
   58723         Reviewed by dave.
   58724 
   58725         * kwq/KWQWidget.mm:
   58726         (QWidget::cursor): break after we hit a view that responds to documentCursor as we do in setCursor. Without breaking we were returning the cursor of the most super HTML view which is not what we want.
   58727 
   58728 2003-10-28  Maciej Stachowiak  <mjs (a] apple.com>
   58729 
   58730         Reviewed by John.
   58731 
   58732 	- fixed 3421393 - window.open does not handle non-integral height/width (small window at saabusa.com)
   58733 	
   58734         * khtml/ecma/kjs_window.cpp:
   58735         (WindowFunc::tryCall): Parse width, height, top and left as
   58736 	floating point and then cast to int instead of parsing as int to
   58737 	match other browsers and avoid rejecting floating point numbers.
   58738 
   58739 2003-10-28  Maciej Stachowiak  <mjs (a] apple.com>
   58740 
   58741         Reviewed by John.
   58742 
   58743 	- fixed 3464528 - addEventListener does not work for buttons, text areas, or inputs
   58744 
   58745         * khtml/rendering/render_form.cpp:
   58746         (RenderFormElement::slotClicked): Send CLICK_EVENT as well as one
   58747 	of KHTML_CLICK_EVENT or KHTML_DOUBLE_CLICK_EVENT.
   58748 
   58749 2003-10-28  Maciej Stachowiak  <mjs (a] apple.com>
   58750 
   58751         Fixed broken build.
   58752 
   58753         * kwq/KWQKPartsPart.mm:
   58754         (KParts::ReadOnlyPart::setName): It's a ReadOnlyPart method, not a Part method.
   58755 
   58756 2003-10-28  Maciej Stachowiak  <mjs (a] apple.com>
   58757 
   58758         Reviewed by John.
   58759 
   58760 	- fixed 3427046 - href and src attributes don't always give resolved URL
   58761 
   58762 	It turns out that all href and src attributes should be resolved
   58763 	against the base, except for frame elements.
   58764 	
   58765         * khtml/dom/html_base.cpp:
   58766         (HTMLIFrameElement::src): Resolve against base URL.
   58767         * khtml/dom/html_form.cpp:
   58768         (HTMLInputElement::src): Resolve URL even when empty. Remove
   58769 	comment questioning resolution against base - it's definitely
   58770 	right.
   58771         * khtml/dom/html_head.cpp:
   58772         (HTMLBaseElement::href): Resolve against base URL.
   58773         (HTMLLinkElement::href): Ditto.
   58774         (HTMLScriptElement::src): Ditto.
   58775         * khtml/dom/html_image.cpp:
   58776         (HTMLAreaElement::href): Ditto.
   58777 	(HTMLImageElement::src): Resolve URL even when empty. Remove
   58778 	comment questioning resolution against base - it's definitely
   58779 	right.
   58780         * khtml/dom/html_inline.cpp:
   58781         (HTMLAnchorElement::href): Resolve against base URL.
   58782 
   58783 2003-10-27  Maciej Stachowiak  <mjs (a] apple.com>
   58784 
   58785         Reviewed by Darin.
   58786 
   58787 	- fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level
   58788 	
   58789         * kwq/KWQKHTMLPart.h:
   58790         * kwq/KWQKHTMLPart.mm:
   58791         (KWQKHTMLPart::setName): Make sure the name is unique. Then tell
   58792 	the bridge and the superclass about it.
   58793         * kwq/KWQKPartsPart.h:
   58794         (KParts::ReadOnlyPart::setName): Made this method virtual.
   58795         * kwq/KWQKPartsPart.m: Added. Moved implementations of virtual methods here.
   58796         * kwq/WebCoreBridge.h:
   58797         * kwq/WebCoreBridge.mm:
   58798         (-[WebCoreBridge setName:]): Call the superclass method to avid
   58799 	sending the name pointlessly back across the bridge.
   58800 
   58801 2003-10-28  Darin Adler  <darin (a] apple.com>
   58802 
   58803         Reviewed by John.
   58804 
   58805         - fixed 3465063 -- REGRESSION (107-108): hang when fetching a page with an ad in a subframe (theage.com.au)
   58806 
   58807         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Follow the parent chain properly rather
   58808         than repeatedly getting the part's own parent!
   58809 
   58810 2003-10-27  Maciej Stachowiak  <mjs (a] apple.com>
   58811 
   58812         Reviewed by Darin.
   58813 
   58814 	Improved exception blocking in the following ways:
   58815 
   58816 	- use C+constructors and destructors so returning or breaking out of an exception block works
   58817 	- Remove use of volatile
   58818 	- Collapse the caught exception case into a single function call to reduce code size.
   58819 
   58820         * WebCore.pbproj/project.pbxproj:
   58821         * kwq/KWQButton.mm:
   58822         * kwq/KWQCheckBox.mm:
   58823         * kwq/KWQComboBox.mm:
   58824         * kwq/KWQExceptions.h:
   58825         * kwq/KWQExceptions.mm: Added.
   58826         * kwq/KWQFileButton.mm:
   58827         * kwq/KWQFont.mm:
   58828         * kwq/KWQFrame.mm:
   58829         * kwq/KWQKConfigBase.mm:
   58830         * kwq/KWQKCookieJar.mm:
   58831         * kwq/KWQKCursor.mm:
   58832         * kwq/KWQKHTMLPart.mm:
   58833         * kwq/KWQKHTMLPartBrowserExtension.mm:
   58834         * kwq/KWQKHistoryProvider.mm:
   58835         * kwq/KWQKJavaAppletWidget.mm:
   58836         * kwq/KWQKJobClasses.mm:
   58837         * kwq/KWQKLocale.mm:
   58838         * kwq/KWQKPartsBrowserInterface.mm:
   58839         * kwq/KWQLineEdit.mm:
   58840         * kwq/KWQListBox.mm:
   58841         * kwq/KWQLoader.mm:
   58842         * kwq/KWQPainter.mm:
   58843         * kwq/KWQPushButton.mm:
   58844         * kwq/KWQRadioButton.mm:
   58845         * kwq/KWQScrollBar.mm:
   58846         * kwq/KWQScrollView.mm:
   58847         * kwq/KWQTextEdit.mm:
   58848         * kwq/KWQWidget.mm:
   58849         
   58850 2003-10-26  Darin Adler  <darin (a] apple.com>
   58851 
   58852         * khtml/khtml_part.cpp: (findWordBoundary): Fix small mistake from NULL check-in earlier.
   58853 
   58854 2003-10-26  Darin Adler  <darin (a] apple.com>
   58855 
   58856         * kwq/KWQLoader.mm: (KWQResponseMIMEType): Removed an excess volatile.
   58857 
   58858 2003-10-26  Darin Adler  <darin (a] apple.com>
   58859 
   58860         Reviewed by Maciej.
   58861 
   58862         - fixed 3463624 -- page at cinemakorea.com shows up blank due to kTECBufferBelowMinimumSizeErr from TEC
   58863 
   58864         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertOneChunkUsingTEC): To work around the bug
   58865         I found in the decoder (Radar 3351093), change kTECBufferBelowMinimumSizeErr to
   58866         kTECOutputBufferFullStatus in cases where bytes were actually converted.
   58867 
   58868 2003-10-26  Darin Adler  <darin (a] apple.com>
   58869 
   58870         Reviewed by Maciej.
   58871 
   58872         - fixed 3463586 -- WebCore does not compile with new definition of NULL
   58873 
   58874         * khtml/khtml_part.cpp: (findWordBoundary): Changed NULL to 0 and did a little code
   58875         cleanup of the surrounding code.
   58876         * khtml/rendering/break_lines.cpp: (khtml::isBreakable): Changed NULL to 0 and did
   58877         a tiny bit of cleanup.
   58878 
   58879         * WebCorePrefix.h: Add a definition of NULL here that takes advantage of the GNU
   58880         __null feature even if the system C library doesn't.
   58881 
   58882 2003-10-26  Darin Adler  <darin (a] apple.com>
   58883 
   58884         Reviewed by Maciej.
   58885 
   58886         - fixed 3457831 -- REGRESSION: copying particular text and pasting (plain) produces lots of extra text
   58887 
   58888         * khtml/khtml_part.cpp: (KHTMLPart::text): Check for the end node when following a
   58889         link to the parent node, not just when following a link to the next child node.
   58890         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Ditto.
   58891 
   58892 == Rolled over to ChangeLog-2003-10-25 ==
   58893