Timeline



May 14, 2007:

11:15 PM Changeset in webkit [21476] by justing
  • 5 edits in trunk

LayoutTests:

Reviewed by ggaren


Updated these expected results. We now clear the
selection inside a focused node *after* firing the
mousedown event handler, which matches FF:

  • fast/forms/focus-selection-input-expected.txt:
  • fast/forms/focus-selection-textarea-expected.txt:

WebCore:

Reviewed by ggaren


<http://bugs.webkit.org/show_bug.cgi?id=13716>
REGRESSION: Three new layout test failures


Two failures are correct. Updated their expected results.


In fast/events/frame-tab-focus.html, as we advance
through focusable nodes, we descend into a subframe
to focus a node and then ascend out of it into the
main frame to focus the next. When we focus the main
frame, the node in that frame that was previously
focused and contains an inactive selection is focused
momentarily because setCaretVisible tries to focus the
node containing the caret.

  • page/Frame.cpp: (WebCore::Frame::setCaretVisible): Don't focus the node containing the caret. FocusController will focus the previously focused node (which will contain the caret) if necessary when the frame gains focus.
10:59 PM Changeset in webkit [21475] by justing
  • 17 edits in trunk/LayoutTests

Reviewed by ggaren

Spelling markers fixed:

  • editing/deleting/delete-to-select-table-expected.checksum:
  • editing/deleting/delete-to-select-table-expected.png:
  • editing/selection/end-of-document-expected.checksum:
  • editing/selection/end-of-document-expected.png:
  • editing/inserting/insert-paragraph-02-expected.checksum:
  • editing/inserting/insert-paragraph-02-expected.png:


Focus halo now painted:

  • editing/execCommand/format-block-with-braces-expected.checksum:
  • editing/execCommand/format-block-with-braces-expected.png:

Needed FIXMEs removed after fixing 4714993:

  • editing/pasteboard/merge-end-1-expected.checksum:
  • editing/pasteboard/merge-end-1-expected.png:
  • editing/pasteboard/merge-end-1-expected.txt:
  • editing/pasteboard/merge-end-1.html:
  • editing/pasteboard/merge-end-2-expected.checksum:
  • editing/pasteboard/merge-end-2-expected.png:
  • editing/pasteboard/merge-end-2-expected.txt:
  • editing/pasteboard/merge-end-2.html:
10:53 PM Changeset in webkit [21474] by mjs
  • 3 edits
    5 adds in trunk

LayoutTests:

Reviewed by Brady.

  • Test case for <rdar://problem/5203036> REGRESSION: Assertion failure in WebCore::FrameLoader::restoreScrollPositionAndViewState() going back from fark.com Photoshop contest (13684)
  • http/tests/incremental/slow-utf8-html.pl:
  • http/tests/navigation/back-to-slow-frame.html: Added.
  • http/tests/navigation/back-to-slow-frame-expected.txt: Added.
  • http/tests/navigation/resources/back-to-slow-frame-2.html: Added.
  • http/tests/navigation/resources/back-to-slow-frame-3.html: Added.
  • http/tests/navigation/resources/slow-resource-1-sec.pl: Added.

WebCore:

Reviewed by Brady.

  • fixed <rdar://problem/5203036> REGRESSION: Assertion failure in WebCore::FrameLoader::restoreScrollPositionAndViewState() going back from fark.com Photoshop contest (13684)

Test: http/tests/navigation/back-to-slow-frame.html


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::restoreScrollPositionAndViewState): Add needed early return.
9:17 PM Changeset in webkit [23367] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

2007-05-14 Oliver Hunt <oliver@apple.com>

Reviewed by Sam.

Fix for <rdar://problem/5147895> REGRESSION: Content-Disposition: filename is ignored for drag-and-drop.

If the image does not already have a title, fall back to the
name suggested by Content-Disposition.

  • platform/win/ClipboardWin.cpp: (WebCore::createGlobalImageFileDescriptor):
8:49 PM Changeset in webkit [23366] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

2007-05-14 Oliver Hunt <oliver@apple.com>

Reviewed by Sam.

Fix for <rdar://problem/5202805> Null dereference in createGlobalData(CString str)


Null terminate manually to prevent us from dereferencing null.

  • platform/win/ClipboardUtilitiesWin.cpp: (WebCore::createGlobalData):
7:05 PM Changeset in webkit [23365] by oliver
  • 4 edits in branches/WindowsMerge/WebCore

2007-05-14 Oliver Hunt <oliver@apple.com>

Reviewed by Geoff.


Windows side of fix for
<rdar://problem/4728842> Can't drag-and-drop files onto <input type="file">

  • platform/win/ClipboardUtilitiesWin.cpp: (WebCore::cfHDropFormat): Need to be able to access externally


  • platform/win/ClipboardUtilitiesWin.h: Declare cfHDropFormat


  • platform/win/DragDataWin.cpp: (WebCore::DragData::containsFiles): (WebCore::DragData::asFilenames): Add implementation of containsFiles and asFilenames
6:53 PM Changeset in webkit [21473] by bdash
  • 3 edits
    3 adds in trunk

2007-05-14 Kimmo Kinnunen <Kimmo Kinnunen>

Reviewed by Darin.

  • kjs/nodes2string.cpp: (ArrayNode::streamTo): print extra ',' in case there was elision commas (check opt member var) and array elements present in the array expression

2007-05-14 Kimmo Kinnunen <Kimmo Kinnunen>

Reviewed by Darin.

  • 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.
6:41 PM Changeset in webkit [21472] by bdash
  • 3 edits
    2 adds in trunk

2007-05-14 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/parser/residual-style-close-across-n-blocks.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Changed to deal with multiple block crossings instead of bailing out, by doing multiple reparenting passes, starting from the outermost block.

2007-05-14 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/parser/residual-style-close-across-n-blocks-expected.txt: Added.
  • fast/parser/residual-style-close-across-n-blocks.html: Added.
6:39 PM Changeset in webkit [21471] by bdash
  • 4 edits in trunk/WebCore

2007-05-14 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

No test possible since this patch affects only Safari chrome.

  • platform/Font.cpp: (WebCore::Font::Font): Initialize m_isPlatformFont according to whether the Font object is derived from a FontPlatformData or not.
  • platform/Font.h: (WebCore::Font::isPlatformFont): Added. Returns whether this Font was derived from a platform font.
  • platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters): Changed to not enable synthetic bold and italic in the fallback fonts if the original font was derived from a platform font.
6:32 PM Changeset in webkit [21470] by weinig
  • 58 edits
    4 adds
    2 deletes in trunk

LayoutTests:

Reviewed by Alice.

  • fast/dom/document-attribute-js-null-expected.txt: Added.
  • fast/dom/document-attribute-js-null.html: Added.
  • fast/dom/element-attribute-js-null-expected.txt: Added.
  • fast/dom/element-attribute-js-null.html: Added.
  • fast/forms/input-null-expected.txt: Removed.
  • fast/forms/input-null.html: Removed.

WebCore:

Reviewed by Alice!

Convert JS null to the empty string when passing it to an attribute that takes
a DOMString.

Test: fast/dom/document-attribute-js-null.html
Test: fast/dom/element-attribute-js-null.html

  • bindings/js/kjs_dom.cpp: (KJS::DOMNode::putValueProperty):
  • bindings/js/kjs_html.cpp: (KJS::JSHTMLDocument::putValueProperty): (KJS::JSHTMLElement::objectSetter): (KJS::JSHTMLElement::embedSetter): (KJS::JSHTMLElement::tableSetter): (KJS::JSHTMLElement::tableCaptionSetter): (KJS::JSHTMLElement::tableColSetter): (KJS::JSHTMLElement::tableSectionSetter): (KJS::JSHTMLElement::tableRowSetter): (KJS::JSHTMLElement::tableCellSetter): (KJS::JSHTMLElement::frameSetSetter): (KJS::JSHTMLElement::frameSetter): (KJS::JSHTMLElement::iFrameSetter): (KJS::JSHTMLElement::marqueeSetter): (KJS::JSHTMLElement::putValueProperty):
  • bindings/js/kjs_html.h:
  • dom/Document.idl:
  • dom/Node.idl:
  • html/HTMLAnchorElement.idl:
  • html/HTMLAppletElement.idl:
  • html/HTMLAreaElement.idl:
  • html/HTMLBRElement.idl:
  • html/HTMLBaseElement.idl:
  • html/HTMLBaseFontElement.idl:
  • html/HTMLBlockquoteElement.idl:
  • html/HTMLBodyElement.idl:
  • html/HTMLButtonElement.idl:
  • html/HTMLDivElement.idl:
  • html/HTMLDocument.idl:
  • html/HTMLElement.idl:
  • html/HTMLEmbedElement.idl:
  • html/HTMLFontElement.idl:
  • html/HTMLFormElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLFrameSetElement.idl:
  • html/HTMLHRElement.idl:
  • html/HTMLHeadElement.idl:
  • html/HTMLHeadingElement.idl:
  • html/HTMLHtmlElement.idl:
  • html/HTMLIFrameElement.idl:
  • html/HTMLImageElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLIsIndexElement.idl:
  • html/HTMLLIElement.idl:
  • html/HTMLLabelElement.idl:
  • html/HTMLLegendElement.idl:
  • html/HTMLLinkElement.idl:
  • html/HTMLMapElement.idl:
  • html/HTMLMetaElement.idl:
  • html/HTMLModElement.idl:
  • html/HTMLOListElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLOptGroupElement.idl:
  • html/HTMLOptionElement.idl:
  • html/HTMLParagraphElement.idl:
  • html/HTMLParamElement.idl:
  • html/HTMLQuoteElement.idl:
  • html/HTMLScriptElement.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLStyleElement.idl:
  • html/HTMLTableCaptionElement.idl:
  • html/HTMLTableCellElement.idl:
  • html/HTMLTableColElement.idl:
  • html/HTMLTableElement.idl:
  • html/HTMLTableRowElement.idl:
  • html/HTMLTableSectionElement.idl:
  • html/HTMLTextAreaElement.idl:
  • html/HTMLTitleElement.idl:
  • html/HTMLUListElement.idl:
