bdash [Fri, 11 May 2007 09:01:46 +0000 (09:01 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 11 May 2007 08:51:49 +0000 (08:51 +0000)]
2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
Reviewed by Darin.
- Fixes http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits trailing
comma in array literal)
* kjs/grammar.y: Add the comma that parser consumes in elision
when the array has trailing commas.
2007-05-11 Kimmo Kinnunen <kimmok@iki.fi>
Reviewed by Darin.
- Tests for fix to http://bugs.webkit.org/show_bug.cgi?id=13622 (Decompiler omits
trailing comma in array literal)
* fast/js/resources/toString-elision-trailing-comma.js: Added.
* fast/js/toString-elision-trailing-comma-expected.txt: Added.
* fast/js/toString-elision-trailing-comma.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Fri, 11 May 2007 05:36:28 +0000 (05:36 +0000)]
This tests behaves differently when it isn't run by itself because
of a bug. Filed it (13673) and added a workaround.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 11 May 2007 05:17:08 +0000 (05:17 +0000)]
<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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Fri, 11 May 2007 04:49:54 +0000 (04:49 +0000)]
LayoutTests:
Reviewed by Darin.
- repaint test and updated results for http://bugs.webkit.org/show_bug.cgi?id=13655
Incomplete repaint when text-shadow is used in a render layer with explicit height
* fast/repaint/layer-full-repaint-expected.checksum: Added.
* fast/repaint/layer-full-repaint-expected.png: Added.
* fast/repaint/layer-full-repaint-expected.txt: Added.
* fast/repaint/layer-full-repaint.html: Added.
* fast/repaint/repaint-resized-overflow-expected.checksum:
* fast/repaint/repaint-resized-overflow-expected.png:
WebCore:
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=13655
Incomplete repaint when text-shadow is used in a render layer with explicit height
Test: fast/repaint/layer-full-repaint.html
Removed custom repaint logic from RenderLayer. repaintAfterLayoutIfNeeded()
knows how to do everything we need now. The only catch is that we cannot
rely on its "do a full repaint if the object needs layout" behavior, since
by the time we call it, the needs layout flag has been reset. The solution
is to cache the need for a full repaint in the layer.
* page/FrameView.cpp:
(WebCore::FrameView::layout): Removed call to checkForRepaintOnResize().
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::checkForRepaintOnResize): Removed.
(WebCore::RenderLayer::RenderLayer): Replaced the m_repaintOverflowOnResize
flag with a m_needsFullRepaint flag, which indicates that the layer needs
to do a full repaint in the next call to updateLayerPositions().
(WebCore::RenderLayer::updateLayerPositions): Simplified the repaint logic.
Either call repaintAfterLayoutIfNeeded() or do a full repaint, depending on
m_needsFullRepaint.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::setNeedsFullRepaint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setNeedsLayout): Mark the layer for full repaint.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Fri, 11 May 2007 03:51:40 +0000 (03:51 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 11 May 2007 02:01:11 +0000 (02:01 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Fri, 11 May 2007 00:26:12 +0000 (00:26 +0000)]
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]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 23:10:56 +0000 (23:10 +0000)]
Land updated continuations outline test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 22:59:22 +0000 (22:59 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 22:08:47 +0000 (22:08 +0000)]
Back out tweak to add PRE_LINE. Was not part of bug fix and is actually wrong.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 22:07:13 +0000 (22:07 +0000)]
Add layout test for pre-wrap minwidth when a newline is present.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 21:55:50 +0000 (21:55 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Thu, 10 May 2007 21:37:58 +0000 (21:37 +0000)]
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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Thu, 10 May 2007 19:17:09 +0000 (19:17 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pyeh [Thu, 10 May 2007 18:57:14 +0000 (18:57 +0000)]
<rdar://problem/4720109> Sentence textMarker methods do not work well with empty lines
Add expected result for move-by-sentence-linebreak test case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pyeh [Thu, 10 May 2007 18:54:14 +0000 (18:54 +0000)]
<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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pyeh [Thu, 10 May 2007 18:50:39 +0000 (18:50 +0000)]
<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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Thu, 10 May 2007 14:36:58 +0000 (14:36 +0000)]
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... ;-)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Thu, 10 May 2007 12:31:42 +0000 (12:31 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 12:08:25 +0000 (12:08 +0000)]
Add layout test for 13654.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 12:06:44 +0000 (12:06 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 10 May 2007 10:48:26 +0000 (10:48 +0000)]
2007-05-10 Mark Rowe <mrowe@apple.com>
Build fix for DumpRenderTree. Enable Objective-C exceptions in Release configuration.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 10:14:21 +0000 (10:14 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 10:13:00 +0000 (10:13 +0000)]
Add continuation outline drawing test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 09:29:19 +0000 (09:29 +0000)]
Add layout test to cover RTL overflow issue.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 09:28:24 +0000 (09:28 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Thu, 10 May 2007 08:55:44 +0000 (08:55 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 08:52:58 +0000 (08:52 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 08:50:05 +0000 (08:50 +0000)]
Add layout test for bug 11926.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 08:09:23 +0000 (08:09 +0000)]
Add layout test for opacity/letter-spacing bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 08:09:14 +0000 (08:09 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Thu, 10 May 2007 08:00:33 +0000 (08:00 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Thu, 10 May 2007 07:50:24 +0000 (07:50 +0000)]
Add missing test result.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 07:34:59 +0000 (07:34 +0000)]
Add vertical align layout test for inline blocks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Thu, 10 May 2007 07:33:53 +0000 (07:33 +0000)]
Reviewed by Simon
Move setting of the DPI value a few lines up. Should fix
the last two remaining failures in the layout tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 May 2007 07:32:56 +0000 (07:32 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 10 May 2007 04:53:50 +0000 (04:53 +0000)]
2007-05-09 Oliver Hunt <oliver@apple.com>
rs=Adele.
The previous patch (r21346) broke editing, rolling out
* WebView/WebHTMLView.mm:
(-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
(-[WebHTMLView doCommandBySelector:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 10 May 2007 02:28:52 +0000 (02:28 +0000)]
2007-05-09 Adele Peterson <adele@apple.com>
Reviewed by Oliver.
Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
http://bugs.webkit.org/show_bug.cgi?id=13263
We don't need to call interpretKeyEvents for cmd-key events as
they events will be interpreted by performKeyEquivalent.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
(-[WebHTMLView doCommandBySelector:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 10 May 2007 02:11:56 +0000 (02:11 +0000)]
Remove random characters from changelog
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 10 May 2007 02:08:28 +0000 (02:08 +0000)]
Reviewed by Adam.
Workaround for rdar://problem/5114296 need to allow for
download occuring, and thus not triggering subframeLoaded()
* fast/encoding/char-encoding.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 9 May 2007 22:16:41 +0000 (22:16 +0000)]
Reviewed by Darin Adler.
Fixed #includes of JSStringRefCF.h and use of CF datatypes. I think I
misunderstood this issue before.
* API/JavaScriptCore.h: #include JSStringRefCF.h. Platforms that don't
want this behavior can just #include individual headers, instead of the
umbrella framework header. But we definitely want Mac OS X clients to
get the #include of JSStringRefCF.h "for free."
* API/minidom.c: Don't #include JSStringRefCF.h. (Don't need to #include
JavaScriptCore.h, either.)
* API/testapi.c: Don't #include JSStringRefCF.h. Do use CF datatypes
regardless of whether __APPLE__ is defined. Platforms that don't support
CF just shouldn't compile this file.
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 9 May 2007 21:42:38 +0000 (21:42 +0000)]
2007-05-09 Holger Freyther <zecke@selfish.org>
Reviewed by Mark Rowe.
Gdk build fix with SVG enabled. Stub out ImageBufferCairo.
* WebCore.pro: Build ImageBufferCairo.cpp
* platform/graphics/cairo/ImageBufferCairo.cpp: Added.
(WebCore::ImageBuffer::create):
(WebCore::ImageBuffer::~ImageBuffer):
(WebCore::ImageBuffer::context):
2007-05-09 Holger Freyther <zecke@selfish.org>
Reviewed by Mark Rowe.
* GdkLauncher/main.cpp: Always include config.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 9 May 2007 19:59:14 +0000 (19:59 +0000)]
LayoutTests:
Reviewed by darin
<rdar://problem/5017613> Style changes don't effect fully selected ToDo content
Demonstrates the bug:
* editing/style/5017613-1-expected.checksum: Added.
* editing/style/5017613-1-expected.png: Added.
* editing/style/5017613-1-expected.txt: Added.
* editing/style/5017613-1.html: Added.
Tests to make sure that a plaintext-only region
will only be styled if it is fully selected:
* editing/style/5017613-2-expected.checksum: Added.
* editing/style/5017613-2-expected.png: Added.
* editing/style/5017613-2-expected.txt: Added.
* editing/style/5017613-2.html: Added.
WebCore:
Reviewed by darin
<rdar://problem/5017613> Style changes don't effect fully selected ToDo content
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyle):
Use a for loop instead of while(1).
Simplify loop termination using Range::pastEndNode.
Don't handle the start.node() == end.node() case
specially, it's unnecessary.
Apply the style change to fully selected plaintext-only
regions, not with wrapper spans inside the region, but
by changing the element's inline style declaration.
Don't descend into nodes whose children we should ignore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Wed, 9 May 2007 18:45:33 +0000 (18:45 +0000)]
LayoutTests:
Reviewed by Hyatt.
Updated results for <rdar://problem/5113578> REGRESSION: textfields that set the height but not the font
look different from IE & FF because the font is small
* fast/block/float/032-expected.txt:
* fast/forms/input-text-word-wrap-expected.checksum:
* fast/forms/input-text-word-wrap-expected.png:
* fast/forms/input-text-word-wrap-expected.txt:
WebCore:
Reviewed by Hyatt.
Fix for <rdar://problem/5113578> REGRESSION: textfields that set the height but not the font
look different from IE & FF because the font is small
For plain text fields, don't stretch the inner text box. Center it vertically in the field.
* rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::layout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 9 May 2007 14:57:58 +0000 (14:57 +0000)]
- checked in a file that was accidentally left out of the last check-in
* fast/js/cyclic-prototypes-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Wed, 9 May 2007 10:36:25 +0000 (10:36 +0000)]
2007-05-09 Eric Seidel <eric@webkit.org>
Reviewed by mjs.
http://bugs.webkit.org/show_bug.cgi?id=6985
Cyclic __proto__ values cause WebKit to hang
* kjs/object.cpp:
(KJS::JSObject::put): do a cycle check before setting __proto__
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 9 May 2007 10:35:09 +0000 (10:35 +0000)]
2007-05-09 Atul Mehrotra <atul.mehrotra@celunite.com>
Gdk build fix.
* platform/gdk/TemporaryLinkStubs.cpp:
(Editor::newGeneralClipboard):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 9 May 2007 07:52:41 +0000 (07:52 +0000)]
2007-05-09 Mitz Pettel <mitz@webkit.org>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=13037
REGRESSION: Copy-on-scroll not reset properly after back/forward navigation
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate): Moved initialization of
m_slowRepaintObjectCount here.
(WebCore::FrameViewPrivate::reset): Do not reset the slow repaint object
count here.
(WebCore::FrameView::useSlowRepaints):
(WebCore::FrameView::addSlowRepaintObject):
(WebCore::FrameView::removeSlowRepaintObject): Added an assertion that the
object count is positive.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle): Corrected a mix up between old and new
style, which caused the object count to be decremented when it was supposed
to be incremented and vice versa.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 9 May 2007 07:48:31 +0000 (07:48 +0000)]
2007-05-09 Peter Müller <pm@one.com>
Reviewed by Dave Hyatt.
Changed the hardcoded colors that are used for CSS 2.1 system colors.
Previous colors had numerous conflicts in semantic pairs, which
made text invisible in highlight, info and menu colored areas.
The new hardcoded colors are inspired by Aqua.
Ideally these colors should be fetched through AppKit instead,
though I am not sure if it is possible to make a 1:1 mapping
between CSS2.1 system colors and Mac OS X.
* css/cssstyleselector.cpp:
(WebCore::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Wed, 9 May 2007 07:16:49 +0000 (07:16 +0000)]
Fix the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 9 May 2007 05:28:48 +0000 (05:28 +0000)]
LayoutTests:
Reviewed by Darin Adler.
Added test to verify that you get back the same JS/ObjC wrapper when
you access the same object twice.
* fast/dom/wrapper-identity-expected.txt: Added.
* fast/dom/wrapper-identity.html: Added.
WebCore:
Reviewed by Darin Adler.
More fix-ups to the WebScriptObject/WebScripting APIs, related to
<rdar://problem/5140447> API for fetching JSGlobalContextRef from WebView
or WebFrame
1. Added -scriptObjectForJSObject: SPI so you can bridge back from JavaScriptCore
to WebScriptObject.
2. Fixed WebScriptObject bridging so that you always get the same WebScriptObject
for a JSObject (like in the DOM). This makes -scriptObjectForJSObject: a
lot more coherent as an API.
* bindings/objc/DOMInternal.mm: Renamed wrapperCache to DOMWrapperCache
to distinguish from the JSWrapperCache. Added typedef for readability.
(WebCore::getDOMWrapper):
(WebCore::addDOMWrapper):
(WebCore::removeDOMWrapper):
* bindings/objc/WebScriptObject.mm: Added JSWrapperCache, which works just
like the DOMWrapperCache.
(WebCore::getJSWrapper):
(WebCore::addJSWrapper):
(WebCore::removeJSWrapper):
(WebCore::createJSWrapper):
(+[WebScriptObject scriptObjectForJSObject:]): This is the new API. It attempts
to return a specific DOM wrapper object, or, barring that, it returns a
generic WebScriptObject.
(+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]):
Added this method to support our old WebScriptObject security and leak
checking model, even though it doesn't work very well.
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject dealloc]):
(-[WebScriptObject finalize]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
* bindings/objc/WebScriptObjectPendingPublic.h:
* bindings/objc/WebScriptObjectPrivate.h:
* page/mac/FrameMac.mm:
(WebCore::Frame::windowScriptObject): Changed to use the new API. This
fixes a bug where the object sent to -windowScriptObjectAvailable: and returned
from -windowScriptObject could not be round-tripped.
WebKitTools:
Reviewed by Darin Adler.
Added support for testing ObjC object identity.
Added ASSERT to verify that you can round-trip the object passed to you
in -didClearWindowObject:forFrame:.
* DumpRenderTree/DumpRenderTree.m:
(-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]):
(+[LayoutTestController isSelectorExcludedFromWebScript:]):
(+[LayoutTestController webScriptNameForSelector:]):
(-[LayoutTestController accessStoredWebScriptObject]):
(-[LayoutTestController objCIdentityIsEqual::]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 9 May 2007 05:15:48 +0000 (05:15 +0000)]
2007-05-09 Mark Rowe <mrowe@apple.com>
Build fix to keep the buildbot happy.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 9 May 2007 04:09:24 +0000 (04:09 +0000)]
2007-05-08 Bruce Q Hammond <bruceq@apple.com>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=13578
Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
Now we have correct handling of the origin when QD plugins draw to
offscreen bitmaps.
Also the clipping code for this path was doing unnecessary work which
caused incorrect results; it has been removed.
This change should not affect Safari and in general will only affect
plugins (e.g. Flash) drawing to a CGBitmapContext.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Wed, 9 May 2007 04:07:15 +0000 (04:07 +0000)]
2007-05-09 Mark Rowe <mrowe@apple.com>
Build fix.
* editing/Editor.cpp:
(WebCore::findFirstGrammarDetailInRange): Use unsigned rather than int.
(WebCore::findFirstBadGrammarInRange): Cast to unsigned in assertion.
(WebCore::isRangeUngrammatical): Remove unused variables.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21321
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Wed, 9 May 2007 03:11:33 +0000 (03:11 +0000)]
2007-05-08 Kimmo Kinnunen <kimmok@iki.fi>
Reviewed by darin. Landed by eseidel.
- http://bugs.webkit.org/show_bug.cgi?id=10880 (Do..while loop gains
a semicolon each time it is toStringed)
Grammar in Ecma-66262, 12.6: "do Statement while ( Expression );"
EmptyStatement was created after every do..while(expr) which
had semicolon at the end.
* kjs/grammar.y: Require semicolon at the end of do..while
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21320
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Wed, 9 May 2007 01:02:58 +0000 (01:02 +0000)]
Reviewed by Darin.
Implemented spelling/grammar related WebEditorClient methods.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
(WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
(WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
(WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
(WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
(WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
(WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
(WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
(WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
Reviewed by Darin.
Moved most spelling/grammar logic to C++. Now calls through to
WebKit to actually invoke NSSpellChecker.
* editing/Editor.cpp:
(WebCore::Editor::ignoreSpelling): Added (ported from EditorMac).
(WebCore::Editor::learnSpelling): Added (ported from EditorMac).
(WebCore::findFirstMisspellingInRange): Added (ported from EditorMac).
(WebCore::paragraphAlignedRangeForRange): Added (ported from EditorMac).
(WebCore::findFirstGrammarDetailInRange): Added (ported from EditorMac).
(WebCore::findFirstBadGrammarInRange): Added (ported from EditorMac).
(WebCore::Editor::advanceToNextMisspelling): Added (ported from EditorMac).
(WebCore::Editor::isSelectionMisspelled): Added (ported from EditorMac).
(WebCore::isRangeUngrammatical): Added (ported from EditorMac).
(WebCore::Editor::isSelectionUngrammatical): Added (ported from EditorMac).
(WebCore::Editor::guessesForUngrammaticalSelection): Added (ported from EditorMac).
(WebCore::Editor::guessesForMisspelledSelection): Added (ported from EditorMac).
(WebCore::Editor::showSpellingGuessPanel): Added (ported from EditorMac).
(WebCore::Editor::spellingPanelIsShowing): Added (ported from EditorMac).
(WebCore::Editor::markMisspellingsAfterTypingToPosition): Added (ported from EditorMac).
(WebCore::markAllMisspellingsInRange): Added (ported from EditorMac).
(WebCore::markAllBadGrammarInRange): Added (ported from EditorMac).
(WebCore::markMisspellingsOrBadGrammar): Added (ported from EditorMac).
(WebCore::Editor::markMisspellings): Added (ported from EditorMac).
(WebCore::Editor::markBadGrammar): Added (ported from EditorMac).
* editing/mac/EditorMac.mm: Removed Objective C version of spelling/grammar calls.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Tue, 8 May 2007 23:14:05 +0000 (23:14 +0000)]
LayoutTests:
Reviewed by darin.
Test for <rdar://problem/5188938> arc method on
Canvas causes hang or crash work around.
* fast/canvas/arc-crash-expected.txt: Added.
* fast/canvas/arc-crash.html: Added.
WebCore:
Reviewed by Darin.
Fix <rdar://problem/5188938> arc method on Canvas causes hang or crash
Workaround bad behaviour of CGPathAddArc when passed inf as start or
end angles.
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::addArc):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21316
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 8 May 2007 22:51:36 +0000 (22:51 +0000)]
Reviewed by Hyatt and Hatcher.
- fix auto-activation code path so Tiger and Leopard aren't different
* platform/mac/WebFontCache.mm: (+[WebFontCache fontWithFamily:traits:size:]):
Do the auto-activation dance first before doing anything else, and ignore the
font that it returns.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Tue, 8 May 2007 19:27:50 +0000 (19:27 +0000)]
2007-05-08 Steve Falkenburg <sfalken@apple.com>
Reviewed by Ada.
Slight modification to last editor method fix.
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient::updateSpellingUIWithGrammarString):
2007-05-08 Steve Falkenburg <sfalken@apple.com>
Reviewed by Ada.
Slight modification to last editor method fix.
* bridge/EditorClient.h:
* platform/gdk/EditorClientGdk.cpp:
(WebCore::EditorClientGdk::updateSpellingUIWithGrammarString):
* platform/gdk/EditorClientGdk.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyEditorClient::updateSpellingUIWithGrammarString):
2007-05-08 Steve Falkenburg <sfalken@apple.com>
Reviewed by Ada.
Slight modification to last editor method fix.
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::updateSpellingUIWithGrammarString):
* WebCoreSupport/EditorClientQt.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Tue, 8 May 2007 18:31:15 +0000 (18:31 +0000)]
Build fix -- this time for sure.
APICast.h, being private, ends up in a different folder than JSValueRef.h,
so we can't include one from the other using "". Instead, just forward
declare the relevant data types.
* API/APICast.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Tue, 8 May 2007 17:54:08 +0000 (17:54 +0000)]
Build fix: export APICast.h for WebCore and WebKit.
* JavaScriptCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Tue, 8 May 2007 17:41:30 +0000 (17:41 +0000)]
Reviewed by Hyatt.
http://bugs.webkit.org/show_bug.cgi?id=13480
window.Attr is undefined
Test: fast/dom/Window/attr-constructor.html
* dom/Attr.idl:
* dom/CDATASection.idl:
* dom/CharacterData.idl:
* dom/Comment.idl:
* dom/DOMImplementation.idl:
* dom/DocumentType.idl:
* dom/Entity.idl:
* dom/EntityReference.idl:
* dom/Notation.idl:
* dom/ProcessingInstruction.idl:
* dom/Text.idl:
Added GenerateConstructor.
* page/DOMWindow.idl: Added constructor properties for DOM interfaces.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21308
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Tue, 8 May 2007 17:34:58 +0000 (17:34 +0000)]
WebCore:
Reviewed by Maciej Stachowiak.
Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from
WebView or WebFrame
Added support for new -[WebScriptObject JSObject] and -[WebFrame globalContext]
APIs.
Also fixed some more cases of <rdar://problem/4395622> API:
WebScriptObject.h incorrectly reports that -isSelectorExcludedFromWebScript
returns NO by default, and generally cleaned up that documentation.
* WebCore.exp: A lot of the diff here is from sorting.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/WebScriptObject.h:
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject JSObject]):
* bindings/objc/WebScriptObjectPendingPublic.h: Added.
WebKit:
Reviewed by Maciej Stachowiak.
Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from
WebView or WebFrame
Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
a new frame load delegate method, - (void)webView:(WebView *)webView
didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
This is all to support briding between the WebScriptObject and JavaScriptCore
APIs.
Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly
reports that -isSelectorExcludedFromWebScript returns NO by default, and
generally cleaned up the WebScriptObject headerdoc.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge windowObjectCleared]):
* WebView/WebFrame.mm:
(-[WebFrame windowObject]):
(-[WebFrame globalContext]):
* WebView/WebFramePrivate.h:
* WebView/WebViewPrivate.h:
WebKitTools:
Reviewed by Maciej Stachowiak.
Added tests for new APIs: -[WebFrame windowObject], -[WebFrame globalContext],
and - (void)webView:(WebView *)webView didClearWindowObject:(WebScriptObject *)windowObject
forFrame:(WebFrame *)frame, in the form of ASSERTs.
* DumpRenderTree/DumpRenderTree.m:
(runJavaScriptThread): Fixed quote mismatch that prepare-changelog likes
to complain about.
(-[WaitUntilDoneDelegate webView:windowScriptObjectAvailable:]):
(-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]):
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 8 May 2007 16:40:12 +0000 (16:40 +0000)]
Reviewed by Darin.
<rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
(-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
* WebView/WebPDFView.mm:
(-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
(-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
* WebView/WebView.mm:
(-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
(-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
(-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21306
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Tue, 8 May 2007 14:05:36 +0000 (14:05 +0000)]
Reviewed by Zack.
Adjust tests that have console output, now that it's added by
DumpRenderTree.
Dump JavaScript console messages as well. Also requires a slight
change in run-webkit-tests, so we still correctly differentiate
between text only and rendertree tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21302
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Tue, 8 May 2007 11:40:27 +0000 (11:40 +0000)]
Update the baseline for traversal/ and add a few missing results in
tables/
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21301
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Tue, 8 May 2007 10:26:50 +0000 (10:26 +0000)]
Reviewed by Zack
Specify what the serif, sans-serif and monospace aliases
should map to and explicitly select the Gui style of
DRT to be plastique.
Fixes most of the test failures still seen on the build bot.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21300
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Tue, 8 May 2007 08:29:50 +0000 (08:29 +0000)]
Reviewed by Hyatt.
Fix valgrind reported uninitialized memory read.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21299
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Tue, 8 May 2007 08:22:57 +0000 (08:22 +0000)]
LayoutTests:
Reviewed by oliver
<rdar://problem/4895428> Can't drag selected ToDo
This tests to see that the focus of a focusable node
inside an already focused node is delayed until mouse up:
* editing/selection/4895428-2-expected.checksum: Added.
* editing/selection/4895428-2-expected.png: Added.
* editing/selection/4895428-2-expected.txt: Added.
* editing/selection/4895428-2.html: Added.
We delay focus until mouse up, but only if that node is
inside an already focused node:
* editing/selection/4895428-3-expected.checksum: Added.
* editing/selection/4895428-3-expected.png: Added.
* editing/selection/4895428-3-expected.txt: Added.
* editing/selection/4895428-3.html: Added.
This demonstrates the bug:
* editing/selection/4895428-4-expected.checksum: Added.
* editing/selection/4895428-4-expected.png: Added.
* editing/selection/4895428-4-expected.txt: Added.
* editing/selection/4895428-4.html: Added.
WebCore:
Reviewed by oliver
<rdar://problem/4895428> Can't drag selected ToDo
The user tries to drag a selection by mousing down
on the editable part of a ToDo, which is focusable,
since it is an editable node within non-editable
content. But we focus focusable elements on mouse
down, and focusing the editable piece blows away
the selection and prevents the drag. This is how
IE behaves, but content seems generally difficult
to drag in IE, so this doesn't make it any worse.
Since focus doesn't appear to be cancelable, either
with a DOM event or an editing delegate, I fixed this
by delaying the focus of focusable nodes that are
selected and inside an already focused node. The
node will be focused if the user mouses up without
doing any dragging because the mouse up sets a
selection, which calls setFocusNodeIfNeeded.
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21298
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Tue, 8 May 2007 08:07:19 +0000 (08:07 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21297
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Tue, 8 May 2007 05:41:48 +0000 (05:41 +0000)]
2007-05-07 Atul Mehrotra <atul.mehrotra@celunite.com>
Reviewed by Maciej.
GDK Build fix
* platform/gdk/TemporaryLinkStubs.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21295
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Tue, 8 May 2007 04:59:48 +0000 (04:59 +0000)]
LayoutTests:
Reviewed by Maciej.
Test the behaviour of canvas methods called with inf/nan parameters
* fast/canvas/canvas-with-incorrect-args-expected.txt: Added.
* fast/canvas/canvas-with-incorrect-args.html: Added.
WebCore:
Reviewed by Maciej.
Correcting comparisons to handle NaN in the same manner
as other Canvas methods.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::arcTo):
(WebCore::CanvasRenderingContext2D::arc):
Correcting arc/arcTo to match the WHAT WG draft.
(WebCore::CanvasRenderingContext2D::rect):
(WebCore::CanvasRenderingContext2D::clearRect):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21294
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 8 May 2007 00:57:09 +0000 (00:57 +0000)]
Add some comments to the glyph/font code (patch from MarvinD, tweaked by
me to correct a few bits and to make it forward-compatible with the work
going on in 3315.
Reviewed by me
* ChangeLog:
* platform/Font.cpp:
(WebCore::Font::glyphDataForCharacter):
* platform/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
* platform/GlyphPageTreeNode.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21293
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Mon, 7 May 2007 23:55:48 +0000 (23:55 +0000)]
Fix layout test failures.
* editing/SelectionController.cpp:
(WebCore::SelectionController::contains): Use comparePositions
instead of Range::comparePoint, because comparePositions can
handle positions inside shadow trees.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21292
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Mon, 7 May 2007 22:15:42 +0000 (22:15 +0000)]
LayoutTests:
Reviewed by darin
<rdar://problem/4895428> Can't drag selected To Do if it is not showing a due date
* editing/selection/4895428-1-expected.checksum: Added.
* editing/selection/4895428-1-expected.png: Added.
* editing/selection/4895428-1-expected.txt: Added.
* editing/selection/4895428-1.html: Added.
WebCore:
Reviewed by darin
<rdar://problem/4895428> Can't drag selected To Do if it is not showing a due date
The code in SelectionController::contains returned false
incorrectly if the selection end just after a table
and the position was inside that table.
* editing/SelectionController.cpp:
(WebCore::SelectionController::contains): Compare the position with the
ends of the selection and then use Range::comparePoint.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21291
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Mon, 7 May 2007 22:09:02 +0000 (22:09 +0000)]
Actually finish the code move from my last checkin
* History/WebHistoryItem.mm:
(-[WebHistoryItem _transientPropertyForKey:]):
(-[WebHistoryItem _setTransientProperty:forKey:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21290
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Mon, 7 May 2007 21:57:42 +0000 (21:57 +0000)]
Rubberstamped by Kevin (Sarge)
Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
* History/WebHistoryItemInternal.h:
* History/WebHistoryItemPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21289
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 May 2007 17:25:43 +0000 (17:25 +0000)]
Removed files. Not sure why they didn't get removed before.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21288
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 May 2007 16:25:44 +0000 (16:25 +0000)]
LayoutTests:
- rolling out setInnerHTML optimization until I can figure out why tests are failing
WebCore:
- rolling out setInnerHTML optimization until I can figure out why tests are failing
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21287
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Mon, 7 May 2007 15:04:40 +0000 (15:04 +0000)]
Reviewed by Zack.
New baseline for the table tests.
Skip the fast tests for now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21285
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 May 2007 14:45:50 +0000 (14:45 +0000)]
LayoutTests:
Reviewed by Hyatt.
- test for http://bugs.webkit.org/show_bug.cgi?id=13602
Amazon product pages keep repainting over and over again
* fast/dom/HTMLElement/set-inner-outer-optimization-expected.txt: Added.
* fast/dom/HTMLElement/set-inner-outer-optimization.html: Added.
WebCore:
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=13602
Amazon product pages keep repainting over and over again
Optimize setInnerHTML, setOuterHTML, and setInnerText so they don't change the DOM at all
if they don't need to.
Test: fast/dom/HTMLElement/set-inner-outer-optimization.html
* html/HTMLElement.cpp:
(WebCore::equal): Added. Helper function that compares two Text nodes or two NamedAttrMap
attribute maps.
(WebCore::shallowEqual): Added. Helper function that compares two Element nodes or two
arbitrary nodes.
(WebCore::replaceChildrenWithFragment): Added. Helper function used by setInnerHTML and
setInnerText. Optimizes the cases where all the nodes are the same, where both the current
and the new content are single text nodes, and where the current content is a single node
that can be replaced with replaceChild.
(WebCore::replaceChildrenWithText): Added. Helper function used by setInnerText. Optimizes
the case where the current content is a single text node or a single node that can be
replaced with replaceChild.
(WebCore::HTMLElement::setInnerHTML): Changed to call replaceChildrenWithFragment.
(WebCore::HTMLElement::setOuterHTML): Added special case to optimize when the new content
exactly matches the current node.
(WebCore::HTMLElement::setInnerText): Changed to call replaceChildrenWithText in a few
cases instead of doing removeChildren/appendChild. Changed code that was using
DeprecatedString to instead use String. Changed general case to use a document fragment
and replaceChildrenWithFragment.
* dom/CharacterData.cpp: (WebCore::CharacterData::dispatchModifiedEvent):
Fixed bug where we would not dispatch the DOMSubtreeModified event unless someone
was registered for the DOMCharacterDataModified event. Caused trouble in the test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21284
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Mon, 7 May 2007 13:56:23 +0000 (13:56 +0000)]
Change 5 results in css2.1 that were wrong due to a Qt bug.
Add css3 baseline.
Fix the default font in DRT to 9pt Sans Serif.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21283
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Mon, 7 May 2007 07:07:23 +0000 (07:07 +0000)]
New baseline for the css2.1 tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21282
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 May 2007 03:07:51 +0000 (03:07 +0000)]
- blind try at fixing the Qt build
* platform/qt/TextBreakIteratorQt.cpp: (WebCore::sentenceBreakIterator):
Added a placeholder.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21281
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 May 2007 03:03:26 +0000 (03:03 +0000)]
LayoutTests:
Reviewed by Hyatt.
- test for http://bugs.webkit.org/show_bug.cgi?id=13537
* fast/canvas/drawImage-with-invalid-args.html: Changed to a dumpAsText test.
Added logging and a negative-size test.
* fast/canvas/drawImage-with-invalid-args-expected.txt: Updated.
* fast/canvas/drawImage-with-invalid-args-expected.checksum: Removed.
* fast/canvas/drawImage-with-invalid-args-expected.png: Removed.
WebCore:
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=13537
Canvex example starts rendering strangely after a while
* html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage):
Don't raise an exception if the source or destination rectangle is empty.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21280
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 May 2007 02:57:55 +0000 (02:57 +0000)]
Reviewed by Hyatt.
- fix <rdar://problem/4585593> REGRESSION: Some 2-byte characters in printed page
header are drawn with too-large font and clipped
Doesn't affect text within web pages, so no layout test.
* platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
Base the substitute font on the FontPlatformData rather than the FontDescription.
Before, it was a mix of both. This works properly for fonts where we have no
FontDescription and is also more internally consistent.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21279
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 May 2007 02:56:37 +0000 (02:56 +0000)]
Reviewed by Hyatt.
- http://bugs.webkit.org/show_bug.cgi?id=13606
some functions are virtual that don't need to be
* dom/Node.h: Made first/lastChild be inline functions that call virtual functions.
This lets us hide the functions with another inline function in a derived class,
yet still override the behavior here in the base class by overriding the virtual
functions too.
* dom/Node.cpp:
(WebCore::Node::virtualFirstChild): Renamed virtual functions. There are now
non-virtual inline functions that call these virtual functions.
(WebCore::Node::virtualLastChild): Ditto.
* dom/ContainerNode.h: Added non-virtual first/lastChild functions that hide the ones
inherited from the Node class; these also replace the fastFirst/LastChild functions,
and transparently give callers the faster form if they have a pointer of the right
type. But still override the virtual functions named virtualFirst/LastChild, because
those can still be called through a Node*. Removed the "fast" from the names of
fastSetFirst/LastChild.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::virtualFirstChild): Renamed virtual functions. There are now
also non-virtual inline versions.
(WebCore::ContainerNode::virtualLastChild): Ditto.
* dom/CharacterData.cpp: Removed implementations of data and length functons.
* dom/CharacterData.h: Made data, setData, length, substringData, appendData,
insertData, deleteData, and replaceData all non-virtual, and made data and length
both be inline.
* dom/NamedAttrMap.h: (WebCore::NamedAttrMap::attributeItem): Removed a null check
from this function. If the length of the map is known to be greater than 0, then
the null check isn't needed. But if the length of the map hasn't been checked at all,
then it's unsafe to call this function since it doesn't range check the array
index. Thus the null check is never needed. I also looked at all callers.
* dom/Attr.cpp: (WebCore::Attr::createTextChild):
* dom/Document.cpp: (WebCore::Document::recalcStyle):
* dom/Element.cpp: (WebCore::Element::recalcStyle):
* ksvg2/svg/SVGElement.cpp:
(WebCore::SVGElement::haveLoadedRequiredResources):
Removed "fast" prefix from calls to fastFirst/LastChild and fastSetFirst/LastChlld.
It's not needed any more -- you still get fast behavior if the pointer has a type
that's ContainerNode or derived from it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Mon, 7 May 2007 02:36:38 +0000 (02:36 +0000)]
2007-05-06 Erik Bunce <kde@bunce.us>
Reviewed by Mark Rowe.
* WebKit.pri:
Removed unnecessary dependency on MacPorts (/opt/local)
2007-05-06 Erik Bunce <kde@bunce.us>
Reviewed by Mark Rowe.
* WebCore.pro:
Removed unnecessary dependency on MacPorts (/opt/local)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21277
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Sun, 6 May 2007 16:42:10 +0000 (16:42 +0000)]
2007-05-06 Mitz Pettel <mitz@webkit.org>
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=13557
Crash when dragging selection over absolutely positioned generated content on block element
Test: fast/css-generated-content/positioned-background-hit-test-crash.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::enclosingElement): Added. Factored out of hitTestLayer().
(WebCore::RenderLayer::hitTestLayer): Implemented the fix for <rdar://problem/3552346>
from r6106 to the self hit test as well, namely: return the enclosing element
for generated positioned content.
* rendering/RenderLayer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21276
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Sun, 6 May 2007 16:05:01 +0000 (16:05 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=13584
<script> code wrongly assumes requests can't fail
Test: fast/loader/unloadable-script.html
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::parseMappedAttribute):
(WebCore::HTMLScriptElement::insertedIntoDocument):
Check the return value of requestScript().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21275
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Sun, 6 May 2007 05:17:04 +0000 (05:17 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=13304
REGRESSION(14784): WebKit doesn't dynamically reflect changes to the highlight color in System Preferences
Implemented a notification observer that invalidates cached system colors.
No automated test possible.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::activeSelectionBackgroundColor):
(WebCore::RenderTheme::inactiveSelectionBackgroundColor):
(WebCore::RenderTheme::platformColorsDidChange):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
(-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
(WebCore::theme):
(WebCore::RenderThemeMac::RenderThemeMac):
(WebCore::RenderThemeMac::~RenderThemeMac):
(WebCore::RenderThemeMac::checkbox):
(WebCore::RenderThemeMac::radio):
(WebCore::RenderThemeMac::button):
(WebCore::RenderThemeMac::popupButton):
(WebCore::RenderThemeMac::search):
(WebCore::RenderThemeMac::sliderThumbHorizontal):
(WebCore::RenderThemeMac::sliderThumbVertical):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis [Sat, 5 May 2007 10:53:58 +0000 (10:53 +0000)]
Reviewed by Oliver.
http://bugs.webkit.org/show_bug.cgi?id=13592
parseMappedAttribute inconsistency
Do not use local vars in parseMappedAttribute for attr name and value.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21272
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sat, 5 May 2007 07:10:14 +0000 (07:10 +0000)]
Reviewed by Hyatt.
Initialise default fill with Color::black rather than parsing
the string "black"
* ksvg2/svg/SVGPaint.cpp:
(WebCore::SVGPaint::defaultFill):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 5 May 2007 04:08:29 +0000 (04:08 +0000)]
Reviewed by Oliver.
Use TextBreakIterator for sentence breaking instead of TextBoundaries.
* WebCore.xcodeproj/project.pbxproj: Added TextBreakIeratorInternalICUMac.mm
* editing/visible_units.cpp:
(WebCore::startSentenceBoundary): Call TextBreakIterator instead of TextBoundaries.
(WebCore::endSentenceBoundary): Call TextBreakIterator instead of TextBoundaries.
(WebCore::previousSentencePositionBoundary): Call TextBreakIterator instead of TextBoundaries.
(WebCore::nextSentencePositionBoundary): Call TextBreakIterator instead of TextBoundaries.
* platform/TextBoundaries.h: Removed findSentenceBoundary, findNextSentenceFromIndex.
* platform/TextBreakIterator.h: Added sentenceBreakIterator.
* platform/TextBreakIteratorICU.cpp:
(WebCore::setUpIterator): Add locale parameter (needed to maintain functionality that TextBoundaries code had).
(WebCore::characterBreakIterator): Pass en_us for locale (same as old code).
(WebCore::wordBreakIterator): Pass en_us for locale (same as old code).
(WebCore::lineBreakIterator): Pass en_us for locale (same as old code).
(WebCore::sentenceBreakIterator): Added.
* platform/TextBreakIteratorInternalICU.h: Added.
* platform/gdk/TemporaryLinkStubs.cpp: Removed findNextSentenceFromIndex, findSentenceBoundary.
(WebCore::currentTextBreakLocaleID): Added stub.
* platform/mac/TextBoundaries.mm: Removed currentTextBreakLocaleID, findSentenceBoundary, findNextSentenceFromIndex.
* platform/mac/TextBreakIteratorInternalICUMac.mm: Added.
(WebCore::currentTextBreakLocaleID): Moved from TextBoundaries.mm
* platform/qt/TextBoundaries.cpp: Removed findNextSentenceFromIndex, findSentenceBoundary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21270
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Sat, 5 May 2007 00:17:19 +0000 (00:17 +0000)]
Reviewed by Hyatt.
Fix for <rdar://problem/5116871> REGRESSION: Can't select options in widget's listbox
Don't use user-select to determine whether or not options can be selected in listboxes.
This will match Firefox behavior for -moz-user-select.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::canSelectAll):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21269
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 4 May 2007 23:39:01 +0000 (23:39 +0000)]
WebCore:
Reviewed by Tim Hatcher.
First step in fixing <rdar://problem/5055182> The back cache has no global cap
Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
on the underlying back cache.
* WebCore.exp:
* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
* history/HistoryItem.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::purgePageCache):
WebKit:
Reviewed by Tim Hatcher.
First step in fixing <rdar://problem/5055182> The back cache has no global cap
Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
on the underlying back cache.
I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't
want to break Safari 2.0, but I removed its header declaration so nobody
else starts using it.
* History/WebHistoryItem.mm:
(-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
* History/WebHistoryItemPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21261
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 4 May 2007 21:15:28 +0000 (21:15 +0000)]
WebCore:
Reviewed by Brady Eidson.
Removed export of clearPageCache(), since it was unused externally. I plan
to remove its use from WebCore eventually, too.
Removed usesPageCache(), since it was unused and it duplicated pageCacheSize().
* WebCore.exp:
* history/BackForwardList.cpp:
* history/BackForwardList.h: Moved statics to the top of the class definition.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::canCachePage):
WebKit:
Reviewed by Brady Eidson.
Some cleanup in preparation for fixing <rdar://problem/5055182> The
back/forward cache has no global cap
Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri
of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper,
and webCoreBackForwardList, we use webBackForwardList for WebKit and
backForwardList for WebCore, matching their respective class names.
Removed "private" versions of kit() and core() -- kit() and core() are
canonically used for converting between WebKit API objects and WebCore
API objects. I think it's clearer to have only one way to do this.
Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21258
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 4 May 2007 17:38:25 +0000 (17:38 +0000)]
Added bugs.webkit.org URL.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21257
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 4 May 2007 17:14:57 +0000 (17:14 +0000)]
JavaScriptCore:
Reviewed by Adele.
- fix <rdar://problem/5007921> Number.toExponential doesn't work for negative numbers
* kjs/number_object.cpp: (NumberProtoFunc::callAsFunction):
Added a call to fabs before calling log10.
LayoutTests:
Reviewed by Adele.
- test for <rdar://problem/5007921> Number.toExponential doesn't work for negative numbers
* fast/js/kde/resources/Number.js: Added negative number versions of some tests of
toFixed, toExponential, toPrecision, etc.
* fast/js/kde/Number-expected.txt: Updated, new tests all passing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc