WebCore/ChangeLog-2005-08-23
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 2005-08-23  David Harrison  <harrison@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@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@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@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@apple.com>
       
    75         Fix by Tobias Lidskog <tobiaslidskog@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@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@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@apple.com>
       
   108         Fix by Tobias Lidskog <tobiaslidskog@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@apple.com>
       
   122         Fix by Tobias Lidskog <tobiaslidskog@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@apple.com>
       
   154         Fix by Tobias Lidskog <tobiaslidskog@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@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@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@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@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@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@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@apple.com>
       
   326         Change from Tobias Lidskog <tobiaslidskog@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
  1194         Fix by Tobias Lidskog <tobiaslidskog@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@apple.com>
       
  1205         Fix from Tobias Lidskog <tobiaslidskog@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
  1801 
       
  1802         Fixed by Alexey Proskuryakov <ap@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@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@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@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@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@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@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@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@apple.com>
       
  1928 
       
  1929         * layout-tests/fast/js/date-big-setdate.html: fixed title
       
  1930 
       
  1931 2005-08-11  Eric Seidel  <eseidel@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@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@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@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@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@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@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@apple.com>
       
  2047 
       
  2048         Bumping version to 420+
       
  2049 
       
  2050         * Info.plist:
       
  2051 
       
  2052 2005-08-09  David Harrison  <harrison@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@apple.com>
       
  2066 
       
  2067         Patch by Anders Carlsson  <andersca@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@apple.com>
       
  2082 
       
  2083         Patch by Anders Carlsson <andersca@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@apple.com>
       
  2104 
       
  2105         Patch by Anders Carlsson <andersca@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@apple.com>
       
  2119 
       
  2120         Patch by Anders Carlsson <andersca@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
  7492 
       
  7493         Reviewed by darin, eseidel
       
  7494         Submitted by Ben La Monica <ben.lamonica@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@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@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@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@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@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@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@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@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@apple.com>
       
  7679 	Fix submitted by: Andrew Wellington <proton@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@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@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@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@apple.com>
       
  7735 
       
  7736         Patch by Trey Matteson <trey@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
  8081 
       
  8082         Patch by Anders Carlsson <andersca@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@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@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@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@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@apple.com>
       
  8153 
       
  8154         * WebCore.pbproj/project.pbxproj: Removed.
       
  8155 
       
  8156 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
       
  8157 
       
  8158         * WebCore.xcodeproj/.cvsignore: Added.
       
  8159 
       
  8160 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
       
  8161 
       
  8162         * WebCore.xcodeproj/project.pbxproj: Added.
       
  8163 
       
  8164 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
       
  8165 
       
  8166         * Makefile.am:
       
  8167 
       
  8168 2005-07-21  Beth Dakin  <bdakin@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@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@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@apple.com>
       
  8260 
       
  8261         Rolling fix for <rdar://problem/4046602> back in.
       
  8262 
       
  8263     2005-03-11  David Harrison  <harrison@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@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@apple.com>
       
  8286 
       
  8287         Patch from Trey Matteson <trey@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@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@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@apple.com>
       
  8369 
       
  8370         -rolled in patch by Anders Carlsson <andersca@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@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@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@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@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@apple.com>
       
  8467 
       
  8468         - rolled in patch by opendarwin.org@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@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@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@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@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@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@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@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@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@apple.com>
       
 10537 
       
 10538         Written by Anders Carlsson  <andersca@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@apple.com>
       
 10556 
       
 10557         Written by Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 13341 
       
 13342 	- fixed by Trey Matteson <trey@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@apple.com>
       
 13365 
       
 13366         - oops, accidentally committed stat dumping enabled
       
 13367 
       
 13368         * khtml/misc/hashtable.h:
       
 13369 
       
 13370 2005-07-07  Maciej Stachowiak  <mjs@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 13557 
       
 13558         More ggc-4-only build fixage.
       
 13559 	
       
 13560         * khtml/misc/hashtraits.h:
       
 13561 
       
 13562 2005-07-06  Maciej Stachowiak  <mjs@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@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@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@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@apple.com>
       
 13708 
       
 13709         Rolled in patch by opendarwin.org@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 14003 
       
 14004 	Original patch from Mark Rowe <opendarwin.org@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@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@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@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@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@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@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@apple.com>
       
 14090 
       
 14091         * kwq/KWQPair.h: added newline, per mjs's request.
       
 14092 
       
 14093 2005-07-03  Eric Seidel  <eseidel@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@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@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@apple.com>
       
 14152 
       
 14153         -landed patch by Eric Seidel <eric@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@apple.com>
       
 14166 
       
 14167         -landed patch by Carsten Guenther <cguenther@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@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@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@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@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@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@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@apple.com>
       
 14390 
       
 14391         Contributed by Francisco Tolmasky <tolmasky@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 14540 
       
 14541         Patch by Joost de Valk <webkit@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@apple.com>
       
 14553 
       
 14554         Patch by Anders Carlsson  <andersca@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@apple.com>
       
 14571 
       
 14572         Patch by Antoine Quint <ml@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@apple.com>
       
 14586 
       
 14587 	Patch by Hanspeter Schaub <Hanspeterschaub@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@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@apple.com>
       
 14614 
       
 14615         Patch by Kevin Ballard <kevin@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@apple.com>
       
 14633 
       
 14634         Patch by Alexey Proskuryakov <ap@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 14894 
       
 14895         Patch by Eric Seidel <eric@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@apple.com>
       
 14908 
       
 14909         Patch by Eric Seidel <eric@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 15092 
       
 15093         Patch from KevinBallard <kevin@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@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@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@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@apple.com>
       
 15138 
       
 15139         Patch contributed by Niels Leenheer <niels.leenheer@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@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@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@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@apple.com>
       
 15225 
       
 15226         Patch from Mark Rowe <opendarwin.org@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 15577 
       
 15578 	Patch contributed by Anders Carlsson<andersca@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@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@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@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@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@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@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@apple.com>
       
 15687 
       
 15688 	Patch from Andrew Wellington <proton@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@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@apple.com>
       
 15708 
       
 15709         Patch from Nicholas Shanks <contact@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@apple.com>
       
 15737 
       
 15738         Patch from Timothy Hatcher  <timothy@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@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@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@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@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@apple.com>
       
 15801 
       
 15802         Change by Mark Rowe <opendarwin.org@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@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@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@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@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@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@apple.com>
       
 15894 
       
 15895         Change by Toby Peterson <toby@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@apple.com>
       
 15902 
       
 15903         Change by Mark Rowe <opendarwin.org@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 16457 
       
 16458         * WebCore.exp: Sorted file for more readable diffs.
       
 16459 
       
 16460 2005-05-23  Adele Peterson  <adele@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 19844 
       
 19845         * khtml/ecma/kjs_html.h: Removed unnecessary bogus class name qualifiers.
       
 19846 
       
 19847 2005-04-22  David Hyatt  <hyatt@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 20931 
       
 20932 	- roll out this change for now, since it was denied by CCC
       
 20933 
       
 20934     2005-03-11  David Harrison  <harrison@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 21141 
       
 21142         Reviewed by me
       
 21143 
       
 21144         * ForwardingHeaders/editing/visible_units.h: Added.
       
 21145 
       
 21146 2005-03-11  Ken Kocienda  <kocienda@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 25316 
       
 25317         * khtml/css/cssproperties.c: Regenerated with newer gperf.
       
 25318 
       
 25319 2005-01-28  David Harrison  <harrison@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 27747 
       
 27748         * kwq/KWQFoundationExtras.h: (KWQCFAutorelease): Added nil check.
       
 27749 
       
 27750 2004-12-19  Darin Adler  <darin@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 29587 
       
 29588         * ChangeLog: removed conflict marker
       
 29589 
       
 29590 2004-11-30  Chris Blumenberg  <cblu@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@apple.com>
       
 29622 
       
 29623         Reviewed by John.
       
 29624 
       
 29625 2004-11-30  Maciej Stachowiak  <mjs@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 31099 	
       
 31100         Fix build horkage from previous checkin.
       
 31101 		
       
 31102         * kwq/KWQKHTMLPart.h:
       
 31103 
       
 31104 2004-11-11  Darin Adler  <darin@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 34766 
       
 34767         * ForwardingHeaders/*: Use import instead of include.
       
 34768 
       
 34769 2004-09-22  Darin Adler  <darin@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 35684 
       
 35685         * layout-tests/editing/selection/unrendered-004-expected.txt: Updated expected results.
       
 35686 
       
 35687 2004-09-17  Ken Kocienda  <kocienda@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 38614 
       
 38615 	Fix the #define.  I had it all backwards.
       
 38616 	
       
 38617         * WebCorePrefix.h:
       
 38618 
       
 38619 2004-08-16  David Hyatt  <hyatt@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@apple.com>
       
 38676 
       
 38677         Fix build.
       
 38678 
       
 38679         * khtml/khtml_part.cpp:
       
 38680         (KHTMLPart::isImmediateRedirectPending):
       
 38681 
       
 38682 2004-08-16  Richard Williamson   <rjw@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 43722 
       
 43723         Fixed build.
       
 43724 
       
 43725         * ForwardingHeaders/misc/khtml_text_operations.h: Added.
       
 43726 
       
 43727 2004-05-25  Richard Williamson   <rjw@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 45278 
       
 45279         * WebCore.pbproj/project.pbxproj: Backed out unintentional
       
 45280         change.
       
 45281 
       
 45282 2004-05-04  Ken Kocienda  <kocienda@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 48299 
       
 48300         Reviewed by Vicki.
       
 48301 
       
 48302         - fixed deployment build
       
 48303 
       
 48304 2004-03-22  David Hyatt  <hyatt@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 49744 
       
 49745         * kwq/DOMInternal.h: Replaced tabs with spaces.
       
 49746 
       
 49747 2004-03-01  Ken Kocienda  <kocienda@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 52344 
       
 52345         * Makefile.am: Switch from pbxbuild to xcodebuild.
       
 52346 
       
 52347 2004-01-26  David Hyatt  <hyatt@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 54028 
       
 54029         * kwq/KWQLoader.mm:
       
 54030         (KWQCacheObjectExpiresTime): Fixed deployment build bustage.
       
 54031 
       
 54032 2003-12-09  Ken Kocienda  <kocienda@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@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@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@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@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@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@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@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@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@apple.com>
       
 54172 
       
 54173         * kwq/KWQKSSLKeyGen.mm:
       
 54174         (KSSLKeyGen::signedPublicKeyAndChallengeString): removed unnecessary includes
       
 54175 
       
 54176 2003-12-10  David Hyatt  <hyatt@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 57312 
       
 57313         * WebCore-combined.exp: Checked in generated file.
       
 57314 
       
 57315 2003-11-05  Richard Williamson   <rjw@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@apple.com>
       
 57332 
       
 57333         * WebCore-tests.exp: Added missing symbol so tests will link.
       
 57334 
       
 57335 2003-11-05  Maciej Stachowiak  <mjs@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@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@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@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@apple.com>
       
 57465 
       
 57466 	- fixed deployment build
       
 57467 	
       
 57468         * kwq/KWQKHTMLPart.mm:
       
 57469         (KWQKHTMLPart::fileWrapperForElement):
       
 57470 
       
 57471 2003-11-04  Maciej Stachowiak  <mjs@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 58358 
       
 58359 	Rolling out this code since it caused a big performance 
       
 58360 	regression.
       
 58361 
       
 58362 	2003-10-29  David Hyatt  <hyatt@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 58653 
       
 58654 	Make <button> be an inline-block.
       
 58655 	
       
 58656         * khtml/css/html4.css:
       
 58657 
       
 58658 2003-10-28  Maciej Stachowiak  <mjs@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@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@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@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@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@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@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@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@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@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@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@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@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@apple.com>
       
 58855 
       
 58856         * kwq/KWQLoader.mm: (KWQResponseMIMEType): Removed an excess volatile.
       
 58857 
       
 58858 2003-10-26  Darin Adler  <darin@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@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@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 ==