5:24 PM Changeset in webkit [21469] by ggaren
  • 2 edits in trunk/WebCore

Trying to fix the Qt build.

  • WebCore.pro:
5:20 PM Changeset in webkit [21468] by ggaren
  • 5 edits in trunk

JavaScriptCore:

Reviewed by Oliver Hunt.


Added HashMap::swap and HashSet::swap. WebCore now uses HashSet::swap.
I figured while I was in the neighborhood I might as well add HashMap::swap,
too.

  • wtf/HashMap.h: (WTF::::operator): (WTF::::swap):
  • wtf/HashSet.h: (WTF::::operator): (WTF::::swap):

WebCore:

Reviewed by Oliver Hunt.


Some improvements on my last patch, suggested by Darin.

  • history/PageCache.cpp: (WebCore::PageCache::autoreleaseNow): Swap with an empty set instead of building up an array and then calling clear(). This is slightly more efficient and the code is cleaner.
4:19 PM Changeset in webkit [23364] by ggaren
  • 2 edits in branches/WindowsMerge/WebCore

Build fix.

  • WebCore.vcproj/WebCore.vcproj:
2:37 PM Changeset in webkit [21467] by justing
  • 7 edits
    4 adds in trunk

LayoutTests:

Reviewed by darin


<rdar://problem/5136696> Selection is removed when focusing a node in another frame

Demonstrates bug:

  • editing/selection/5136696-expected.checksum: Added.
  • editing/selection/5136696-expected.png: Added.
  • editing/selection/5136696-expected.txt: Added.
  • editing/selection/5136696.html: Added.

WebCore:

Reviewed by darin


<rdar://problem/5136696> Selection is removed when focusing a node in another frame
<rdar://problem/5192388> WordPress: Can't insert links/images


Don't clear a selection when changing focus if the new
focus node is in a different frame than the old selection.

  • dom/Document.cpp: (WebCore::Document::setFocusedNode): Moved code to clear selections to the FocusController, since it is Page level and will know about the frame/document that contained the old selection. Moved code to call shouldEndEditing to the FocusController because selections are now cleared before calling Document::setFocusedNode and shouldEndEditing must be called before selections are cleared.
  • dom/Element.cpp: (WebCore::Element::blur): Call FocusController::setFocusNode instead of Document::setFocusNode, if possible.
  • page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent): Ditto.
  • page/FocusController.cpp: (WebCore::relinquishesEditingFocus): Moved from Document.cpp. (WebCore::clearSelectionIfNeeded): Ditto. Don't clear if the old selection is in a frame that's different than the one that contains the new focus node. (WebCore::FocusController::setFocusedNode): Moved code here from Document::setFocusedNode.
  • page/Frame.cpp: (WebCore::Frame::setFocusedNodeIfNeeded): Call FocusController::setFocusNode.
2:37 PM Changeset in webkit [21466] by spadma
  • 2 edits in S60/trunk/WebKit

ligman, reviewed by Sachin

DESC: Inputbox callback gets canceled before it has a chance to run. Setting it's priority to EPriorityUserInput
http://bugs.webkit.org/show_bug.cgi?id=13714

  • BrowserCore/Formcontrols/src/FControlInputSkin.cpp: (CFormInputSkin::OkToExit):
2:36 PM Changeset in webkit [21465] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

ligman, reviewed by Sachin

DESC: Inputbox callback gets canceled before it has a chance to run. Setting it's priority to EPriorityUserInput
http://bugs.webkit.org/show_bug.cgi?id=13714

  • BrowserCore/Formcontrols/src/FControlInputSkin.cpp: (CFormInputSkin::OkToExit):
2:29 PM Changeset in webkit [21464] by ggaren
  • 8 edits
    2 adds
    2 deletes in trunk

WebCore:

Reviewed by Darin Adler.


Next step toward fixing <rdar://problem/5055182> The back cache has no
global cap.


Created a PageCache singleton. Right now, it only handles the timer-based
deallocation of cached pages. I plan to add HistoryItem->CachedPage tracking
and eviction logic in later patches.

Updated for renames and file changes:

  • WebCore.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • history/BackForwardList.cpp: (WebCore::BackForwardList::setPageCacheSize): (WebCore::BackForwardList::clearPageCache):

Removed global timed release code, moved into new PageCache class, since
it's eventually going to be in charge of deciding when things are released:


  • history/HistoryItem.cpp: (WebCore::HistoryItem::setCachedPage):
  • history/HistoryItem.h:

Folded into PageCache:


  • history/HistoryItemTimer.cpp: Removed.
  • history/HistoryItemTimer.h: Removed.

New singleton. Right now, it just handles timed release of cached pages:


  • history/PageCache.cpp: Added. (WebCore::pageCache): (WebCore::PageCache::PageCache): (WebCore::PageCache::autoreleaseNowOrReschedule): (WebCore::PageCache::autoreleaseNow): (WebCore::PageCache::autorelease):
  • history/PageCache.h: Added.

WebKit:

Reviewed by Darin Adler.


Updated for WebCore move to PageCache singleton. Also removed some WebCore
prefixes and replaced them with 'using namespace WebCore'.
  • History/WebHistoryItem.mm: (+[WebHistoryItem _releaseAllPendingPageCaches]): (-[WebWindowWatcher windowWillClose:]):
2:16 PM Changeset in webkit [21463] by adele
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Fix for <rdar://problem/5200081> Repro crash in PopupMenu::show clicking popup menu button after reload

  • platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added call to dismissPopup so the cell gets unattached properly.
1:57 PM Changeset in webkit [21462] by adele
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Remove incorrect assertion.

  • page/FrameView.cpp: (WebCore::FrameView::setContentsPos):
1:43 PM Changeset in webkit [21461] by lars
  • 2 edits
    405 adds
    6 deletes in trunk/LayoutTestResults

Add another 1000 tests that we pass for the Qt build.

12:20 PM Changeset in webkit [21460] by lars
  • 284 edits
    21 adds
    9 deletes in trunk/LayoutTestResults

Add another 300 test cases, that are ok on the Qt build.
Add a few more tests that need examination to the Skipped list.

12:05 PM Changeset in webkit [23363] by andersca
  • 3 edits in branches/WindowsMerge/WebCore

Reviewed by Geoff.

<rdar://problem/5176940> Seed10: MS Silverlight 1.0 beta plug-in is not supported


  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): New function that adds plugins from the registry from HKEY_LOCAL_MACHINE/MozillaPlugins.
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::invalidateRect): (WebCore::PluginViewWin::forceRedraw): Make these work with windowed plugins.
11:53 AM Changeset in webkit [21459] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Geoff.

<rdar://problem/5172056> Regression: cannot open txt file, get broken image

Never let plug-ins override text/plain.


  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
9:34 AM Changeset in webkit [23362] by aroben
  • 2 edits in branches/WindowsMerge/WebKitTools

Build fix.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h:
8:34 AM Changeset in webkit [21458] by spadma
  • 4 edits in S60/branches/3.1m/WebKit

hongzhao, reviewed by <Sachin>

DESC: [S60] Open to viewer option doesn't work in browser in video content.
http://bugs.webkit.org/show_bug.cgi?id=13648

  • Plugin/inc/PluginWin.h:
  • Plugin/src/PluginSkin.cpp: (CPluginSkin::ConstructL):
  • Plugin/src/PluginWin.cpp: (CPluginWin::SetTopUrlL):
8:33 AM Changeset in webkit [21457] by spadma
  • 4 edits in S60/trunk/WebKit

hongzhao, reviewed by <Sachin>

DESC: [S60] Open to viewer option doesn't work in browser in video content.
http://bugs.webkit.org/show_bug.cgi?id=13648

  • Plugin/inc/PluginWin.h:
  • Plugin/src/PluginSkin.cpp: (CPluginSkin::ConstructL):
  • Plugin/src/PluginWin.cpp: (CPluginWin::SetTopUrlL):
7:39 AM Changeset in webkit [21456] by zack
  • 2 edits in trunk/WebCore

Fix dependcy tracking in project files.

Add dependpath to project to get better dependency tracking for header
files in the qmake project files.

r=simon

6:41 AM Changeset in webkit [21455] by lars
  • 10 edits in trunk

