1. 12 May, 2007 10 commits
    • weinig's avatar
      LayoutTests: · d7ffcdc4
      weinig authored
              Reviewed by Hyatt.
      
              - pixel test for http://bugs.webkit.org/show_bug.cgi?id=13695
                REGRESSION (r21387): Replaced elements' highlight rects are wrongly positioned
      
              * fast/replaced/selection-rect-expected.checksum: Added.
              * fast/replaced/selection-rect-expected.png: Added.
              * fast/replaced/selection-rect-expected.txt: Added.
              * fast/replaced/selection-rect.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13695
                REGRESSION (r21387): Replaced elements' highlight rects are wrongly positioned
      
              Test: fast/replaced/selection-rect.html
      
              Also fixes the same problem with list markers, covered by existing test
              fast/lists/markers-in-selection.html.
      
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::selectionRect):
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::selectionRect):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d7ffcdc4
    • weinig's avatar
      LayoutTests: · 6618adcd
      weinig authored
              Reviewed by Darin.
      
              - repaint test for http://bugs.webkit.org/show_bug.cgi?id=13685
                REGRESSION (r21368-r21388): Highlighting text in scrolled textareas behaves oddly
      
              * fast/repaint/text-selection-rect-in-overflow-expected.checksum: Added.
              * fast/repaint/text-selection-rect-in-overflow-expected.png: Added.
              * fast/repaint/text-selection-rect-in-overflow-expected.txt: Added.
              * fast/repaint/text-selection-rect-in-overflow.html: Added.
      
      WebCore:
      
              Reviewed by Darin.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13685
                REGRESSION (r21368-r21388): Highlighting text in scrolled textareas behaves oddly
      
              Test: fast/repaint/text-selection-rect-in-overflow.html
      
              * rendering/RenderText.cpp:
              (WebCore::RenderText::selectionRect):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6618adcd
    • mjs's avatar
      Reviewed by Rob Buis. · ddf9492d
      mjs authored
              
              - call Frame::init as needed - this prevents crashes but pages don't appear.
      
              * Api/qwebframe.cpp:
              (QWebFramePrivate::init):
              * WebKitPart/WebKitPart.cpp:
              (WebKitPart::initView):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddf9492d
    • beidson's avatar
      Rubber stamped by Mitz · 30500e11
      beidson authored
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::attach): unregister->register - I screwed this one up in last minute renaming
                before committing  :(
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30500e11
    • beidson's avatar
      Reviewed by Darin and Geoff · c030e97a
      beidson authored
              Fix for http://bugs.webkit.org/show_bug.cgi?id=13630
              and
              <rdar://problem/4873628>
      
              Back/Forward cache should work with pages with login fields.
      
              First change is to relocate the "useSecureKeyboardEntry" flag to the document.  This lets
              it persist through page cache transitions and it is truly a per-document concept more than
              per-frame anyways since its the document that has a password field, not the frame.
      
              Second change is to introduce the concept of an Element getting a "didRestoreFromCache()" callback.
              The idea is for elements to register with the document if they need work to be done when the
              page comes out of the back/forward cache.  Currently the only client of this service is 
              HTMLInputElements that are input type == PASSWORD.  Such an element's implementation for this
              method is to call reset()
      
              Finally, after a page is restored from the cache we have the document send the didRestoreFromCache()
              callback to its registered Elements.  The whole design is to clear the password fields after 
              restoring the page instead of when caching the page because we want to defer work for the common
              case - there shouldn't be extra work here just to navigate away from a page when the common case
              is that you'll never go back!
      
              No layout tests possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved
      
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::registerForDidRestoreFromCacheCallback): Add an Element to the special page-restoration callback list
              (WebCore::Document::unregisterForDidRestoreFromCacheCallback): Remove such an element
              (WebCore::Document::didRestoreFromCache): Called by FrameLoader - dispatch to all the registered elements
              (WebCore::Document::setUseSecureKeyboardEntryWhenActive): Set the local flag and call updateSecureKeyboardEntryIfActive
                on the Frame
              (WebCore::Document::useSecureKeyboardEntryWhenActive): Return the flag
      
              * dom/Document.h:
              (WebCore::Document::unregisterFormElementWithState): Renamed
      
              * dom/Element.h:
              (WebCore::Element::didRestoreFromCache): Added virtual base method
      
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::~HTMLInputElement): Deregister from the document if inputType == PASSWORD
              (WebCore::HTMLInputElement::dispatchFocusEvent): Set the flag on the document, not the frame
              (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto
              (WebCore::HTMLInputElement::setInputType): If changing to/from PASSWORD, register/deregister in the document accordingly
              (WebCore::HTMLInputElement::attach): Call registerForDidRestoreFromCacheCallback(this) instead of passwordFieldAdded()
              (WebCore::HTMLInputElement::didRestoreFromCache): Call reset();
              * html/HTMLInputElement.h:
      
              * html/HTMLSelectElement.cpp:
              (WebCore::HTMLSelectElement::~HTMLSelectElement): Renamed deregisterFormElementWithState to unregisterFormElementWithState
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Ditto
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::canCachePage): Remove the check for password fields - they're allowed now!
              (WebCore::FrameLoader::opened): Tell the document to dispatch to the registered elements
              (WebCore::FrameLoader::saveDocumentState): Remove the check for password fields.  Turns out that when we grab a copy a the
                form state we're only copying the state of form elements that are registered with the Document - and that set 
                explicitly excludes Password elements
      
              * page/Frame.cpp:
              (WebCore::Frame::setDocument): If the frame is active, set the setUseSecureKeyboardEntry based on the setting contained
                in the new document
              (WebCore::Frame::updateSecureKeyboardEntryIfActive): Notification for the secure entry flag changing - if the Frame is
                active, then update to the new setting from the document
              (WebCore::Frame::setIsActive): Grab the useSecureKeyboardEntry flag from the document instead of FramePrivate
              (WebCore::FramePrivate::FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c030e97a
    • hyatt's avatar
      Update existing invalid tests and add new test for 12740. · a75ae8a3
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a75ae8a3
    • hyatt's avatar
      Fix for bug 12740, bmw.com doesn't work. We were missing a rule that... · 5fd54940
      hyatt authored
              Fix for bug 12740, bmw.com doesn't work.  We were missing a rule that is covered by the HTML5
              parsing spec.  A <table> encountered while inside stray table content should close up the
              table responsible for the stray content and start the new table as a sibling of the first.
      
              Reviewed by mjs
      
              fast/invalid/table-inside-stray-table-content.html
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fd54940
    • eseidel's avatar
      2007-05-12 Eric Seidel <eric@webkit.org> · fdbde5d2
      eseidel authored
              Reviewed by mjs.
      
              Crash starting Safari with JavaScript disabled.
              http://bugs.webkit.org/show_bug.cgi?id=13691
              
              Test: none possible.
      
              * page/mac/FrameMac.mm:
              (WebCore::Frame::cleanupPlatformScriptObjects): NULL check d->m_script
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fdbde5d2
    • hyatt's avatar
      Add layout test for colloquy display table baseline issue. · c94902bd
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c94902bd
    • hyatt's avatar
      Fix for http://bugs.webkit.org/show_bug.cgi?id=13688, Colloquy is broken! · 851433b2
      hyatt authored
              Make sure to adjust the baseline of a percentage height table cell's row if the
              cell flexes (and lowers the baseline).
      
              Reviewed by olliej
      
              fast/tables/vertical-align-baseline-readjust.html
      
              (WebCore::RenderTableSection::calcRowHeight):
              (WebCore::RenderTableSection::layoutRows):
              * rendering/RenderTableSection.h:
              (WebCore::RenderTableSection::getBaseline):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      851433b2
  2. 11 May, 2007 26 commits
    • hyatt's avatar
      Make sure focus rings are always using the exterior style, regardless · b4017519
      hyatt authored
              of what the OS default is.
      
              Reviewed by beth
      
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::checkbox):
              (WebCore::RenderThemeMac::radio):
              (WebCore::RenderThemeMac::popupButton):
              (WebCore::RenderThemeMac::search):
              (WebCore::RenderThemeMac::sliderThumbHorizontal):
              (WebCore::RenderThemeMac::sliderThumbVertical):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4017519
    • oliver's avatar
      2007-05-11 Oliver Hunt <oliver@apple.com> · 64b30870
      oliver authored
      LayoutTests:
      
              Reviewed by Hyatt.
              
              Layout test for x-mac-roman character encoding.
      
              * fast/encoding/xmacroman-encoding-test-expected.txt: Added.
              * fast/encoding/xmacroman-encoding-test.html: Added.
      
      WebCore:
      
              Reviewed by Hyatt.
              
              <rdar://problem/5195473> REGRESSION: "Curly quote" fails to 
              be displayed correctly even when META tag specifies charset=x-mac-roman
      
      
              * platform/TextCodecICU.cpp:
              (WebCore::TextCodecICU::registerExtendedEncodingNames):
              Register the xmacroman encoding
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64b30870
    • ggaren's avatar
      ChangeLog fixup · 3454ef17
      ggaren authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3454ef17
    • mjs's avatar
      Reviewed by Hyatt. · 4b7ea53e
      mjs authored
              <rdar://problem/5193517> FrameLoader::canCachePage() might walk the entire DOM
              http://bugs.webkit.org/show_bug.cgi?id=13662
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::provisionalLoadStarted): Remove some useless and now harmful
              code - there's no need to clear in this case.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b7ea53e
    • oliver's avatar
      GDK Build fix · b6044142
      oliver authored
              * ChangeLog:
              * dom/Document.cpp:
              (WebCore::Document::importNode):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6044142
    • mjs's avatar
      Reviewed by Geoff. · bd98f589
      mjs authored
              
              - fixed <rdar://problem/5197621> closing second window crashed webkit (13660)
              http://bugs.webkit.org/show_bug.cgi?id=13660
      
              No test case; not testable.
      
              * page/mac/FrameMac.mm:
              (WebCore::Frame::cleanupPlatformScriptObjects): Check if the interpreter is null;
              if so, we don't want to do work that may lazily create it while the Frame is being
              destroyed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd98f589
    • oliver's avatar
      2007-05-11 Oliver Hunt <oliver@apple.com> · f8f07791
      oliver authored
      LayoutTests:
      
              Reviewed by Brady.
      
              Layout tests for <rdar://problem/5017375> WebKit should disable SVG in Dashboard
              Tests attempt to use SVG in a number of ways, both direct and indirect.
              
      
              * http/tests/xmlhttprequest/resources/svgtest.svg: Added.
                Small test SVG
                
              * http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard-expected.txt: Added.
              * http/tests/xmlhttprequest/svg-created-by-xhr-disallowed-in-dashboard.html: Added.
                Attempts to use an SVG doc created with XHR as content 
              
              * svg/custom/embedded-svg-disallowed-in-dashboard-expected.txt: Added.
              * svg/custom/embedded-svg-disallowed-in-dashboard.xml: Added.
                Attempts to use SVG by embedding it in an SVG doc.
              
              * svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard-expected.txt: Added.
              * svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard.html: Added.
                Attempts to use SVG by using a DOMParser to manually parse XHMTL with embedded SVG
              
              * svg/custom/manually-parsed-svg-disallowed-in-dashboard-expected.txt: Added.
              * svg/custom/manually-parsed-svg-disallowed-in-dashboard.html: Added.
                Attempts to use SVG by using a DOMParser to manually create an SVG doc from a string
              
              * svg/custom/svg-disallowed-in-dashboard-object-expected.txt: Added.
              * svg/custom/svg-disallowed-in-dashboard-object.html: Added.
                Attempts to embed SVG with <embed>, <object>, and <iframe>
      
      WebCore:
      
              Reviewed by Brady.
              
              <rdar://problem/5017375> WebKit should disable SVG in Dashboard
              
              Prevents an SVG document or element from being created when in
              dashboard compatibility mode.
              
              Manually parsing, or using XHR to created a document removes our 
              ability to detect Dashboard compatibility mode, so we also perform
              the check when importing nodes from one document into another.
      
              * dom/DOMImplementation.cpp:
              (WebCore::DOMImplementation::createDocument):
                Don't create an SVGDocument if we're in dashboard compatibility mode
                
              * dom/Document.cpp:
              (WebCore::Document::importNode):
                Don't import SVG nodes if we're in dashboard compatibility mode
                
              * ksvg2/scripts/make_names.pl:
                Don't create SVG elements for documents that are in dashboard
                compatibility mode
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8f07791
    • bdash's avatar
      2007-05-11 Mark Rowe <mrowe@apple.com> · f43d2198
      bdash authored
              Rubber-stamped by Oliver.
      
              * fast/encoding/char-encoding.html: Change from a 5 millisecond
              timeout to a 500 millisecond timeout to work around occasional
              timing-related test failures.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f43d2198
    • bdash's avatar
      2007-05-11 Holger Hans Peter Freyther <zecke@selfish.org> · 52f9b6c7
      bdash authored
              Reviewed by Maciej.
      
              Bug 13656: [gdk] Resize the drawing area of the GdkLauncher
              http://bugs.webkit.org/show_bug.cgi?id=13656
      
              * GdkLauncher/main.cpp: Handle resizing the drawing area
              (frameResizeCallback):
              (main):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52f9b6c7
    • bdash's avatar
      2007-05-11 Holger Hans Peter Freyther <zecke@selfish.org> · e766a54a
      bdash authored
              Reviewed by Maciej.
      
              Bug 13676: [cairo/gdk] Provide implementation for ImageBufferCairo
              http://bugs.webkit.org/show_bug.cgi?id=13676
      
              There are no test cases that explicitly cover platform/graphics at present.
      
              * platform/graphics/ImageBuffer.h: Add cairo bits
              * platform/graphics/cairo/ImageBufferCairo.cpp: Untested implementation of the ImagerBuffer using the image_surface
              (WebCore::ImageBuffer::create): Create a reasonable sized surface
              (WebCore::ImageBuffer::ImageBuffer): Use a cairo_surface and create a GraphicsContext. GraphicsContext takes the cairo_t ownership
              (WebCore::ImageBuffer::~ImageBuffer): Unref the surface
              (WebCore::ImageBuffer::context): simply return the GraphicsContext, it should be possible to directly draw on it.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e766a54a
    • bdash's avatar
      2007-05-11 Mitz Pettel <mitz@webkit.org> · 9b0ff976
      bdash authored
              Release build fix.
      
              * platform/mac/ShapeArabic.c:
              (shapeArabic):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b0ff976
    • ggaren's avatar
      LayoutTests: · 2344a57d
      ggaren authored
              Reviewed by Darin Adler.
      
              Updated test a little bit now that +[WebScriptObject scriptObjectForJSObject:frame:]
              is gone.
      
              * fast/dom/wrapper-round-tripping.html:
      
      WebCore:
      
              Reviewed by Darin Adler.
      
              Removed +[WebScriptObject scriptObjectForJSObject:frame:] because the
              WebScriptObject API has some serious limitations that make it not ready
              to be used everywhere the C API is used. Hopefully we can add a good
              ObjC API in the future that doesn't suffer from this problem.
              
              Preliminary notes about these limitations are in <rdar://problem/4876466>.
      
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/WebScriptObjectPendingPublic.h:
      
      WebKitTools:
      
              Reviewed by Darin Adler.
      
              Updated test now that +[WebScriptObject scriptObjectForJSObject:frame:] 
              is gone.
      
              * DumpRenderTree/DumpRenderTree.m:
              (-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]):
              (+[LayoutTestController isSelectorExcludedFromWebScript:]):
              (+[LayoutTestController webScriptNameForSelector:]):
              (-[LayoutTestController testWrapperRoundTripping:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2344a57d
    • beidson's avatar
      d420199c
    • bdash's avatar
      2007-05-11 Mitz Pettel <mitz@webkit.org> · d7878ff0
      bdash authored
              Reviewed by Darin.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13635
                REGRESSION: Cannot log in to webmail.co.za account
      
              Test: fast/dom/HTMLOptionElement/option-text.html
      
              Despite the specification that the 'text' attribute of HTMLOptionElement
              is "the text contained within the option element", other browsers return
              the text as displayed in the list box or popup, which is without leading,
              trailing and collapsible whitespace.
      
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::text): Moved the code to trim and collapse
              whitespace and replace backslashes with the currency symbol into this
              function.
              (WebCore::HTMLOptionElement::optionText): Left only the code that adds
              the leading spaces for grouped options. Removed code that, in quirks mode,
              displayed the label if the option element contained no text. That behavior
              did not match WinIE and the description of the expected behavior in
              fast/forms/HTMLOptionElement_label06.html.
      
      2007-05-11  Mitz Pettel  <mitz@webkit.org>
      
              Reviewed by Darin.
      
              - test and updated results for http://bugs.webkit.org/show_bug.cgi?id=13635
                REGRESSION: Cannot log in to webmail.co.za account
      
              * fast/dom/HTMLOptionElement/option-text-expected.txt: Added.
              * fast/dom/HTMLOptionElement/option-text.html: Added.
              * fast/forms/HTMLOptionElement_label06-expected.checksum:
              * fast/forms/HTMLOptionElement_label06-expected.png:
              * fast/forms/HTMLOptionElement_label06-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d7878ff0
    • bdash's avatar
      2007-05-11 Kimmo Kinnunen <kimmok@iki.fi> · 9acb9e24
      bdash authored
              Reviewed by Darin.
      
              - Fix for bug http://bugs.webkit.org/show_bug.cgi?id=13620
                Bogus decompilation of "for (var j = 1 in [])"
              - ForInNode toString()'ed to syntax error if there was var decl
                and initializer
              - ForNode toStringed()'ed lost 'var ' if it was present
      
              * kjs/nodes2string.cpp:
              (VarDeclListNode::streamTo): Print "var " here
              (VarStatementNode::streamTo): Don't print "var " here
              (ForNode::streamTo): Remove TODO comment, VarDeclListNode will
              stream the "var "
              (ForInNode::streamTo): ForIn initializer is printed by VarDeclNode
      
      2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>
      
              Reviewed by Darin.
      
              - Tests for bug http://bugs.webkit.org/show_bug.cgi?id=13620
                Bogus decompilation of "for (var j = 1 in [])"
      
              Testcase covers toString()ing functions with
              for-statements of form for (var j = 1 in []) and for (var j=0;j<10;j++)
      
              * fast/js/resources/toString-for-var-decl.js: Added.
              * fast/js/toString-for-var-decl-expected.txt: Added.
              * fast/js/toString-for-var-decl.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9acb9e24
    • bdash's avatar
      2007-05-11 Mitz Pettel <mitz@webkit.org> · bcc4eddf
      bdash authored
              Reviewed by Darin.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13572
                Arabic characters are not correctly joined when using Arial
      
              No tests added because standard fonts do not use the character-based shaping
              code path.
      
              Added shapeArabic(), a private version of u_shapeArabic() from ICU,
              patched to shape Arabic characters used in Persian, Urdu, Sindhi, etc.
              (whose contextual forms belong to the Arabic Presentation Forms-A block).
      
              * WebCore.xcodeproj/project.pbxproj: Added ShapeArabic.{c,h}.
              * platform/mac/FontMac.mm:
              (WebCore::shapeArabic): Changed to call shapeArabic() instead of u_shapeArabic().
              * platform/mac/ShapeArabic.c: Added. Based on ushape.c from ICU, with
              additional shaping data and logic for Arabic Presentation Forms-A. Removed
              many options that are not used in WebKit and code that malloc()ed a temporary
              buffer and reversed the string.
              (changeLamAlef):
              (specialChar):
              (getLink):
              (isTashkeelChar):
              (shapeUnicode):
              (shapeArabic):
              * platform/mac/ShapeArabic.h: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bcc4eddf
    • bdash's avatar
      2007-05-11 Kimmo Kinnunen <kimmok@iki.fi> · b485a35c
      bdash authored
              Reviewed by Darin.
      
              Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
              Bug 10878: Incorrect decompilation for "4..x"
      
              * fast/js/resources/toString-number-dot-expr.js: Added.
              * fast/js/toString-number-dot-expr-expected.txt: Added.
              * fast/js/toString-number-dot-expr.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b485a35c
    • bdash's avatar
      2007-05-11 Kimmo Kinnunen <kimmok@iki.fi> · eac52814
      bdash authored
              Reviewed by Darin.
      
              - Fixes http://bugs.webkit.org/show_bug.cgi?id=10878
                (Incorrect decompilation for "4..x")
              - Group numbers in dotted expressions in toString() output, so we
                avoid the 4.x constructs  when the original input is 4..x.
                4..x means the same as 4. .x or (4).x or Number(4).x
      
              * kjs/nodes2string.cpp:
              (KJS::SourceStream::):
              Add boolean flag to indicate that if next item is a number, it should be grouped.
              Add new formatting enum which turns on the boolean flag.
              (KJS::SourceStream::SourceStream): Added. Initialize the flag.
              (SourceStream::operator<<): Added. New overloaded operator with double value as parameter.
              (NumberNode::streamTo): Use the double operator
              (ArrayNode::streamTo):
              (DotAccessorNode::streamTo):
              (FunctionCallDotNode::streamTo):
              (FunctionCallParenDotNode::streamTo):
              (PostfixDotNode::streamTo):
              (DeleteDotNode::streamTo):
              (PrefixDotNode::streamTo):
              (AssignDotNode::streamTo): Use the new formatting enum to turn on the grouping flag.
      
      2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>
      
              Reviewed by Darin.
      
              Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
              Bug 10878: Incorrect decompilation for "4..x"
      
              * fast/js/resources/toString-number-dot-expr.js: Added.
              * fast/js/toString-number-dot-expr-expected.txt: Added.
              * fast/js/toString-number-dot-expr.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eac52814
    • darin's avatar
      LayoutTests: · 55ae73e3
      darin authored
              Reviewed by Mitz.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=7452
                <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)
      
              * fast/text/wbr-pre-expected.checksum: Added.
              * fast/text/wbr-pre-expected.png: Added.
              * fast/text/wbr-pre-expected.txt: Added.
              * fast/text/wbr-pre.html: Added.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=10657
                <rdar://problem/4274588> <wbr> tags are ignored
      
              * fast/text/wbr-expected.checksum: Added.
              * fast/text/wbr-expected.png: Added.
              * fast/text/wbr-expected.txt: Added.
              * fast/text/wbr.html: Added.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=12689
                <wbr> :before/:after content causes line break
      
              * fast/css-generated-content/wbr-with-before-content-expected.checksum: Added.
              * fast/css-generated-content/wbr-with-before-content-expected.png: Added.
              * fast/css-generated-content/wbr-with-before-content-expected.txt: Added.
              * fast/css-generated-content/wbr-with-before-content.html: Added.
      
              - test for <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>
      
              * fast/invalid/021-expected.txt: Updated result.
              * fast/parser/parse-wbr-expected.txt: Added.
              * fast/parser/parse-wbr.html: Added.
      
      WebCore:
      
              Reviewed by Mitz.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=7452
                <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=10657
                <rdar://problem/4274588> <wbr> tags are ignored
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12689
                <wbr> :before/:after content causes line break
      
              - fix <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>
      
              Test: fast/text/wbr-pre.html
              Test: fast/text/wbr.html
              Test: fast/css-generated-content/wbr-with-before-content.html
              Test: fast/parser/parse-wbr.html
      
              * html/HTMLElement.h:
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::endTagRequirement): Use the same end tag requirement for a <wbr>
              element as for a <br> element, TagStatusForbidden.
              (WebCore::HTMLElement::tagPriority): Use the same priority for a <wbr> element as for a
              <br> element, 0.
              (WebCore::HTMLElement::createRenderer): Added. Create a RenderWordBreak to trigger the
              new rendering code paths.
      
              * rendering/RenderFlow.h: Add a virtual isWordBreak so we can detect RenderWordBreak.
      
              * rendering/RenderWordBreak.h: Added.
              * rendering/RenderWordBreak.cpp: Added.
      
              * WebCore.pro: Added new files.
              * WebCore.xcodeproj/project.pbxproj: Added new files.
              * WebCoreSources.bkl: Added new files.
      
              * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths): Reset the
              line when we hit a <wbr>.
              * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Add a line break when
              we hit a <wbr>.
      
              * dom/Node.cpp: (Node::createRendererIfNeeded): Fix a null check for the case where
              createRenderer returns 0 even though rendererIsNeeded returned true. I can't reproduce
              it on demand, but while running layout tests I hit this once. Since there was already
              a null check here, I rearranged it so it guards all the code that uses the renderer.
              Later we might want to figure out under exactly what circumstances rendererIsNeeded
              will return true but createRenderer return 0 and consider eliminating them.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55ae73e3
    • bdash's avatar
      Roll out r21393 due to the JavaScriptCore test failure it introduced. · 4b620aa2
      bdash authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b620aa2
    • hyatt's avatar
      d9451b43
    • hyatt's avatar
      Fix for bug 13675, focus rings don't repaint properly on editable · 77e06a6e
      hyatt authored
              continuations.
      
              Reviewed by olliej
      
              (WebCore::InlineFlowBox::paint):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintObject):
              (WebCore::continuationOutlineTable):
              (WebCore::RenderBlock::addContinuationWithOutline):
              (WebCore::RenderBlock::paintContinuationOutlines):
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::absoluteClippedOverflowRect):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
              (WebCore::RenderObject::absoluteOutlineBox):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77e06a6e
    • hyatt's avatar
      Land new layout tests for continuation repainting fix. · df35adda
      hyatt authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df35adda
    • rwlbuis's avatar
      Reviewed by Oliver. · 897f8680
      rwlbuis authored
              Cleanups mostly inspired by Coverage results.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      897f8680
    • bdash's avatar
      2007-05-11 Holger Freyther <freyther@kde.org> · c9175eab
      bdash authored
              Reviewed by Mark Rowe.
      
              Move libcurl configuration into WebKit.pri so it will be used by GdkLauncher.
      
              * WebCore.pro:
      
      2007-05-11  Holger Freyther <freyther@kde.org>
      
              Reviewed by Mark Rowe.
      
              Move libcurl configuration into WebKit.pri so it will be used by GdkLauncher,
              and add ICU configuration to QMAKE_CXXFLAGS.
      
              * WebKit.pri:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9175eab
    • bdash's avatar
      2007-05-11 Kimmo Kinnunen <kimmok@iki.fi> · e61408ee
      bdash authored
              Reviewed by Darin.
      
              - Fixes http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits trailing
                comma in array literal)
      
              * kjs/grammar.y: Add the comma that parser consumes in elision
                when the array has trailing commas.
      
      2007-05-11  Kimmo Kinnunen  <kimmok@iki.fi>
      
              Reviewed by Darin.
      
              - Tests for fix to http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits
                trailing comma in array literal)
      
              * fast/js/resources/toString-elision-trailing-comma.js: Added.
              * fast/js/toString-elision-trailing-comma-expected.txt: Added.
              * fast/js/toString-elision-trailing-comma.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e61408ee
  3. 10 May, 2007 4 commits
    • justing's avatar
      This tests behaves differently when it isn't run by itself because · feb20b34
      justing authored
          of a bug.  Filed it (13673) and added a workaround.
          
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      feb20b34
    • hyatt's avatar
      <rdar://problem/5015522> Bounds rectangle of unloaded images is · b79ae804
      hyatt authored
              drawn briefly while loading
              
              When the image is null and has no size, don't draw the grey
              rectangles or alt text any more.  Wait for an actual error to
              occur with the image before we start showing alt text and borders.
      
              (Images with no source set at all will continue to show alt text and
              borders immediately.)
      
              Reviewed by bradee-oh
      
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b79ae804
    • thatcher's avatar
      LayoutTests: · 2acf17d1
      thatcher authored
              Reviewed by Darin.
      
              - repaint test and updated results for http://bugs.webkit.org/show_bug.cgi?id=13655
                Incomplete repaint when text-shadow is used in a render layer with explicit height
      
              * fast/repaint/layer-full-repaint-expected.checksum: Added.
              * fast/repaint/layer-full-repaint-expected.png: Added.
              * fast/repaint/layer-full-repaint-expected.txt: Added.
              * fast/repaint/layer-full-repaint.html: Added.
              * fast/repaint/repaint-resized-overflow-expected.checksum:
              * fast/repaint/repaint-resized-overflow-expected.png:
      
      WebCore:
      
              Reviewed by Darin.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=13655
                Incomplete repaint when text-shadow is used in a render layer with explicit height
      
              Test: fast/repaint/layer-full-repaint.html
      
              Removed custom repaint logic from RenderLayer. repaintAfterLayoutIfNeeded()
              knows how to do everything we need now. The only catch is that we cannot
              rely on its "do a full repaint if the object needs layout" behavior, since
              by the time we call it, the needs layout flag has been reset. The solution
              is to cache the need for a full repaint in the layer.
      
              * page/FrameView.cpp:
              (WebCore::FrameView::layout): Removed call to checkForRepaintOnResize().
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::checkForRepaintOnResize): Removed.
              (WebCore::RenderLayer::RenderLayer): Replaced the m_repaintOverflowOnResize
              flag with a m_needsFullRepaint flag, which indicates that the layer needs
              to do a full repaint in the next call to updateLayerPositions().
              (WebCore::RenderLayer::updateLayerPositions): Simplified the repaint logic.
              Either call repaintAfterLayoutIfNeeded() or do a full repaint, depending on
              m_needsFullRepaint.
              * rendering/RenderLayer.h:
              (WebCore::RenderLayer::setNeedsFullRepaint):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::setNeedsLayout): Mark the layer for full repaint.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2acf17d1
    • justing's avatar
      LayoutTests: · c8c2b94f
      justing authored
              Reviewed by ggaren
      
              <rdar://problem/5195166> Incorrect proposedRange DOMRange passed to WebViewEditing delegate
      
              * editing/selection/5195166-1-expected.checksum: Added.
              * editing/selection/5195166-1-expected.png: Added.
              * editing/selection/5195166-1-expected.txt: Added.
              * editing/selection/5195166-1.html: Added.
              * editing/selection/5195166-2-expected.checksum: Added.
              * editing/selection/5195166-2-expected.png: Added.
              * editing/selection/5195166-2-expected.txt: Added.
              * editing/selection/5195166-2.html: Added.
      
      WebCore:
      
              Reviewed by ggaren
      
              <rdar://problem/5195166> Incorrect proposedRange DOMRange passed to WebViewEditing delegate
              
              In setModifyBias, we must cache the start and the end 
              because the calls to setBase and setExtent can modify 
              them (added a testcase).
              The temporary SelectionController that we use in modify() to
              produce the proposed range that will be passed to 
              shouldChangeSelectedDOMRange must have the same m_modifyBias
              as the original SelectionController, or else when the 
              modification is performed, setModifyBias can swap the base 
              and the extent incorrectly (added a testcase).
              Renamed m_modifyBias to m_lastChangeWasHorizontalExtension.
              Renamed setModifyBias to willBeModified.
      
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::SelectionController):
              (WebCore::SelectionController::setSelection):
              (WebCore::SelectionController::willBeModified):
              (WebCore::SelectionController::modify):
              * editing/SelectionController.h:
              (WebCore::SelectionController::setLastChangeWasHorizontalExtension):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMousePressEventSingleClick):
              (WebCore::EventHandler::updateSelectionForMouseDragOverPosition):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21389 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8c2b94f