ap [Tue, 9 May 2006 08:03:30 +0000 (08:03 +0000)]
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8769
TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC
Fix the ICU code path, too (currently unused on the Mac).
* platform/TextEncoding.cpp:
(WebCore::TextEncoding::fromUnicode): Normalize the string.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14253
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 9 May 2006 07:47:59 +0000 (07:47 +0000)]
Reviewed by Anders.
Bug 8804: Inspector should support searching by Xpath query
http://bugzilla.opendarwin.org/show_bug.cgi?id=8804
* WebInspector/WebInspector.m:
(-[WebInspector _refreshSearch]):
* WebInspector/webInspector/inspector.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14252
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 9 May 2006 07:23:24 +0000 (07:23 +0000)]
WebCore:
Reviewed by Tim Hatcher.
- refactor things so that WebKit doesn't save a WebResource for every loaded URL,
but rather retrieves the data from the WebCore cache as needed.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8802
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getData:andResponse:forURL:]):
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
* loader/Cache.cpp:
(WebCore::Cache::updateCacheStatus):
(WebCore::Cache::requestImage):
(WebCore::Cache::requestStyleSheet):
(WebCore::Cache::requestScript):
(WebCore::Cache::requestXSLStyleSheet):
(WebCore::Cache::requestXBLDocument):
* loader/Cache.h:
* loader/CachedResource.cpp: Added.
* loader/CachedResource.h: Added.
* loader/CachedResourceClient.h: Added.
* loader/CachedResourceClientWalker.cpp: Added.
* loader/CachedResourceClientWalker.h: Added.
* loader/DocLoader.cpp:
(WebCore::DocLoader::setAutoloadImages):
(WebCore::DocLoader::removeCachedObject):
* loader/DocLoader.h:
(WebCore::DocLoader::cachedObject):
(WebCore::DocLoader::allCachedObjects):
WebKit:
Reviewed by Tim Hatcher.
- refactor things so that WebKit doesn't save a WebResource for every loaded URL,
but rather retrieves the data from the WebCore cache as needed.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8802
* WebCoreSupport/WebFrameBridge.m:
(-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
(-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
* WebCoreSupport/WebSubresourceLoader.m:
(-[WebSubresourceLoader didReceiveResponse:]):
* WebView/WebDataSource.m:
(-[WebDataSourcePrivate dealloc]):
(-[WebDataSource _setupForReplaceByMIMEType:]):
(-[WebDataSource _archivedSubresourceForURL:]):
(-[WebDataSource initWithRequest:]):
(-[WebDataSource subresources]):
(-[WebDataSource subresourceForURL:]):
(-[WebDataSource addSubresource:]):
* WebView/WebDataSourcePrivate.h:
* WebView/WebFrame.m:
* WebView/WebFrameInternal.h:
* WebView/WebHTMLView.m:
* WebView/WebLoader.h:
* WebView/WebLoader.m:
(-[NSURLProtocol loadWithRequest:]):
(-[NSURLProtocol didFinishLoading]):
* WebView/WebUnarchivingState.h:
* WebView/WebUnarchivingState.m:
(-[WebUnarchivingState addResource:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14251
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 9 May 2006 06:52:00 +0000 (06:52 +0000)]
2006-05-09 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
* Scripts/check-dom-results:
Add XPath to the list of results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14250
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lweintraub [Tue, 9 May 2006 01:27:00 +0000 (01:27 +0000)]
Reviewed by justin.
REGRESSION: two editing layout tests show incorrect spell checking in pixel test mode
http://bugzilla.opendarwin.org/show_bug.cgi?id=8350
Forgot to update expected results.
* fast/dom/inner-text-001-expected.txt
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14249
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lweintraub [Tue, 9 May 2006 00:53:53 +0000 (00:53 +0000)]
LayoutTests:
Reviewed by justin.
REGRESSION: two editing layout tests show incorrect spell checking in pixel test mode
http://bugzilla.opendarwin.org/show_bug.cgi?id=8350
* editing/pasteboard/innerText-inline-table-expected.checksum: Added.
* editing/pasteboard/innerText-inline-table-expected.png: Added.
* editing/pasteboard/innerText-inline-table-expected.txt: Added.
* editing/pasteboard/innerText-inline-table.html: Added.
WebCore:
Reviewed by justin.
* editing/TextIterator.cpp:
(WebCore::shouldEmitSpaceBeforeAndAfterNode):
Returns true when the node should have a leading and trailing space. Currently only
used for inline tables. The function shouldEmitNewlinesBeforeAndAfterNode has a
fallback for nodes with no RenderObject, but the inline property doesn't really
have a meaning without one.
(WebCore::TextIterator::handleNonTextNode):
Checks shouldEmitSpaceBeforeAndAfterNode and inserts a space if necessary.
(WebCore::TextIterator::exitNode):
Checks shouldEmitSpaceBeforeAndAfterNode and inserts a space if necessary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14248
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 9 May 2006 00:49:26 +0000 (00:49 +0000)]
* Scripts/do-webcore-rename: Add another rename.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14247
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 9 May 2006 00:36:33 +0000 (00:36 +0000)]
Reviewed by Tim O.
* bindings/npapi.h: do not define #pragma options align=mac68k if we are 64-bit
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14246
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 9 May 2006 00:13:01 +0000 (00:13 +0000)]
Adding a ARGS variable that can be used to pass arguments to xcodebuild. This is handy when you want to temporary overide a build setting, like ARCHS. Use: make r ARGS='ARCHS=ppc64'
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14245
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 8 May 2006 22:20:30 +0000 (22:20 +0000)]
Remove \impl from files who aren't actually in the \impl directory...let's hope this does it
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14244
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 8 May 2006 22:11:57 +0000 (22:11 +0000)]
Add xpath\impl to include path as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14243
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 8 May 2006 22:06:20 +0000 (22:06 +0000)]
Add XPATH_SUPPORT define. This is getting old...
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14242
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 8 May 2006 22:01:37 +0000 (22:01 +0000)]
Add xpath in _both_ places
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14241
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 8 May 2006 21:56:44 +0000 (21:56 +0000)]
Another try, now add xpath to the include path
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14240
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 8 May 2006 21:50:11 +0000 (21:50 +0000)]
2006-05-08 Anders Carlsson <acarlsson@apple.com>
Try fixing the Win32 build
* WebCore.vcproj/WebCore/WebCore.vcproj:
Add XPath files to project.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14239
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 8 May 2006 21:30:14 +0000 (21:30 +0000)]
2006-05-04 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Add DOM3 xpath tests as self-contained SVG files.
* dom/svg: Added.
* dom/svg/level3: Added.
* dom/svg/level3/xpath: Added.
* dom/svg/level3/xpath/Attribute_Nodes-expected.txt: Added.
* dom/svg/level3/xpath/Attribute_Nodes.js: Added.
* dom/svg/level3/xpath/Attribute_Nodes.svg: Added.
* dom/svg/level3/xpath/Attribute_Nodes_xmlns-expected.txt: Added.
* dom/svg/level3/xpath/Attribute_Nodes_xmlns.js: Added.
* dom/svg/level3/xpath/Attribute_Nodes_xmlns.svg: Added.
* dom/svg/level3/xpath/Comment_Nodes-expected.txt: Added.
* dom/svg/level3/xpath/Comment_Nodes.js: Added.
* dom/svg/level3/xpath/Comment_Nodes.svg: Added.
* dom/svg/level3/xpath/Conformance_Expressions-expected.txt: Added.
* dom/svg/level3/xpath/Conformance_Expressions.js: Added.
* dom/svg/level3/xpath/Conformance_Expressions.svg: Added.
* dom/svg/level3/xpath/Conformance_ID-expected.txt: Added.
* dom/svg/level3/xpath/Conformance_ID.js: Added.
* dom/svg/level3/xpath/Conformance_ID.svg: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_3-expected.txt: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_3.js: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_3.svg: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_empty-expected.txt: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_empty.js: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_empty.svg: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_null-expected.txt: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_null.js: Added.
* dom/svg/level3/xpath/Conformance_hasFeature_null.svg: Added.
* dom/svg/level3/xpath/Conformance_isSupported_3-expected.txt: Added.
* dom/svg/level3/xpath/Conformance_isSupported_3.js: Added.
* dom/svg/level3/xpath/Conformance_isSupported_3.svg: Added.
* dom/svg/level3/xpath/Conformance_isSupported_empty-expected.txt: Added.
* dom/svg/level3/xpath/Conformance_isSupported_empty.js: Added.
* dom/svg/level3/xpath/Conformance_isSupported_empty.svg: Added.
* dom/svg/level3/xpath/Conformance_isSupported_null-expected.txt: Added.
* dom/svg/level3/xpath/Conformance_isSupported_null.js: Added.
* dom/svg/level3/xpath/Conformance_isSupported_null.svg: Added.
* dom/svg/level3/xpath/Element_Nodes-expected.txt: Added.
* dom/svg/level3/xpath/Element_Nodes.js: Added.
* dom/svg/level3/xpath/Element_Nodes.svg: Added.
* dom/svg/level3/xpath/Processing_Instruction_Nodes-expected.txt: Added.
* dom/svg/level3/xpath/Processing_Instruction_Nodes.js: Added.
* dom/svg/level3/xpath/Processing_Instruction_Nodes.svg: Added.
* dom/svg/level3/xpath/Text_Nodes-expected.txt: Added.
* dom/svg/level3/xpath/Text_Nodes.js: Added.
* dom/svg/level3/xpath/Text_Nodes.svg: Added.
* dom/svg/level3/xpath/XPathEvaluatorCast01-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluatorCast01.js: Added.
* dom/svg/level3/xpath/XPathEvaluatorCast01.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NS-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NS.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_NS.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_document-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_document.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_document.svg: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement-expected.txt: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement.js: Added.
* dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement.svg: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR.js: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR.svg: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR.js: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR.svg: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_document-expected.txt: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_document.js: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_document.svg: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_documentElement-expected.txt: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_documentElement.js: Added.
* dom/svg/level3/xpath/XPathExpression_evaluate_documentElement.svg: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc-expected.txt: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc.js: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc.svg: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null-expected.txt: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null.js: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null.svg: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix-expected.txt: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix.js: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix.svg: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml-expected.txt: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml.js: Added.
* dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml.svg: Added.
* dom/svg/level3/xpath/XPathResult_TYPE_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_TYPE_ERR.js: Added.
* dom/svg/level3/xpath/XPathResult_TYPE_ERR.svg: Added.
* dom/svg/level3/xpath/XPathResult_booleanValue_false-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_booleanValue_false.js: Added.
* dom/svg/level3/xpath/XPathResult_booleanValue_false.svg: Added.
* dom/svg/level3/xpath/XPathResult_booleanValue_true-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_booleanValue_true.js: Added.
* dom/svg/level3/xpath/XPathResult_booleanValue_true.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR.js: Added.
* dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR.svg: Added.
* dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_iteratorNext_UNORDERED_NODE_ITERATOR_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_numberValue-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_numberValue.js: Added.
* dom/svg/level3/xpath/XPathResult_numberValue.svg: Added.
* dom/svg/level3/xpath/XPathResult_resultType-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_resultType.js: Added.
* dom/svg/level3/xpath/XPathResult_resultType.svg: Added.
* dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null.js: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null.svg: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order.js: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order.svg: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count.js: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count.svg: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null.js: Added.
* dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null.svg: Added.
* dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE.js: Added.
* dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
* dom/svg/level3/xpath/XPathResult_stringValue-expected.txt: Added.
* dom/svg/level3/xpath/XPathResult_stringValue.js: Added.
* dom/svg/level3/xpath/XPathResult_stringValue.svg: Added.
* dom/svg/level3/xpath/svgunit.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14235
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 8 May 2006 21:27:25 +0000 (21:27 +0000)]
2006-05-08 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin, Eric and Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6638
Support Mozilla's XPathEvaluator object.
* DerivedSources.make:
Generate XPath grammar, and JavaScript wrappers.
* WebCore.xcodeproj/project.pbxproj:
Add new files to project
* bindings/js/kjs_binding.cpp:
(KJS::):
(KJS::setDOMException):
Handle setting XPath exceptions.
* bindings/objc/DOM.mm:
Just return nil for now when trying to create a wrapper for
XPath namespace nodes.
* bindings/scripts/CodeGeneratorJS.pm:
Add XPath types. Also add a "CanBeConstructed" extended attribute
for interfaces that can be constructed directly.
* bridge/mac/WebCorePageBridge.mm:
(initializeLoggingChannelsIfNecessary):
Initialize LogXPath channel.
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::hasFeature):
Support "xpath" version "3.0".
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::importNode):
Ignore XPath namespace nodes.
(WebCore::Document::createExpression):
(WebCore::Document::createNSResolver):
(WebCore::Document::evaluate):
New functions which call down to a lazily created XPathEvaluator.
* dom/Document.h:
Add function declarations.
* dom/Document.idl:
Add XPath methods.
* dom/Node.h:
(WebCore::Node::):
Add XPATH_NAMESPACE_NODE type.
* editing/markup.cpp:
(WebCore::startMarkup):
Ignore XPath namespace nodes.
* page/DOMWindow.idl:
Add constructors for XPathEvaluator and XPathResult.
* platform/Logging.cpp:
* platform/Logging.h:
Add XPath log channel
* xpath: Added.
* xpath/XPathEvaluator.cpp: Added.
(WebCore::XPathEvaluator::createExpression):
(WebCore::XPathEvaluator::createNSResolver):
(WebCore::XPathEvaluator::evaluate):
* xpath/XPathEvaluator.h: Added.
(WebCore::):
* xpath/XPathEvaluator.idl: Added.
* xpath/XPathExpression.cpp: Added.
(WebCore::XPathExpression::createExpression):
(WebCore::XPathExpression::~XPathExpression):
(WebCore::XPathExpression::evaluate):
* xpath/XPathExpression.h: Added.
* xpath/XPathExpression.idl: Added.
* xpath/XPathNSResolver.cpp: Added.
(WebCore::XPathNSResolver::XPathNSResolver):
(WebCore::XPathNSResolver::lookupNamespaceURI):
* xpath/XPathNSResolver.h: Added.
* xpath/XPathNSResolver.idl: Added.
* xpath/XPathNamespace.cpp: Added.
(WebCore::XPathNamespace::XPathNamespace):
(WebCore::XPathNamespace::~XPathNamespace):
(WebCore::XPathNamespace::ownerDocument):
(WebCore::XPathNamespace::ownerElement):
(WebCore::XPathNamespace::prefix):
(WebCore::XPathNamespace::nodeName):
(WebCore::XPathNamespace::nodeValue):
(WebCore::XPathNamespace::namespaceURI):
(WebCore::XPathNamespace::nodeType):
* xpath/XPathNamespace.h: Added.
* xpath/XPathResult.cpp: Added.
(WebCore::InvalidatingEventListener::InvalidatingEventListener):
(WebCore::InvalidatingEventListener::handleEvent):
(WebCore::XPathResult::XPathResult):
(WebCore::XPathResult::~XPathResult):
(WebCore::XPathResult::convertTo):
(WebCore::XPathResult::resultType):
(WebCore::XPathResult::numberValue):
(WebCore::XPathResult::stringValue):
(WebCore::XPathResult::booleanValue):
(WebCore::XPathResult::singleNodeValue):
(WebCore::XPathResult::invalidateIteratorState):
(WebCore::XPathResult::invalidIteratorState):
(WebCore::XPathResult::snapshotLength):
(WebCore::XPathResult::iterateNext):
(WebCore::XPathResult::snapshotItem):
* xpath/XPathResult.h: Added.
(WebCore::XPathResult::):
* xpath/XPathResult.idl: Added.
* xpath/impl: Added.
* xpath/impl/XPathExpressionNode.cpp: Added.
(WebCore::XPath::Expression::evaluationContext):
(WebCore::XPath::Expression::Expression):
(WebCore::XPath::Expression::~Expression):
(WebCore::XPath::Expression::evaluate):
(WebCore::XPath::Expression::addSubExpression):
(WebCore::XPath::Expression::optimize):
(WebCore::XPath::Expression::subExprCount):
(WebCore::XPath::Expression::subExpr):
(WebCore::XPath::Expression::isConstant):
* xpath/impl/XPathExpressionNode.h: Added.
(WebCore::XPath::EvaluationContext::EvaluationContext):
* xpath/impl/XPathFunctions.cpp: Added.
(WebCore::XPath::Interval::Interval):
(WebCore::XPath::Interval::contains):
(WebCore::XPath::Interval::asString):
(WebCore::XPath::Function::setArguments):
(WebCore::XPath::Function::setName):
(WebCore::XPath::Function::arg):
(WebCore::XPath::Function::argCount):
(WebCore::XPath::Function::name):
(WebCore::XPath::FunLast::doEvaluate):
(WebCore::XPath::FunLast::isConstant):
(WebCore::XPath::FunPosition::doEvaluate):
(WebCore::XPath::FunPosition::isConstant):
(WebCore::XPath::FunLocalName::isConstant):
(WebCore::XPath::FunLocalName::doEvaluate):
(WebCore::XPath::FunNamespaceURI::isConstant):
(WebCore::XPath::FunNamespaceURI::doEvaluate):
(WebCore::XPath::FunName::isConstant):
(WebCore::XPath::FunName::doEvaluate):
(WebCore::XPath::FunCount::doEvaluate):
(WebCore::XPath::FunCount::isConstant):
(WebCore::XPath::FunString::doEvaluate):
(WebCore::XPath::FunConcat::doEvaluate):
(WebCore::XPath::FunStartsWith::doEvaluate):
(WebCore::XPath::FunContains::doEvaluate):
(WebCore::XPath::FunSubstringBefore::doEvaluate):
(WebCore::XPath::FunSubstringAfter::doEvaluate):
(WebCore::XPath::FunSubstring::doEvaluate):
(WebCore::XPath::FunStringLength::doEvaluate):
(WebCore::XPath::FunNormalizeSpace::doEvaluate):
(WebCore::XPath::FunTranslate::doEvaluate):
(WebCore::XPath::FunBoolean::doEvaluate):
(WebCore::XPath::FunNot::doEvaluate):
(WebCore::XPath::FunTrue::doEvaluate):
(WebCore::XPath::FunTrue::isConstant):
(WebCore::XPath::FunLang::doEvaluate):
(WebCore::XPath::FunLang::isConstant):
(WebCore::XPath::FunFalse::doEvaluate):
(WebCore::XPath::FunFalse::isConstant):
(WebCore::XPath::FunNumber::doEvaluate):
(WebCore::XPath::FunSum::doEvaluate):
(WebCore::XPath::FunFloor::doEvaluate):
(WebCore::XPath::FunCeiling::doEvaluate):
(WebCore::XPath::FunRound::doEvaluate):
(WebCore::XPath::FunctionLibrary::self):
(WebCore::XPath::FunctionLibrary::FunctionLibrary):
(WebCore::XPath::FunctionLibrary::createFunction):
* xpath/impl/XPathFunctions.h: Added.
* xpath/impl/XPathGrammar.y: Added.
* xpath/impl/XPathParser.cpp: Added.
(WebCore::XPath::):
(WebCore::XPath::Parser::charCat):
(WebCore::XPath::Parser::isAxisName):
(WebCore::XPath::Parser::isNodeTypeName):
(WebCore::XPath::Parser::isOperatorContext):
(WebCore::XPath::Parser::skipWS):
(WebCore::XPath::Parser::makeTokenAndAdvance):
(WebCore::XPath::Parser::makeIntTokenAndAdvance):
(WebCore::XPath::Parser::peekAheadHelper):
(WebCore::XPath::Parser::peekCurHelper):
(WebCore::XPath::Parser::lexString):
(WebCore::XPath::Parser::lexNumber):
(WebCore::XPath::Parser::lexNCName):
(WebCore::XPath::Parser::lexQName):
(WebCore::XPath::Parser::nextTokenInternal):
(WebCore::XPath::Parser::nextToken):
(WebCore::XPath::Parser::Parser):
(WebCore::XPath::Parser::reset):
(WebCore::XPath::Parser::lex):
(WebCore::XPath::Parser::parseStatement):
(WebCore::XPath::Parser::registerParseNode):
(WebCore::XPath::Parser::unregisterParseNode):
(WebCore::XPath::Parser::registerPredicateVector):
(WebCore::XPath::Parser::unregisterPredicateVector):
(WebCore::XPath::Parser::registerExpressionVector):
(WebCore::XPath::Parser::unregisterExpressionVector):
(WebCore::XPath::Parser::registerString):
(WebCore::XPath::Parser::unregisterString):
* xpath/impl/XPathParser.h: Added.
(WebCore::XPath::Token::Token):
(WebCore::XPath::Parser::):
(WebCore::XPath::Parser::current):
* xpath/impl/XPathPath.cpp: Added.
(WebCore::XPath::Filter::Filter):
(WebCore::XPath::Filter::~Filter):
(WebCore::XPath::Filter::doEvaluate):
(WebCore::XPath::LocationPath::LocationPath):
(WebCore::XPath::LocationPath::~LocationPath):
(WebCore::XPath::LocationPath::optimize):
(WebCore::XPath::LocationPath::doEvaluate):
(WebCore::XPath::Path::Path):
(WebCore::XPath::Path::~Path):
(WebCore::XPath::Path::doEvaluate):
* xpath/impl/XPathPath.h: Added.
* xpath/impl/XPathPredicate.cpp: Added.
(WebCore::XPath::Number::Number):
(WebCore::XPath::Number::isConstant):
(WebCore::XPath::Number::doEvaluate):
(WebCore::XPath::StringExpression::StringExpression):
(WebCore::XPath::StringExpression::isConstant):
(WebCore::XPath::StringExpression::doEvaluate):
(WebCore::XPath::Negative::doEvaluate):
(WebCore::XPath::NumericOp::NumericOp):
(WebCore::XPath::NumericOp::doEvaluate):
(WebCore::XPath::EqTestOp::EqTestOp):
(WebCore::XPath::EqTestOp::doEvaluate):
(WebCore::XPath::LogicalOp::LogicalOp):
(WebCore::XPath::LogicalOp::shortCircuitOn):
(WebCore::XPath::LogicalOp::isConstant):
(WebCore::XPath::LogicalOp::doEvaluate):
(WebCore::XPath::Union::doEvaluate):
(WebCore::XPath::Predicate::Predicate):
(WebCore::XPath::Predicate::~Predicate):
(WebCore::XPath::Predicate::evaluate):
(WebCore::XPath::Predicate::optimize):
* xpath/impl/XPathPredicate.h: Added.
(WebCore::XPath::NumericOp::):
(WebCore::XPath::EqTestOp::):
(WebCore::XPath::LogicalOp::):
* xpath/impl/XPathStep.cpp: Added.
(WebCore::XPath::Step::axisAsString):
(WebCore::XPath::Step::Step):
(WebCore::XPath::Step::~Step):
(WebCore::XPath::Step::evaluate):
(WebCore::XPath::Step::nodesInAxis):
(WebCore::XPath::Step::nodeTestMatches):
(WebCore::XPath::Step::optimize):
(WebCore::XPath::Step::namespaceFromNodetest):
(WebCore::XPath::Step::primaryNodeType):
* xpath/impl/XPathStep.h: Added.
(WebCore::XPath::Step::):
* xpath/impl/XPathUtil.cpp: Added.
(WebCore::XPath::isRootDomNode):
(WebCore::XPath::stringValue):
(WebCore::XPath::isValidContextNode):
* xpath/impl/XPathUtil.h: Added.
* xpath/impl/XPathValue.cpp: Added.
(WebCore::XPath::Value::Value):
(WebCore::XPath::Value::type):
(WebCore::XPath::Value::isNodeVector):
(WebCore::XPath::Value::isBoolean):
(WebCore::XPath::Value::isNumber):
(WebCore::XPath::Value::isString):
(WebCore::XPath::Value::toNodeVector):
(WebCore::XPath::Value::toBoolean):
(WebCore::XPath::Value::toNumber):
(WebCore::XPath::Value::toString):
* xpath/impl/XPathValue.h: Added.
(WebCore::XPath::Value::):
* xpath/impl/XPathVariableReference.cpp: Added.
(WebCore::XPath::VariableReference::VariableReference):
(WebCore::XPath::VariableReference::isConstant):
(WebCore::XPath::VariableReference::doEvaluate):
* xpath/impl/XPathVariableReference.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14234
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 18:01:26 +0000 (18:01 +0000)]
Remove an outdated comment from RenderBox.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14232
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 17:49:34 +0000 (17:49 +0000)]
Update layout test results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14231
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 17:31:37 +0000 (17:31 +0000)]
Fix typo in variable name.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14230
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jdevalk [Mon, 8 May 2006 12:55:57 +0000 (12:55 +0000)]
changed checkout guide to point to universal binary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14229
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 08:19:53 +0000 (08:19 +0000)]
Backing out caption box-sizing change. I want to do table stuff separately.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14228
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 08:17:07 +0000 (08:17 +0000)]
Comprehensive box-sizing fix. This patch changes all form controls to
have the right box-sizing values (text fields and text areas actually only
use border-box in quirks mode now, and image buttons never use border-box).
Tables are supposed to use border-box box-sizing as well, but that's a scary
enough change that I'm saving it for a separate patch.
Reviewed by mjs
* css/html4.css:
* css/quirks.css:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14227
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Mon, 8 May 2006 07:11:23 +0000 (07:11 +0000)]
Reviewed by Darin.
Updated a test case affected by the previous checkin. ⟩ and ⟨ are
replaced with their canonical equivalents during normalization.
* fast/parser/entities-in-xhtml-expected.checksum:
* fast/parser/entities-in-xhtml-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14226
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 8 May 2006 06:00:51 +0000 (06:00 +0000)]
Tweak change log.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14225
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 05:31:50 +0000 (05:31 +0000)]
Land changes to mozilla table tests for bug 8060.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14224
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 05:24:45 +0000 (05:24 +0000)]
Land changes to mozilla table tests for bug 8060.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14223
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 05:21:27 +0000 (05:21 +0000)]
Land changes to mozilla table tests for bug 8060.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14222
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 8 May 2006 04:59:28 +0000 (04:59 +0000)]
JavaScriptCore:
Reviewed and landed by Maciej.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8765
Random crashes on TOT since the form state change
I haven't figured out how to construct a test for this, but this does seem to fix the
problem; Mitz mentioned that a double-destroy was occurring in these functions.
* kxmlcore/HashMap.h: (KXMLCore::HashMap::remove): Use RefCounter::deref instead of calling
~ValueType, because ~ValueType often results in a double-destroy, since the HashTable also
destroys the element based on the storage type. The RefCounter template correctly does work
only in cases where ValueType and ValueStorageType differe and this class is what's used
elsewhere for the same purpose; I somehow missed this case when optimizing HashMap.
* kxmlcore/HashSet.h: (KXMLCore::HashSet::remove): Ditto.
WebCore:
Suggested by Mitz. Reviewed and landed by Maciej.
* dom/Document.cpp: (WebCore::Document::formElementsState): Fixed mistake where the
vector has an initial size and instead should have an initial capacity. Harmless in
a way, but hurts performance.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14221
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 04:18:34 +0000 (04:18 +0000)]
Land new results for fast/table to account for bug 8060.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14220
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 8 May 2006 04:14:27 +0000 (04:14 +0000)]
Fix for bugzilla bug 8060.
Fixed width table cells weren't having their border widths
included in the effective width of the column (and thus could end up being
too small).
Reviewed by darin
Added fast/tables/fixed-cell-growth.html
* rendering/table_layout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14219
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Sun, 7 May 2006 18:07:41 +0000 (18:07 +0000)]
Fix a typo in te ChangeLog.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14218
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Sun, 7 May 2006 18:01:59 +0000 (18:01 +0000)]
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8769
TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC
Tests:
* fast/forms/form-data-encoding.html
* fast/forms/form-data-encoding-2.html
* platform/mac/TextEncodingMac.cpp:
(WebCore::TextEncoding::fromUnicode): Normalize the string; handle surrogate pairs.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14217
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 6 May 2006 08:40:28 +0000 (08:40 +0000)]
Rename WebCoreFont to FontPlatformData and WebTextRenderer to FontData. Merge them into the
headers (uncleanly with ifdefs at the moment, so I can see what I'm working towards).
Reviewed by mjs
* ChangeLog:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreStringTruncator.mm:
(stringWidth):
(truncateString):
(+[WebCoreStringTruncator widthOfString:font:]):
* kwq/KWQComboBox.mm:
(QComboBox::sizeHint):
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
* kwq/KWQListBox.mm:
(itemTextRenderer):
(groupLabelTextRenderer):
(QListBox::sizeForNumberOfLines):
(-[KWQTableView drawRow:clipRect:]):
* platform/Font.cpp:
(WebCore::m_wordSpacing):
(WebCore::Font::Font):
(WebCore::Font::operator=):
(WebCore::Font::update):
(WebCore::Font::ascent):
(WebCore::Font::descent):
(WebCore::Font::lineSpacing):
(WebCore::Font::xHeight):
(WebCore::Font::isFixedPitch):
* platform/Font.h:
(WebCore::Font::getNSFont):
* platform/FontData.h:
(WebCore::FontData::ascent):
(WebCore::FontData::descent):
(WebCore::FontData::lineSpacing):
(WebCore::FontData::lineGap):
(WebCore::FontData::misspellingLineThickness):
(WebCore::FontData::misspellingLinePatternWidth):
(WebCore::FontData::misspellingLinePatternGapWidth):
* platform/FontDataSet.h: Removed.
* platform/FontFallbackList.h: Added.
* platform/FontPlatformData.h:
* platform/mac/FontData.mm: Added.
(WebCore::WebCoreInitializeFont):
(WebCore::WebCoreInitializeEmptyTextGeometry):
(WebCore::widthForGlyph):
(WebCore::overrideLayoutOperation):
(WebCore::FontData::~FontData):
(WebCore::FontData::xHeight):
(WebCore::FontData::drawRun):
(WebCore::FontData::floatWidthForRun):
(WebCore::FontData::drawLineForCharacters):
(WebCore::FontData::selectionRectForRun):
(WebCore::FontData::drawHighlightForRun):
(WebCore::FontData::drawLineForMisspelling):
(WebCore::FontData::pointToOffset):
(WebCore::FontData::setAlwaysUseATSU):
(WebCore::getSmallCapsRenderer):
(WebCore::findSubstituteFont):
(WebCore::rendererForAlternateFont):
(WebCore::findSubstituteRenderer):
(WebCore::computeWidthForSpace):
(WebCore::setUpFont):
(WebCore::CG_drawHighlight):
(WebCore::CG_selectionRect):
(WebCore::CG_draw):
(WebCore::CG_floatWidthForRun):
(WebCore::updateGlyphMapEntry):
(WebCore::extendGlyphMap):
(WebCore::extendWidthMap):
(WebCore::initializeATSUStyle):
(WebCore::createATSULayoutParameters):
(WebCore::getTextBounds):
(WebCore::ATSU_floatWidthForRun):
(WebCore::ATSU_drawHighlight):
(WebCore::ATSU_selectionRect):
(WebCore::ATSU_draw):
(WebCore::ATSU_pointToOffset):
(WebCore::advanceWidthIteratorOneCharacter):
(WebCore::CG_pointToOffset):
(WebCore::glyphForCharacter):
(WebCore::initializeWidthIterator):
(WebCore::advanceWidthIterator):
* platform/mac/FontMac.mm:
(WebCore::m_font):
(WebCore::FontFallbackList::~FontFallbackList):
(WebCore::FontFallbackList::platformFont):
(WebCore::FontFallbackList::primaryFont):
(WebCore::FontFallbackList::determinePitch):
(WebCore::FontFallbackList::invalidate):
(WebCore::Font::platformFont):
(WebCore::Font::selectionRectForText):
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::drawLineForText):
(WebCore::Font::drawLineForMisspelling):
(WebCore::Font::misspellingLineThickness):
(WebCore::Font::floatWidth):
(WebCore::Font::checkSelectionPoint):
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreDrawTextAtPoint):
(WebCoreTextFloatWidth):
(WebCoreSetAlwaysUseATSU):
* platform/mac/WebTextRenderer.h: Removed.
* platform/mac/WebTextRenderer.mm: Removed.
* platform/mac/WebTextRendererFactory.h:
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory isFontFixedPitch:]):
(-[WebTextRendererFactory init]):
(-[WebTextRendererFactory rendererWithFont:]):
(-[WebTextRendererFactory fontWithFamilies:traits:size:]):
* platform/win/FontWin.cpp:
(WebCore::FontFallbackList::~FontFallbackList):
(WebCore::FontFallbackList::determinePitch):
(WebCore::FontFallbackList::invalidate):
(WebCore::FontFallbackList::primaryFont):
(WebCore::Font::floatWidth):
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::selectionRectForText):
(WebCore::Font::checkSelectionPoint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14216
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 23:48:24 +0000 (23:48 +0000)]
- fix the Windows build
* platform/win/FontWin.cpp: (WebCore::getFontData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14215
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 22:56:35 +0000 (22:56 +0000)]
* platform/SegmentedString.h: (WebCore::SegmentedString::advance): Oops!
Removed an extra ! that was causing everything to fail.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14213
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 22:50:28 +0000 (22:50 +0000)]
Reviewed by Tim Hatcher.
- remove a few of the stranger features of QChar on the road to
eventually replacing it with an integer type (probably ICU's UChar)
* platform/DeprecatedString.h: Remove SpecialCharacter, byteOrderMark, null,
cell, row, isNull, mirrored, mirroredChar, operator char, >, >=, <, and <=
from QChar. Also removed the many unneeded friend declarations. Remove findArg
and arg from DeprecatedString.
* dom/Document.cpp: (WebCore::Document::parseQualifiedName): Cast the type of the
buffer before invoking the U16_NEXT function. Turns out this was converting each
QChar to a char and back to a UChar, which means it caused a bug with characters
that are U+0100 or greater.
* css/csshelper.cpp: (WebCore::parseURL):
* html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue):
* platform/StringImpl.cpp: (WebCore::StringImpl::toCoordsArray):
* xml/xmlhttprequest.cpp: (WebCore::getCharset):
Add some calls to unicode() since we don't have comparison operators any more.
* dom/StyledElement.cpp:
(WebCore::toHex): Rewrote to just take a UChar parameter.
(WebCore::StyledElement::addCSSColor): Call toHex on the character code.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
* editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
* editing/TextIterator.cpp: (WebCore::TextIterator::handleTextBox):
* platform/SegmentedString.h:
(WebCore::SegmentedString::push):
(WebCore::SegmentedString::advance):
(WebCore::SegmentedString::escaped):
* platform/SegmentedString.cpp:
(WebCore::SegmentedString::length):
(WebCore::SegmentedString::append):
(WebCore::SegmentedString::prepend):
(WebCore::SegmentedString::toString):
Changed calls to isNull() to instead just use unicode() and check for 0.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseEntity): Change callers that used cell and row to
just use unicode() instead.
(WebCore::HTMLTokenizer::parseTag): Ditto.
* loader/Decoder.cpp: (Decoder::decode): Changed code that did a type cast to
unsigned char to instead call unicode().
* platform/DeprecatedString.cpp:
(KWQStringData::makeAscii): Call latin1() instead of relying on the conversion operator.
(DeprecatedString::DeprecatedString): Call unicode() instead of relying on the conversion
operator (the character has been tested and is known to be ASCII).
(DeprecatedString::at): Use 0 instead of QChar::null.
(DeprecatedString::compare): Use unicode() so we can do comparison since we don't have
comparison operators any more.
(DeprecatedString::find): Call unicode() instead of relying on the conversion
operator (the character has been tested and is known to be ASCII).
(DeprecatedString::findRev): Ditto.
(DeprecatedString::copyLatin1): Call latin1() instead of relying on the conversion operator.
(DeprecatedString::lower): Call unicode() instead of relying on the conversion
operator (the character has been tested and is known to be ASCII).
(DeprecatedString::insert): Ditto.
(DeprecatedString::replace): Ditto.
(DeprecatedString::fill): Ditto.
(DeprecatedString::append): Ditto.
* html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
Eliminate the one use of DeprecatedString::arg.
- other cleanup
* kwq/KWQCString.cpp: Remove unneeded "using" directive.
* html/HTMLElementFactory.cpp:
(WebCore::htmlConstructor):
(WebCore::headConstructor):
(WebCore::bodyConstructor):
(WebCore::baseConstructor):
(WebCore::linkConstructor):
(WebCore::metaConstructor):
(WebCore::styleConstructor):
(WebCore::titleConstructor):
(WebCore::frameConstructor):
(WebCore::framesetConstructor):
(WebCore::iframeConstructor):
(WebCore::formConstructor):
(WebCore::buttonConstructor):
(WebCore::inputConstructor):
(WebCore::isindexConstructor):
(WebCore::fieldsetConstructor):
(WebCore::labelConstructor):
(WebCore::legendConstructor):
(WebCore::optgroupConstructor):
(WebCore::optionConstructor):
(WebCore::selectConstructor):
(WebCore::textareaConstructor):
(WebCore::dlConstructor):
(WebCore::ulConstructor):
(WebCore::olConstructor):
(WebCore::dirConstructor):
(WebCore::menuConstructor):
(WebCore::liConstructor):
(WebCore::blockquoteConstructor):
(WebCore::divConstructor):
(WebCore::headingConstructor):
(WebCore::hrConstructor):
(WebCore::paragraphConstructor):
(WebCore::preConstructor):
(WebCore::basefontConstructor):
(WebCore::fontConstructor):
(WebCore::modConstructor):
(WebCore::anchorConstructor):
(WebCore::imageConstructor):
(WebCore::mapConstructor):
(WebCore::areaConstructor):
(WebCore::canvasConstructor):
(WebCore::appletConstructor):
(WebCore::embedConstructor):
(WebCore::objectConstructor):
(WebCore::paramConstructor):
(WebCore::scriptConstructor):
(WebCore::tableConstructor):
(WebCore::tableCaptionConstructor):
(WebCore::tableColConstructor):
(WebCore::tableRowConstructor):
(WebCore::tableCellConstructor):
(WebCore::tableSectionConstructor):
(WebCore::brConstructor):
(WebCore::quoteConstructor):
(WebCore::marqueeConstructor):
Mark functions static, remove unused parameters, change from docPtr to doc.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14212
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Fri, 5 May 2006 20:35:57 +0000 (20:35 +0000)]
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8626
Strict mode erroneously triggered by a broken comment
Test: fast/parser/broken-comments-vs-parsing-mode.html
* page/Frame.cpp:
(WebCore::Frame::endIfNotLoading): Call determineParseMode() if needed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 20:30:56 +0000 (20:30 +0000)]
- fix the Windows build (this time for sure)
* platform/win/TemporaryLinkStubs.cpp:
(GraphicsContext::translate): Added.
(GraphicsContext::rotate): Ditto.
(GraphicsContext::scale): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 16:53:51 +0000 (16:53 +0000)]
- fix the Windows build
* bridge/win/FrameWin.h: Add Element* parameter to createPlugin.
* platform/win/TemporaryLinkStubs.cpp: (FrameWin::createPlugin): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 16:37:53 +0000 (16:37 +0000)]
- get the Window build a little closer to building again
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawRect): Call alpha to check if the color is transparent.
Call setColor directly instead of setColorFromPen.
(WebCore::GraphicsContext::drawLine): Ditto.
(WebCore::GraphicsContext::drawEllipse): Ditto.
(WebCore::GraphicsContext::drawArc): Ditto.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
* platform/win/TemporaryLinkStubs.cpp: (JavaAppletWidget::JavaAppletWidget): Updated parameter types.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 15:22:33 +0000 (15:22 +0000)]
Reviewed by Adele.
- fixed data structure used to save/restore form element state to remove the
O(n^2) algorithm and remove anomalies in how it works
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8683
REGRESSION: imdb search button has "Submit" overload after going back
* manual-tests/form-value-restore.html: Added.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge saveDocumentState]): Rewrote to call the new formElementsState
function on the document and also to convert null strings to NSNull instead of empty
NSString objects.
(-[WebCoreFrameBridge restoreDocumentState]): Ditto, with the setStateForNewFormElements
function.
* dom/Document.h: Added FormElementKey, FormElementKeyHash, and FormElementKeyHashTraits
for use in the hash map. Made readyState, inputEncoding, defaultCharset, charset,
characterSet, getElementByAccessKey, haveStylesheetsLoaded, usesDescendantRules,
usesSiblingRules, inCompatMode, inAlmostStrictMode, inStrictMode, preferredStylesheetSet,
selectedStylesheetSet, and getCSSTarget all const member functions. Removed the unused
nextState function. Renamed registerMaintainsState and deregisterMaintainsState to
registerFormElementWithState and HTMLGenericFormElement and changed them to use form
elements rather than arbitrary DOM nodes. Replaced docState with formElementsState and
setRestoreState and restoreState with setStateForNewFormElements, hasStateForNewFormElements,
and takeStateForFormElement. Replaced m_maintainsState with m_formElementsWithState,
m_state with m_stateForNewFormElements. Made m_elementsByAccessKey and m_accessKeyMapValid
mutable. Removed unused m_elementNames, m_elementNameAlloc, m_elementNameCount, m_attrNames,
m_attrNameAlloc, m_attrNameCount, m_namespaceURIs, m_namespaceURIAlloc, m_namespaceURICount.
* dom/Document.cpp:
(WebCore::Document::Document): Remove initialization of long-obsolete m_elementNames and
m_attrNames.
(WebCore::Document::~Document): Remove destruction of same.
(WebCore::Document::readyState): Made const.
(WebCore::Document::inputEncoding): Ditto.
(WebCore::Document::defaultCharset): Ditto.
(WebCore::Document::getElementByAccessKey): Ditto.
(WebCore::Document::preferredStylesheetSet): Ditto.
(WebCore::Document::selectedStylesheetSet): Ditto.
(WebCore::Document::getCSSTarget): Ditto.
(WebCore::Document::formElementsState): Added. Replaces the old docState function.
Builds a vector of strings, with 3 strings for each form element containing the
name, type, and state value.
(WebCore::Document::setStateForNewFormElements): Added. Converts the state vector
into a hash map, considering the scheme with 3 strings for form element used above.
(WebCore::Document::hasStateForNewFormElements): Added.
(WebCore::Document::takeStateForFormElement): Added. Given a name and type, looks
up the values in the hash map and "peels off" the last one.
(WebCore::FormElementKey::FormElementKey): Added.
(WebCore::FormElementKey::~FormElementKey): Added.
(WebCore::FormElementKey::operator=): Added.
(WebCore::FormElementKey::ref): Added.
(WebCore::FormElementKey::deref): Added.
(WebCore::FormElementKeyHash::hash): Added.
(WebCore::FormElementKeyHashTraits::deletedValue): Added.
* dom/Element.h: Removed state function.
* dom/Node.h: Removed maintainsState, state, and restoreState functions.
* dom/Node.cpp: Ditto.
* dom/QualifiedName.cpp: Reformatted.
(WebCore::hashComponents): Removed code to handle buffers that are not multiples
of 4 bytes, since a QualifiedName is guaranteed to be; also asserted that fact.
* html/HTMLParser.cpp:
(WebCore::HTMLParser::insertNode): Remove code to restore state; that's now handled
by closeRenderer.
(WebCore::HTMLParser::popOneBlock): Ditto.
* html/HTMLFormElement.cpp: Added include of HTMLInputElement.h.
* html/HTMLGenericFormElement.h: Changed form to be a const member function.
Changed type function to return a const AtomicString& instead of a String.
Added an override of closeRenderer. Removed state and findMatchingState functions.
Added stateValue and restoreState functions. Made m_form, m_disabled, and m_readOnly
be private instead of protected. Removed m_inited. Changed booleans to not use bit
fields since there are only two of them.
* html/HTMLGenericFormElement.cpp: Removed encodedElementName, state, and
findMatchingState functions.
(WebCore::HTMLGenericFormElement::stateValue): Added. No implementation. This will only be
called for subclasses that call registerFormElementWithState, and those will override and
implement it.
(WebCore::HTMLGenericFormElement::restoreState): Ditto.
(WebCore::HTMLGenericFormElement::closeRenderer): Added. Replaces code that was in the
HTML parser. Calls takeStateForFormElement, passing in the name and type, and if a
state is found, calls restoreState.
* html/HTMLButtonElement.h: Changed type to return a const AtomicString& instead
of a String.
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::type): Return a const AtomicString& instead of a
String.
(WebCore::HTMLButtonElement::defaultEventHandler): Use form() instead of m_form.
(WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Use disabled() instead of
m_disabled.
* html/HTMLInputElement.h: Changed type to return a const AtomicString& instead
of a String. Removed maintainsState, state, and restoreState functions, and added
new stateValue and restoreState functions. Added m_inited (moved here from the generic
form element base class).
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::init): Call registerFormElementWithState. This was
formerly done by the HTML parser.
(WebCore::HTMLInputElement::~HTMLInputElement): Call deregisterFormElementWithState
by its new name.
(WebCore::HTMLInputElement::isKeyboardFocusable): Use form() instead of m_form.
(WebCore::HTMLInputElement::setType): Ditto.
(WebCore::HTMLInputElement::setInputType): Ditto. Also call inputType() != PASSWORD
instead of maintainsState(), since this is the only function that needs to know
the rule and it's no longer a function in the base class. Also call register and
deregister functions by their new names.
(WebCore::HTMLInputElement::type): Changed to return const AtomicString& instead
of String.
(WebCore::HTMLInputElement::stateValue): Renamed from state and changed to no
longer include the name and type, formerly obtained by calling the base class's
HTMLGenericFormElement::state, and to no longer modify the value() string by
adding a ".", which gets in the way of distinguishing null and empty values
and is slower and unnecessary.
(WebCore::HTMLInputElement::restoreState): Changed because it takes a single
state and doesn't need to call findMatchingState, and also to no longer remove the last
character from the value when restoring state.
(WebCore::HTMLInputElement::parseMappedAttribute): Use form() instead of m_form.
(WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use disabled() instead of
m_disabled.
(WebCore::HTMLInputElement::setChecked): Use form() instead of m_form.
(WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
(WebCore::HTMLInputElement::defaultEventHandler): Ditto.
* html/HTMLSelectElement.h: Changed type to return a const AtomicString& instead
of a String.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement): Call registerFormElementWithState.
This was formerly done by the HTML parser.
(WebCore::HTMLSelectElement::~HTMLSelectElement): Call deregisterFormElementWithState
by its new name.
(WebCore::HTMLSelectElement::type): Changed to return const AtomicString& instead
of String.
(WebCore::HTMLSelectElement::stateValue): Renamed from state and changed to no
longer include the name and type, formerly obtained by calling the base class's
HTMLGenericFormElement::state, and to build the string in a Vector<char> instead of
appending characters one at a time to a string.
(WebCore::HTMLSelectElement::restoreState): Changed because it takes a single
state and doesn't need to call findMatchingState.
(WebCore::HTMLSelectElement::defaultEventHandler): Use form() instead of m_form.
* html/HTMLTextAreaElement.h: Changed type to return a const AtomicString& instead
of a String. Removed maintainsState, state, and restoreState functions, and added
new stateValue and restoreState functions.
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Call registerFormElementWithState.
This was formerly done by the HTML parser. Also use member initialization instead of
assignment.
(WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Call deregisterFormElementWithState
by its new name.
(WebCore::HTMLTextAreaElement::type): Changed to return const AtomicString& instead
of String.
(WebCore::HTMLTextAreaElement::stateValue): Renamed from state and changed to no
longer include the name and type, formerly obtained by calling the base class's
HTMLGenericFormElement::state, and to no longer modify the value() string by
adding a ".", which is unnecessary.
(WebCore::HTMLTextAreaElement::restoreState): Changed because it takes a single
state and doesn't need to call findMatchingState, and also to no longer remove the last
character from the value when restoring state.
(WebCore::HTMLTextAreaElement::updateValue): Changed to const.
(WebCore::HTMLTextAreaElement::value): Ditto.
(WebCore::HTMLTextAreaElement::defaultValue): Ditto.
* html/HTMLFieldSetElement.h: Changed type to return a const AtomicString& instead
of a String.
* html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::type): Ditto.
* html/HTMLKeygenElement.h: Ditto.
* html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::type): Ditto.
* html/HTMLLegendElement.h: Ditto.
* html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::type):
* html/HTMLOptGroupElement.h: Ditto.
* html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::type): Ditto.
* html/HTMLOptionElement.h: Ditto.
* html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::type): Ditto.
* ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::closeRenderer):
Added missing call to base class.
* rendering/render_form.h: Removed element() functions that cast to the
appropriate derived element class. They do make some bits of code slightly
more readable, but they also require including too many headers. Removed
the includes of HTMLInputElement.h, HTMLSelectElement.h, HTMLTextAreaElement.h,
and KWQLineEdit.h, and added an include of GraphicsTypes.h.
* rendering/render_form.cpp:
(WebCore::RenderFormElement::updateFromElement): Changed use of element()
to instead use node() and cast.
(WebCore::RenderFormElement::clicked): Ditto.
(WebCore::RenderLineEdit::selectionChanged): Ditto.
(WebCore::RenderLineEdit::returnPressed): Ditto.
(WebCore::RenderLineEdit::performSearch): Ditto.
(WebCore::RenderLineEdit::addSearchResult): Ditto.
(WebCore::RenderLineEdit::calcMinMaxWidth): Ditto.
(WebCore::RenderLineEdit::setStyle): Ditto.
(WebCore::RenderLineEdit::updateFromElement): Ditto.
(WebCore::RenderLineEdit::valueChanged): Ditto.
(WebCore::RenderFileButton::calcMinMaxWidth): Ditto.
(WebCore::RenderFileButton::updateFromElement): Ditto.
(WebCore::RenderFileButton::returnPressed): Ditto.
(WebCore::RenderFileButton::valueChanged): Ditto.
(WebCore::RenderSelect::updateFromElement): Ditto.
(WebCore::RenderSelect::layout): Ditto.
(WebCore::RenderSelect::valueChanged): Ditto.
(WebCore::RenderSelect::selectionChanged): Ditto.
(WebCore::RenderSelect::updateSelection): Ditto.
(WebCore::RenderTextArea::destroy): Ditto.
(WebCore::RenderTextArea::calcMinMaxWidth): Ditto.
(WebCore::RenderTextArea::setStyle): Ditto.
(WebCore::RenderTextArea::updateFromElement): Ditto.
(WebCore::RenderTextArea::valueChanged): Ditto.
(WebCore::RenderTextArea::selectionChanged): Ditto.
(WebCore::RenderSlider::updateFromElement): Ditto.
(WebCore::RenderSlider::valueChanged): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14207
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 15:09:59 +0000 (15:09 +0000)]
JavaScriptCore:
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8722
IE compatibility fix in date parsing
* kjs/date_object.cpp: (KJS::parseDate): Merged change that George Staikos provided
from KDE 3.4.3 branch that allows day values of 0 and values that are > 1000.
LayoutTests:
- test update for http://bugzilla.opendarwin.org/show_bug.cgi?id=8722
IE compatibility fix in date parsing
* fast/js/kde/resources/Date.js: Added test cases that George Staikos provided
that test dates with day values of 0, 55, and 452.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 15:08:08 +0000 (15:08 +0000)]
Added name of test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14205
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 14:59:18 +0000 (14:59 +0000)]
LayoutTests:
Reviewed by Darin.
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8563>
Tests that the name, publicID and systemID are all read correctly
and that the doctype object preserves the case of the
components from the source html:
* fast/doctypes/005-case-preserving.html: Added.
* fast/doctypes/005-case-preserving-expected.txt: Added.
WebCore:
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8563
The doctype object in the DOM is now usable by client code
as opposed to always being exposed as nil. Now also ensures that
the 'name' of the component preserves the case of the original html source.
(i.e HtMl -> HtMl not HTML)
* dom/Document.h:
Changes comment by docType() to say it may return 0 for html
* html/HTMLDocument.cpp:
(WebCore::parseDocTypeDeclaration):
(WebCore::HTMLDocument::determineParseMode):
Preserves the case of the name component
(WebCore::HTMLDocument::doctype):removed
* html/HTMLDocument.h:
(WebCore::HTMLDocument::doctype):removed
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14204
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 14:49:27 +0000 (14:49 +0000)]
Reviewed by Darin.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8651:
[DOMHTMLSelectElement multiple] returns no when the select element is multiple
Correct the logic errors, which are clearly indicated by the changeset given
in the bug report.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLLinkElement disabled]):
(-[DOMHTMLSelectElement disabled]):
(-[DOMHTMLSelectElement multiple]):
(-[DOMHTMLOptGroupElement disabled]):
(-[DOMHTMLOptionElement defaultSelected]):
(-[DOMHTMLOptionElement disabled]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14203
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 04:30:51 +0000 (04:30 +0000)]
Reviewed by Tim Omernick.
- fix storage leak I introduced yesterday
* platform/cg/GraphicsContextCG.cpp:
(WebCore::setCGFillColor): Added.
(WebCore::setCGStrokeColor): Added.
(WebCore::GraphicsContext::drawRect): Use setCGFillColor to avoid allocating
a CGColorRef object.
(WebCore::GraphicsContext::drawLine): Use setCGStrokeColor and setCGFillColor
to avoid allocating a CGColorRef object.
(WebCore::GraphicsContext::drawEllipse): Ditto.
(WebCore::GraphicsContext::drawArc): Ditto.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
(WebCore::GraphicsContext::fillRect): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14202
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 04:29:22 +0000 (04:29 +0000)]
LayoutTests:
Reviewed by Darin.
- test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
REGRESSION: Exception on closing a page containing (just) an mp3
* plugins/pluginDocumentView-deallocated-dataSource-expected.txt: Added.
* plugins/pluginDocumentView-deallocated-dataSource.html: Added.
* plugins/resources: Added.
* plugins/resources/orange.mov: Added.
WebKit:
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
REGRESSION: Exception on closing a page containing (just) an mp3
Test: plugins/pluginDocumentView-deallocated-dataSource.html
* Plugins/WebPluginDocumentView.m:
(-[WebPluginDocumentView dealloc]): Release the dataSource.
(-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14201
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Fri, 5 May 2006 04:19:11 +0000 (04:19 +0000)]
Build fix, warning: 'return' with a value, in function returning void.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14196
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Fri, 5 May 2006 01:43:26 +0000 (01:43 +0000)]
LayoutTests:
Reviewed by harrison
Pasted content would end up inside the block that contained the end of
the selection that was pasted into and not the block that contained
the start of the selection that was pasted into:
* editing/pasteboard/merge-end-5-expected.checksum: Added.
* editing/pasteboard/merge-end-5-expected.png: Added.
* editing/pasteboard/merge-end-5-expected.txt: Added.
* editing/pasteboard/merge-end-5.html: Added.
Inserting a paragraph separator was splitting and cloning the body element
if the html element was editable:
* editing/inserting/editable-html-element-expected.checksum: Added.
* editing/inserting/editable-html-element-expected.png: Added.
* editing/inserting/editable-html-element-expected.txt: Added.
* editing/inserting/editable-html-element.html: Added.
Since we now sometimes merge backward (from content already in the
document to just inserted content) during the end merge, the node that
contains the old caret is removed more often during paste. The editing
delegate notifications in these tests reflect this:
* editing/pasteboard/paste-line-endings-007-expected.txt:
* editing/pasteboard/paste-line-endings-008-expected.txt:
* editing/pasteboard/paste-line-endings-009-expected.txt:
Now demonstrates a bug where the html element is focused, but its contents
aren't selected:
* editing/selection/focus_editable_html-expected.checksum:
* editing/selection/focus_editable_html-expected.png:
* editing/selection/focus_editable_html-expected.txt:
* editing/selection/focus_editable_html.html:
WebCore:
Reviewed by harrison
* dom/Node.cpp:
(WebCore::Node::rootEditableElement):
Restored code to stop at the body tag. Editing shouldn't be allowed to
happen outside the body, so it needs to be the editable root even if the
html element is contentEditable.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldMergeEnd):
Now takes in more information so it can be "the decider".
(WebCore::ReplaceSelectionCommand::doApply):
Merging two paragraphs will destroy the moved one's block styles. Perform
the end merge backward (from content already in the document to just inserted
content) if moving forward would move the paragraph that contained the start of
the selection being pasted into, since we always want to preserve that paragraph's
block style.
Moving backward in this case is also helpful because otherwise it would be
difficult to remember the position where inserted content began (since merging
would remove m_firstNodeInserted). That position is needed in order to select
the replacement and to add smart replace whitespace.
(WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
If [br, 0] is at the end of a block, the br is not necessarily collapsed
in quirks mode. [br, 0] needs to also not be at the start of a block.
* editing/ReplaceSelectionCommand.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14195
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Fri, 5 May 2006 00:58:50 +0000 (00:58 +0000)]
WebCore:
Reviewed by Darin.
<rdar://problem/
4537606> Give Java WebKit plugin access to its own DOM element
* bridge/mac/WebCoreFrameBridge.h:
Added DOMElement parameter to -viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:.
* bridge/JavaAppletWidget.h:
Constructor now takes the applet's element instead of its containing frame.
* bridge/mac/JavaAppletWidget.mm:
(JavaAppletWidget::JavaAppletWidget):
Pass the applet's element to viewForJavaAppletWithFrame:.
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::createWidgetIfNecessary):
Pass the element along to JavaAppletWidget.
WebKit:
Reviewed by Darin.
<rdar://problem/
4537606> Give Java WebKit plugin access to its own DOM element
* WebCoreSupport/WebFrameBridge.m:
(-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
differently).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14194
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Thu, 4 May 2006 23:03:42 +0000 (23:03 +0000)]
WebCore:
Reviewed by John Sullivan.
<rdar://problem/
4480186> Give WebKit plugins access to their own DOM element
* bridge/mac/WebCoreFrameBridge.h:
Added DOMElement: parameter to -viewForPluginWithURL:attributeNames:attributueValues:MIMEType:
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::createPlugin):
Added "element" parameter; wrap element in DOMElement and pass up to the bridge.
* page/Frame.h:
Added "element" parameter to createPlugin().
* page/Frame.cpp:
(WebCore::Frame::loadPlugin):
Get the plugin's DOM element and pass to createPlugin().
WebKit:
Reviewed by John Sullivan.
<rdar://problem/
4480186> Give WebKit plugins access to their own DOM element
This does not fix <rdar://problem/
4480187> Give Netscape plugins access to their own DOM element --
we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
* Plugins/WebPluginPackage.m:
Declared WebPlugInContainingElementKey. This is not a new plugin argument -- it's been in our public
headers since all along, but has never been concretely declared -- plugins that referenced it would not
link.
* WebCoreSupport/WebFrameBridge.m:
(-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
Added DOMElement parameter, which is now included in the plugin arguments dictionary.
(-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
ditto
* WebKit.exp:
Export WebPlugInContainingElementKey.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14185
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 4 May 2006 20:37:09 +0000 (20:37 +0000)]
2006-05-04 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8734
Would like a Vector::append that takes another Vector
* kxmlcore/Vector.h:
(KXMLCore::::append):
New function that takes another array.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Thu, 4 May 2006 18:26:27 +0000 (18:26 +0000)]
2006-05-04 Eric Seidel <eseidel@apple.com>
Reviewed by timo.
Add drag & drop support to <input type="file">
http://bugzilla.opendarwin.org/show_bug.cgi?id=8733
Test: manual/input-type-file-drag-drop.html
* kwq/KWQFileButton.mm:
(-[WebFileChooserButton initWithWidget::]):
(-[WebCoreFileButton initWithWidget:]):
(-[WebCoreFileButton drawRect:]):
(-[WebCoreFileButton updateLabel]):
(-[WebCoreFileButton setFilename:]):
(-[WebCoreFileButton changeFilename:]):
(-[WebCoreFileButton chooseFilename:]):
(validFilenameFromPasteboard):
(-[WebCoreFileButton draggingEntered:]):
(-[WebCoreFileButton draggingExited:]):
(-[WebCoreFileButton performDragOperation:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14182
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Thu, 4 May 2006 18:20:56 +0000 (18:20 +0000)]
--This
Reviewed by Hyatt.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8732
Backgrounds with background-size and background-origin do not
always lay out correctly
* platform/cairo/ImageCairo.cpp:
(WebCore::Image::drawTiled): We no longer need to scale the source
point since it will now come in with the scale already taken into
account.
* platform/mac/ImageMac.mm:
(WebCore::Image::drawTiled): Same as above.
* rendering/RenderBox.cpp:
(WebCore::cacluateBackgroundSize): Now calculate the background
size in a helper method.
(WebCore::RenderBox::paintBackgroundExtended): Calculate the
background size before calculating cx, cy, cw, ch, sx, and sy so
that they can all be calculated with the scaled image size taken
into account.
M LayoutTests/ChangeLog
M LayoutTests/fast/backgrounds/size/backgroundSize18-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize12-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize19-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize10-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize18-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize19-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize10-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize12-expected.checksum
M WebCore/platform/mac/ImageMac.mm
M WebCore/platform/cairo/ImageCairo.cpp
M WebCore/rendering/RenderBox.cpp
M WebCore/ChangeLog
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 4 May 2006 18:04:24 +0000 (18:04 +0000)]
Fix for 8693, crash when reloading PDF. Make sure to clear the truncator's
cached renderer.
Reviewed by beth
* bridge/mac/WebCoreStringTruncator.h:
* bridge/mac/WebCoreStringTruncator.mm:
(+[WebCoreStringTruncator clear]):
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory clearCaches]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 3 May 2006 21:15:33 +0000 (21:15 +0000)]
Reviewed by Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8696
another round of GraphicsContext improvements
* WebCore.xcodeproj/project.pbxproj: Added GraphicsContextCG.cpp.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::scale): Use new GraphicsContext function.
(WebCore::CanvasRenderingContext2D::rotate): Ditto.
(WebCore::CanvasRenderingContext2D::translate): Ditto.
* kwq/KWQComboBox.mm: Added include (not sure if this is needed for this patch,
but it's needed for one of my upcoming ones).
* platform/GraphicsContext.h: Changed fillColor and setFillColor to use Color
instead of RGBA32. Removed setColorFromFillColor and setColorFromPen. Added
scale, rotate, and translate functions.
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::setFillColor): Changed to use Color instead of RGBA32.
(WebCore::GraphicsContext::fillColor): Ditto.
* platform/GraphicsTypes.h: Moved HorizontalAlignment here.
* platform/Widget.h: Removed HorizontalAlignment from here.
* platform/cg/GraphicsContextCG.cpp: Added. Started as a copy of GraphicsContextMac.mm.
(WebCore::GraphicsContext::drawRect): Rewrote to not rely on [NSGraphicsContext currentContext].
(WebCore::GraphicsContext::drawLine): Ditto.
(WebCore::GraphicsContext::drawEllipse): Ditto.
(WebCore::GraphicsContext::drawArc): Ditto.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
(WebCore::GraphicsContext::fillRect): Ditto.
(WebCore::GraphicsContext::setLineWidth): Added check of paintingDisabled().
(WebCore::GraphicsContext::setMiterLimit): Ditto.
(WebCore::GraphicsContext::setAlpha): Ditto.
(WebCore::GraphicsContext::clearRect): Ditto.
(WebCore::GraphicsContext::strokeRect): Ditto.
(WebCore::GraphicsContext::setLineCap): Ditto.
(WebCore::GraphicsContext::setLineJoin): Ditto.
(WebCore::GraphicsContext::clip): Ditto.
(WebCore::GraphicsContext::scale): Added.
(WebCore::GraphicsContext::rotate): Added.
(WebCore::GraphicsContext::translate): Added.
* platform/mac/GraphicsContextMac.mm: Moved most of this file into GraphicsContextCG.cpp.
(WebCore::GraphicsContext::setCompositeOperation): Added check of paintingDisabled().
* platform/mac/WebCoreSystemInterface.h: Added declarations so this header
stands alone.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 3 May 2006 19:32:21 +0000 (19:32 +0000)]
LayoutTests:
Reviewed by Justin.
- tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=8159
REGRESSION: Clicking outside new text field focuses the field
* fast/forms/input-text-click-inside-expected.png: Added.
* fast/forms/input-text-click-inside-expected.txt: Added.
* fast/forms/input-text-click-inside-expected.checksum: Added.
* fast/forms/input-text-click-inside.html: Added.
* fast/forms/input-text-click-outside-expected.png: Added.
* fast/forms/input-text-click-outside-expected.txt: Added.
* fast/forms/input-text-click-outside-expected.checksum: Added.
* fast/forms/input-text-click-outside.html: Added.
Test clicks both inside and outside an input element.
* editing/selection/contenteditable-click-inside-expected.png: Added.
* editing/selection/contenteditable-click-inside-expected.txt: Added.
* editing/selection/contenteditable-click-inside-expected.checksum: Added.
* editing/selection/contenteditable-click-inside.html: Added.
* editing/selection/contenteditable-click-outside-expected.png: Added.
* editing/selection/contenteditable-click-outside-expected.txt: Added.
* editing/selection/contenteditable-click-outside-expected.checksum: Added.
* editing/selection/contenteditable-click-outside.html: Added.
Added a test for the same situation, but with a div element set
to have editable content.
* editing/inserting/insert-
3851164-fix-expected.txt:
* editing/inserting/insert-
3851164-fix.html:
* editing/inserting/insert-
3907422-fix-expected.txt:
* editing/inserting/insert-
3907422-fix.html:
* editing/pasteboard/paste-text-011-expected.txt:
* editing/pasteboard/paste-text-011.html:
Update some tests that were relying on a bug that would cause a
Select All in a document that contained a single content-editable
element select the contents of that element.
* fast/lists/drag-into-marker-expected.checksum:
* fast/lists/drag-into-marker-expected.png:
* fast/lists/drag-into-marker-expected.txt:
* fast/lists/drag-into-marker.html:
Changed test so that it no longer tests what happens when you drag to a marker
that is outside the content-editable element. We may still want to make that
case behave as before, but that's a separate issue.
* editing/pasteboard/drop-text-without-selection-expected.txt:
* editing/pasteboard/merge-start-blockquote-expected.txt:
* editing/pasteboard/merge-start-list-expected.txt:
* editing/selection/select-all-iframe-expected.txt:
* fast/events/div-focus-expected.txt:
* fast/events/drag-outside-window-expected.txt:
* fast/forms/focus-control-to-page-expected.txt:
* fast/forms/input-changing-value-expected.txt:
* fast/forms/input-maxlength-2-expected.txt:
* fast/forms/input-paste-undo-expected.txt:
* fast/forms/input-text-paste-maxlength-expected.txt:
* fast/forms/input-truncate-newline-expected.txt:
* fast/forms/plaintext-mode-2-expected.txt:
* fast/text/textIteratorNilRenderer-expected.txt:
Update tests where the DOM range endpoints passed to the delegate are slightly
different, but equivalent and still OK.
* editing/pasteboard/paste-
4039777-fix-expected.txt:
Updated tests where the resulting tree is slightly different, but still OK.
* editing/unsupported-content/list-delete-002-expected.checksum:
* editing/unsupported-content/list-delete-002-expected.png:
* editing/unsupported-content/list-delete-002-expected.txt:
Update test where the new code eliminates an unwanted extra space that we
got with the old code.
* editing/deleting/delete-
4038408-fix-expected.txt:
* editing/deleting/delete-
4038408-fix.html:
* editing/input/text-input-controller-expected.txt:
* editing/input/text-input-controller.html:
* fast/forms/attributed-strings-expected.txt:
* fast/forms/attributed-strings.html:
Update tests that were relying on the behavior of Select All putting the
selection inside a content-editable element if that element was the first
in the body; the patch breaks that behavior.
* fast/events/updateLayoutForHitTest-expected.checksum:
* fast/events/updateLayoutForHitTest-expected.png:
Update a test that no longer shows a visible selection.
* editing/selection/
3690703-2-expected.checksum:
* editing/selection/
3690703-2-expected.png:
* editing/selection/
3690703-2-expected.txt:
* editing/selection/
3690703-expected.checksum:
* editing/selection/
3690703-expected.png:
* editing/selection/
3690703-expected.txt:
Updated results for these tests, which have examples of form elements
inside a content-editable area. The old results were wrong; the new results
are not much better, but are OK.
- update some other misc. pixel-test results
* fast/inspector/style-expected.checksum:
* fast/inspector/style-expected.png:
Updated since the name changed to include "-webkit-".
* fast/overflow/childFocusRingClip-expected.checksum:
* fast/overflow/childFocusRingClip-expected.png:
Updated results that now seem to show correct clipping of the focus ring.
* fast/frames/empty-cols-attribute-expected.checksum:
* fast/frames/empty-cols-attribute-expected.png: Added.
Checksum was wrong, png was missing.
* fast/parser/001-expected.checksum:
* fast/parser/001-expected.png:
Checksum and png were incorrect -- changed a while back.
* plugins/embed-attributes-style-expected.checksum: Added.
* plugins/embed-attributes-style-expected.png: Added.
Added pixel-test results for tests that don't have them.
WebCore:
Reviewed by Justin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8159
REGRESSION: Clicking outside new text field focuses the field
This bug has always been present for "content editable" HTML, but
now affects <input type=text> as well. The problem is with the editing
concept of a "deep equivalent". When computing the deep equivalent,
the code can move from outside an editable area to inside. To fix this,
I removed all use of the "deep equivalent" concept.
* rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
Changed argument names from _x and _y to just x and y. When the element
is the editable root, changed things so that clicks that are not within
the element at all return positions before or after the element, rather than
always choosing the closest point within the element. This gets us off on
the right foot, by not choosing a position inside an editable root when you
click outside that editable root. This code handles shadowParentNode as well,
and also calls positionForCoordinates on children rather than calling
positionForRenderer (which I believe is now a function that can be removed).
* editing/VisiblePosition.h: Removed the deepEquivalent function.
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::previousVisiblePosition): Removed use of the
deepEquivalent function. Also, to make this function easier to understand
I separated out the case where the start point is "in rendered content"
and the case where it's not into two separate loops.
(WebCore::VisiblePosition::nextVisiblePosition): Ditto.
(WebCore::VisiblePosition::initDeepPosition): Removed use of the deepEquivalent
function. Also added code to make sure that this work never turns a position
outside an editable element into a position inside that editable element, or
vice versa. Reorganized the code a bit.
* dom/Position.cpp:
(WebCore::Position::upstream): Removed use of the deepEquivalent function.
(WebCore::Position::downstream): Ditto.
* editing/htmlediting.cpp:
(WebCore::editingIgnoresContent): Changed to use isReplaced instead of isWidget
and isImage to determine if editing should ignore content.
(WebCore::firstInSpecialElement): Rewrote isFirstVisiblePositionInSpecialElement
to have code to share with positionBeforeContainingSpecialElement. And changed
to allow both the position just before a table and the position just inside a
table to qualify. While this is slightly sloppy, the old code worked because
of the "deep equivalent" technique. This change is needed to get the desired
results even without that technique.
(WebCore::lastInSpecialElement): Ditto.
(WebCore::isFirstVisiblePositionInSpecialElement): Changed to use the new function.
(WebCore::positionBeforeContainingSpecialElement): Ditto.
(WebCore::isLastVisiblePositionInSpecialElement): Ditto.
(WebCore::positionAfterContainingSpecialElement): Ditto.
* dom/Node.cpp: (WebCore::Node::rootEditableElement): Rewrote to remove
special case for body tag.
- other changes
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setOuterHTML): Added a FIXME about the fact
that this won't merge neighboring text nodes the way setOuterText does.
(WebCore::HTMLElement::setInnerText): Added a FIXME about the fact that
this creates a text node even when setting to empty text.
(WebCore::HTMLElement::setOuterText): Ditto.
* editing/DeleteSelectionCommand.cpp: Removed some #if 1 and #if 0.
* editing/ReplaceSelectionCommand.cpp: A little reformatting.
* rendering/render_button.h: Tiny formatting tweak.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14172
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Wed, 3 May 2006 03:21:57 +0000 (03:21 +0000)]
Reviewed by Beth.
Fix for <rdar://problem/
4523671>
REGRESSION (NativeTextField): Auto-complete popup list doesn't appear at the correct location after scrolling page.
* bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _rectOnScreen]):
Use the documentView to compute the correct rect for the element when the view is scrolled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14170
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 3 May 2006 03:17:55 +0000 (03:17 +0000)]
LayoutTests:
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8704>
Fix a few end merge bugs
<rdar://problem/
4424044>
REGRESSION: Extra line appears when typing
Added a function so that selection changes can participate in slow-motion-mode:
* editing/editing.js:
Extra newlines were added:
* editing/inserting/paragraph-separator-01-expected.checksum: Added.
* editing/inserting/paragraph-separator-01-expected.png: Added.
* editing/inserting/paragraph-separator-01-expected.txt: Added.
* editing/inserting/paragraph-separator-01.html: Added.
* editing/inserting/paragraph-separator-02-expected.checksum: Added.
* editing/inserting/paragraph-separator-02-expected.png: Added.
* editing/inserting/paragraph-separator-02-expected.txt: Added.
* editing/inserting/paragraph-separator-02.html: Added.
A preserved newline was turned into a nbsp:
* editing/inserting/paragraph-separator-03-expected.checksum: Added.
* editing/inserting/paragraph-separator-03-expected.png: Added.
* editing/inserting/paragraph-separator-03-expected.txt: Added.
* editing/inserting/paragraph-separator-03.html: Added.
End merge didn't happen:
* editing/pasteboard/merge-end-4-expected.checksum: Added.
* editing/pasteboard/merge-end-4-expected.png: Added.
* editing/pasteboard/merge-end-4-expected.txt: Added.
* editing/pasteboard/merge-end-4.html: Added.
Content was pulled out of these special elements:
* editing/pasteboard/merge-end-blockquote-expected.checksum: Added.
* editing/pasteboard/merge-end-blockquote-expected.png: Added.
* editing/pasteboard/merge-end-blockquote-expected.txt: Added.
* editing/pasteboard/merge-end-blockquote.html: Added.
* editing/pasteboard/merge-end-list-expected.checksum: Added.
* editing/pasteboard/merge-end-list-expected.png: Added.
* editing/pasteboard/merge-end-list-expected.txt: Added.
* editing/pasteboard/merge-end-list.html: Added.
* editing/pasteboard/merge-end-table-expected.checksum: Added.
* editing/pasteboard/merge-end-table-expected.png: Added.
* editing/pasteboard/merge-end-table-expected.txt: Added.
* editing/pasteboard/merge-end-table.html: Added.
WebCore:
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8704>
Fix a few end merge bugs
<rdar://problem/
4424044>
REGRESSION: Extra line appears when typing
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
Use renamed characterAfter.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
Regenerate a VisiblePosition that became stale during a text node split.
Don't rebalance whitespace after the operation, 1) it has a bug that turns preserved
newlines into nbsps, 2) I think it should only be done during serialization, not after
every command (since editable regions now always have -webkit-nbsp-mode:space on them).
Use a regular br for the placeholder as I think we can move away from -webkit-block-placeholders.
* editing/RebalanceWhitespaceCommand.cpp: Added FIXMEs.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldMergeStart): Removed FIXME.
(WebCore::ReplaceSelectionCommand::shouldMergeEnd): Can now use rendering information.
(WebCore::ReplaceSelectionCommand::doApply):
Call shouldMergeEnd after the insertion so that it can use rendering information.
Don't use positionAfterNode of the last node inserted to mark the position at the end
of inserted content because canonicalization can send it into content that was already
in the document.
* editing/ReplaceSelectionCommand.h:
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::characterAfter):
Renamed. When two candidates are visually equivalent, the rightmost candidate will be
the one inside the text node where the character will be.
* editing/VisiblePosition.h:
* editing/htmlediting.cpp:
(WebCore::enclosingTableCell): Added.
(WebCore::enclosingList):
* editing/htmlediting.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14169
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 3 May 2006 00:21:42 +0000 (00:21 +0000)]
Reviewed by Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8677
REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
I don't know how reproduce this without one of Rosyna's hacks installed, so I
did not include a test.
* Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
InitWebCoreSystemInterface.
* WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
so we will only do this one time.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 3 May 2006 00:02:38 +0000 (00:02 +0000)]
Partial fix for the crash in bugzilla bug 8088. There's a third crash
even after fixing this though.
Reviewed by darin
* platform/mac/WebTextRenderer.mm:
(WebCore::WidthMap::widths):
(WebCore::extendWidthMap):
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory clearCaches]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14167
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Tue, 2 May 2006 23:56:46 +0000 (23:56 +0000)]
Reviewed by Tim O.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6988
REGRESSION: Display correct context menus for new text fields
* WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
Don't let the UI delegate have control over the context menu for text fields.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14166
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Tue, 2 May 2006 22:54:04 +0000 (22:54 +0000)]
2006-05-02 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
WARNING: NO TEST CASES ADDED OR CHANGED
* WebCore.vcproj/WebCore/WebCore.vcproj: defined NDEBUG in release build
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin): turned on javascript.
* kwq/KWQKHTMLSettings.h:
(KHTMLSettings::KHTMLSettings): initialized settings to 0
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14163
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Tue, 2 May 2006 22:48:58 +0000 (22:48 +0000)]
2006-05-02 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: set NDEBUG for release build
* kxmlcore/FastMalloc.cpp: Prevent USE_SYSTEM_MALLOC from being defined twice
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14162
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 2 May 2006 20:45:29 +0000 (20:45 +0000)]
Add layout test for scrollLeft/Top setting bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14160
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 2 May 2006 20:44:29 +0000 (20:44 +0000)]
Make sure to updateLayout on all scrolling functions (in particular when
setting scrollLeft/Top).
Reviewed by eric
fast/overflow/008,html added as a test case.
* dom/Element.cpp:
(WebCore::Element::scrollIntoView):
(WebCore::Element::scrollIntoViewIfNeeded):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14159
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 2 May 2006 16:23:54 +0000 (16:23 +0000)]
* ChangeLog: Added.
* <most files: Cleared the stray "executable" bit that was on most files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14157
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 2 May 2006 09:30:41 +0000 (09:30 +0000)]
2006-05-02 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
* kxmlcore/HashMap.h:
(KXMLCore::::operator):
Return *this
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14156
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 2 May 2006 07:25:09 +0000 (07:25 +0000)]
WebCore:
2006-05-02 Anders Carlsson <andersca@mac.com>
Reviewed by Dave Hyatt.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8688
file URLs aren't being serialized correctly when using window.location
* platform/KURL.cpp:
(KURL::prettyURL):
Append "//" for file URLs.
LayoutTests:
2006-05-02 Anders Carlsson <andersca@mac.com>
Reviewed by Dave Hyatt.
Test case for http://bugzilla.opendarwin.org/show_bug.cgi?id=8688
file URLs aren't being serialized correctly when using window.location
* fast/js/window-location-href-file-urls-expected.txt: Added.
* fast/js/window-location-href-file-urls.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14155
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Tue, 2 May 2006 00:48:15 +0000 (00:48 +0000)]
Reviewed by Tim Hatcher.
<rdar://problem/
4476875> Support printing for embedded Netscape plugins
* bindings/npapi.h:
Fixed struct alignment problem in our npapi.h. Structs must be 68k-aligned on both pre-Mac OS X
and Mac OS X systems, as this is what plugins expect.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14153
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 1 May 2006 23:02:18 +0000 (23:02 +0000)]
Convert WebTextRenderer to be a C++ class. Change the factory so
that it uses pointer-based hashmaps instead of NSMutableDictionaries.
Convert uses of malloc/free to new/delete so that they start using
the fastMalloc/fastFree code.
Reviewed by darin
* bridge/mac/WebCoreStringTruncator.mm:
(stringWidth):
(truncateString):
* kwq/KWQComboBox.mm:
(QComboBox::sizeHint):
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
* kwq/KWQListBox.mm:
(itemTextRenderer):
(groupLabelTextRenderer):
(QListBox::sizeForNumberOfLines):
(QListBox::clearCachedTextRenderers):
(-[KWQTableView drawRow:clipRect:]):
* platform/FontDataSet.h:
* platform/mac/FontMac.mm:
(WebCore::FontDataSet::~FontDataSet):
(WebCore::FontDataSet::getRenderer):
(WebCore::FontDataSet::invalidate):
(WebCore::Font::ascent):
(WebCore::Font::descent):
(WebCore::Font::lineSpacing):
(WebCore::Font::xHeight):
(WebCore::Font::selectionRectForText):
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::drawLineForText):
(WebCore::Font::drawLineForMisspelling):
(WebCore::Font::misspellingLineThickness):
(WebCore::Font::floatWidth):
(WebCore::Font::checkSelectionPoint):
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreDrawTextAtPoint):
(WebCoreTextFloatWidth):
(WebCoreSetAlwaysUseATSU):
* platform/mac/WebTextRenderer.h:
(WebCore::WebTextRenderer::ascent):
(WebCore::WebTextRenderer::descent):
(WebCore::WebTextRenderer::lineSpacing):
(WebCore::WebTextRenderer::lineGap):
(WebCore::WebTextRenderer::misspellingLineThickness):
(WebCore::WebTextRenderer::misspellingLinePatternWidth):
(WebCore::WebTextRenderer::misspellingLinePatternGapWidth):
* platform/mac/WebTextRenderer.mm:
(WebCore::WebCoreInitializeFont):
(WebCore::WebCoreInitializeTextRun):
(WebCore::WebCoreInitializeEmptyTextStyle):
(WebCore::WebCoreInitializeEmptyTextGeometry):
(WebCore::widthForGlyph):
(WebCore::overrideLayoutOperation):
(WebCore::m_ATSUMirrors):
(WebCore::WebTextRenderer::~WebTextRenderer):
(WebCore::WebTextRenderer::xHeight):
(WebCore::WebTextRenderer::drawRun):
(WebCore::WebTextRenderer::floatWidthForRun):
(WebCore::WebTextRenderer::drawLineForCharacters):
(WebCore::WebTextRenderer::selectionRectForRun):
(WebCore::WebTextRenderer::drawHighlightForRun):
(WebCore::WebTextRenderer::drawLineForMisspelling):
(WebCore::WebTextRenderer::pointToOffset):
(WebCore::WebTextRenderer::setAlwaysUseATSU):
(WebCore::getSmallCapsRenderer):
(WebCore::findSubstituteFont):
(WebCore::rendererForAlternateFont):
(WebCore::computeWidthForSpace):
(WebCore::setUpFont):
(WebCore::CG_selectionRect):
(WebCore::CG_draw):
(WebCore::updateGlyphMapEntry):
(WebCore::extendGlyphMap):
(WebCore::extendWidthMap):
(WebCore::initializeATSUStyle):
(WebCore::createATSULayoutParameters):
(WebCore::disposeATSULayoutParameters):
(WebCore::addDirectionalOverride):
(WebCore::ATSU_selectionRect):
(WebCore::ATSU_draw):
(WebCore::ATSU_pointToOffset):
(WebCore::freeWidthMap):
(WebCore::freeGlyphMap):
(WebCore::glyphForCharacter):
(WebCore::advanceWidthIterator):
* platform/mac/WebTextRendererFactory.h:
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory clearCaches]):
(-[WebTextRendererFactory init]):
(-[WebTextRendererFactory dealloc]):
(-[WebTextRendererFactory rendererWithFont:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14149
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Mon, 1 May 2006 22:28:30 +0000 (22:28 +0000)]
2006-05-01 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
Fix missing line ending.
* WebFramePrivate.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14146
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Mon, 1 May 2006 22:21:55 +0000 (22:21 +0000)]
2006-05-01 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
Spinneret now links against the new separate lib.
Removed WebFrame, WebView.
* Spinneret/Spinneret.sln:
* Spinneret/Spinneret/Spinneret.cpp:
(SpinneretWebHost::updateLocationBar):
(_tWinMain):
* Spinneret/Spinneret/Spinneret.h:
* Spinneret/Spinneret/Spinneret.vcproj:
* Spinneret/Spinneret/WebFrame.cpp: Removed.
* Spinneret/Spinneret/WebFrame.h: Removed.
* Spinneret/Spinneret/WebView.cpp: Removed.
* Spinneret/Spinneret/WebView.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14145
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Mon, 1 May 2006 22:10:06 +0000 (22:10 +0000)]
2006-05-01 Steve Falkenburg <sfalken@microsoft.com>
Reviewed by eric.
Moved WebKit-like code from Spinnaret into WebKitWin.
* .: Added.
* WebFrame.cpp: Added.
(WebKit::WebFrame::createWebFrame): Factory to create web frames.
* WebFramePrivate.cpp: Added.
(WebKit::WebFramePrivate::WebFrameData::WebFrameData):
(WebKit::WebFramePrivate::WebFrameData::~WebFrameData):
(WebKit::WebFramePrivate::WebFramePrivate):
(WebKit::WebFramePrivate::~WebFramePrivate):
(WebKit::WebFramePrivate::loadFilePath):
(WebKit::WebFramePrivate::loadHTMLString):
(WebKit::WebFramePrivate::openURL):
(WebKit::WebFramePrivate::submitForm):
(WebKit::WebFramePrivate::loadURL):
(WebKit::WebFramePrivate::getURL):
(WebKit::WebFramePrivate::reload):
(WebKit::WebFramePrivate::receivedData):
(WebKit::WebFramePrivate::receivedAllData):
(WebKit::WebFramePrivate::paint):
(WebKit::WebFramePrivate::impl):
(WebKit::WebFramePrivate::toPrivate):
* WebFramePrivate.h: Added.
* WebKitWin.vcproj: Added.
* WebKitWin.vcproj/WebKitWin: Added.
* WebKitWin.vcproj/WebKitWin.sln: Added.
* WebKitWin.vcproj/WebKitWin/WebKitWin.vcproj: Added.
* WebKitWin.vcproj/WebKitWin/stdafx.cpp: Added.
* WebKitWin.vcproj/WebKitWin/stdafx.h: Added.
* WebView.cpp: Added.
(WebKit::WebView::createWebView):
(WebKit::WebView::WebView):
(WebKit::WebView::mouseMoved):
(WebKit::WebView::mouseDown):
(WebKit::WebView::mouseUp):
(WebKit::WebView::mouseDoubleClick):
(WebKit::WebView::keyPress):
(WebKit::WebViewWndProc):
* public: Added.
* public/WebFrame.h: Added.
* public/WebHost.h: Added.
* public/WebView.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14144
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Mon, 1 May 2006 21:43:03 +0000 (21:43 +0000)]
LayoutTests:
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8653>
Remove a use of hasMoreThanOneBlock
Deleting didn't merge because of code that stopped the merge whenever
the end of the selection to delete was in a fully selected line.
* editing/deleting/merge-endOfParagraph-expected.checksum: Added.
* editing/deleting/merge-endOfParagraph-expected.png: Added.
* editing/deleting/merge-endOfParagraph-expected.txt: Added.
* editing/deleting/merge-endOfParagraph.html: Added.
Two testcases where paste did not request a merge from deletion, but should have.
* editing/pasteboard/merge-after-delete-1-expected.checksum: Added.
* editing/pasteboard/merge-after-delete-1-expected.png: Added.
* editing/pasteboard/merge-after-delete-1-expected.txt: Added.
* editing/pasteboard/merge-after-delete-1.html: Added.
* editing/pasteboard/merge-after-delete-2-expected.checksum: Added.
* editing/pasteboard/merge-after-delete-2-expected.png: Added.
* editing/pasteboard/merge-after-delete-2-expected.txt: Added.
* editing/pasteboard/merge-after-delete-2.html: Added.
Code that prevents nesting incoming blocks in the block being pasted into
could reverse the order of pasted paragraphs.
* editing/pasteboard/prevent-block-nesting-01-expected.checksum: Added.
* editing/pasteboard/prevent-block-nesting-01-expected.png: Added.
* editing/pasteboard/prevent-block-nesting-01-expected.txt: Added.
* editing/pasteboard/prevent-block-nesting-01.html: Added.
WebCore:
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8653>
Remove a use of hasMoreThanOneBlock, which uses info from the test rendering.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializePositionData):
Removed code that stopped the merge if the end of the selection to delete
was in a fully selected line, which was nonsense.
(WebCore::DeleteSelectionCommand::mergeParagraphs):
Deletion does a bad job of updating the endpoints of the selection as it removes
content. If the endpoints have been flip flipped, bail.
If deletion has removed everything from the block that contained the
start of the selection to delete, we can't create a visible position inside
that block to serve as a destination for the merge. So, we insert a placeholder
at that position to prop the block open to let content in.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
Added an assert and two early returns for cases where we'll crash.
Removed a use of !fragment.hasMoreThanOneBlock, which uses test rendering info
and which was wrong.
If we've already inserted content during the start merge, insertionPos will be
the position just after that content, so inserting new content before insertionPos
will reverse its order.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14143
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Mon, 1 May 2006 21:24:04 +0000 (21:24 +0000)]
WebCore:
Reviewed by Darin.
- manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
(bridge is null) when clicking QuickTime object with href
* manual-tests/plugin-controller-datasource.html: Added.
* manual-tests/resources/orange.mov: Added.
WebKit:
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
(bridge is null) when clicking QuickTime object with href
* WebView/WebHTMLView.m:
(-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Mon, 1 May 2006 20:58:54 +0000 (20:58 +0000)]
Reviewed by Maciej.
<rdar://problem/
4308243> 8F36 Regression: crash in malloc_consolidate if you use a .PAC file
The original fix missed the oversized cell case. Added a test for "currentThreadIsMainThread ||
imp->m_destructorIsThreadSafe" where we collect oversized cells.
We don't have a way to test PAC files yet, so there's no test attached.
* kjs/collector.cpp:
(KJS::Collector::collect): test the thread when we collect oversized cells
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14141
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Mon, 1 May 2006 20:49:48 +0000 (20:49 +0000)]
Reviewed by Adele.
<rdar://problem/
4526114> REGRESSION (two days ago): LOG() just prints @ for NSObject substitutions
* kxmlcore/Assertions.cpp:
Changed sense of strstr("%@") check. I already made the same fix to the WebBrowser assertions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14140
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 1 May 2006 18:10:19 +0000 (18:10 +0000)]
- fix build
* WebKit.exp: Add symbol that the new Safari will need.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14129
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 1 May 2006 15:17:41 +0000 (15:17 +0000)]
Reviewed by Tim Omernick.
- fixed <rdar://problem/
3126419> history load enforces history limit, but deletes the newest instead of oldest items
- added notification reporting items discarded during load because the age limit or item count limit is exceeded
- a few other minor tweaks
* History/WebHistory.h:
fixed a typo and an incorrect method name
* History/WebHistoryPrivate.h:
Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:),
and added comments about which methods should become public API, WebKit-internal, or file-internal.
* History/WebHistory.m:
(-[WebHistoryPrivate arrayRepresentation]):
This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
either the age limit or the item count limit. Now all the items are included (and thus saved), and
all the pruning is done at load time, so clients can keep track of the pruned items by observing
the new WebHistoryItemsDiscardedWhileLoadingNotification
(-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
Now keeps track of all the items that violated the age limit or item count limit in the new
collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
reverse order to fix
3126419. Now uses compare: rather than _webkit_compareDay: to check against
age limit; this is faster and also more correct (most noticeable with small age limits).
(-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
(-[WebHistory loadFromURL:error:]):
Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
to age limit or item count limit.
* WebKit.exp:
exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14127
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Mon, 1 May 2006 08:34:40 +0000 (08:34 +0000)]
2006-04-30 Rob Buis <buis@kde.org>
Reviewed by eseidel. Landed by eseidel.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8651:
CGContextSetLineDash: invalid dash array: emmited during WebKit tests
Properly discard invalid stroke-dasharray properties like in
invalid-css.svg. (Tests updated.)
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGStrokeDasharray):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14126
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Sat, 29 Apr 2006 20:19:41 +0000 (20:19 +0000)]
Reviewed by Maciej.
Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
http://bugzilla.opendarwin.org/show_bug.cgi?id=8577
Added back _web_superviewOfClass:stoppingAtClass:.
This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
We should remove this method once Open Source users have a new version
to use with TOT WebKit.
* Misc/WebNSViewExtras.m:
(-[NSView _web_superviewOfClass:stoppingAtClass:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 06:15:27 +0000 (06:15 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by kdecker
Actually apply the change that was reviewed insted of checking it in with an #if 0 (oops).
* kjs/testkjs.cpp:
(main): Suppress C runtime alerts
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14124
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 05:45:11 +0000 (05:45 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by kdecker
Modify error reporting registry keys to disable Dr. Watson.
This allows Javascript test cases to complete without blocking UI.
* Scripts/install-win-extras:
- Use Perl Win32 registry functions to disable blocking UI
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14123
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 05:28:29 +0000 (05:28 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by kdecker
Suppress error reporting dialog that blocks Javascript tests from completing.
Real error is due to an overflow in the date/time handling functions that needs
to be addressed, but this will prevent the hang running the Javascript tests
on the build bot (along with the related changes).
* kjs/testkjs.cpp:
(main): Suppress C runtime alerts
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14122
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 01:03:54 +0000 (01:03 +0000)]
Make image buffer sizes in the loader more accurate, since we know we store
buffers with 4 bytes per pixel. Double sizes to account for this. Also
deal better with animated GIFs that may have thousands of frames by adding
in a heuristic that will use the data size instead of a single frame RGBA32
buffer size if it's larger.
Reviewed by darin
WARNING: NO TEST CASES ADDED OR CHANGED
* loader/Cache.cpp:
* loader/CachedImage.cpp:
(WebCore::CachedImage::data):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14121
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 00:59:54 +0000 (00:59 +0000)]
Double the cache size to account for our revised (more accurate)
measurement of the image buffers.
Reviewed by darin
* WebView/WebPreferences.m:
(+[WebPreferences initialize]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14120
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 00:50:02 +0000 (00:50 +0000)]
Fix build bustage for public builds.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14119
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 00:33:54 +0000 (00:33 +0000)]
fix build bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14118
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 00:17:31 +0000 (00:17 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
Turned off C++ exceptions, fixed memory leaks
* DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj:
* Spinneret/Spinneret.sln:
* Spinneret/Spinneret/Spinneret.cpp:
(_tWinMain):
* Spinneret/Spinneret/Spinneret.vcproj:
* Spinneret/Spinneret/WebFrame.cpp:
(WebKit::WebFrame::WebFramePrivate::~WebFramePrivate):
(WebKit::WebFrame::WebFrame):
(WebKit::WebFrame::~WebFrame):
(WebKit::WebFrame::impl):
* Spinneret/Spinneret/WebFrame.h:
* Spinneret/Spinneret/WebView.cpp:
* Spinneret/Spinneret/stdafx.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14117
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 00:12:18 +0000 (00:12 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
No test necessary - fixing Win32 build, turned off C++ exceptions, turned off RTTI
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::~FrameWin):
* bridge/win/PageWin.cpp:
(WebCore::Page::Page):
* page/Page.h:
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::saveDocumentState):
(Path::contains):
(Path::boundingRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14116
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 00:06:02 +0000 (00:06 +0000)]
Merge WebCoreTextRenderer into WebTextRenderer. Merge WebCoreTextRendererFactory
into WebTextRendererFactory. Change all callers to refer to the concrete classes
now. Change WebCoreTextRenderer.h to be the public API that WebKit uses when
it calls in to WebCore. Clean up the exports to remove things WebKit no longer
needs.
Reviewed by darin
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreStringTruncator.mm:
(stringWidth):
(truncateString):
(+[WebCoreStringTruncator widthOfString:font:]):
* kwq/KWQComboBox.mm:
(QComboBox::sizeHint):
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
* kwq/KWQListBox.mm:
(itemTextRenderer):
(groupLabelTextRenderer):
(QListBox::sizeForNumberOfLines):
(-[KWQTableView drawRow:clipRect:]):
* platform/Font.h:
* platform/FontDataSet.h:
* platform/mac/FontMac.mm:
(WebCore::FontDataSet::getWebCoreFont):
(WebCore::FontDataSet::getRenderer):
(WebCore::FontDataSet::determinePitch):
* platform/mac/WebCoreTextRenderer.h:
* platform/mac/WebCoreTextRendererFactory.mm:
(-[WebCoreTextRendererFactory init]):
* platform/mac/WebTextRenderer.h:
* platform/mac/WebTextRenderer.mm:
* platform/mac/WebTextRendererFactory.h:
* platform/mac/WebTextRendererFactory.mm:
(WebCoreInitializeFont):
(WebCoreInitializeTextRun):
(WebCoreInitializeEmptyTextStyle):
(WebCoreInitializeEmptyTextGeometry):
(-[WebTextRendererFactory clearCaches]):
(+[WebTextRendererFactory createSharedFactory]):
(+[WebTextRendererFactory sharedFactory]):
(-[WebTextRendererFactory init]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14115
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 28 Apr 2006 22:25:03 +0000 (22:25 +0000)]
Fix for 8586, move WebTextRenderer into WebCore.
Reviewed by darin
* Misc/WebKitNSStringExtras.m:
(-[NSString _web_drawAtPoint:font:textColor:]):
(-[NSString _web_widthWithFont:]):
* Misc/WebStringTruncator.m:
(+[WebStringTruncator centerTruncateString:toWidth:]):
(+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
(+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
(+[WebStringTruncator widthOfString:font:]):
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
* WebCoreSupport/WebTextRenderer.h: Removed.
* WebCoreSupport/WebTextRenderer.m: Removed.
* WebCoreSupport/WebTextRendererFactory.h: Removed.
* WebCoreSupport/WebTextRendererFactory.m: Removed.
* WebKit.xcodeproj/project.pbxproj:
* WebView/WebFrameView.m:
(-[WebFrameView initWithFrame:]):
* WebView/WebHTMLView.m:
(-[NSArray _addToStyle:fontA:fontB:]):
* WebView/WebTextView.m:
(-[WebTextView setFixedWidthFont]):
* WebView/WebView.m:
(+[WebView _setAlwaysUseATSU:]):
(+[WebView _setShouldUseFontSmoothing:]):
(+[WebView _shouldUseFontSmoothing]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14113
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 28 Apr 2006 22:24:09 +0000 (22:24 +0000)]
Fix for 8586, move WebTextRenderer into WebCore.
Reviewed by darin
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreStringTruncator.mm:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/mac/WebCoreTextRenderer.h:
* platform/mac/WebCoreTextRendererFactory.mm:
(+[WebCoreTextRendererFactory sharedFactory]):
* platform/mac/WebTextRenderer.h: Added.
* platform/mac/WebTextRenderer.mm: Added.
(widthForGlyph):
(-[WebTextRenderer initWithFont:]):
(destroy):
(-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
(-[WebTextRenderer drawLineForMisspelling:withWidth:]):
(findSubstituteFont):
(setUpFont):
(pathFromFont):
(drawGlyphs):
(CG_draw):
(extendGlyphMap):
(extendWidthMap):
(initializeATSUStyle):
(createATSULayoutParameters):
(getTextBounds):
(addDirectionalOverride):
(ATSU_draw):
(normalizeVoicingMarks):
(advanceWidthIterator):
(fillStyleWithAttributes):
* platform/mac/WebTextRendererFactory.h: Added.
* platform/mac/WebTextRendererFactory.mm: Added.
(getAppDefaultValue):
(getUserDefaultValue):
(getLCDScaleParameters):
(fontsChanged):
(+[WebTextRendererFactory createSharedFactory]):
(-[WebTextRendererFactory isFontFixedPitch:]):
(-[WebTextRendererFactory fontWithFamily:traits:size:]):
(FontCacheKeyCopy):
(-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14112
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 22:03:18 +0000 (22:03 +0000)]
2006-04-28 Eric Seidel <eseidel@apple.com>
Fix by beth. Reviewed by darin. Landed by eseidel.
Make hackish fix to avoid crash in Xcode and Filemaker.
<rdar://problem/
4059059> Crash in RenderFlow::detach (XCode Documentation Window)
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14110
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Fri, 28 Apr 2006 20:05:26 +0000 (20:05 +0000)]
Reviewed by hyatt.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=5855
REGRESSION: revert SGML comment parsing fix (comment parsing causes most of usbank.com page to be missing)
WebCore:
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseComment): Revert one change made for acid2,
<http://weblogs.mozillazine.org/hyatt/acid6.txt>.
LayoutTests:
* fast/css/acid2.html: Updated to the current version of the test, which no longer includes
SGML comment parsing.
* fast/css/acid2-pixel.html: Ditto.
* http/tests/misc/acid2-pixel.html: Ditto.
* http/tests/misc/acid2.html: Ditto.
* fast/parser/comments-expected.checksum: The results of this test now match WinIE.
* fast/parser/comments-expected.png:
* fast/parser/comments-expected.txt:
* fast/parser/comments.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14106
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 19:51:57 +0000 (19:51 +0000)]
2006-04-28 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Misc. style cleanup.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8643
* Misc/WebIconDatabase.m:
(-[NSMutableDictionary iconForURL:withSize:cache:]):
(-[NSMutableDictionary iconURLForURL:]):
(-[NSMutableDictionary retainIconForURL:]):
(-[NSMutableDictionary releaseIconForURL:]):
(-[WebIconDatabase _setIcon:forIconURL:]):
(-[WebIconDatabase _iconsForIconURLString:]):
(-[WebIconDatabase _forgetIconForIconURLString:]):
(-[WebIconDatabase _releaseIconForIconURLString:]):
(-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
* Plugins/WebBasePluginPackage.m:
(+[WebBasePluginPackage pluginWithPath:]):
(-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
(-[WebBasePluginPackage pListForPath:createFile:]):
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage load]):
(-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
(-[WebBasePluginPackage isNativeLibraryData:]):
(-[NSArray _web_lowercaseStrings]):
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage openResourceFile]):
(-[WebNetscapePluginPackage closeResourceFile:]):
(-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
(-[WebNetscapePluginPackage initWithPath:]):
(-[WebNetscapePluginPackage executableType]):
(-[WebNetscapePluginPackage unloadWithoutShutdown]):
(-[WebNetscapePluginPackage load]):
(-[WebNetscapePluginPackage unload]):
* Plugins/WebNetscapePluginRepresentation.m:
(-[WebNetscapePluginRepresentation redeliverStream]):
* Plugins/WebPluginDatabase.m:
(+[WebPluginDatabase installedPlugins]):
(-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
(-[WebPluginDatabase pluginForExtension:]):
(pluginLocations):
(-[WebPluginDatabase init]):
(-[WebPluginDatabase refresh]):
* Plugins/npapi.m:
(NPN_MemAlloc):
(NPN_MemFree):
(pluginViewForInstance):
* WebCoreSupport/WebSubresourceLoader.m:
(+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
(-[WebSubresourceLoader willSendRequest:redirectResponse:]):
* WebView/WebDataSource.m:
(-[WebDataSource isLoading]):
* WebView/WebFrame.m:
(-[WebFrame _loadDataSource:withLoadType:formState:]):
(-[WebFrame _subframeIsLoading]):
* WebView/WebView.m:
(-[WebView initWithFrame:]):
(-[WebView initWithFrame:frameName:groupName:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14105
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 28 Apr 2006 17:05:49 +0000 (17:05 +0000)]
Reviewed by Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8608
make GraphicsContext more suitable for cross-platform use, step 2
- Changed GraphicsContext to use NSGraphicsContext as little as possible.
- Removed the printing flag from GraphicsContext.
- Changed GraphicsContext to assume the NSGraphicsContext is always flipped,
and got rid of parameters to pass the flipped boolean around.
* WebCore.vcproj/WebCore/WebCore.vcproj: Add GraphicsTypes.h/cpp and remove
CompositeOperator.h/cpp.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes):
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
* html/CanvasPattern.cpp: (WebCore::patternCallback):
* html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createDrawingContext):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceContextQuartz::createGraphicsContext):
* platform/mac/WidgetMac.mm: (WebCore::Widget::lockDrawingFocus):
Update for changes to GraphicsContext constructor (no flipped or printing boolean).
* html/CanvasRenderingContext2D.h: Added a Path to the context state. Changed the
LineCap and LineJoin types to use the new ones in GraphicsTypes.h instead of defining
types here in this class. Changed m_platformContextStrokeStyleIsPattern and
m_platformContextFillStyleIsPattern to be named m_appliedStrokePattern and
m_appliedFillPattern and moved them outside the __APPLE__ ifdefs. Removed the
platformContext() function. Moved applyStrokePattern and applyFillPattern out of
the __APPLE__ ifdef.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State): Moved the stroke pattern
booleans out of Mac-specific ifdef.
(WebCore::CanvasRenderingContext2D::save): Changed to use GraphicsContext instead
of using CGContext directly.
(WebCore::CanvasRenderingContext2D::restore): Ditto.
(WebCore::CanvasRenderingContext2D::setStrokeStyle): Ditto.
(WebCore::CanvasRenderingContext2D::setFillStyle): Ditto.
(WebCore::CanvasRenderingContext2D::setLineWidth): Ditto.
(WebCore::CanvasRenderingContext2D::lineCap): Ditto.
(WebCore::CanvasRenderingContext2D::setLineCap): Ditto.
(WebCore::CanvasRenderingContext2D::lineJoin): Ditto.
(WebCore::CanvasRenderingContext2D::setLineJoin): Ditto.
(WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto.
(WebCore::CanvasRenderingContext2D::shadowColor): Ditto.
(WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto.
(WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto.
(WebCore::CanvasRenderingContext2D::scale): Update since platformContext() function
no longer exists.
(WebCore::CanvasRenderingContext2D::rotate): Ditto.
(WebCore::CanvasRenderingContext2D::translate): Ditto.
(WebCore::CanvasRenderingContext2D::beginPath): Changed to use GraphicsContext instead
of using CGContext directly.
(WebCore::CanvasRenderingContext2D::closePath): Ditto.
(WebCore::CanvasRenderingContext2D::moveTo): Ditto.
(WebCore::CanvasRenderingContext2D::lineTo): Ditto.
(WebCore::CanvasRenderingContext2D::quadraticCurveTo): Ditto.
(WebCore::CanvasRenderingContext2D::bezierCurveTo): Ditto.
(WebCore::CanvasRenderingContext2D::arcTo): Ditto.
(WebCore::CanvasRenderingContext2D::arc): Ditto.
(WebCore::CanvasRenderingContext2D::rect): Ditto.
(WebCore::CanvasRenderingContext2D::fill): Changed to use the current path from this class
instead of relying on the CGContext's current path.
(WebCore::CanvasRenderingContext2D::stroke): Ditto.
(WebCore::CanvasRenderingContext2D::clip): Changed to use the current path and use the
GraphicsContext instead of using CGContext directly.
(WebCore::CanvasRenderingContext2D::clearRect): Changed to use GraphicsContext instead
of using CGContext directly.
(WebCore::CanvasRenderingContext2D::fillRect): Update since platformContext() function
no longer exists.
(WebCore::CanvasRenderingContext2D::strokeRect): Ditto.
(WebCore::CanvasRenderingContext2D::setShadow): Ditto.
(WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
(WebCore::CanvasRenderingContext2D::drawImage): Ditto.
(WebCore::CanvasRenderingContext2D::drawImageFromRect): Ditto.
(WebCore::CanvasRenderingContext2D::createPattern): Ditto.
(WebCore::CanvasRenderingContext2D::applyStrokePattern): Made a tiny bit of this function
cross-platform. The bulk is still Mac-specific.
(WebCore::CanvasRenderingContext2D::applyFillPattern): Ditto.
* html/CanvasStyle.h: Changed to use GraphicsContext instead of CGContext. Now the
platform-specific stuff is in the implementation, not the header.
* html/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyStrokeColor): Moved the ifdefs inside the function, getting
us one step closer to platform independence.
(WebCore::CanvasStyle::applyFillColor): Ditto.
* html/html_imageimpl.cpp:
(WebCore::HTMLAreaElement::getRect): Update for changes to the Path class.
(WebCore::HTMLAreaElement::getRegion): Ditto.
* page/Frame.cpp:
(WebCore::Frame::paint): Change to check printing flag on the document, rather than on
the GraphicsContext, since there is no printing flag for GraphicsContext any more.
(WebCore::Frame::adjustPageHeight): Update for change to GraphicsContext constructor.
* platform/GraphicsContext.h: Define a type called PlatformGraphicsContext so the
platform-specific getter and constructor don't have to be ifdef'd. Added clearRect,
strokeRect, setLineWidth, setLineCap, setLineJoin, setMiterLimit, setAlpha, setCompositeOperation,
and clip functions. Removed the isForPrinting parameter from createGraphicsContextPrivate.
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed isForPrinting.
(WebCore::GraphicsContext::createGraphicsContextPrivate): Ditto.
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
Removed NSGraphicsContext.
(WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
Ditto.
(WebCore::GraphicsContext::GraphicsContext): Removed constructor that
takes an NSGraphicsContext. Removed the flipText and forPrinting parameters
to the other constructor.
(WebCore::GraphicsContext::savePlatformState): Removed NSGraphicsContext code.
(WebCore::GraphicsContext::restorePlatformState): Ditto.
(WebCore::GraphicsContext::drawRect): Updated assertion to more-precisely
reflect the limitation of the current version of this function.
(WebCore::GraphicsContext::setColorFromFillColor): Ditto.
(WebCore::GraphicsContext::setColorFromPen): Ditto.
(WebCore::GraphicsContext::drawLine): Updated assertion to more-precisely
reflect the limitation of the current version of this function.
(WebCore::setCompositeOperation):
(WebCore::GraphicsContext::fillRect): Ditto.
(WebCore::GraphicsContext::setLineWidth): Added.
(WebCore::GraphicsContext::setMiterLimit): Added.
(WebCore::GraphicsContext::setAlpha): Added.
(WebCore::GraphicsContext::setCompositeOperation): Added.
(WebCore::GraphicsContext::clearRect): Added.
(WebCore::GraphicsContext::strokeRect): Added.
(WebCore::GraphicsContext::setLineCap): Added.
(WebCore::GraphicsContext::setLineJoin): Added.
(WebCore::GraphicsContext::clip): Added.
* platform/CompositeOperator.cpp: Removed.
* platform/CompositeOperator.h: Removed.
* platform/GraphicsTypes.cpp: Added. Includes CompositeOperator, LineCap, and LineJoin.
* platform/GraphicsTypes.h: Added.
* platform/Image.h: Changed include to GraphicsTypes.h from CompositeOperator.h.
* platform/Path.h: Removed constructors that take a Rect and an array of points. Made
the Path mutable. Changed the types for contains and boundingRect to be float-based
instead of int-based. Changed translate to take a FloatSize instead of two integers.
Added clear, moveTo, addLineTo, addQuadCurveTo, addBezierCurveTo, addArcTo, closeSubpath,
addArc, addRect, addEllipse, and platformPath functions. Defined a PlatformPath type
so we don't have to ifdef the header so much.
* platform/cg/PathCG.cpp:
(WebCore::Path::Path): Changed class to always have a mutable path.
(WebCore::Path::operator=): Changed to make a mutable copy.
(WebCore::Path::contains): Changed to take a FloatPoint instead of IntPoint.
(WebCore::Path::translate): Changed to use a FloatSize instead of two ints.
(WebCore::Path::boundingRect): Changed to return a FloatRect.
(WebCore::Path::moveTo): Added.
(WebCore::Path::addLineTo): Added.
(WebCore::Path::addQuadCurveTo): Added.
(WebCore::Path::addBezierCurveTo): Added.
(WebCore::Path::addArcTo): Added.
(WebCore::Path::closeSubpath): Added.
(WebCore::Path::addArc): Added.
(WebCore::Path::addRect): Added.
(WebCore::Path::addEllipse): Added.
(WebCore::Path::clear): Added.
* platform/mac/ImageMac.mm:
(WebCore::fillSolidColorInRect): Changed to take a GraphicsContext instead of
a CGContext.
(WebCore::Image::checkForSolidColor): Changed to use the new setCompositeOperation
in GraphicsContex.
(WebCore::Image::draw): Changed to use the new PDF image and fillSolidColorInRect
function that take GraphicsContext instead of CGContext.
(WebCore::Image::drawTiled): Ditto.
* platform/mac/PDFDocumentImage.h: Made most functions private. Changed to
use GraphicsContext and FloatRect instead of CGContext and NSRect. Also
removed the unused alpha and flipped booleans.
* platform/mac/PDFDocumentImage.mm:
(WebCore::PDFDocumentImage::bounds): Update for change in types.
(WebCore::PDFDocumentImage::adjustCTM): Ditto.
(WebCore::PDFDocumentImage::setCurrentPage): Ditto.
(WebCore::PDFDocumentImage::draw): Ditto.
* platform/win/TemporaryLinkStubs.cpp: Added lots of new stubs.
* rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Changed to get
printing boolean from document instead graphics context.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren): Ditto.
(WebCore::RenderBlock::paintObject): Ditto.
* rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Ditto.
* rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paint): Ditto.
* rendering/RenderImage.cpp: (WebCore::RenderImage::paint): Ditto.
* rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintButton): Ditto.
* rendering/render_list.cpp: (WebCore::RenderListMarker::paint): Ditto.
* rendering/render_replaced.cpp: (WebCore::RenderWidget::paint): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14102
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Fri, 28 Apr 2006 16:02:45 +0000 (16:02 +0000)]
2006-04-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt, landed by ap.
WebCore:
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6769
REGRESSION: Incomplete repaint when a cell's extra bottom margin grows
Test: fast/repaint/table-extra-bottom-grow.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::overflowRect): Changed to not add the top/left overflow twice and
allow the normal overflow height to overlap with the bottom extra height.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout): Removed the code that resets the extra heights.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows): If the top extra height changed or the
bottom extra height increased, just repaint the entire cell.
LayoutTests:
* fast/repaint/table-extra-bottom-grow-expected.checksum: Added.
* fast/repaint/table-extra-bottom-grow-expected.png: Added.
* fast/repaint/table-extra-bottom-grow-expected.txt: Added.
* fast/repaint/table-extra-bottom-grow.html: Added.
* fast/repaint/table-cell-moved-expected.checksum: Removed excessive painting.
* fast/repaint/table-cell-moved-expected.png: Ditto.
* fast/repaint/bugzilla-6278-expected.checksum: Ditto.
* fast/repaint/bugzilla-6278-expected.png: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14101
268f45cc-cd09-0410-ab3c-
d52691b4dbfc