Reviewed by Zack

Updates after Maciej's frame change.

This gets things to run again. The #ifdef PLATFORM(QT)
in the FrameLoader should not be needed (and adding the line
inside on the mac doesn't seem to trigger any failures there).
I'm submitting with it to be on the safe side for now, since I
really need our tests to run again.

Btw, post-commit-linux-qt should show up green on with this submit :))

6:30 AM Changeset in webkit [21454] by darin
  • 6 edits in trunk/WebCore

Reviewed by Antti.

  • fix <rdar://problem/3109180> VIP: after go back, page jumps after loading even if I scrolled while loading
  • history/CachedPage.cpp: (WebCore::CachedPage::clear): Call clearFrame rather than clearPart -- the "part" term was leftover prehistoric terminology.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::open): Call setWasScrolledByUser(false) on the page, so that we can detect any user scrolling that happens during the "go back" process. (WebCore::FrameLoader::restoreScrollPositionAndViewState): Don't scroll if the view's wasScrolledByUser flag is set. (WebCore::FrameLoader::loadItem): Call setWasScrolledByUser(false) false when we do a new "load" (actually just a scroll) using the same frame. Also moved the line of code that sets m_currentHistoryItem to make this code path mroe similar to recursiveGoToItem. (WebCore::FrameLoader::recursiveGoToItem): Ditto.
  • page/Frame.cpp: (WebCore::Frame::~Frame): Call clearFrame rather than stting m_frame directly. (WebCore::Frame::sendScrollEvent): Call setWasScrolledByUser(true) on FrameView. The FrameView itself knows to ignore this if the scrolling is being done programmatically instead of by the user.
  • page/FrameView.h: Added wasScrolledByUser and setWasScrolledByUser. Also removed unneeded include and class forward declarations, renamed clearPart to clearFrame, removed uneeded function haveDelayedLayoutScheduled, and removed unneeded friend declarations.
  • page/FrameView.cpp: (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_inProgrammaticScroll and m_wasScrolledByUser. (WebCore::FrameViewPrivate::reset): Set m_wasScrolledByUser to false. (WebCore::FrameView::clearFrame): Renamed from clearPart. (WebCore::FrameView::scrollRectIntoViewRecursively): Added code to set the m_inProgrammaticScroll flag. (WebCore::FrameView::setContentsPos): Ditto. (WebCore::FrameView::wasScrolledByUser): Added. (WebCore::FrameView::setWasScrolledByUser): Added. Does nothing if called when m_inProgrammaticScroll is true.
6:26 AM Changeset in webkit [21453] by darin
  • 3 edits in trunk/LayoutTests

2007-05-14 Kimmo Kinnunen <Kimmo Kinnunen>

Tests for http://bugs.webkit.org/show_bug.cgi?id=10878
Bug 10878: Incorrect decompilation for "4..x"

Test all the different forms of expressions that can contain
a dot following a number literal.
Includes new tests for PrefixDotNode, PostfixDotNode, DeleteDotNode,
AssignDotNode and FunctionCallParenDotNode.

  • fast/js/resources/toString-number-dot-expr.js:
  • fast/js/toString-number-dot-expr-expected.txt: Updated.
6:13 AM Changeset in webkit [23361] by andersca
  • 2 edits in branches/WindowsMerge/WebKitWin
6:12 AM Changeset in webkit [21452] by darin
  • 2 edits in trunk/WebCore

Reviewed by Antti.

  • <rdar://problem/4865655> REGRESSION: find function does not work for the character ß

The trick was to fold case consistently in the CircularSearchBuffer class.

The problem was that we were folding the search target string with full case folding and
the characters of the text we were searching with simple case folding. We now use full
case folding in both cases.

  • editing/TextIterator.cpp: (WebCore::CircularSearchBuffer::CircularSearchBuffer): Changed the buffer to be a Vector<UChar>. Added a Vector<bool> to record which characters were starts of characters in the text we are searching. Changed the cursor to be an int rather than a pointer. (WebCore::CircularSearchBuffer::append): New function that knows how to append multiple characters when folding case turns one character into many -- uses the full foldCase rather than the simplified single-character foldCase. Also removed the append function that did multiple characters at once; that was part of an optimization we don't need. (WebCore::CircularSearchBuffer::isMatch): Instead of asserting that the buffer is full, changed this to return false if it's not full, which lets us fill up the buffer with the normal loop. Also return false if the start of the buffer is half-way through a case-folded character and updated this since m_cursor is now an integer. (WebCore::CircularSearchBuffer::length): This returns the length in non-case-folded characters of the characters that were appended, which may not be the same as the length of the original target string. To do that we have to total up the character start booleans for the current state of the circular buffer. (WebCore::findPlainText): Streamlined the logic in a few ways: 1) Moved more of the return value setup to the top of the function so it could be shared with the early error exit. 2) Removed the separate "fill the buffer" logic, which allowed me to remove some of the functions from CircularSearchBuffer and eliminated the need for two nested loops. 3) Replaced the CharacterIterator and bool that were used to record the location we found with integers matchStart and matchLength. 4) Got rid of the use of goto since we don't have two nested loops any more.
5:16 AM Changeset in webkit [21451] by andrew
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Fix http://bugs.webkit.org/show_bug.cgi?id=13275
Safari crashed when trying to login using the windows live contact control

Check for cleared windowObj in JSAbstractEventListener::handleEvent

  • bindings/js/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
4:16 AM Changeset in webkit [23360] by andersca
  • 2 edits in branches/WindowsMerge/WebKitWin

WebKitWin:

Reviewed by Antti.

Report an error to the resource load delegate if the Java plugin can't be loaded.


  • WebFrame.cpp: (WebFrame::createJavaAppletWidget):
12:17 AM Changeset in webkit [21450] by lars
  • 2 edits in trunk/LayoutTestResults

Skip a test that currently hangs

May 13, 2007:

10:13 PM Changeset in webkit [21449] by kevino
  • 5 edits in branches/wx-port-alpha/trunk

Restore the Windows build after WEBKITOUTPUTDIR changes, and also copy over dependency dlls to product dir so that testkjs and the sample app won't complain about missing dlls.

9:45 PM Changeset in webkit [21448] by ap
  • 4 edits
    2 adds
    2 deletes in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13690
JavaScript Form Validation issue on Banco do Brasil site

Test: fast/forms/input-setvalue-selection.html

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValue): In other browsers, changing textInput.value always moves the insertion point past the text. In 10.4.9 WebKit, this only worked for inactive controls, and it never worked in ToT.
11:43 AM Changeset in webkit [23359] by darin
  • 2 edits in branches/WindowsMerge/WebCore

Requested by Hyatt.

  • platform/win/KeyEventWin.cpp: (WebCore::keyIdentifierForWindowsKeyCode): Use 4 digits for "U+" stuff.
8:28 AM Changeset in webkit [21447] by beidson
  • 5 edits in trunk/WebCore

Reviewed by Mitz

http://bugs.webkit.org/show_bug.cgi?id=13701

Since HTMLInputElements register themselves with their Document for special handling, if their document
ever changes then bad things can happen.

Unfortunately, with adoptNode, the document can change. This has been a long standing crasher with all
input fields but was given recent high visibility by r21430

The solution is to add functionality for a Node to react to its owner document changing via a pair of
virtual callbacks. Then we can tap into those callbacks in HTMLInputElement.

No layout test possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved

  • dom/Node.cpp: (WebCore::Node::setDocument): Call willMoveToNewOwnerDocument and didMoveToNewOwnerDocument
  • dom/Node.h: (WebCore::Node::willMoveToNewOwnerDocument): Virtual callback to a node for before an owner document change (WebCore::Node::didMoveToNewOwnerDocument): Virtual callback to a node for after an owner document change
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement): Unconditionally unregister both for both form state and the cache restoration callback (WebCore::HTMLInputElement::setInputType): Change registration with the document only if we're in one (WebCore::HTMLInputElement::attach): Don't bother registering for the callback here - that will be handled by setInputType() or by a change in owner document (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Unregister with the old owner document (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): Register with the new owner document
  • html/HTMLInputElement.h:
7:05 AM Changeset in webkit [21446] by darin
  • 2 edits in trunk/WebCore
  • platform/mac/TextBreakIteratorInternalICUMac.mm: Fix comment typo.
7:00 AM Changeset in webkit [21445] by rwlbuis
  • 21 edits in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13529
DOM3 keyIdentifier text is incorrect

Use 4 digits for the Unicode based key identifiers.

6:21 AM Changeset in webkit [21444] by darin
  • 2 edits in trunk/WebKit
  • one more retain/release for a tiny bit more robustness
  • WebView/WebPDFView.mm: (-[WebPDFView _updatePreferences:]): [prefs release] (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
6:16 AM Changeset in webkit [21443] by darin
  • 3 edits in trunk/WebKit

Reviewed by Geoff.

  • fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
  • WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL. Also remove unneeded @public that gives other classes access to our dataSource member.
  • WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the _cancelUpdatePreferencesTimer method. (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer. (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems where the dataSource is no longer present by not looking at the dataSource field at all. Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon to NO and added a release to balance a retain I did in _updatePreferencesSoon. (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to the dataSource when the timer fires.
5:55 AM Changeset in webkit [21442] by darin
  • 2 edits in trunk/WebCore

Reviewed by Antti.

  • fix <rdar://problem/5174903> Safari crashes opening the attached webarchive (made by OmniWeb)
  • loader/icon/IconLoader.cpp: (WebCore::IconLoader::didReceiveResponse): Check ResourceHandle for nil before calling url() on it. (WebCore::IconLoader::didFail): Ditto. (WebCore::IconLoader::didFinishLoading): Ditto.
12:25 AM Changeset in webkit [21441] by rwlbuis
  • 6 edits in trunk/WebCore

Reviewed by Oliver.

Cleanup, get rid of the SVGStyledElement::view() call.

May 12, 2007:

11:02 PM Changeset in webkit [21440] by hyatt
  • 4 adds in trunk/LayoutTests/fast/invalid

Add layout tests for residual style fix.

11:01 PM Changeset in webkit [21439] by hyatt
  • 2 edits in trunk/WebCore

Reviewed by Hyatt.

Test: fast/repaint/continuation-after-outline.html

  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect):
10:50 PM Changeset in webkit [21438] by weinig
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.

  • fast/repaint/continuation-after-outline-expected.checksum: Added.
  • fast/repaint/continuation-after-outline-expected.png: Added.
  • fast/repaint/continuation-after-outline-expected.txt: Added.
  • fast/repaint/continuation-after-outline.html: Added.

WebCore:

Reviewed by Hyatt.

Test: fast/repaint/continuation-after-outline.html

  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect):
10:26 PM Applications using WebKit edited by christian@twotoasts.de
Added Midori web browser. (diff)
10:21 PM Changeset in webkit [23358] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

2007-05-12 Oliver Hunt <oliver@apple.com>

rs=hyatt.

Stubs to prevent build bustage

  • platform/win/DragDataWin.cpp: (WebCore::DragData::containsFiles): (WebCore::DragData::asFilenames):
10:15 PM Changeset in webkit [21437] by oliver
  • 13 edits
    2 adds in trunk

2007-05-12 Oliver Hunt <oliver@apple.com>

LayoutTests:

Reviewed by Hyatt.


Add test to verify files can be dragged to <input type="file">

  • fast/forms/dragging-to-file-input-expected.txt: Added.
  • fast/forms/dragging-to-file-input.html: Added.

WebCore:

Reviewed by Hyatt.

<rdar://problem/4728842> Can't drag-and-drop files onto <input type="file">


This patch allows a file to be dropped on to a file input field. There
are a few changes for data handling and a few to allow the data to be
threaded to the appropriate places.

  • page/DragController.cpp: (WebCore::asFileInput):

When dropping a file onto a file input we may mouse over either
the element itself, or the contained button element. This method
returns the base element for the file input in either of these
cases.

(WebCore::DragController::tryDocumentDrag):

Don't try to set the drag caret to a file input.

(WebCore::DragController::concludeDrag):

Handle dropping onto a file input element.

(WebCore::DragController::canProcessDrag):

We can now process a file being dragged onto a file input element.


  • platform/DragData.h:

New accessors


  • platform/gdk/DragDataGdk.cpp: (WebCore::DragData::containsFiles): (WebCore::DragData::asFilenames):

Link stubs.


  • platform/mac/DragDataMac.mm: (WebCore::DragData::containsFiles): (WebCore::DragData::asFilenames):

Implement new accessors

(WebCore::DragData::containsCompatibleContent):

Update containsCompatibleContent to allow standalone files.


  • platform/qt/DragDataQt.cpp: (WebCore::DragData::containsFiles): (WebCore::DragData::asFilenames):

Link stubs


  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::receiveDroppedFile):
  • rendering/RenderFileUploadControl.h:

For security reasons we don't have an api to allow us to set
a value directly on a file input -- attempts to do so are
blocked. By adding a method to set the target through the
render we bypass such restrictions, and ensure the renderer
is updated correctly.

WebKitTools:

Reviewed by Hyatt.


Add new api to DRT to allow us to test a file being dragged
onto <input type="file">

  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/DumpRenderTree.m: (+[LayoutTestController isSelectorExcludedFromWebScript:]): (-[LayoutTestController addFileToPasteboardOnDrag]): (runTest):
  • DumpRenderTree/UIDelegate.m: (-[UIDelegate webView:dragImage:at:offset:event:pasteboard:source:slideBack:forView:]):
7:31 PM Changeset in webkit [21436] by weinig
  • 4 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.

  • 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.

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):
7:12 PM Changeset in webkit [21435] by weinig
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

  • 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.

Test: fast/repaint/text-selection-rect-in-overflow.html

  • rendering/RenderText.cpp: (WebCore::RenderText::selectionRect):
5:50 PM Changeset in webkit [21434] by kevino
  • 7 edits in branches/wx-port-alpha/trunk

Have Bakefile internally refer to WEBKITOUTPUTDIR and WEBKIT_ROOT using different names to avoid collisions when those are defined as environment variables on the user's machine.

5:39 PM Changeset in webkit [21433] by kevino
  • 1 edit in branches/wx-port-alpha/trunk/WebKit/wx/WebView.cpp

Don't schedule a relayout, that triggers the if (root->needsLayout()) code path in FrameView::layout(). See #13455 for why this is a problem. Also, if frameView->needsLayout() is true, make sure to layout before painting rather than bailing out of the paint event.

3:24 PM Changeset in webkit [21432] by mjs
  • 3 edits in trunk/WebKitQt

Reviewed by Rob Buis.


  • call Frame::init as needed - this prevents crashes but pages don't appear.
  • Api/qwebframe.cpp: (QWebFramePrivate::init):
  • WebKitPart/WebKitPart.cpp: (WebKitPart::initView):
2:56 PM Changeset in webkit [21431] by beidson
  • 2 edits in trunk/WebCore

Rubber stamped by Mitz

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::attach): unregister->register - I screwed this one up in last minute renaming before committing :(
2:22 PM Changeset in webkit [21430] by beidson
  • 12 edits in trunk/WebCore

Reviewed by Darin and Geoff

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:
2:18 PM Changeset in webkit [21429] by hyatt
  • 28 edits
    4 adds in trunk/LayoutTests/fast/invalid

Update existing invalid tests and add new test for 12740.

2:15 PM Changeset in webkit [21428] by hyatt
  • 2 edits in trunk/WebCore

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

1:35 AM Changeset in webkit [21427] by eseidel
  • 2 edits in trunk/WebCore

2007-05-12 Eric Seidel <eric@webkit.org>

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

May 11, 2007:

11:43 PM Changeset in webkit [21426] by hyatt
  • 4 adds in trunk/LayoutTests/fast/table

Add layout test for colloquy display table baseline issue.

11:40 PM Changeset in webkit [21425] by hyatt
  • 3 edits in trunk/WebCore

Fix for http://bugs.webkit.org/show_bug.cgi?id=13688, Colloquy is broken!

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):
5:26 PM Changeset in webkit [23357] by sfalken
  • 88 edits
    3 adds
    1 delete in branches/WindowsMerge

2007-05-11 Steve Falkenburg <sfalken@apple.com>

Reviewed by Darin, Ada.

WebKit DCOM compatibility.
When a WebKit hosting app calls RunAsLocalServer, the class object for CLSID_WebDebugProgram
is registered to allow creation across processes. This is for future compatibility with
Drosera.

Added new exported function: RunAsLocalServer.
This exposes WebKit inside the running exe as a LocalServer32 (COM server), which
will allow Drosera to connect to it via DCOM.

We use the DCOM Universal Marshaller from oleaut32.dll, which performs marshalling
based on type libraries, so as part of this change, I've done some work on making our
interfaces compatible with this marshaller.


Updated for compatibility w/ COM automation, and fixed up our type library.
Added type library registration/unregistration code.
Marked methods not compatible w/ automation/marshalling as [local].


As a side-effect, with these changes, the .NET tlbimp tool can create a .NET interop
assembly to theoretically allow WebKit to be invoked from .NET apps. I haven't
tried this. It could end up being useful to drive API testing.


To test, I wrote a small app that calls:
::CoCreateInstance(CLSID_IWebDebugProgram, 0, CLSCTX_LOCAL_SERVER, IID_IUnknown, (void)&viewUnknown);
Using this instantiated class, I'm able to iterate the exisitng webviews and retrieve their
source, title, URL, etc.

2007-05-11 Steve Falkenburg <sfalken@apple.com>

Reviewed by Darin, Ada.

Updated for COM Automation changes in WebKit.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (dumpFrameScrollPosition): Updated for WebKit API changes. (main): Updated for WebKit API changes.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EventSender.cpp: (doMouseUp): Updated for WebKit API changes. (doMouseMove): Updated for WebKit API changes.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h: (WaitUntilDoneDelegate::didReceiveIcon): Updated for WebKit API changes. (WaitUntilDoneDelegate::webViewFirstResponder): Updated for WebKit API changes. (WaitUntilDoneDelegate::makeFirstResponder): Updated for WebKit API changes. (WaitUntilDoneDelegate::contextMenuItemsForElement): Updated for WebKit API changes. (WaitUntilDoneDelegate::trackCustomPopupMenu): Updated for WebKit API changes. (WaitUntilDoneDelegate::cleanUpCustomMenuDrawingData): Updated for WebKit API changes. (WaitUntilDoneDelegate::addCustomMenuDrawingData): Updated for WebKit API changes. (WaitUntilDoneDelegate::webViewLostFocus): Updated for WebKit API changes.
5:17 PM Changeset in webkit [21424] by hyatt
  • 2 edits in trunk/WebCore

