bdakin [Fri, 16 Mar 2007 00:04:39 +0000 (00:04 +0000)]
Reviewed by Hyatt.
Fix for <rdar://problem/
5065396> REGRESSION: leaks in
RenderBlock::layoutInlineChildren seen on buildbot
This leak appeared after http://trac.webkit.org/projects/webkit/
changeset/20188. This change shifted line boxes around in
removeChild(). But since removeChild() calls
setNeedsLayoutAndMinMaxRecalc(), all of the line boxes will be
removed once we actually lay out anyway. So this patch fixes the
leak by deleting the line boxes instead of shifting them around.
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::outdentParagraph): Call into
updateLayout(). This fixes an assertion I got in editing/
execCommand/
4976800.html This is very similar to the line box fix I
made recently (http://trac.webkit.org/projects/webkit/changeset/
20177). We need to update layout before relying on VisiblePositions
after removing a node.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::deleteLinesForBlock): New helper function
since this functionality is needed in three places now.
(WebCore::RenderBlock::makeChildrenNonInline): Call into new
deleteLinesForBlock().
(WebCore::RenderBlock::removeChild): Same.
* rendering/RenderBlock.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20220
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Thu, 15 Mar 2007 23:50:15 +0000 (23:50 +0000)]
JavaScriptCore:
Reviewed by John.
* Factored out most of our common build settings into .xcconfig files. Anything that was common in
each build configuration was factored out into the shared .xcconfig file.
* Adds a Version.xcconfig file to define the current framework version, to be used in other places.
* Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
* Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
* Configurations/Base.xcconfig: Added.
* Configurations/DebugRelease.xcconfig: Added.
* Configurations/JavaScriptCore.xcconfig: Added.
* Configurations/Version.xcconfig: Added.
* Info.plist:
* JavaScriptCore.xcodeproj/project.pbxproj:
JavaScriptGlue:
Reviewed by John.
* Factored out most of our common build settings into .xcconfig files. Anything that was common in
each build configuration was factored out into the shared .xcconfig file.
* Adds a Version.xcconfig file to define the current framework version, to be used in other places.
* Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
* Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
* Configurations/Base.xcconfig: Added.
* Configurations/DebugRelease.xcconfig: Added.
* Configurations/JavaScriptGlue.xcconfig: Added.
* Configurations/Version.xcconfig: Added.
* Info.plist:
* JavaScriptGlue.xcodeproj/project.pbxproj:
WebCore:
Reviewed by John.
* Factored out most of our common build settings into .xcconfig files. Anything that was common in
each build configuration was factored out into the shared .xcconfig file.
* Adds a Version.xcconfig file to define the current framework version, to be used in other places.
* Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
* Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
* Configurations/Base.xcconfig: Added.
* Configurations/DebugRelease.xcconfig: Added.
* Configurations/Version.xcconfig: Added.
* Configurations/WebCore.xcconfig: Added.
* Info.plist:
* WebCore.xcodeproj/project.pbxproj:
WebKit:
Reviewed by John.
* Fixes: <rdar://problem/
4927747> WebKit's Current Library Version number should match the Info.plist Version
* Factored out most of our common build settings into .xcconfig files. Anything that was common in
each build configuration was factored out into the shared .xcconfig file.
* Adds a Version.xcconfig file to define the current framework version, to be used in other places.
* Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
* Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
* Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
* Configurations/Base.xcconfig: Added.
* Configurations/DebugRelease.xcconfig: Added.
* Configurations/Version.xcconfig: Added.
* Configurations/WebKit.xcconfig: Added.
* Info.plist:
* Misc/WebKitVersionChecks.h:
* Plugins/WebBaseNetscapePluginStream.m:
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
* WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20219
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Thu, 15 Mar 2007 21:28:55 +0000 (21:28 +0000)]
Reviewed by Anders.
Fixed: <rdar://problem/
5001428> stationery background images do not display
Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.
The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images. These images wouldn't decode because
Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image. Because Mail was giving
us bad data, the images wouldn't render. This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the
right thing and load the image.
Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain
subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].
* WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving.
(-[WebResource _ignoreWhenUnarchiving]): Added.
(-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
* WebView/WebResourcePrivate.h: Added two methods to private header.
* WebView/WebUnarchivingState.m:
(-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20217
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kjk [Thu, 15 Mar 2007 20:20:06 +0000 (20:20 +0000)]
Not reviewed - gdk build fixes.
* platform/gdk/EditorClientGdk.cpp:
(WebCore::EditorClientGdk::handleKeypress):
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::setData):
* platform/graphics/gdk/ImageGdk.cpp:
(WebCore::Image::loadPlatformResource):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20216
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Thu, 15 Mar 2007 19:12:32 +0000 (19:12 +0000)]
LayoutTests:
Reviewed by john
Removed an unnecessary block (one that was fully
selected but whose markup wasn't needed to preserve
appearance):
* editing/pasteboard/paste-text-011-expected.txt:
Removed unnecessary style spans:
* editing/pasteboard/merge-end-blockquote-expected.txt:
Removed unnecessary empty anonymous blocks:
* editing/execCommand/create-list-with-hr-expected.txt:
* editing/pasteboard/display-block-on-spans-expected.txt:
* editing/pasteboard/paste-text-006-expected.txt:
* editing/pasteboard/paste-table-001-expected.txt:
* editing/pasteboard/paste-text-013-expected.txt:
* editing/pasteboard/paste-text-002-expected.txt:
* editing/pasteboard/paste-list-001-expected.txt:
* editing/pasteboard/paste-text-005-expected.txt:
* editing/pasteboard/paste-text-003-expected.txt:
* editing/pasteboard/paste-text-014-expected.txt:
* editing/pasteboard/paste-pre-001-expected.txt:
Now (correctly) includes fully selected root:
* editing/pasteboard/paste-text-015-expected.checksum:
* editing/pasteboard/paste-text-015-expected.png:
* editing/pasteboard/paste-text-015-expected.txt:
* editing/inserting/insert-
3907422-fix-expected.txt:
* editing/pasteboard/paste-text-004-expected.txt:
Demonstrates a bug that already existed (we don't inline
the font styles from the Preference Pane on copy):
* editing/pasteboard/
5027857-expected.checksum:
* editing/pasteboard/
5027857-expected.png:
* editing/pasteboard/
5027857-expected.txt:
* editing/pasteboard/paste-pre-002-expected.checksum:
* editing/pasteboard/paste-pre-002-expected.png:
* editing/pasteboard/paste-pre-002-expected.txt:
WebCore:
Reviewed by john
~2x speed up of 5k rich text paste:
http://shakespeare.mit.edu/hamlet/full.html
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Remove the top
level style span if its unnecessary before inserting
into the document, its faster than doing it after.
* editing/ReplaceSelectionCommand.h: Exposed
ReplacementFragment::removeNodePreservingChildren so that
the style span can be removed using non-undoable removes,
like the rest of the removes done on the ReplacementFragment.
* editing/markup.cpp:
(WebCore::createMarkup): Make the style span the top level
element, otherwise it's useless. This also facilitates the
optimization mentioned above.
When including markup for a fully selected root, include markup
for all the nodes beneath that fully selected root, to preserve
the structure and appearance of the copied markup. Did this
by merging with the code for adding markup for descendants of
special commonAncestorBlocks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20215
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Thu, 15 Mar 2007 19:07:15 +0000 (19:07 +0000)]
Rubber-stamped by Adele.
Rolling out http://trac.webkit.org/projects/webkit/changeset/20148
(which is a fix for http://bugs.webkit.org/show_bug.cgi?id=12595
and rdar://
4722863) because it causes a horrible memory-trasher.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20214
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 15 Mar 2007 13:26:45 +0000 (13:26 +0000)]
2007-03-16 Shrikant Gangoda <shrikant.gangoda@celunite.com>
Gdk build fix.
* kjs/DateMath.cpp: gettimeofday comes from <sys/time.h> on Linux.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20213
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 15 Mar 2007 12:15:32 +0000 (12:15 +0000)]
2007-03-15 Mark Rowe <mrowe@apple.com>
Reviewed by Antti.
Fix for <rdar://problem/
5065060> ASSERTION FAILURE: newUsername && newPassword
when submitting an authentication form without password.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary
passed to the delegate.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20212
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Thu, 15 Mar 2007 07:11:45 +0000 (07:11 +0000)]
Added an assert to help catch a bug. Hopefully someone will hit it!
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::~KJSProxy):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 15 Mar 2007 06:42:07 +0000 (06:42 +0000)]
Reviewed by Dave Hyatt.
Don't add the data twice, it's also done by didReceiveData.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::deliverArchivedResources):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 15 Mar 2007 06:30:41 +0000 (06:30 +0000)]
2007-03-14 Oliver Hunt <oliver@apple.com>
Reviewed by Adele.
Fix for rdar://problem/
5061737.
This was a regression from the original Objective-C -> C++ conversion
for the drag logic. We don't need to call Range::startNode as we just
need the document that contains the range.
* page/DragController.cpp:
(WebCore::documentFragmentFromDragData):
LayoutTests:
Layout tests for rdar://problem/
5061737
* editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt: Added.
* editing/pasteboard/drag-image-to-contenteditable-in-iframe.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 15 Mar 2007 04:59:32 +0000 (04:59 +0000)]
Fix segmentation fault when running layout tests.
Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
(Turns out he's not that good!)
* WebView/WebDocumentLoaderMac.mm:
(WebDocumentLoaderMac::increaseLoadCount):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Thu, 15 Mar 2007 04:09:07 +0000 (04:09 +0000)]
Reviewed by .
Silly wrapping change for testing a post-commit hook change.
* contact.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20207
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 15 Mar 2007 04:00:06 +0000 (04:00 +0000)]
Reviewed by Geoff.
http://bugs.webkit.org/show_bug.cgi?id=13076
REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)
Store the identifier set in the document loader since identifiers are per-webview and not global.
* WebView/WebDocumentLoaderMac.h:
* WebView/WebDocumentLoaderMac.mm:
(WebDocumentLoaderMac::WebDocumentLoaderMac):
(WebDocumentLoaderMac::attachToFrame):
(WebDocumentLoaderMac::increaseLoadCount):
(WebDocumentLoaderMac::decreaseLoadCount):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Thu, 15 Mar 2007 03:42:03 +0000 (03:42 +0000)]
Reviewed by .
- Fixed one more build breakage
* kjs/date_object.cpp:
(KJS::formatLocaleDate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20205
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Thu, 15 Mar 2007 03:23:56 +0000 (03:23 +0000)]
Reviewed by .
- Fixed a build breakage.
* kjs/DateMath.cpp:
* kjs/date_object.cpp:
(KJS::formatLocaleDate):
(KJS::DateObjectImp::construct):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20204
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Thu, 15 Mar 2007 02:21:47 +0000 (02:21 +0000)]
JavaScriptCore:
Reviewed by Geoff.
- rdar://problem/
5045720
- DST changes in US affect JavaScript date calculations (12975)
This fix was to ensure we properly test for the new changes to DST in the US.
Also this fixes when we apply DST, now we correctly map most past years to current
DST rules. We still have a small issue with years before 1900 or after 2100.
rdar://problem/
5055038
* kjs/DateMath.cpp: Fix DST to match spec better.
(KJS::getCurrentUTCTime):
(KJS::mimimumYearForDST):
(KJS::maximumYearForDST):
(KJS::equivalentYearForDST):
(KJS::getDSTOffset):
* kjs/DateMath.h: Consolodated common funtionality.
* kjs/date_object.cpp: Consolodated common functionality.
(KJS::formatLocaleDate):
(KJS::DateObjectImp::construct):
* tests/mozilla/ecma/jsref.js: Added functions for finding the correct days when DST starts and ends.
* tests/mozilla/ecma/shell.js: Added back in the old DST functions for ease of merging with mozilla if needed.
* tests/mozilla/ecma_2/jsref.js: Added functions for finding the correct days when DST starts and ends.
* tests/mozilla/ecma_3/Date/shell.js: Added functions for finding the correct days when DST starts and ends.
* tests/mozilla/expected.html: Updated to show all date tests passing.
LayoutTests:
Reviewed by Geoff.
- rdar://problem/
5045720
- DST changes in US affect JavaScript date calculations (12975)
Changed layout tests to properly check for the new changes to DST in the
US. Also these now test that equivalent years return the same results for DST.
* fast/js/date-DST-time-cusps-expected.txt:
* fast/js/date-big-setdate-expected.txt:
* fast/js/resources/date-DST-time-cusps.js:
* fast/js/resources/date-big-setdate.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20203
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Thu, 15 Mar 2007 01:36:18 +0000 (01:36 +0000)]
LayoutTests:
Reviewed by Hyatt.
- test for://bugs.webkit.org/show_bug.cgi?id=13071
REGRESSION: Plain text files no longer wrap lines longer than the width of the browser window
* fast/loader/resources/text-document-wrapping.txt: Added.
* fast/loader/text-document-wrapping-expected.checksum: Added.
* fast/loader/text-document-wrapping-expected.png: Added.
* fast/loader/text-document-wrapping-expected.txt: Added.
* fast/loader/text-document-wrapping.html: Added.
WebCore:
Reviewed by Hyatt.
- http://bugs.webkit.org/show_bug.cgi?id=13071
REGRESSION: Plain text files no longer wrap lines longer than the width of the browser window
Test: fast/loader/text-document-wrapping.html
* loader/TextDocument.cpp:
(WebCore::TextTokenizer::write): Specified word-wrap:break-word for the <pre> element.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20202
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 15 Mar 2007 01:22:40 +0000 (01:22 +0000)]
Reviewed by Maciej.
<rdar://problem/
5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::respondToChangedSelection):
* WebCoreSupport/WebFrameBridge.mm:
Provide compatibility by not sending WebViewDidChangeSelectionNotification if
the app is Aperture and is linked against WebKit 2.0.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20201
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Thu, 15 Mar 2007 01:22:19 +0000 (01:22 +0000)]
LayoutTests:
Reviewed by Hyatt.
- test for http://bugs.webkit.org/show_bug.cgi?id=13072
REGRESSION (r15617): white-space: pre-wrap breaks off the last character of a wide word
* fast/text/whitespace/pre-wrap-last-char-expected.checksum: Added.
* fast/text/whitespace/pre-wrap-last-char-expected.png: Added.
* fast/text/whitespace/pre-wrap-last-char-expected.txt: Added.
* fast/text/whitespace/pre-wrap-last-char.html: Added.
WebCore:
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=13072
REGRESSION (r15617): white-space: pre-wrap breaks off the last character of a wide word
Test: fast/text/whitespace/pre-wrap-last-char.html
* rendering/bidi.cpp:
(WebCore::RenderBlock::findNextLineBreak): Undid the change from r15617.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20200
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 15 Mar 2007 00:28:21 +0000 (00:28 +0000)]
Add asserts to help catch double refs and double derefs of CachedResources.
Reviewed by mjs
* loader/CachedResource.cpp:
(WebCore::CachedResource::ref):
(WebCore::CachedResource::deref):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20199
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aliceli1 [Wed, 14 Mar 2007 23:40:14 +0000 (23:40 +0000)]
Rubber-stamped by Hyatt.
Adding null check to prevent the crash that happens on 2nd run of iBench HTML load test
* loader/icon/IconDataCache.cpp:
(WebCore::IconDataCache::writeToDatabase):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20198
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Wed, 14 Mar 2007 21:47:47 +0000 (21:47 +0000)]
Reviewed by Adam.
Fix for <rdar://problem/
5062898> REGRESSION: autocomplete window in text fields doesn't come up
When we moved the initialization of a bunch of variables in the HTMLFormElement constructor, m_autocomplete accidently got initialized to false.
* html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20197
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Wed, 14 Mar 2007 21:45:15 +0000 (21:45 +0000)]
2007-03-14 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam.
Added missing null check in case this is called on a subframe
that hasn't started loading.
* page/Frame.cpp:
(WebCore::Frame::setMarkedTextMatchesAreHighlighted): Check for a null document.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20196
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Wed, 14 Mar 2007 21:43:07 +0000 (21:43 +0000)]
Reviewed by Geoff.
<rdar://problem/
5058714>
http://bugs.webkit.org/show_bug.cgi?id=13050
World leaks seen on Leopard after opening then closing tab (13050)
Add a hash set to prevent the load count to be increased twice for the same resource.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
* WebView/WebDocumentLoaderMac.h:
* WebView/WebDocumentLoaderMac.mm:
(loadingResources):
(WebDocumentLoaderMac::increaseLoadCount):
(WebDocumentLoaderMac::decreaseLoadCount):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20195
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti [Wed, 14 Mar 2007 20:38:28 +0000 (20:38 +0000)]
Reviewed by Geoff.
Fix http://bugs.webkit.org/show_bug.cgi?id=13060
REGRESSION: Repro ASSERT failure in Cache::adjustSize running layout tests
<rdar://
5060208>
Script evaluation may have dereffed the CachedScript object already, causing double deref and
eventually m_liveResourcesSize underflow.
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::notifyFinished):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20194
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Wed, 14 Mar 2007 20:32:53 +0000 (20:32 +0000)]
WebCore:
Reviewed by Darin.
Added InsertTab, InsertBacktab, InsertLineBreak, and InsertNewline to the editing command table.
Added Event parameter to execCommand, and to all of the enabled and exec functions. Right now,
the event is only used by the newly added commands. But in the future, many (and possibly all) of
these editing commands will need to consider the event so they are applied to the correct selection.
* WebCore.exp:
* editing/Editor.cpp:
(WebCore::execCopy):
(WebCore::execCut):
(WebCore::execDelete):
(WebCore::execBackwardDelete):
(WebCore::execForwardDelete):
(WebCore::execMoveBackward):
(WebCore::execMoveBackwardAndModifySelection):
(WebCore::execMoveUpByPageAndModifyCaret):
(WebCore::execMoveDown):
(WebCore::execMoveDownAndModifySelection):
(WebCore::execMoveForward):
(WebCore::execMoveForwardAndModifySelection):
(WebCore::execMoveDownByPageAndModifyCaret):
(WebCore::execMoveLeft):
(WebCore::execMoveLeftAndModifySelection):
(WebCore::execMoveRight):
(WebCore::execMoveRightAndModifySelection):
(WebCore::execMoveToBeginningOfDocument):
(WebCore::execMoveToBeginningOfDocumentAndModifySelection):
(WebCore::execMoveToBeginningOfSentence):
(WebCore::execMoveToBeginningOfSentenceAndModifySelection):
(WebCore::execMoveToBeginningOfLine):
(WebCore::execMoveToBeginningOfLineAndModifySelection):
(WebCore::execMoveToBeginningOfParagraph):
(WebCore::execMoveToBeginningOfParagraphAndModifySelection):
(WebCore::execMoveToEndOfDocument):
(WebCore::execMoveToEndOfDocumentAndModifySelection):
(WebCore::execMoveToEndOfSentence):
(WebCore::execMoveToEndOfSentenceAndModifySelection):
(WebCore::execMoveToEndOfLine):
(WebCore::execMoveToEndOfLineAndModifySelection):
(WebCore::execMoveToEndOfParagraph):
(WebCore::execMoveToEndOfParagraphAndModifySelection):
(WebCore::execMoveParagraphBackwardAndModifySelection):
(WebCore::execMoveParagraphForwardAndModifySelection):
(WebCore::execMoveUp):
(WebCore::execMoveUpAndModifySelection):
(WebCore::execMoveWordBackward):
(WebCore::execMoveWordBackwardAndModifySelection):
(WebCore::execMoveWordForward):
(WebCore::execMoveWordForwardAndModifySelection):
(WebCore::execMoveWordLeft):
(WebCore::execMoveWordLeftAndModifySelection):
(WebCore::execMoveWordRight):
(WebCore::execMoveWordRightAndModifySelection):
(WebCore::execPaste):
(WebCore::execSelectAll):
(WebCore::execToggleBold):
(WebCore::execToggleItalic):
(WebCore::execRedo):
(WebCore::execUndo):
(WebCore::execInsertTab):
(WebCore::execInsertBacktab):
(WebCore::execInsertNewline):
(WebCore::execInsertLineBreak):
(WebCore::enabled):
(WebCore::canPaste):
(WebCore::hasEditableSelection):
(WebCore::hasEditableRangeSelection):
(WebCore::hasRangeSelection):
(WebCore::hasRichlyEditableSelection):
(WebCore::canRedo):
(WebCore::canUndo):
(WebCore::CommandEntry::):
(WebCore::Editor::toggleBold):
(WebCore::Editor::execCommand): Added optional event parameter.
(WebCore::Editor::insertText): Added. Calls handleTextInputEvent.
(WebCore::Editor::insertTextWithoutSendingTextEvent): Renamed from insertText.
Performs the actual insertion without dispatching any event.
* editing/Editor.h:
* page/EventHandler.cpp: (WebCore::EventHandler::defaultTextInputEventHandler):
Call insertTextWithoutSendingTextEvent.
WebKit:
Reviewed by Darin.
Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
Instead, use execCommand and insertText methods on the Editor.
* WebView/WebHTMLView.mm:
(-[WebHTMLView insertTab:]):
(-[WebHTMLView insertBacktab:]):
(-[WebHTMLView insertNewline:]):
(-[WebHTMLView insertLineBreak:]):
(-[WebHTMLView insertParagraphSeparator:]):
(-[WebHTMLView insertNewlineIgnoringFieldEditor:]):
(-[WebHTMLView insertTabIgnoringFieldEditor:]):
(-[WebHTMLView yank:]):
(-[WebHTMLView yankAndSelect:]):
(-[WebHTMLView doCommandBySelector:]):
(-[WebHTMLView insertText:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20193
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 14 Mar 2007 20:06:14 +0000 (20:06 +0000)]
I forgot to update this expected result in my previous checkin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20192
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 14 Mar 2007 19:32:53 +0000 (19:32 +0000)]
LayoutTests:
Reviewed by darin
Removed unnecessary style spans:
* editing/deleting/delete-
3857753-fix-expected.txt:
* editing/execCommand/
4916541-expected.txt:
* editing/execCommand/create-list-from-range-selection-expected.txt:
* editing/execCommand/format-block-expected.txt:
* editing/execCommand/format-block-from-range-selection-expected.txt:
* editing/execCommand/format-block-with-braces-expected.txt:
* editing/execCommand/indent-selection-expected.txt:
* editing/execCommand/remove-list-from-range-selection-expected.txt:
* editing/execCommand/remove-list-items-expected.txt:
* editing/execCommand/switch-list-type-expected.txt:
* editing/pasteboard/
4861080-expected.txt:
* editing/pasteboard/display-block-on-spans-expected.txt:
* editing/pasteboard/drag-drop-modifies-page-expected.txt:
* editing/pasteboard/paste-table-002-expected.txt:
* editing/pasteboard/paste-text-001-expected.txt:
* editing/pasteboard/paste-text-at-tabspan-001-expected.txt:
* editing/pasteboard/paste-text-at-tabspan-002-expected.txt:
* editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
* editing/style/smoosh-styles-001-expected.txt:
* editing/style/smoosh-styles-002-expected.txt:
WebCore:
Reviewed by darin
~3x speedup pasting 5k lines of rich text:
http://shakespeare.mit.edu/hamlet/full.html
~2x speedup pasting 10k lines of plain text
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedStyle): Added for convenience.
* css/CSSComputedStyleDeclaration.h:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStyles):
The code that pushed down the top level style span had
a bug in it that made it do unnecessary work. Instead of
fixing the bug I removed the code because it was used to
help see more redundancies in second level style spans, but
createMarkup now *only* creates a top level style span.
Only remove redundant styles from style spans and only remove
unstyled elements if they are style spans. FF doesn't
remove redundant styles from elements, or remove redundant
font tags on copy/paste. We could offer this functionality
through a separate "cleanup" command.
* editing/markup.cpp:
(WebCore::createMarkup): Only add markup for ancestors of
lastClosed if we're including markup for acommonAncestorBlock
(we do this for commonAncestorBlocks like tables and lists),
otherwise it's unnecessary/redundant.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20191
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Wed, 14 Mar 2007 18:50:46 +0000 (18:50 +0000)]
Reviewed by Ada.
Make sure to call ResourceLoader::didReceiveData to ensure that there's a shared buffer with the resource
data, since SubresourceLoaderClients now make use of that buffer.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20190
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Wed, 14 Mar 2007 17:38:51 +0000 (17:38 +0000)]
Get the size from the shared buffer.
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::setData):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::dataChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20189
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Wed, 14 Mar 2007 17:25:04 +0000 (17:25 +0000)]
LayoutTests:
Reviewed by Hyatt, thumbs up by Darin.
- test for http://bugs.webkit.org/show_bug.cgi?id=12782
Reproducible crash in BidiContext::deref
* fast/dynamic/anonymous-block-orphaned-lines-expected.checksum: Added.
* fast/dynamic/anonymous-block-orphaned-lines-expected.png: Added.
* fast/dynamic/anonymous-block-orphaned-lines-expected.txt: Added.
* fast/dynamic/anonymous-block-orphaned-lines.html: Added.
WebCore:
Reviewed by Hyatt, thumbs up by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=12782
Reproducible crash in BidiContext::deref
Test: fast/dynamic/anonymous-block-orphaned-lines.html
* rendering/InlineBox.cpp:
(WebCore::InlineBox::root): Added an assertion that we return a root inline box.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild): Added code to adopt the line boxes of
anonymous blocks being destroyed instead of leaving them orphaned, which
is what caused this crash. The boxes will be deleted on the next layout, but
this ensures consistency in the mean time.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20188
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Wed, 14 Mar 2007 13:38:49 +0000 (13:38 +0000)]
Reviewed by Antti.
Fix the Qt build.
Add a getter to SharedBuffer that returns a reference to the internal
Vector to avoid an extra copy of the data.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20187
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti [Wed, 14 Mar 2007 11:37:21 +0000 (11:37 +0000)]
LayoutTests:
Reviewed by Mitz.
Test case for <rdar://problem/
5058774>
REGRESSION: In Mail, caret appears oversized when typing in a To Do note
* editing/style/highlight-expected.checksum: Added.
* editing/style/highlight-expected.png: Added.
* editing/style/highlight-expected.txt: Added.
* editing/style/highlight.html: Added.
WebCore:
Reviewed by Mitz.
Fix <rdar://problem/
5058774>
REGRESSION: In Mail, caret appears oversized when typing in a To Do note
Horizontal and vertical were switched. Was regression from
http://trac.webkit.org/projects/webkit/changeset/20103
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::addHighlightOverflow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20186
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 14 Mar 2007 11:02:56 +0000 (11:02 +0000)]
Tweak the data() functions of stylesheets and scripts to be internally consistent.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::data):
* loader/CachedScript.cpp:
(WebCore::CachedScript::data):
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::data):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20185
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 14 Mar 2007 09:20:47 +0000 (09:20 +0000)]
Fix Radar
5050688.
For large animated GIFs, destroy and recreate the source for every animation frame. This keeps
the memory consumption down while giant images are animating.
Reviewed by andersca
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::dataChanged):
(WebCore::BitmapImage::advanceAnimation):
* platform/graphics/BitmapImage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 14 Mar 2007 08:49:55 +0000 (08:49 +0000)]
Make sure to use CFDataCreateWithBytesNoCopy where we can.
Reviewed by andersca
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::setData):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::dataChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20183
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 14 Mar 2007 08:07:59 +0000 (08:07 +0000)]
WebCore:
Fix for bugzilla bug 13050 and also radar p1
5050645.
This patch reworks resource loading to avoid having redundant buffers in the icon database and in cached
images in the WebCore cache. It also avoids overcopying in top-level image documents and in the icon
database.
There is now only one SharedBuffer for a resource and everybody observes that buffer now instead of ever
making their own. Even ImageIO uses the SharedBuffer while decoding.
The page in 13050 dropped from 145mb down to 45mb of memory use with this change for a stunning savings
of 100mb.
Reviewed by olliej, mjs
* WebCore.exp:
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::data):
* loader/CachedCSSStyleSheet.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::data):
* loader/CachedImage.h:
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):
* loader/CachedResource.h:
(WebCore::CachedResource::data):
* loader/CachedScript.cpp:
(WebCore::CachedScript::data):
* loader/CachedScript.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::data):
* loader/CachedXSLStyleSheet.h:
* loader/DocLoader.cpp:
(WebCore::DocLoader::checkCacheObjectStatus):
* loader/ImageDocument.cpp:
(WebCore::ImageTokenizer::writeRawData):
(WebCore::ImageTokenizer::finish):
* loader/icon/IconDataCache.cpp:
(WebCore::IconDataCache::setImageData):
(WebCore::IconDataCache::writeToDatabase):
* loader/icon/IconDataCache.h:
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::imageDataForIconURL):
(WebCore::IconDatabase::iconForPageURL):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::setHaveNoIconForIconURL):
(WebCore::IconDatabase::imageDataForIconURLQuery):
* loader/icon/IconDatabase.h:
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::didReceiveResponse):
(WebCore::IconLoader::didReceiveData):
(WebCore::IconLoader::didFail):
(WebCore::IconLoader::finishLoading):
(WebCore::IconLoader::clearLoadingState):
* loader/icon/IconLoader.h:
* loader/icon/SQLStatement.cpp:
(WebCore::SQLStatement::getColumnBlobAsVector):
(WebCore::SQLStatement::isExpired):
* loader/icon/SQLStatement.h:
* loader/loader.cpp:
(WebCore::Loader::didFinishLoading):
(WebCore::Loader::didReceiveData):
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getData:andResponse:forURL:]):
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
* platform/SharedBuffer.h:
(WebCore::SharedBuffer::isEmpty):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::dataChanged):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.cpp:
(WebCore::Image::setData):
* platform/graphics/Image.h:
(WebCore::Image::dataChanged):
(WebCore::Image::data):
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::setData):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::dataChanged):
* platform/graphics/cg/PDFDocumentImage.h:
* platform/graphics/mac/ImageMac.mm:
(WebCore::Image::loadPlatformResource):
* platform/graphics/svg/SVGImage.cpp:
(WebCore::SVGImage::setData):
* platform/mac/PasteboardMac.mm:
(WebCore::fileWrapperForImage):
WebKit:
Fixes to ensure that the resource loader's shared buffer can always be used.
Reviewed by olliej, mjs
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase _convertToWebCoreFormat]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::deliverArchivedResources):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20182
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 14 Mar 2007 05:37:27 +0000 (05:37 +0000)]
LayoutTests:
Reviewed by darin
<rdar://problem/
5046875>
Gmail Editor: Applying alignment to selected text in message also applies alignment to signature
Added:
* editing/style/
5046875-1-expected.checksum: Added.
* editing/style/
5046875-1-expected.png: Added.
* editing/style/
5046875-1-expected.txt: Added.
* editing/style/
5046875-1.html: Added.
* editing/style/
5046875-2-expected.checksum: Added.
* editing/style/
5046875-2-expected.png: Added.
* editing/style/
5046875-2-expected.txt: Added.
* editing/style/
5046875-2.html: Added.
moveParagraphs doesn't move unnecessary brs:
* editing/style/create-block-for-style-002-expected.txt:
* editing/style/create-block-for-style-004-expected.txt:
* editing/style/create-block-for-style-001-expected.txt:
* editing/style/create-block-for-style-009-expected.txt:
* editing/style/create-block-for-style-010-expected.txt:
moveParagraphs clears out unrendered text during the move:
* editing/style/create-block-for-style-011-expected.txt:
* editing/style/create-block-for-style-007-expected.txt:
* editing/style/create-block-for-style-012-expected.txt:
WebCore:
Reviewed by darin
<rdar://problem/
5046875>
Gmail Editor: Applying alignment to selected text in message also applies alignment to signature
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::doApply): Don't call applyBlockStyle unless
there is a block style to apply.
(WebCore::ApplyStyleCommand::applyBlockStyle): Don't do the remove step.
It was unnecessary and removed properties from blocks that could contain
content outside the range being operated on (added a testcase).
(WebCore::ApplyStyleCommand::addBlockStyleIfNeeded): Used an early return
instead of if-nesting.
* editing/ApplyStyleCommand.h:
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
Return the new block, if one was created. Use moveParagraphs to move
paragraphs into the new block, instead of moving nodes. The old code moved
too much (added a testcase).
* editing/CompositeEditCommand.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Wed, 14 Mar 2007 05:00:07 +0000 (05:00 +0000)]
2007-03-13 Oliver Hunt <oliver@apple.com>
Reviewed by Brady.
WebCore:
To fix <rdar://problem/
5044366> we now pass a NSString
representation of the URL extracted with _web_originalDataAsString
instead of relying on [NSURL absoluteString] in the bridge
* page/mac/WebCoreFrameBridge.h:
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getData:andResponse:forURL:]):
WebKit:
Modify subresourceForURL to take NSString argument
so we can avoid [NSURL absoluteString]
* WebView/WebDataSource.mm:
(-[WebDataSource subresourceForURL:]):
LayoutTests:
Test for <rdar://problem/
5044366> make sure we can create
a WebArchive from a page with a partially decoded url.
* webarchive/archive-with-unencoded-url-expected.txt: Added.
* webarchive/archive-with-unencoded-url.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20180
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Wed, 14 Mar 2007 04:44:17 +0000 (04:44 +0000)]
Rubberstamped by Alice
Meant to be part of my previous checkin... pruning unused code from WebKit
* WebView/WebFrame.mm: Removed _canCachePage
* WebView/WebFrameInternal.h: Ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Wed, 14 Mar 2007 03:59:08 +0000 (03:59 +0000)]
Reviewed by Anders
<rdar://problem/
5048818> - REGRESSION: Incompletely loaded resources being saved to the object cache
Due to a subtle change in loader behavior back in 10904, we would stop all loaders before calling
didFail() on them in the Cache loader. As a result, we basically cleared all of the Subresource Loaders
out of the Cache loader before more properly failing them as errored out. The result? Partially loaded
resources being cached.
Since Loader::didFail() both calls error() on the object *and* removes the loader, the solution is to call
didFail() for all cancelled loaders instead of *only* removing them from the set of active loaders.
In addition, pages that didn't completely load were being saved to the back/forward cache. To fix that,
I added a null check on the DocumentLoader's error to see if the page ended in an error, or did indeed
completely load.
Note that the layout test for this - if possible - will require other enhancements including possibly adding
support for window.stop(). That task is documented in <rdar://problem/
5061826>
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::provisionalLoadStarted): Fixed a few bugs relating to my original BFCache rewrite to
more perfectly restore the original behavior - including only caching HTML documents via the
m_client->canCachePage() call
(WebCore::FrameLoader::canCachePage): Don't make the call to m_client->canCachePage() as that serves a different
purpose
- Check the mainDocumentError to see if the load ended in error as a further criteria in determining the
cachability of a page
* loader/loader.cpp:
(WebCore::Loader::cancelRequests): Call didFail(cancelledError()) instead of just removing the loaders from the
loaders-in-progress set. This adds the effect of properly cleaning up the cached object.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20178
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Wed, 14 Mar 2007 03:56:43 +0000 (03:56 +0000)]
WebCore:
Rendering part reviewed by Hyatt. Editing part consulted with and
rubber stamped by Justin and Harrison.
Fix for <rdar://problem/
5025925> A hang occurs in Safari when
attempting to print page at http://www.pcadvisor.co.uk
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::makeChildrenNonInline):
RenderBlock::makeChildrenNonInline() takes a block's inline
children and turns them into block children. If the children had
line boxes, those boxes were being leaked. In the layout test I
added with the change (and at pcadvisor.co.uk during printing)
children were being made non-inline, and then they were being made
inline again. This meant that some of the children ended up
pointing to totally stale line boxes that are normally just leaked.
This caused an infinite loop in RenderFlow::destroy(). This patch
simply deletes everyone's line boxes in
RenderBlock::makeChildrenNonInline()
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): The other part
of this fix is that I added a call to updateLayout in
InsertParagraphSeparatorCommand::doApply(). One layout test
(editing/spelling/spelling.html) was changed by my patch to
RenderBlock. doApply() inserts a node into the render tree. In at
least one case in spelling.html, that caused some line boxes to be
deleted. Back in doApply() this meant that the RenderTree was out-
of-date, and we mistakenly thought we were at the end of the
paragraph. This caused us to insert a RenderBR() at the end of the
tree instead of an empty RenderText(). No one seems to know exactly
why we insert either, or if the change is necessarily a problem. It
is clear, though, that the RenderTree in doApply() is out-of-date
after inserting the node and deleting some line boxes, so it seems
prudent to call into updateLayout().
LayoutTests:
Reviewed by Hyatt.
Test for <rdar://problem/
5025925> A hang occurs in Safari when
attempting to print page at http://www.pcadvisor.co.uk
* fast/block/float/nestedAnonymousBlocks-expected.checksum: Added.
* fast/block/float/nestedAnonymousBlocks-expected.png: Added.
* fast/block/float/nestedAnonymousBlocks-expected.txt: Added.
* fast/block/float/nestedAnonymousBlocks.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20177
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Wed, 14 Mar 2007 02:37:57 +0000 (02:37 +0000)]
Reviewed by Anders.
* platform/FontData.h: Added m_isSystemFont parameter to match NSFont.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20176
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Wed, 14 Mar 2007 00:39:53 +0000 (00:39 +0000)]
<rdar://problem/
5031181> cntl-k at end of paragraph adds nothing to the kill ring
<rdar://problem/
5031189> REGRESSION: cntl-y yanks only the most recently killed content
Updated results.
* editing/deleting/delete-to-end-of-paragraph-expected.checksum:
* editing/deleting/delete-to-end-of-paragraph-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20175
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Tue, 13 Mar 2007 23:55:32 +0000 (23:55 +0000)]
typo fix. thanks aroben!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Tue, 13 Mar 2007 23:51:25 +0000 (23:51 +0000)]
WebCore:
Reviewed by Maciej.
Export DocumentLoader::setFrame(). Part for fix for <rdar://
problem/
4277074> 8F32: Help Viewer crashed on clicking link -
KHTMLView::viewportMouseReleaseEvent (12647)
* WebCore.exp:
WebKit:
Reviewed by Maciej.
Fix for <rdar://problem/
4277074> 8F32: Help Viewer crashed on
clicking link - KHTMLView::viewportMouseReleaseEvent (12647)
Re-set the DocumentLoader's frame when loading it from the page
cache before setting the document view.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::setDocumentViewFromPageCache):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20173
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 13 Mar 2007 23:25:28 +0000 (23:25 +0000)]
of -> be
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20171
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 13 Mar 2007 23:18:23 +0000 (23:18 +0000)]
LayoutTests:
Reviewed by Maciej.
- tests for http://bugs.webkit.org/show_bug.cgi?id=12794
<rdar://problem/
5028154> REGRESSION: TripTik planner at aaa.com never
finishes loading due to unclosed canvas tag (12794)
* fast/canvas/canvas-hides-fallback-expected.txt: Added.
* fast/canvas/canvas-hides-fallback.html: Added.
* fast/canvas/script-inside-canvas-fallback-expected.txt: Added.
* fast/canvas/script-inside-canvas-fallback.html: Added.
* fast/canvas/unclosed-canvas-1-expected.txt: Added.
* fast/canvas/unclosed-canvas-1.html: Added.
* fast/canvas/unclosed-canvas-2-expected.txt: Added.
* fast/canvas/unclosed-canvas-2.html: Added.
* fast/canvas/unclosed-canvas-3-expected.txt: Added.
* fast/canvas/unclosed-canvas-3.html: Added.
* fast/canvas/unclosed-canvas-4-expected.txt: Added.
* fast/canvas/unclosed-canvas-4.html: Added.
WebCore:
Reviewed by Maciej.
- fix http://bugs.webkit.org/show_bug.cgi?id=12794
<rdar://problem/
5028154> REGRESSION: TripTik planner at aaa.com never
finishes loading due to unclosed canvas tag (12794)
Change <canvas> elements so that their contents are parsed normally,
but not rendered. This change fixes the bug, because normal parsing
rules close the <canvas> element in that case. The special parser
stuff was just getting in the way.
Also do some basic cleanup to the HTML parser. This was motivated by
an earlier version of this patch that made even more changes to the
parser, but the cleanup is still worth landing.
Test: fast/canvas/canvas-hides-fallback.html
Test: fast/canvas/script-inside-canvas-fallback.html
Test: fast/canvas/unclosed-canvas-1.html
Test: fast/canvas/unclosed-canvas-2.html
Test: fast/canvas/unclosed-canvas-3.html
Test: fast/canvas/unclosed-canvas-4.html
* html/HTMLCanvasElement.h: Added a data member to keep track of whether the
renderer is a RenderHTMLCanvas or not.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createRenderer): If JavaScript is enabled, create
a RenderHTMLCanvas. If it's not, let the default code create the default type
of renderer, which will result in fallback content being visible. The
RenderHTMLCanvas class already hides all of its children. Set the m_rendererIsCanvas
boolean accordingly. Since the actual storage for the canvas is allocated lazily
when you actually get a drawing context, we don't need to do anything special
to prevent it when JavaScript is disabled; the relevant functions won't be called.
(WebCore::HTMLCanvasElement::reset): Protect the code that manipulates the
RenderHTMLCanvas with a check of m_rendererIsCanvas. This is the only code inside
the DOM element that relies on the renderer type.
* html/HTMLParser.h: Removed unneeded includes. Marked HTMLParser as
Noncopyable. Changed the Document parameter to the constructor to instead
of HTMLDocument. Renamed discard_until to m_skipModeTag for clarity.
Removed unused noSpaces function and unneeded public doc() function.
Moved data members all down to the end so you can see them together in order.
Renamed map to m_currentMapElement and isindex to m_isindexElement.
Removed unused end and headLoaded data members. Renamed m_fragment to
m_isParsingFragment to make it clearer that it's a boolean, not a fragment.
* html/HTMLParser.cpp:
(WebCore::HTMLParser::HTMLParser): Changed to use member construction
syntax instead of calling reset(). This is especially helpful in the
fragment case, where calling reset() later on is illegal, so not using
it in the constructor lets us assert.
(WebCore::HTMLParser::~HTMLParser): Did an explicit deref instead of
calling setCurrent for its side effect.
(WebCore::HTMLParser::reset): Updated for member name changes and removal
and to use document instead of doc().
(WebCore::HTMLParser::setCurrent): Use document instead of doc().
(WebCore::HTMLParser::setSkipMode): Added. No longer inline. Now sets the
m_inCanvasBeforeFirstOpenTag data member to false.
(WebCore::HTMLParser::parseToken): Tightened up the skip mode logic at the
top of the function, and added a FIXME about the strange case there where
we don't skip yet stay in skip mode. Updated for renaming and doc().
(WebCore::HTMLParser::insertNode): Updated for renaming and doc().
(WebCore::HTMLParser::handleError): Ditto.
(WebCore::HTMLParser::framesetCreateErrorCheck): Ditto.
(WebCore::HTMLParser::isindexCreateErrorCheck): Changed to use RefPtr.
(WebCore::HTMLParser::noscriptCreateErrorCheck): Updated for renaming and doc().
(WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
(WebCore::HTMLParser::getNode): Removed the special case for canvas here.
Canvas fallback is now handled in the DOM, not the parser. Updated for
renaming and doc().
(WebCore::HTMLParser::allowNestedRedundantTag): Changed a #define into a C++
constant.
(WebCore::HTMLParser::processCloseTag): Updated for renaming and doc().
(WebCore::HTMLParser::isInline): Ditto.
(WebCore::HTMLParser::tagIsOnStack): Added. Used by new canvas logic.
(WebCore::HTMLParser::popBlock): Updated for renaming and doc(). Also renamed
the local variable Elem to elem.
(WebCore::HTMLParser::createHead): Ditto.
(WebCore::HTMLParser::handleIsindex): Changed to use RefPtr.
(WebCore::HTMLParser::startBody): Updated for renaming and doc().
(WebCore::HTMLParser::finished): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20170
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 13 Mar 2007 23:07:55 +0000 (23:07 +0000)]
Two more cleanup fixes to the cache. Don't call destroyDecodedData in the BitmapImage destructor, since
clearing the image source and calling setData on it again causes it to do an extra copy of the encoded
data. Since we're about to be destroyed this is just wasteful.
When the cache prunes, don't allow it to destroy the decoded data of an image that is still actively loading,
since we've established that ImageIO can actually crash if you yank the rug out from under it like that.
Reviewed by ggaren
* loader/Cache.cpp:
(WebCore::Cache::prune):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::~BitmapImage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20169
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 13 Mar 2007 22:46:01 +0000 (22:46 +0000)]
Try fixing the Qt build.
* editing/Editor.h:
(WebCore::Editor::setStartNewKillRingSequence):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 13 Mar 2007 22:40:16 +0000 (22:40 +0000)]
Reviewed by Geoff.
<rdar://problem/
5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
* WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
* WebView/WebView.mm:
(-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
(-[WebView userAgentForURL:]): Call _userAgentForURL:.
(-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
(-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
(-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
* WebView/WebViewInternal.h: Declare _userAgentForURL:.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20167
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 13 Mar 2007 22:31:43 +0000 (22:31 +0000)]
LayoutTests:
Reviewed by Justin.
<rdar://problem/
5031181> cntl-k at end of paragraph adds nothing to the kill ring
<rdar://problem/
5031189> REGRESSION: cntl-y yanks only the most recently killed content
* editing/pasteboard/emacs-ctrl-k-y-001-expected.checksum: Added.
* editing/pasteboard/emacs-ctrl-k-y-001-expected.png: Added.
* editing/pasteboard/emacs-ctrl-k-y-001-expected.txt: Added.
* editing/pasteboard/emacs-ctrl-k-y-001.html: Added.
WebCore:
Reviewed by Justin.
<rdar://problem/
5031181> cntl-k at end of paragraph adds nothing to the kill ring
<rdar://problem/
5031189> REGRESSION: cntl-y yanks only the most recently killed content
For rdar://
5031181, properly extend the selection before the killring handling, and
make sure plainText of that selection returns a linefeed.
For rdar://
5031189, restore Editor::deleteRange() code that continued current killring,
even though the range deletion implicitly stopped it via changing the selection.
A byproduct of this change is the elimination of RUNDFINDER vs CONTENT TextIterator. The
only difference between the two was whether to emit a newline when the range started
with a blockflow element. No callers actually need that any more.
Tests added:
* editing/pasteboard/emacs-ctrl-k-y-001-expected.checksum: Added.
* editing/pasteboard/emacs-ctrl-k-y-001-expected.png: Added.
* editing/pasteboard/emacs-ctrl-k-y-001-expected.txt: Added.
* editing/pasteboard/emacs-ctrl-k-y-001.html: Added.
* editing/Editor.cpp:
(WebCore::Editor::deleteRange):
Clear the "start new kill ring sequence" setting, because it was set to true
when the selection was updated by deleting the range.
(WebCore::Editor::deleteWithDirection):
If extending the selection to the end of paragraph resulted in a caret selection,
extend by character, to handle the case when the selection started as a caret at
the end of paragraph.
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
Initialize new member variables for tracking handling of the beginning of the range.
(WebCore::TextIterator::advance):
Call representNodeOffsetZero on the m_endContainer.
Move visibility checks into handleTextNode and handleReplacedElement.
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
Call emitText.
(WebCore::TextIterator::handleReplacedElement):
Moved visibility check into here.
(WebCore::shouldEmitNewlinesBeforeAndAfterNode):
(WebCore::TextIterator::shouldRepresentNodeOffsetZero):
(WebCore::TextIterator::representNodeOffsetZero):
New. Emits proper sequence when encountering offset 0 of a node, including the
m_endContainer. Started with code from handleNonTextNode.
(WebCore::TextIterator::handleNonTextNode):
Call representNodeOffsetZero.
(WebCore::TextIterator::exitNode):
Similar to shouldRepresentNodeOffsetZero, do not emit the newline if the node
was collapsed, and before any other emitted content.
(WebCore::TextIterator::emitCharacter):
(WebCore::TextIterator::emitText):
New. Consolidates code used by handleText and handleTextBox.
(WebCore::CharacterIterator::CharacterIterator):
Removed RUNFINDER.
(WebCore::WordAwareIterator::WordAwareIterator):
Removed RUNFINDER.
(WebCore::WordAwareIterator::advance):
Formatting.
(WebCore::TextIterator::rangeLength):
Formatting.
* editing/TextIterator.h:
Added member variables for tracking handling of the beginning of the range.
Eliminated concept of RUNDFINDER vs CONTENT TextIterator.
* editing/visible_units.cpp:
(WebCore::nextBoundary):
Eliminated concept of RUNDFINDER vs CONTENT TextIterator.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20166
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 13 Mar 2007 22:11:09 +0000 (22:11 +0000)]
Clean up the null image case in CachedImage::data to make sure the size totals will stay accurate.
I'm not convinced this case can even be hit, but I'm cleaning it up just in case.
* loader/CachedImage.cpp:
(WebCore::CachedImage::data):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20165
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Tue, 13 Mar 2007 22:10:54 +0000 (22:10 +0000)]
Add a test that currently crashes the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20164
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 13 Mar 2007 22:03:36 +0000 (22:03 +0000)]
Reorder the call to allReferencesRemoved, since otherwise the live object size will become
incorrect.
* loader/CachedResource.cpp:
(WebCore::CachedResource::deref):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20163
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Tue, 13 Mar 2007 22:00:09 +0000 (22:00 +0000)]
Reviewed by George.
Don't try to load <object> tags with an invalid url.
Fixes LayoutTests/fast/dom/object-plugin-hides-properties.html
which hit an assertion in the frameloader.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20162
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti [Tue, 13 Mar 2007 21:41:49 +0000 (21:41 +0000)]
LayoutTests:
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11083
REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area
<rdar://problem/
4757650>
* editing/inserting/typing-tab-designmode-expected.txt: Added.
* editing/inserting/typing-tab-designmode-forms-expected.checksum: Added.
* editing/inserting/typing-tab-designmode-forms-expected.png: Added.
* editing/inserting/typing-tab-designmode-forms-expected.txt: Added.
* editing/inserting/typing-tab-designmode-forms.html: Added.
* editing/inserting/typing-tab-designmode.html: Added.
WebCore:
Reviewed by Darin.
Fix http://bugs.webkit.org/show_bug.cgi?id=11083
REGRESSION: Typing tab key fails to insert a tab character in Google Docs editable area
<rdar://problem/
4757650>
Allow inserting tabs in designMode. Backtab behaves like before (matches FF).
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultTabEventHandler):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20159
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 13 Mar 2007 21:31:18 +0000 (21:31 +0000)]
Fixes builds using buildit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20158
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Tue, 13 Mar 2007 20:25:24 +0000 (20:25 +0000)]
Reviewed by .
- Adding expected failures until the are truly fixed.
- rdar://problem/
5060302
* tests/mozilla/expected.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20157
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 13 Mar 2007 20:18:51 +0000 (20:18 +0000)]
Fix two counting errors in the decoded size of objects in the WebCore cache. We need to explicitly
destroy decoded data when clearing out a partially loaded image that had an error, since the destructor
(although it does destroy the data) disconnects the observer so that the notification doesn't happen.
Some CachedImages aren't in the cache (like image documents). When the decoded size of such an image
changes we should not notify the cache, since - newsflash - we aren't actually in it.
Reviewed by ggaren
* loader/CachedImage.cpp:
(WebCore::CachedImage::clear):
(WebCore::CachedImage::decodedSizeChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20156
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 13 Mar 2007 19:33:00 +0000 (19:33 +0000)]
Silly wrapping change for testing a post-commit hook change.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20154
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Tue, 13 Mar 2007 19:20:34 +0000 (19:20 +0000)]
Fix 99% of the crashes in the loader I've been seeing lately.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20153
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 13 Mar 2007 18:22:43 +0000 (18:22 +0000)]
Reviewed by Tim Hatcher and John Sullivan.
- fix <rdar://problem/
4915303> CrashTracer: 36 crashes in Safari at
com.apple.AppKit: -[NSView getRectsBeingDrawn:count:] + 502
* page/mac/FrameMac.mm: (WebCore::Frame::imageFromRect):
This was calling drawRect: directly, but NSView's getRectsBeingDrawn:count:
method was never really safe to call unless it was AppKit that called your
drawRect: method. Changed it to call drawSingleRect: instead. A little ugly,
but seems to work and will almost certainly fix the bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20152
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Tue, 13 Mar 2007 16:53:26 +0000 (16:53 +0000)]
Reviewed by Maciej.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12974
Call forgetGenericContext in JSSVGPathSeg destructor, otherwhise
we'll hit an ASSERT in a debug build, when running svg/custom/js-update-path-changes.svg
a few dozen times in a single WebKit instance. The ASSERT is good and just warns that
there was already a generic context pointer registered, and the new "to be registered"
object already exists, but pointing to a different object. That's because garbage collection
calls the JSSVGPathSeg destructor, but that didn't cleanup the generic context map.
Only JSSVGPathSeg is hit by this problem, as it's the only non SVGAnimated* type
using the generic context system while using a custom JSSVGPathSegList implementation.
Also cleanup JSSVGPathSegListCustom code to call the static forgetGenericContext
method instead of doing the same using custom code.
* bindings/js/JSSVGPathSegListCustom.cpp:
(WebCore::removeFromPathSegContextMap):
(WebCore::JSSVGPathSegList::clear):
(WebCore::JSSVGPathSegList::removeItem):
* bindings/scripts/CodeGeneratorJS.pm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20151
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 13 Mar 2007 14:47:11 +0000 (14:47 +0000)]
* fast/js/kde/RegExp-expected.txt: Fix the one other test affected by
the js-test-pre.js change.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20149
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 13 Mar 2007 14:19:32 +0000 (14:19 +0000)]
LayoutTests:
Reviewed by Adele.
- test for http://bugs.webkit.org/show_bug.cgi?id=12595
<rdar://problem/
4722863> REGRESSION: Can't add item to cart at lnt.com
(JS type error) (12595)
* fast/forms/old-names-expected.txt: Added.
* fast/forms/old-names.html: Added.
- check in files that were somehow left out in the last check-in
* fast/js/resources/js-test-pre.js: Improve the format of the failure message when
both the real results and expected results are strings.
* fast/dom/wrapper-classes-expected.txt: Changed back to use the new format.
WebCore:
Reviewed by Adele.
- fix http://bugs.webkit.org/show_bug.cgi?id=12595
<rdar://problem/
4722863> REGRESSION: Can't add item to cart at lnt.com
(JS type error) (12595)
Test: fast/forms/old-names.html
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::canGetItemsForName): If the form collection has
nothing for a given name, try the form's oldNamedElement function.
(WebCore::JSHTMLFormElement::nameGetter): Ditto.
* bindings/js/kjs_dom.h: Removed the DOMNamedNodesCollection. Instead we will use
a class derived from NodeList.
* bindings/js/kjs_dom.cpp: Ditto.
* bindings/js/kjs_html.cpp:
(KJS::VectorNodeList::VectorNodeList): Added. Constructor for a new class derived
from NodeList to be used for the named items result from a collection -- uses a
vector of node pointers.
(KJS::VectorNodeList::length): Added.
(KJS::VectorNodeList::item): Added.
(KJS::JSHTMLCollection::getNamedItems): Use VectorNodeList and the existing wrapper
for NodeList rather than a custom JavaScript class, DOMNamedNodesCollection.
* dom/ChildNodeList.h:
* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList): Updated to derive from TreeNodeList,
since NodeList is now a simpler class.
(WebCore::ChildNodeList::elementMatches): Updated for name and parameter change.
* dom/NameNodeList.h:
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList): Updated to derive from TreeNodeList,
since NodeList is now a simpler class.
(WebCore::NameNodeList::rootNodeAttributeChanged): Updated for name and
parameter change.
* dom/Node.h: Change register/unregister functions to take TreeNodeList.
* dom/Node.cpp:
(WebCore::TagNodeList::TagNodeList): Updated to derive from TreeNodeList,
since NodeList is now a simpler abstract class.
(WebCore::TagNodeList::elementMatches): Updated for name and parameter change.
(WebCore::Node::registerNodeList): Changed type from NodeList to TreeNodeList.
(WebCore::Node::unregisterNodeList): Ditto.
* dom/NodeList.h: Broke NodeList into a simpler base class and a derived class
with the machinery for iterating a tree, called TreeNodeList.
* dom/NodeList.cpp:
(WebCore::NodeList::~NodeList): Added.
(WebCore::NodeList::itemWithName): Factored out of the old itemWithName.
(WebCore::TreeNodeList::TreeNodeList): Renamed from NodeList.
(WebCore::TreeNodeList::~TreeNodeList): Ditto.
(WebCore::TreeNodeList::recursiveLength): Ditto.
(WebCore::TreeNodeList::itemForwardsFromCurrent): Ditto.
(WebCore::TreeNodeList::itemBackwardsFromCurrent): Ditto.
(WebCore::TreeNodeList::recursiveItem): Ditto.
(WebCore::TreeNodeList::itemWithName): Factored half of this into this function,
the other half in NodeList::itemWithName.
(WebCore::TreeNodeList::rootNodeAttributeChanged): Added. No longer inline.
(WebCore::TreeNodeList::rootNodeChildrenChanged): Renamed from NodeList.
* html/HTMLFormElement.h: Added formElementNameChanged and oldNamedElement
fucntions, and a map called m_oldNames. Also removed m_boundary, which I
thought I had already done.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement): Initialize m_oldNames to 0.
Switched the rest of the members to initialization syntax.
(WebCore::HTMLFormElement::~HTMLFormElement): Delete m_oldNames.
(WebCore::HTMLFormElement::formElementNameChanged): Added. Stores a reference
to one element under each of its old names.
(WebCore::HTMLFormElement::oldNamedElement): Added. Returns the old element
that once had a given name.
* html/HTMLGenericFormElement.h:
* html/HTMLGenericFormElement.cpp:
(WebCore::HTMLGenericFormElement::parseMappedAttribute): When the name
attribute changes, tell the form about the old name.
(WebCore::HTMLGenericFormElement::insertedIntoTree): When telling a form
about an element, also store away the old name so that we can use it
when the name changes later.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute): Added a call to the
base class in the nameAttr case, so the code in HTMLGenericFormElement
above will get called in the input element case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20148
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Tue, 13 Mar 2007 14:17:32 +0000 (14:17 +0000)]
Reviewed by Lars.
Update text in tests to match expected output.
* fast/dom/gc-6-expected.txt:
* fast/dom/gc-6.html:
* fast/dom/gc-7-expected.txt:
* fast/dom/gc-7.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20147
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti [Tue, 13 Mar 2007 13:36:57 +0000 (13:36 +0000)]
LayoutTests:
Reviewed by Alexey.
Test for DOS using composed character.
* fast/text/large-text-composed-char-dos-expected.txt: Added.
* fast/text/large-text-composed-char-dos.html: Added.
WebCore:
Reviewed by Alexey.
Alexey spotted a DOS by using string of 64k unbreakable character in
fix for http://bugs.webkit.org/show_bug.cgi?id=12833
* dom/Text.cpp:
(WebCore::Text::createWithLengthLimit):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20146
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 13 Mar 2007 12:54:03 +0000 (12:54 +0000)]
Reviewed by Tim H.
- fix test results for http://bugs.webkit.org/show_bug.cgi?id=13054
Layout tests results require updates after JavaScript wrapper class name fixes
* fast/dom/gc-6-expected.txt: Renamed DOMHTMLElement to HTMLElement.
* fast/dom/gc-7-expected.txt: Ditto.
* fast/dom/prototype-chain-expected.txt: Renamed DOMHTMLElementPrototype to HTMLElementPrototype.
* fast/dom/undetectable-document-all-expected.txt: Renamed Collection to HTMLCollection.
* fast/dom/wrapper-classes-expected.txt: Updated for change to output for string comparison failure
in fast/js/resources/js-test-pre.js.
* fast/events/mouseclick-target-and-positioning-expected.txt: Renamed DOMHTMLElement to HTMLElement.
* fast/tokenizer/external-script-document-write-expected.checksum: Ditto.
* fast/tokenizer/external-script-document-write-expected.png: Ditto.
* fast/tokenizer/external-script-document-write-expected.txt: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20145
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Tue, 13 Mar 2007 10:13:49 +0000 (10:13 +0000)]
Tweaked again.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20144
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Tue, 13 Mar 2007 10:11:34 +0000 (10:11 +0000)]
Added bug references and a period.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20143
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Tue, 13 Mar 2007 10:03:04 +0000 (10:03 +0000)]
Fix the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Tue, 13 Mar 2007 09:21:41 +0000 (09:21 +0000)]
2007-03-13 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
Have the nightly launcher prefer Safari found in /Applications or ~/Applications
if present, otherwise fall back on using LaunchServices to locate it elsewhere
on the system. The motivation for this is to make the behaviour of the nightly
builds more predictable on machines with multiple copies of Safari present.
* WebKitLauncher/main.m:
(locateSafariBundle):
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20141
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis [Tue, 13 Mar 2007 08:00:29 +0000 (08:00 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=12576
WebKit does not support xlink:show attributes
Make an exception for non-empty targets, these should be opened
in a new window, unless the value is _self.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20140
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 13 Mar 2007 07:32:07 +0000 (07:32 +0000)]
Double the encoded size of images for now. We do this to account for a bug in ImageIO where they hold
a separate copy of image data.
Reviewed by aroben
* loader/CachedImage.cpp:
(WebCore::CachedImage::data):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20139
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 13 Mar 2007 04:24:28 +0000 (04:24 +0000)]
LayoutTests:
Reviewed by Darin.
<rdar://problem/
4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty
* editing/pasteboard/emacs-cntl-y-001-expected.checksum:
* editing/pasteboard/emacs-cntl-y-001-expected.png:
* editing/pasteboard/emacs-cntl-y-001-expected.txt:
* editing/pasteboard/emacs-cntl-y-001.html:
WebKit:
Reviewed by Darin.
<rdar://problem/
4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty
Test updated:
* editing/pasteboard/emacs-cntl-y-001.html:
* WebView/WebHTMLView.mm:
(-[WebHTMLView yank:]):
(-[WebHTMLView yankAndSelect:]):
Do nothing if the killring is empty.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20138
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kjk [Tue, 13 Mar 2007 04:05:41 +0000 (04:05 +0000)]
Not reviewed - gdk build fix.
* platform/gdk/TemporaryLinkStubs.cpp:
(SearchPopupMenu::enabled): add missing stub.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20137
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Tue, 13 Mar 2007 03:52:09 +0000 (03:52 +0000)]
WebCore:
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=13045
REGRESSION: Blackboard CourseWare Error with Nightlies after Mar 8
* html/HTMLFormElement.cpp:
(WebCore::getUniqueBoundaryString): Speculative fix: remove dashes from
the boundary prefix that appear after non-dash characters.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20136
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Tue, 13 Mar 2007 03:48:49 +0000 (03:48 +0000)]
LayoutTests:
Reviewed by Anders.
- test for http://bugs.webkit.org/show_bug.cgi?id=13015
REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form
* fast/loader/onunload-form-submit-crash-2-expected.txt: Added.
* fast/loader/onunload-form-submit-crash-2.html: Added.
WebCore:
Reviewed by Anders.
- fix http://bugs.webkit.org/show_bug.cgi?id=13015
REGRESSION (r17233-r17241): Repro crash when leaving a page whose unload handler submits a form
Test: fast/loader/onunload-form-submit-crash-2.html
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading): Added null check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20135
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 13 Mar 2007 02:13:50 +0000 (02:13 +0000)]
Remove conflict marker.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20134
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 13 Mar 2007 02:11:39 +0000 (02:11 +0000)]
Add expected results.
* fast/frames/frame-navigation-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20133
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 13 Mar 2007 01:09:53 +0000 (01:09 +0000)]
LayoutTests:
Reviewed by Darin.
<rdar://problem/
4900071>
http://bugs.webkit.org/show_bug.cgi?id=6454
ASSERTION: Navigating 'back' in frameset: !_private->previousItem (6454)
* fast/frames/frame-navigation.html: Added.
* fast/frames/resources/frame-navigation-child.html: Added.
WebCore:
Reviewed by Darin.
<rdar://problem/
4900071>
http://bugs.webkit.org/show_bug.cgi?id=6454
ASSERTION: Navigating 'back' in frameset: !_private->previousItem (6454)
Change back the behavior of checkLoadComplete to traverse the entire frame tree instead of
just the parent frames of the current frame. This is needed in order to reset the previous history item
for all frames when doing a frame navigation. (This was changed in revision 11819)
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::recursiveCheckLoadComplete):
(WebCore::FrameLoader::checkLoadComplete):
* loader/FrameLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20132
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Tue, 13 Mar 2007 00:53:38 +0000 (00:53 +0000)]
Reviewed by darin
<rdar://problem/
5056619>
REGRESSION: Gmail Editor: Dragging text into Reply (textarea) field results in a crash at WebCore::InsertNodeBeforeCommand::doApply()
* editing/SelectionController.cpp:
(WebCore::removingNodeRemovesPosition): Added.
(WebCore::SelectionController::nodeWillBeRemoved): Clear the
selection if it's inside a shadow tree.
* page/DragController.cpp:
(WebCore::setSelectionToDragCaret): Return false to signal to
clients that a drop shouldn't be performed if the second attempt
to set a selection ends up in non-editable content.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20131
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 13 Mar 2007 00:49:02 +0000 (00:49 +0000)]
LayoutTests:
Reviewed by Tim Hatcher.
- added a test that checks the classes of wrappers created by both
the JavaScript binding and the Objective-C binding
* fast/dom/wrapper-classes-expected.txt: Added.
* fast/dom/wrapper-classes.html: Added.
* fast/js/resources/js-test-pre.js: Improve the format of the failure message when
both the real results and expected results are strings.
WebCore:
Reviewed by Tim Hatcher.
- fixed JavaScript wrapper classes to be correct for a variety of cases
that a new test uncovered: was broken for at least 5 classes
- fixed Objective-C wrapper classes to be correct for a variety of cases
that a test case uncovered: was broken for ast least 50 classes
- added missing DOM API for creating OverflowEvent and WheelEvent instances
Test: fast/dom/wrapper-classes.html
* DerivedSources.make: Added missing bindings: HTMLCanvasElement for ObjC,
CDATASection, Comment, and EntityReference for JavaScript.
* WebCore.xcodeproj/project.pbxproj: Added those new generated files.
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createJSHTMLWrapper): Corrected the wrapper classes for <keygen>,
which needs an HTMLSelectElement wrapper, and <xmp>, which needs an
HTMLPreElement wrapper.
* bindings/objc/DOMInternal.h: Updated for new naming scheme.
Also moved createDOMWrapper from the KJS namespace to the WebCore namespace.
* bindings/objc/DOMUtility.mm:
(KJS::createDOMWrapper): Broke the core function into a separate one, and
left it in the KJS namespace because Objective-C++ rules make it impossible
for it to work in the WebCore namespace. Used a macro-based implementation
to cut down on repeated code, and added missing cases for Counter,
HTMLOptionsCollection, Range, XPathExpression, XPathResult, Event, RGBColor,
Rect, Window, DOMImplementation, NodeIterator, TreeWalker, and HTMLCollection.
(WebCore::createDOMWrapper): The other half of the function.
* bindings/objc/DOM.mm:
(WebCore::createElementClassMap): Corrected the wrapper classes for
<canvas>, which needs a DOMHTMLCanvasElement wrapper, <del>, which needs
a DOMHTMLModElement wrapper, <embed>, which needs a DOMHTMLEmbedElement
wrapper, <ins>, which needs a DOMHTMLModElement wrapper, <th>, which needs
a DOMHTMLTableCellElement wrapper, and <xmp>, which needs an
DOMHTMLPreElement wrapper.
(+[DOMNode _wrapNode:]): Updated for new naming scheme.
(+[DOMNode _wrapEventTarget:]): Ditto.
(+[DOMNodeFilter _wrapNodeFilter:]): Ditto.
(ObjCNodeFilterCondition::acceptNode): Ditto.
(-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): Ditto.
(-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): Ditto.
(WebCore::ObjCEventListener::handleEvent): Ditto.
* dom/Document.cpp: (WebCore::Document::createEvent):
Added cases for OverflowEvent and WheelEvent.
* dom/OverflowEvent.h: Added empty constructor and initOverflowEvent.
* dom/OverflowEvent.cpp:
(WebCore::OverflowEvent::OverflowEvent): Added.
(WebCore::OverflowEvent::initOverflowEvent): Added.
* dom/OverflowEvent.idl: Added initOverflowEvent.
* bindings/objc/PublicDOMInterfaces.h: Added initOverflowEvent.
* bindings/objc/DOMCSS.mm:
(+[DOMStyleSheet _wrapStyleSheet:]): Updated for new naming scheme.
(+[DOMCSSRule _wrapCSSRule:]): Corrected wrapper for CSSUnknownRule.
(+[DOMCSSValue _wrapCSSValue:]): Updated for new naming scheme.
* bindings/js/kjs_css.h:
(KJS::DOMRGBColor::impl): Added. Used when making an ObjC wrapper.
(KJS::DOMRect::impl): Ditto.
* bindings/js/kjs_dom.cpp: (KJS::toJS): Corrected the wrapper classes for
CDATASection, Comment, and EntityReference.
* bindings/js/kjs_html.cpp: Corrected the class name for HTMLElement
(was "DOMHTMLElement") and HTMLCollection (was "Collection").
* bindings/objc/DOMImplementationFront.h:
* bindings/objc/DOMImplementationFront.cpp:
(WebCore::implementationFront): Added new overload that returns a front given
a JavaScript wrapper. Needed by the code that makes the Objective-C wrapper.
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
Updated since createDOMWrapper is now in the WebCore namespace.
* bindings/scripts/CodeGeneratorObjC.pm: Update the naming scheme for the
wrapper creation functions to use _wrapElement: rather then _elementWith:
style. Removed now-unneeded special cases for things that needed to stay
upper-case, since we don't have to do the whole lcfirst thing.
* html/HTMLCanvasElement.idl: Added #if so we can successfully generate the
Objective-C wrapper for this class, even though we can't yet handle the
DOMObject return type.
* html/HTMLOptionsCollection.idl: Added GenerateNativeConverter so we get
an appropriate toJS function.
* bindings/objc/DOMEvents.mm:
(+[DOMEvent _wrapEvent:]):
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
(-[DOMHTMLDocument createDocumentFragmentWithText:]):
* bindings/objc/DOMObject.mm:
(-[DOMObject sheet]):
* bindings/objc/DOMRGBColor.mm:
(-[DOMRGBColor red]):
(-[DOMRGBColor green]):
(-[DOMRGBColor blue]):
(-[DOMRGBColor alpha]):
(+[DOMRGBColor _wrapRGBColor:]):
* bindings/objc/DOMSVGPathSegInternal.mm:
(+[DOMSVGPathSeg _wrapSVGPathSeg:]):
* bindings/objc/DOMXPath.mm:
(+[DOMNativeXPathNSResolver _wrapXPathNSResolver:]):
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge nodesFromList:]):
(-[WebCoreFrameBridge elementWithName:inForm:]):
(-[WebCoreFrameBridge formForElement:]):
(-[WebCoreFrameBridge currentForm]):
(-[WebCoreFrameBridge controlsInForm:]):
(-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
(-[WebCoreFrameBridge convertNSRangeToDOMRange:]):
(-[WebCoreFrameBridge markDOMRange]):
(-[WebCoreFrameBridge markedTextDOMRange]):
(-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
(-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]):
(-[WebCoreFrameBridge documentFragmentWithText:inContext:]):
(-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]):
(-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
(-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
(-[WebCoreFrameBridge increaseSelectionListLevel]):
(-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
(-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
(-[WebCoreFrameBridge dragCaretDOMRange]):
(-[WebCoreFrameBridge editableDOMRangeForPoint:]):
(-[WebCoreFrameBridge characterRangeAtPoint:]):
(-[WebCoreFrameBridge typingStyle]):
(-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
* platform/mac/ClipboardMac.mm:
(WebCore::ClipboardMac::declareAndWriteDragImage):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::writeSelection):
Updated for new naming scheme.
WebKit:
Reviewed by Tim Hatcher.
- update for the new naming scheme for the Objective-C wrapper-creation
functions: _wrapElement: instead of _elementWith:, etc.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):
* WebView/WebFrame.mm: (kit):
Use the _wrapElement-style functions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20130
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 13 Mar 2007 00:34:17 +0000 (00:34 +0000)]
Reviewed by Darin.
<rdar://problem/
4990691> REGRESSION: Selecting text in Adium's Messages field causes horizontal shift
Corrected the recursive point conversion and scrolling done in scrollPointRecursively to use the
document view of each NSClipView.
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::scrollPointRecursively): Call convertPoint:fromView: on the document views,
not the clip views as we encounter them. Then call constrainScrollPoint: on the converted point to
constrain to the document view bounds. And finally call scrollPoint: on the document view, not the clip view.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20129
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 13 Mar 2007 00:07:04 +0000 (00:07 +0000)]
Reviewed by Tim Hatcher.
- add a DumpRenderTree feature where you can get the Objective-C
class name of a JavaScript object
* DumpRenderTree/DumpRenderTree.m:
(+[LayoutTestController isSelectorExcludedFromWebScript:]): Add the
objCClassNameOf: selector.
(+[LayoutTestController webScriptNameForSelector:]): Add the
objCClassNameOf: selector, with the name "objCClassName".
(-[LayoutTestController objCClassNameOf:]): Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20128
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti [Mon, 12 Mar 2007 23:57:56 +0000 (23:57 +0000)]
LayoutTests:
Reviewed by Alexey
Test that this works correctly with composed characters
http://bugs.webkit.org/show_bug.cgi?id=12833
REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly
<rdar://problem/
5028159>
* fast/text/large-text-composed-char-expected.checksum: Added.
* fast/text/large-text-composed-char-expected.png: Added.
* fast/text/large-text-composed-char-expected.txt: Added.
* fast/text/large-text-composed-char.html: Added.
WebCore:
Reviewed by Alexey.
Fix http://bugs.webkit.org/show_bug.cgi?id=12833
REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly
<rdar://problem/
5028159>
Divide large text blocks (>64kB) over multiple text nodes. This limits linebox searches to
a manageable subset.
* dom/Text.cpp:
(WebCore::Text::createWithLengthLimit):
* dom/Text.h:
* html/HTMLParser.cpp:
(WebCore::HTMLParser::parseToken):
* loader/TextDocument.cpp:
(WebCore::TextTokenizer::write):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20127
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 12 Mar 2007 23:48:55 +0000 (23:48 +0000)]
Fix a regression in printing. Printer fonts need to be part of the
font cache key, since printer fonts have different glyph widths.
(Integer antialiasing is used for screen fonts but not for printer fonts.)
Reviewed by aroben
* platform/FontCache.cpp:
(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
(WebCore::FontPlatformDataCacheKey::operator==):
(WebCore::computeHash):
(WebCore::FontCache::getCachedFontPlatformData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20126
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 12 Mar 2007 23:07:51 +0000 (23:07 +0000)]
Reviewed by Maciej.
<rdar://problem/
5057575>
REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT
Always get the web view from the current web frame, since the document loader's frame can have been zeroed out
(for example when detaching the document loader).
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Mon, 12 Mar 2007 21:32:03 +0000 (21:32 +0000)]
add missing symbol to fix the Qt build again.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20124
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Mon, 12 Mar 2007 20:43:14 +0000 (20:43 +0000)]
Reviewed by Oliver.
Adding the ability to enable or disable a SearchPopupMenu.
* platform/SearchPopupMenu.h:
* platform/mac/SearchPopupMenuMac.mm: (WebCore::SearchPopupMenu::enabled):
* rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::showPopup):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20123
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis [Mon, 12 Mar 2007 20:17:49 +0000 (20:17 +0000)]
Reviewed by Nikolas Zimmermann.
http://bugs.webkit.org/show_bug.cgi?id=12500
SVG fails to correctly handle all link style selectors
http://bugs.webkit.org/show_bug.cgi?id=12567
<text> elements ignore <a> children
Allow <a> inside svg text and handle xlink:show.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20122
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Mon, 12 Mar 2007 19:05:31 +0000 (19:05 +0000)]
Reviewed by .
- Actually update tests for new DST rules.
* tests/mozilla/ecma/Date/15.9.3.1-1.js:
* tests/mozilla/ecma/Date/15.9.3.1-2.js:
* tests/mozilla/ecma/Date/15.9.3.1-3.js:
* tests/mozilla/ecma/Date/15.9.3.1-4.js:
* tests/mozilla/ecma/Date/15.9.3.1-5.js:
* tests/mozilla/ecma/Date/15.9.3.2-1.js:
* tests/mozilla/ecma/Date/15.9.3.2-2.js:
* tests/mozilla/ecma/Date/15.9.3.2-3.js:
* tests/mozilla/ecma/Date/15.9.3.2-4.js:
* tests/mozilla/ecma/Date/15.9.3.2-5.js:
* tests/mozilla/ecma/Date/15.9.3.8-1.js:
* tests/mozilla/ecma/Date/15.9.3.8-2.js:
* tests/mozilla/ecma/Date/15.9.3.8-3.js:
* tests/mozilla/ecma/Date/15.9.3.8-4.js:
* tests/mozilla/ecma/Date/15.9.3.8-5.js:
* tests/mozilla/ecma/Date/15.9.5.10-1.js:
* tests/mozilla/ecma/Date/15.9.5.10-10.js:
* tests/mozilla/ecma/Date/15.9.5.10-11.js:
* tests/mozilla/ecma/Date/15.9.5.10-12.js:
* tests/mozilla/ecma/Date/15.9.5.10-13.js:
* tests/mozilla/ecma/Date/15.9.5.10-2.js:
* tests/mozilla/ecma/Date/15.9.5.10-3.js:
* tests/mozilla/ecma/Date/15.9.5.10-4.js:
* tests/mozilla/ecma/Date/15.9.5.10-5.js:
* tests/mozilla/ecma/Date/15.9.5.10-6.js:
* tests/mozilla/ecma/Date/15.9.5.10-7.js:
* tests/mozilla/ecma/Date/15.9.5.10-8.js:
* tests/mozilla/ecma/Date/15.9.5.10-9.js:
* tests/mozilla/ecma/jsref.js:
* tests/mozilla/ecma_2/jsref.js:
* tests/mozilla/ecma_3/Date/shell.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20121
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Mon, 12 Mar 2007 18:49:33 +0000 (18:49 +0000)]
Reviewed by Oliver.
Add a missing parameter to the constructor.
* platform/PlatformKeyboardEvent.h:
* platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20120
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Mon, 12 Mar 2007 17:44:39 +0000 (17:44 +0000)]
Reviewed by .
- Update tests for new DST rules.
* tests/mozilla/ecma/shell.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20118
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Mon, 12 Mar 2007 15:09:37 +0000 (15:09 +0000)]
JavaScriptCore:
Reviewed by Oliver Hunt.
Fixed <rdar://problem/
4681051> Installer crashes in KJS::Collector::
markOtherThreadConservatively(KJS::Collector::Thread*) trying to install
iLife 06 using Rosetta on an Intel Machine
The problem was that our thread-specific data destructor would modify the
list of active JavaScript threads without holding the JSLock, corrupting
the list. Corruption was especially likely if one JavaScript thread exited
while another was starting up.
* JavaScriptCore.exp:
* kjs/JSLock.cpp: Don't conflate locking the JSLock with registering a
thread, since the thread-specific data destructor needs to lock
without registering a thread. Instead, treat thread registration as a
part of the convenience of the JSLock object, and whittle down JSLock::lock()
to just the bits that actually do the locking.
(KJS::JSLock::lock):
(KJS::JSLock::registerThread):
* kjs/JSLock.h: Updated comments to mention the new behavior above, and
other recent changes.
(KJS::JSLock::JSLock):
* kjs/collector.cpp:
(KJS::destroyRegisteredThread): Lock here.
(KJS::Collector::registerThread): To match, assert that we're locked here.
JavaScriptGlue:
Reviewed by Oliver Hunt.
Updated in light of fix for <rdar://problem/
4681051> Installer crashes
in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*)
trying to install iLife 06 using Rosetta on an Intel Machine
* JavaScriptGlue.cpp:
(JSLockInterpreter): Ensure backwards compatibility by calling
registerThread() when explicitly taking the JSLock. (This doesn't happen
automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
territory, that kind of thinking will get you killed.
WebKitTools:
Reviewed by Oliver Hunt.
Beefed up --threaded mode in light of <rdar://problem/
4681051> Installer
crashes in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*)
trying to install iLife 06 using Rosetta on an Intel Machine
--threaded mode now runs a bunch of different JavaScript threads, randomly
killing and respawning them. This was sufficient for reproducing the
bug on my MacBook Pro.
* DumpRenderTree/DumpRenderTree.m:
(javaScriptThreads):
(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):
(dumpRenderTree):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20115
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Mon, 12 Mar 2007 09:18:26 +0000 (09:18 +0000)]
Fix the Qt build. I still get crashes though :/
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20112
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kjk [Mon, 12 Mar 2007 05:49:55 +0000 (05:49 +0000)]
Not reviewed - gdk build fixes.
* platform/gdk/EditorClientGdk.cpp:
(WebCore::EditorClientGdk::respondToChangedSelection): add stub
* platform/gdk/EditorClientGdk.h:
* platform/gdk/FrameGdk.cpp:
* platform/gdk/TemporaryLinkStubs.cpp:
(Editor::markMisspellings): add stub
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20111
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Mon, 12 Mar 2007 05:39:34 +0000 (05:39 +0000)]
Reviewed by Adele.
http://bugs.webkit.org/show_bug.cgi?id=12560
W3C XPath test Text_Nodes.svg fails
WebCore:
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodeTestMatches): Revert the fix, as the behavior doesn't appear
all that desirable as it did at first glance.
LayoutTests:
* dom/svg/level3/xpath/Text_Nodes-expected.txt: This fails again.
* fast/xpath/4XPath/Borrowed/kd_20010423-expected.txt:
* fast/xpath/4XPath/Borrowed/kd_20010423.html:
Brought the test back to its original form (in which Firefox passes).
* fast/xpath/text-nodes-expected.txt: Added.
* fast/xpath/text-nodes.html: Added.
A new test for text nodes, verifying some more arcane cases.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@20110
268f45cc-cd09-0410-ab3c-
d52691b4dbfc