Make sure focus rings are always using the exterior style, regardless
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):
5:07 PM Changeset in webkit [21423] by oliver
  • 3 edits
    2 adds in trunk

2007-05-11 Oliver Hunt <oliver@apple.com>

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
4:05 PM Changeset in webkit [21422] by ggaren
  • 1 edit in trunk/WebCore/ChangeLog

ChangeLog fixup

3:59 PM Changeset in webkit [21421] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Hyatt.

<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.
3:44 PM Changeset in webkit [23356] by adele
  • 2 edits in branches/WindowsMerge/WebKitWin

Build fix.

  • WebView.cpp: (WebView::selectionImageRect):
3:06 PM Changeset in webkit [21420] by oliver
  • 2 edits in trunk/WebCore

GDK Build fix

  • ChangeLog:
  • dom/Document.cpp: (WebCore::Document::importNode):
3:03 PM Changeset in webkit [21419] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Geoff.


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.
2:54 PM Changeset in webkit [21418] by oliver
  • 5 edits
    11 adds in trunk

2007-05-11 Oliver Hunt <oliver@apple.com>

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
1:44 PM Changeset in webkit [21417] by bdash
  • 2 edits in trunk/LayoutTests

2007-05-11 Mark Rowe <mrowe@apple.com>

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.
1:29 PM Changeset in webkit [21416] by bdash
  • 2 edits in trunk/WebKitTools

2007-05-11 Holger Hans Peter Freyther <zecke@selfish.org>

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):
1:27 PM Changeset in webkit [21415] by bdash
  • 3 edits in trunk/WebCore

2007-05-11 Holger Hans Peter Freyther <zecke@selfish.org>

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.
1:12 PM Changeset in webkit [21414] by bdash
  • 2 edits in trunk/WebCore

2007-05-11 Mitz Pettel <mitz@webkit.org>

Release build fix.

  • platform/mac/ShapeArabic.c: (shapeArabic):
12:43 PM Changeset in webkit [21413] by ggaren
  • 7 edits in trunk

LayoutTests:

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:]):
12:04 PM Changeset in webkit [21412] by brmorris
  • 7 edits in S60/trunk

joe, reviewed by brad

DESC: new stub for CancelResetEntryPositionL

  • group/Bwinscw/HistoryProvider_sdkU.def:
  • inc/HistoryController.h:
  • src/HistoryController.cpp: (CHistoryController::CancelResetEntryPositionL):
11:26 AM Changeset in webkit [21411] by beidson
  • 1 edit in trunk/WebCore/platform/mac/ShapeArabic.c

Build fix for case-sensitve file systems (which you should all be using!!!)

9:49 AM Changeset in webkit [21410] by bdash
  • 6 edits
    3 adds in trunk

2007-05-11 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

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.

  • 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:
9:45 AM Changeset in webkit [21409] by bdash
  • 3 edits
    3 adds in trunk

2007-05-11 Kimmo Kinnunen <Kimmo Kinnunen>

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 <Kimmo Kinnunen>

Reviewed by Darin.

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.
9:25 AM Changeset in webkit [21408] by bdash
  • 3 edits
    2 adds in trunk/WebCore

2007-05-11 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

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.
9:17 AM Changeset in webkit [21407] by bdash
  • 1 edit
    3 adds in trunk/LayoutTests

2007-05-11 Kimmo Kinnunen <Kimmo Kinnunen>

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.
9:15 AM Changeset in webkit [21406] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-05-11 Kimmo Kinnunen <Kimmo Kinnunen>

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 <Kimmo Kinnunen>

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.
8:56 AM Changeset in webkit [23355] by darin
  • 2 edits in branches/WindowsMerge/WebCore
  • WebCore.vcproj/WebCore.vcproj: Added new RenderWordBreak.cpp/h files.
8:47 AM Changeset in webkit [21405] by darin
  • 12 edits
    16 adds in trunk

LayoutTests:

Reviewed by Mitz.

  • 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.
  • fast/text/wbr-expected.checksum: Added.
  • fast/text/wbr-expected.png: Added.
  • fast/text/wbr-expected.txt: Added.
  • fast/text/wbr.html: Added.
  • 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 <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.
8:09 AM Changeset in webkit [21404] by zbujtas
  • 6 edits in S60/trunk

2007-05-11 bujtas <zbujtas@gmail.com>

Reviewed by Sriram.
DESC: disabled widgets should not get activated. add dimmed checkbox and radiobutton.
http://bugs.webkit.org/show_bug.cgi?id=13678

WARNING: NO TEST CASES ADDED OR CHANGED

  • bridge/WebCoreBridge.cpp: (CWebCoreBridge::NavigableNodeUnderCursor): (CWebCoreBridge::NodeTypeB):
  • kwq/KWQKHTMLPart.cpp: (KWQKHTMLPart::activateNodeAtPoint):
8:02 AM Changeset in webkit [21403] by zbujtas
  • 6 edits in S60/branches/3.1m

2007-05-11 bujtas <zbujtas@gmail.com>

Reviewed by Sriram.
DESC: disabled widgets should not get activated. add dimmed checkbox and radiobutton.
http://bugs.webkit.org/show_bug.cgi?id=13678

WARNING: NO TEST CASES ADDED OR CHANGED

  • bridge/WebCoreBridge.cpp: (CWebCoreBridge::NavigableNodeUnderCursor): (CWebCoreBridge::NodeTypeB):
  • kwq/KWQKHTMLPart.cpp: (KWQKHTMLPart::activateNodeAtPoint):
7:37 AM Changeset in webkit [21402] by yongjzha
  • 2 edits in S60/trunk/WebKit

raalexan, <rasvan.alexandrescu@nokia.com>

Reviewed by Yongjun Zhang.
DESC: Browser back goes to the beginning of the previous page
http://bugs.webkit.org/show_bug.cgi?id=13394
TSW ID : TMCN-6YDJDU

  • BrowserView/src/LoadListeners.cpp: (CPageLoadListener::HeadersL):
7:11 AM Changeset in webkit [21401] by yongjzha
  • 3 edits in S60/trunk/WebKit

2007-05-09 vbradley <vincent.bradley@nokia.com>

Reviewed by Yongjun.
DESC: EAMO-6YSHHQ - Fonts overlap in browser
http://bugs.webkit.org/show_bug.cgi?id=13647

  • BrowserCore/Renderers/inc/TextRendererFactory.h: (CTextRendererFactory::Apac):
  • BrowserCore/Renderers/src/TextRenderer.cpp: (CTextRenderer::LineSpacing):
7:08 AM Changeset in webkit [21400] by yongjzha
  • 3 edits in S60/branches/3.1m/WebKit

2007-05-09 vbradley <vincent.bradley@nokia.com>

Reviewed by Yongjun.
DESC: EAMO-6YSHHQ - Fonts overlap in browser
http://bugs.webkit.org/show_bug.cgi?id=13647

  • BrowserCore/Renderers/inc/TextRendererFactory.h: (CTextRendererFactory::Apac):
  • BrowserCore/Renderers/src/TextRenderer.cpp: (CTextRenderer::LineSpacing):
3:04 AM Changeset in webkit [21399] by bdash
  • 3 edits
    3 deletes in trunk

Roll out r21393 due to the JavaScriptCore test failure it introduced.

2:41 AM Changeset in webkit [21398] by hyatt
  • 8 edits in trunk/LayoutTests/fast/inline

Tweak continuation tests to make sure the no content after case is covered.

2:36 AM Changeset in webkit [21397] by hyatt
  • 6 edits in trunk/WebCore

Fix for bug 13675, focus rings don't repaint properly on editable
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):
2:31 AM Changeset in webkit [21396] by hyatt
  • 8 edits
    4 adds in trunk/LayoutTests/fast/inline

Land new layout tests for continuation repainting fix.

2:27 AM Changeset in webkit [21395] by rwlbuis
  • 4 edits in trunk/WebCore

Reviewed by Oliver.

Cleanups mostly inspired by Coverage results.

2:01 AM Changeset in webkit [21394] by bdash
  • 4 edits in trunk

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.

  • 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:
1:51 AM Changeset in webkit [21393] by bdash
  • 3 edits
    3 adds in trunk

2007-05-11 Kimmo Kinnunen <Kimmo Kinnunen>

Reviewed by Darin.

  • kjs/grammar.y: Add the comma that parser consumes in elision when the array has trailing commas.

2007-05-11 Kimmo Kinnunen <Kimmo Kinnunen>

Reviewed by Darin.

  • 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.

May 10, 2007:

10:36 PM Changeset in webkit [21392] by justing
  • 1 edit in trunk/LayoutTests/editing/selection/5195166-1.html

This tests behaves differently when it isn't run by itself because
of a bug. Filed it (13673) and added a workaround.


10:17 PM Changeset in webkit [21391] by hyatt
  • 2 edits in trunk/WebCore

<rdar://problem/5015522> Bounds rectangle of unloaded images is
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):
9:49 PM Changeset in webkit [21390] by thatcher
  • 8 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

  • 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.

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.
8:51 PM Changeset in webkit [21389] by justing
  • 5 edits
    8 adds in trunk

LayoutTests:

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):
7:09 PM Changeset in webkit [23354] by ggaren
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Darin Adler.


"IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.

7:01 PM Changeset in webkit [21388] by ggaren
  • 11 edits in trunk

WebCore:

Reviewed by Darin Adler.

"IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness,
in the style of WebCore::cache().

  • WebCore.exp:
  • history/HistoryItem.cpp: Removed retainIconInDatabase because calling "retain" in order to release something is really confusing and, now that iconDatabase() is more terse, we don't need this helper to shorten the syntax. (The isEmpty() check is also done by the database, so we don't need it either.)

(WebCore::IconDatabase::~IconDatabase): ASSERT that our destructor isn't
called. We're a singleton, so it's confusing to have tear-down code.

WebKit:

Reviewed by Darin Adler.


"IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.

5:39 PM Changeset in webkit [23353] by adele
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Hyatt.

  • bridge/win/FrameWin.cpp: (WebCore::imageFromSelection): Updated to use selectionRect instead of visibleSelectionRect
5:26 PM Changeset in webkit [21387] by adele
  • 24 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.

Test for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

  • fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.checksum: Added.
  • fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png: Added.
  • fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt: Added.
  • fast/overflow/scroll-nested-positioned-layer-in-overflow.html: Added.

WebCore:

Reviewed by Hyatt.

WebCore part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

Test: fast/overflow/scroll-nested-positioned-layer-in-overflow.html

Merged visibleSelectionRect into selectionRect. selectionRect() now takes an argument to determine
whether or not to return a rect that clips to the visible content. This change makes all of the implementations of selectionRect
consistent by having them all consider the repaint rect when clipping to visible content.

  • page/Frame.cpp: (WebCore::Frame::revealSelection): Call selectionRect with clipToVisibleContent = false, so we can get a rect that's not visible to reveal. (WebCore::Frame::selectionRect): Added clipToVisibleContent argument, and merged visibleSelectionRect into this method. (WebCore::Frame::setIsActive): Use selectionRect instead of visibleSelectionRect.
  • page/Frame.h:
  • page/mac/FrameMac.mm: (WebCore::Frame::selectionImage): Update layout before creating the image. Use selectionRect instead of visibleSelectionRect.
  • page/DragController.cpp: (WebCore::dragLocForSelectionDrag): Use selectionRect instead of visibleSelectionRect.
  • rendering/RenderBR.h: (WebCore::RenderBR::selectionRect): Updated argument.
  • rendering/RenderBlock.h: (WebCore::RenderBlock::selectionRect): ditto.
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::selectionRect): ditto.
  • rendering/RenderSVGInlineText.h: ditto.
  • rendering/RenderObject.h: (WebCore::RenderObject::selectionRect): ditto. (WebCore::RenderObject::SelectionInfo::SelectionInfo): ditto.
  • rendering/RenderView.cpp: (WebCore::RenderView::selectionRect): ditto. (WebCore::RenderView::setSelection): ditto.
  • rendering/RenderView.h:
  • rendering/RenderText.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::selectionRect): Only call computeAbsoluteRepaintRect when clipping to visible content. Otherwise, just adjust the rect to the correct position.
  • rendering/RenderListMarker.h:
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::selectionRect): To match what we do in RenderText, if we're trying to clip to visible content, just call computeAbsoluteRepaintRect.
  • rendering/RenderReplaced.h:
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::selectionRect): ditto.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Check for a parent layer at the beginning, so we can try to scroll all of our parent layers first, before trying to scroll the top level view. Also, don't try to scroll overflow layers that have -webkit-line-clamp restricting the height. This will prevent us from revealing text hidden by the slider in Safari RSS.
  • WebCore.exp: Update symbols for WebKit.

WebKit:

Reviewed by Hyatt.

WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result

Updated to use selectionRect instead of visibleSelectionRect. selectionRect() now returns the visible rect by default.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _lookUpInDictionaryFromMenu:]): (-[WebHTMLView selectionImageRect]):
4:10 PM Changeset in webkit [21386] by hyatt
  • 2 edits in trunk/LayoutTests/fast/inline

Land updated continuations outline test.

3:59 PM Changeset in webkit [21385] by hyatt
  • 2 edits in trunk/WebCore

Fix for:

<rdar://problem/5195272> REGRESSION: broke outline rings for continuations
with empty inline containers


http://bugs.webkit.org/show_bug.cgi?id=13667

Make sure to only include collapsed top/bottom margins of the block portion
of the continuation if we know for sure that we have inline line boxes before
and after that would prevent the collapse from going further.

In plain English: the focus rings were too tall. :)

Reviewed by beth

  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::addFocusRingRects):
3:08 PM Changeset in webkit [21384] by hyatt
  • 1 edit in trunk/WebCore/rendering/RenderText.cpp

Back out tweak to add PRE_LINE. Was not part of bug fix and is actually wrong.

3:07 PM Changeset in webkit [21383] by hyatt
  • 155 edits
    4 adds in trunk/LayoutTests/fast/text/whitespace

Add layout test for pre-wrap minwidth when a newline is present.

3:02 PM Changeset in webkit [21382] by spadma
  • 6 edits in S60/trunk/WebKit

naguo, reviewed by sachin

DESC: BrowserNG - Find phonenumber doesn't make a call
http://bugs.webkit.org/show_bug.cgi?id=13614

TSW ID : ISHG-6YFNME

  • BrowserControl/src/BrCtl.cpp: (CBrCtl::HandleCommandL):
  • BrowserView/inc/SmartLinkHandler.h:
  • BrowserView/src/KeyEventHandler.cpp: (CKeyEventHandler::HandleActivateKeysL):
  • BrowserView/src/SmartLinkHandler.cpp: (CSmartLinkHandler::HandleMakeCallL):
  • group/webkit.mmp:
2:55 PM Changeset in webkit [21381] by hyatt
  • 2 edits in trunk/WebCore

Fix for:

<rdar://problem/5067235> REGRESSION: Excessively wide table, impossible to resize

The table used white-space: pre-wrap, which is supported only by WebKit. There
was a bug with the computation of min pref width for pre-wrap text.

Reviewed by mitzpettel

fast/text/white-space/pre-wrap-line-test.html

  • rendering/RenderText.cpp: (WebCore::RenderText::calcPrefWidths):
2:37 PM Changeset in webkit [21380] by beidson
  • 5 edits in trunk/WebCore

Reviewed by Oliver

Cleanup from my earlier Java Applet patch. We should keep a central location to query if
a mime type counts as a Java Applet

  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::containsJavaApplet): Query MimeTypeRegistry on the type
  • platform/MimeTypeRegistry.cpp: (WebCore::MimeTypeRegistry::isSupportedImageMIMEType): Update style (WebCore::MimeTypeRegistry::isSupportedImageResourceMIMEType): Ditto (WebCore::MimeTypeRegistry::isSupportedNonImageMIMEType): Ditto (WebCore::MimeTypeRegistry::isJavaAppletMIMEType): Perform the Java Applet check
  • platform/MimeTypeRegistry.h:
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Query MimeTypeRegistry on the type
1:58 PM Changeset in webkit [21379] by spadma
  • 2 edits in S60/trunk/WebKit

2007-05-09 ligman <joseph.ligman@nokia.com>

Reviewed by Sachin.
DESC: Added a CancelResetEntryPositionL to the history provider to handle cancelled requests
http://bugs.webkit.org/show_bug.cgi?id=13651

  • BrowserView/src/WebKitControl.cpp: (CWebKitControl::SyncCancelL):
1:58 PM Changeset in webkit [21378] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-05-09 ligman <joseph.ligman@nokia.com>

Reviewed by Sachin.
DESC: Added a CancelResetEntryPositionL to the history provider to handle cancelled requests
http://bugs.webkit.org/show_bug.cgi?id=13651

  • BrowserView/src/WebKitControl.cpp: (CWebKitControl::SyncCancelL):
12:17 PM Changeset in webkit [21377] by bdakin
  • 2 edits in trunk/WebKit

Reviewed by Darin.

Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8:
Distiller 8 needs same check fix as 4992521

  • WebView/WebView.mm: (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe Distiller needs the same quirk.
11:57 AM Changeset in webkit [21376] by pyeh
  • 3 adds in trunk/LayoutTests/editing/selection

<rdar://problem/4720109> Sentence textMarker methods do not work well with empty lines
Add expected result for move-by-sentence-linebreak test case.

11:54 AM Changeset in webkit [21375] by pyeh
  • 1 add in trunk/LayoutTests/editing/selection/move-by-sentence-linebreak.html

<rdar://problem/4720109> Sentence textMarker methods do not work well with empty lines
Add a testcase to exercise moving insertion point forward by sentence across lines of text that
includes empty lines.

11:50 AM Changeset in webkit [21374] by pyeh
  • 3 edits in trunk/WebCore

<rdar://problem/4720109> Sentence textMarker methods do not work well with empty lines

  • bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]): (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]): When a marker position is given, the sentence ax methods automatically shift position by one to make sure not to ask for the current sentence again. This is generally fine except when the position shift over an empty line break, which is should be considered a separate sentence. In this case, if we used the shifted position to ask for sentence boundary, ICU parser is not given the text data containing the newline to correctly determine the sentence boundary. Since the ax sentence method is explicitly shifting the position to ask for sentence boundary, it should make sure not to skip over important character that can be a standalone sentence.
  • editing/visible_units.cpp: (WebCore::nextBoundary): When determining boundary, don't stop on a collapsed range, such as newline. Just pick the next valid position to use as boundary.
7:54 AM Changeset in webkit [21373] by zbujtas
  • 3 edits in S60/trunk/JavaScriptCore

2007-05-09 bujtas <zbujtas@gmail.com>

Reviewed by Sriram
DESC: stack overflow while destroying a huge array. remove ElementNode recursive destruction.
http://bugs.webkit.org/show_bug.cgi?id=13649

  • kjs/nodes.cpp: (ElementNode::~ElementNode):
  • kjs/nodes.h:
7:42 AM Changeset in webkit [21372] by zbujtas
  • 3 edits in S60/branches/3.1m/JavaScriptCore

2007-05-09 bujtas <zbujtas@gmail.com>

Reviewed by Sriram
DESC: stack overflow while destroying a huge array. remove ElementNode recursive destruction.
http://bugs.webkit.org/show_bug.cgi?id=13649

  • kjs/nodes.cpp: (ElementNode::~ElementNode):
  • kjs/nodes.h:
7:36 AM Changeset in webkit [21371] by lars
  • 2 edits in trunk/JavaScriptCore

Reviewed by Zack

Fix our last three test failures in the JavaScript
tests.

Without change 21367 we would have been at 0 failures
in javascript and layout tests now... ;-)

7:16 AM Changeset in webkit [21370] by spadma
  • 3 edits in S60/branches/3.1m/WebKit

vbradley, reviewed by Zalan

DESC: MLIO-6ZGAN6 - Browser doesn't update loading status
http://bugs.webkit.org/show_bug.cgi?id=13346

  • BrowserView/inc/WebKitControl.h:
  • BrowserView/src/WebKitControl.cpp: (CWebKitControl::CWebKitControl): (CWebKitControl::ProgressCompleted): (CWebKitControl::IncrementProgressForMoreData): (CWebKitControl::IncrementProgressForLoadComplete): (CWebKitControl::ResetProgress): (CWebKitControl::FinalProgressComplete): (CWebKitControl::ProgressUpdate):
7:16 AM Changeset in webkit [21369] by spadma
  • 3 edits in S60/trunk/WebKit

vbradley, reviewed by Zalan

DESC: MLIO-6ZGAN6 - Browser doesn't update loading status
http://bugs.webkit.org/show_bug.cgi?id=13346

  • BrowserView/inc/WebKitControl.h:
  • BrowserView/src/WebKitControl.cpp: (CWebKitControl::CWebKitControl): (CWebKitControl::ProgressCompleted): (CWebKitControl::IncrementProgressForMoreData): (CWebKitControl::IncrementProgressForLoadComplete): (CWebKitControl::ResetProgress): (CWebKitControl::FinalProgressComplete): (CWebKitControl::ProgressUpdate):
5:48 AM Changeset in webkit [21368] by eseidel
  • 3 edits
    4 adds in branches/feature-branch

2007-05-10 Eric Seidel <eric@webkit.org>

Reviewed by olliej.

http://bugs.webkit.org/show_bug.cgi?id=11931
PathCG fails to hit on unclosed sub-paths

Test: svg/custom/hit-test-unclosed-subpaths.svg

  • platform/graphics/cg/PathCG.cpp: (WebCore::copyClosingSubpathsApplierFunction): (WebCore::copyCGPathClosingSubpaths): (WebCore::Path::contains): use new copy & close function
5:31 AM Changeset in webkit [21367] by mjs
  • 41 edits
    4 adds in trunk

LayoutTests:

Reviewed by Oliver.


  • new test case for: <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load) <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

(The test case covers both scenarios.)

  • http/tests/misc/frame-access-during-load-expected.checksum: Added.
  • http/tests/misc/frame-access-during-load-expected.png: Added.
  • http/tests/misc/frame-access-during-load-expected.txt: Added.
  • http/tests/misc/frame-access-during-load.html: Added.
  • test results beneficially or harmlessly changed as a result of the above fixes
  • css2.1/t0801-c412-hz-box-00-b-a-expected.checksum:
  • css2.1/t0801-c412-hz-box-00-b-a-expected.png:
  • css2.1/t0801-c412-hz-box-00-b-a-expected.txt: This reflects an <object> containing an image now creating an image renderer.
  • dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt: This is updated to a slightly less bad failure for access to a frame that's not loaded yet.

The following test results now reflect the frame removal that the test was testing:


  • fast/dom/clientWidthAfterDocumentIsRemoved-expected.checksum:
  • fast/dom/clientWidthAfterDocumentIsRemoved-expected.png:
  • fast/dom/clientWidthAfterDocumentIsRemoved-expected.txt:
  • fast/dom/replaceChild-expected.checksum:
  • fast/dom/replaceChild-expected.png:
  • fast/dom/replaceChild-expected.txt:

The following tests results now reflect empty document content for iframes that never load anything:


  • fast/events/focusingUnloadedFrame-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug137388-1-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug137388-2-expected.txt:

WebCore:

Reviewed by Oliver.

  • WebCore part of fix for: <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load) <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.


However, this caused many regressions so I had to fix the fallout.


  • WebCore.exp: fix symbol exports
  • bindings/js/kjs_window.cpp: (KJS::createNewWindow): useless "created" bool (we don't need it here) (KJS::WindowFunc::callAsFunction): detect if we created a new frame, because if so, we need to initialize the domain (can't count on it not having a document), also don't try to make a new document for it. Also, stop properly.
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): don't count on document having a view here
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::isImageType): Ask client, to match how other <object> renderer decisions are made.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): Initialize new data members (WebCore::FrameLoader::init): Do the slightly tricky sequence of steps to properly make an empty document with everything hooked up. (WebCore::FrameLoader::createWindow): Added "created" bool. (WebCore::FrameLoader::stopLoading): (whitespace change) (WebCore::FrameLoader::begin): Don't try to create an empty document. (WebCore::FrameLoader::finishedParsing): If creating an initial empty document, don't do any of this work. (WebCore::FrameLoader::checkCompleted): Do checkLoadComplete() as well. (WebCore::FrameLoader::baseURL): don't check for null document (WebCore::FrameLoader::baseTarget): ditto (WebCore::FrameLoader::completeURL): ditto (WebCore::FrameLoader::didTellBridgeAboutLoad): ditto (WebCore::FrameLoader::scheduleLocationChange): determine duringLoad differently; doc won't be null. (WebCore::FrameLoader::gotoAnchor): don't check for null document (WebCore::FrameLoader::canTarget): don't check for null document (WebCore::FrameLoader::stopForUserCancel): new method for explicit stops like window.stop(). (WebCore::FrameLoader::transitionToCommitted): check for pre-loaded state properly (WebCore::FrameLoader::createEmptyDocument): removed (WebCore::FrameLoader::checkLoadCompleteForThisFrame): don't send delegate callbacks when making initial doc. (WebCore::FrameLoader::tokenizerProcessedData): Assume document; just checkCompleted now that it does checkLoadComplete. (WebCore::FrameLoader::receivedMainResourceError): assume document (WebCore::FrameLoader::saveDocumentState): Assume there's a document except during initial load (WebCore::FrameLoader::mainReceivedCompleteError): do checkCompleted, not checkLoadComplete (WebCore::FrameLoader::continueLoadWithData): assume document
  • loader/FrameLoader.h:
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::receivedError): Add more ref protection and do things in a slightly different order.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::document): don't force document creation, just assert there is one.
  • page/Frame.cpp: (WebCore::Frame::init): Added init method. (WebCore::Frame::pageDestroyed): when a frame is removed, make sure to check if the parent is done loading.
  • page/Frame.h:
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): No need to force document. (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): ditto
  • platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::dataChanged): init the frame
  • rendering/RenderPart.cpp: (WebCore::RenderPart::updateWidgetPosition): If a subframe needs layout, then lay it out even if the bounds did not change; the content size might be wrong.
  • rendering/RenderTreeAsText.cpp: (WebCore::externalRepresentation): Don't crash if the frame lacks a view.

WebKit:

Reviewed by Oliver.

  • WebKit part of fix for: <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load) <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.


However, this caused many regressions so I had to fix the fallout.

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree with initial empty document now).
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame. (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
  • WebView/WebFrame.mm: (-[WebFrame stopLoading]): use stopForUserCancel().
  • WebView/WebFrameView.mm: (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
  • WebView/WebView.mm: (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from outside the view. (-[WebView _becomingFirstResponderFromOutside]): Return this value.
  • WebView/WebViewInternal.h:

WebKitTools:

Reviewed by Oliver.


  • don't clear events whenever an EventSendingController goes away, only do it at predictable times, since destroying a subframe can make one go away


(Discovered while fixing:


<rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
<rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

  • DumpRenderTree/DumpRenderTree.m: (runTest): explicitly clear saved events after every page load
  • DumpRenderTree/EventSendingController.h:
  • DumpRenderTree/EventSendingController.m: (-[EventSendingController dealloc]): don't clear saved events here... (+[EventSendingController clearSavedEvents]): do it here
  • Scripts/check-for-global-initializers:
5:08 AM Changeset in webkit [21366] by hyatt
  • 4 adds in trunk/LayoutTests/fast/text/whitespace

Add layout test for 13654.

5:08 AM Changeset in webkit [23352] by mjs
  • 3 edits in branches/WindowsMerge/WebKitWin

Reviewed by Oliver.

  • WebKitWin part of fix for: <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load) <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)

The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.


However, this caused many regressions so I had to fix the fallout.

  • WebFrame.cpp: (WebFrame::createFrame): init frame
  • WebView.cpp: (WebView::initWithFrame): init frame (WebView::stringByEvaluatingJavaScriptFromString): don't create empty document
5:06 AM Changeset in webkit [21365] by hyatt
  • 2 edits in trunk/WebCore

Fix for:

<rdar://problem/5146757> REGRESSION: div that wrapped to screen width in
tiger no longer wraps


http://bugs.webkit.org/show_bug.cgi?id=13654

Reviewed by mitz

fast/text/whitespace/normal-after-nowrap-breaking.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths):
3:48 AM Changeset in webkit [21364] by bdash
  • 2 edits in trunk/WebKitTools

2007-05-10 Mark Rowe <mrowe@apple.com>

Build fix for DumpRenderTree. Enable Objective-C exceptions in Release configuration.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
3:14 AM Changeset in webkit [21363] by hyatt
  • 3 edits in trunk/WebCore

Fix for:

<rdar://problem/4778099> Links with nested continuations fail to
paint their outlines (11255)


http://bugs.webkit.org/show_bug.cgi?id=11255

Fix multiple bugs with outline painting of continuations to ensure that
all combos work (empty/full inline - block with/without margins -
empty/full inline).

Reviewed by mitz

fast/inline/continuation-outlines.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::addFocusRingRects):
3:13 AM Changeset in webkit [21362] by hyatt
  • 4 adds in trunk/LayoutTests/fast/inline

Add continuation outline drawing test.

2:29 AM Changeset in webkit [21361] by hyatt
  • 4 adds in trunk/LayoutTests/fast/overflow

Add layout test to cover RTL overflow issue.

2:28 AM Changeset in webkit [21360] by hyatt
  • 2 edits in trunk/WebCore

Fix for:

<rdar://problem/5193529> REGRESSION: RTL Overflows scrollbar not showing
when they should be


Fallout from fix for bug 11926. Make sure to restrict the fix to the
RenderView for now, since the full-blown overflow case is pretty involved.

Reviewed by mitzpettel

fast/overflow/unreachable-content-bug-rtl.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition):
1:55 AM Changeset in webkit [21359] by beidson
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Oliver

Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816>

When creating the applets collection, be sure to only count Objects if they contain
a java applet

  • dom/html/level2/html/AppletsCollection-expected.txt: Added.
  • dom/html/level2/html/AppletsCollection.html: Added.

WebCore:

Reviewed by Oliver

Fix for http://bugs.webkit.org/show_bug.cgi?id=13636 and <rdar://problem/5190816>

When creating the applets collection, be sure to only count Objects if they contain
a java applet

  • html/HTMLCollection.cpp: (WebCore::HTMLCollection::traverseNextItem): Add the qualifier for Objects that containsJavaApplet() must be true
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::containsJavaApplet): Check this Object element and inner nodes for any Java applets
  • html/HTMLObjectElement.h:
1:52 AM Changeset in webkit [21358] by hyatt
  • 2 edits in trunk/WebCore

Fix for:

<rdar://problem/4694859> SAP: HTML tags with overflow:hidden consume
space on page, do not consume space in Firefox (11926)

http://bugs.webkit.org/show_bug.cgi?id=11926

Make sure that unreachable objects along one axis (e.g., top/left) do not
contribute to the scrollable area in the opposite axis (e.g., right/bottom).

Reviewed by olliej

fast/overflow/unreachable-content-test.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition):
1:50 AM Changeset in webkit [21357] by hyatt
  • 4 adds in trunk/LayoutTests/fast/overflow

Add layout test for bug 11926.

1:09 AM Changeset in webkit [21356] by hyatt
  • 150 edits
    4 adds in trunk/LayoutTests/fast/text

Add layout test for opacity/letter-spacing bug.

1:09 AM Changeset in webkit [21355] by hyatt
  • 2 edits in trunk/WebCore

Fix for:

<rdar://problem/4656825> REGRESSION: Japanese TV time table widget:
part of the number in background has been cut off.

Now that opacity uses a tight bounding box to clip, we need to make sure
to factor spillout caused by negative letter spacing into our right
overflow. Latch on to the code that does this already for text-stroke
and text-shadow.

Reviewed by olliej

fast/text/letter-spacing-negative-opacity.html

  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally):
1:00 AM Changeset in webkit [21354] by ggaren
  • 11 edits
    2 adds in trunk

LayoutTests:

Reviewed by Maciej Stachowiak.


Tests for more fix-ups to the WebScriptObject/WebScripting APIs, related to
<rdar://problem/5140447> API for fetching JSGlobalContextRef from WebView
or WebFrame

  • fast/dom/wrapper-classes-expected.txt:
  • fast/dom/wrapper-classes.html: Added cases to test the wrapper classes for different data types sent across the JS/ObjC bridge.
  • fast/dom/wrapper-round-tripping-expected.txt: Added.
  • fast/dom/wrapper-round-tripping.html: Added. New test to verify that you can round-trip between a JSObjectRef and a WebScriptObject.

WebCore:

Reviewed by Maciej Stachowiak.


More fix-ups to the WebScriptObject/WebScripting APIs, related to
<rdar://problem/5140447> API for fetching JSGlobalContextRef from WebView
or WebFrame

  • bindings/objc/WebScriptObject.h: Fully specified the surprising rules for type conversion between JavaScript and ObjC.
  • bindings/objc/WebScriptObject.mm: Added up-call accessor to WebFrame. This is kind of stinky, but I'm OK with it because eventually all of this code should move up into WebKit. (+[WebScriptObject scriptObjectForJSObject:frame:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject JSObject]):
    • Added _rootObject check because if _rootObject returns NULL it means that _imp is no longer GC protected, so it's not safe to use.
    • Added _isSafeScript check because that's what WebScriptObject methods typically do, even though the value of doing so isn't clear to me.
  • bindings/objc/WebScriptObjectPendingPublic.h: Added WebFrame* parameter to -scriptObjectForJSObject:. This is required to wrap JS objects that are not already in the wrapper cache. It would be nice to remove this limitation of WebScriptObject some day.
  • page/mac/FrameMac.mm: (WebCore::Frame::cleanupPlatformScriptObjects): Force removal of m_windowScriptObject from the cache, to avoid retrieving the m_windowScriptObject from the previous page on a new page load. (It would be non-functional in that case.)

WebKitTools:

Reviewed by Maciej Stachowiak.


Added support for testing ObjC/JS type bridging.


Added ASSERT that -JSObject returns nil when the underlying JSObject
is no longer GC protected.

  • DumpRenderTree/DumpRenderTree.m: (returnThisCallback): (returnThisClass): (-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]): (+[LayoutTestController isSelectorExcludedFromWebScript:]): (+[LayoutTestController webScriptNameForSelector:]): (-[LayoutTestController accessStoredWebScriptObject]): (-[LayoutTestController testWrapperRoundTripping]): (-[LayoutTestController objCClassNameOf:]): (-[LayoutTestController objCObjectOfClass:]):
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
12:50 AM Changeset in webkit [21353] by lars
  • 1 edit
    1 add in trunk/LayoutTestResults

Add missing test result.

12:34 AM Changeset in webkit [21352] by hyatt
  • 4 adds in trunk/LayoutTests/fast/inline-block

Add vertical align layout test for inline blocks.

12:33 AM Changeset in webkit [21351] by lars
  • 2 edits in trunk/WebKitTools

Reviewed by Simon

Move setting of the DPI value a few lines up. Should fix
the last two remaining failures in the layout tests.

12:32 AM Changeset in webkit [21350] by hyatt
  • 2 edits in trunk/WebCore

Fix for <rdar://problem/5183697>.

http://bugs.webkit.org/show_bug.cgi?id=13576

Make sure verticalPositionHint is not called on an inline-block from
content inside the inline-block (like text).

Reviewed by olliej

fast/inline-block/inline-block-vertical-align.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::verticalPositionHint):
  • rendering/RenderText.cpp: (WebCore::RenderText::verticalPositionHint):
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize):
Note: See TracTimeline for information about the timeline view.