vicki [Thu, 3 Feb 2005 23:57:26 +0000 (23:57 +0000)]
versioning for TOT, Safari 2.0 (183+)
The tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 3 Feb 2005 23:46:13 +0000 (23:46 +0000)]
Safari-183 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8516
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 3 Feb 2005 22:22:27 +0000 (22:22 +0000)]
Fixed <rdar://problem/
3987419> Stocks and Weather leak what appears to XMLHTTPRequest results
XMLHTTPRequests were causing massive leaks. _webcore_initWithHeaderString: did funky things with
self replacement. Re-wrote to use more traditional factory constructor avoiding self replacement.
Reviewed by David Harrison.
* kwq/KWQLoader.mm:
(+[NSDictionary _webcore_dictionaryWithHeaderString:]):
(KWQServeRequest):
(KWQServeSynchronousRequest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8515
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 22:09:13 +0000 (22:09 +0000)]
* English.lproj/StringsNotToBeLocalized.txt: updated
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8514
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 21:59:47 +0000 (21:59 +0000)]
Fixed: <rdar://problem/
3989611> Evite style "add vCalendar to calendar" do not work
Reviewed by adele.
* WebView.subproj/WebTextView.m:
(+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 19:56:18 +0000 (19:56 +0000)]
Fixed: <rdar://problem/
3938763> Cannot view Windows Media Player videos (soundtrack is played twice with delay)
Reviewed by hyatt.
* khtml/html/html_objectimpl.cpp:
(HTMLObjectElementImpl::attach): set needWidgetUpdate to false right after calling updateWidget because dispatchHTMLEvent can end up calling this method again
(HTMLObjectElementImpl::recalcStyle): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 3 Feb 2005 18:17:00 +0000 (18:17 +0000)]
Reviewed by Darin.
- fix deployment build breakage on Panther
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView toggleBaseWritingDirection:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8511
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Thu, 3 Feb 2005 01:44:46 +0000 (01:44 +0000)]
Reviewed by Chris.
- WebKit part of fix for <rdar://problem/
3980651> REGRESSION (125-180): Huge number of pages printed from certain page,
iFrame involved
This also fixes the problems with printing from GMail, yay!
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
Don't adjust margins for header/footer here, because this is called for each subframe.
(-[WebHTMLView knowsPageRange:]):
Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
Also, round the page height to an integer here (noticed in passing).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Thu, 3 Feb 2005 01:44:11 +0000 (01:44 +0000)]
Reviewed by Chris.
- WebCore part of fix for <rdar://problem/
3980651> REGRESSION (125-180): Huge number of pages printed from certain page,
iFrame involved
This also fixes the problems with printing from GMail, yay!
* khtml/rendering/render_flow.cpp:
(RenderFlow::paintLines):
If the current line is taller than the entire page height (e.g. tall iFrame), don't try
to avoid splitting it across pages.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
Handle error cases in a more obvious manner; this will cause future problems like this
to print a blank page and complain to the console on debug builds, rather than print a
zillionty mostly-blank pages.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 00:47:31 +0000 (00:47 +0000)]
Fixed: <rdar://problem/
3960304> can't load a particular applet (at escape.de) unless it's the first applet to be loaded
Reviewed by hyatt.
* khtml/rendering/render_frames.cpp:
(RenderPartObject::updateWidget): when getting the MIME type from the PARAM tag, make sure the MIME type is the text from the left of the semi-colon if there is one. We do this elsewhere as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8508
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 00:14:52 +0000 (00:14 +0000)]
Fixed: <rdar://problem/
3986546> Cut, delete, and paste menu items are active when a image is opened in window
Reviewed by john.
* WebView.subproj/WebView.m:
(-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item
(-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
(-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
(-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8507
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 2 Feb 2005 22:01:43 +0000 (22:01 +0000)]
WebCore:
Fixed: <rdar://problem/
3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
Reviewed by rjw.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::sendContextMenuEvent): check if SPI to always enable selecting closest word is enabled
* kwq/WebCoreBridge.h:
WebKit:
Fixed: <rdar://problem/
3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
Reviewed by rjw.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge selectWordBeforeMenuEvent]): new
* WebView.subproj/WebView.m:
(-[WebView _selectWordBeforeMenuEvent]): new SPI
(-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
* WebView.subproj/WebViewInternal.h:
* WebView.subproj/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8506
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 2 Feb 2005 21:31:22 +0000 (21:31 +0000)]
Fixed: <rdar://problem/
3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
Reviewed by rjw.
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8505
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 2 Feb 2005 19:53:24 +0000 (19:53 +0000)]
Reviewed by me
* khtml/editing/markup.cpp:
(khtml::createMarkup): Removed debug spam I committed earlier in error.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8504
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 2 Feb 2005 19:23:36 +0000 (19:23 +0000)]
Missed adding changelog comments for one of a batch of fixes I landed
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 2 Feb 2005 19:09:45 +0000 (19:09 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
new feature that allows callers to force all properties in a style to be applied as block styles.
(-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
(-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 2 Feb 2005 19:09:36 +0000 (19:09 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
Since base writing direction is a paragraph-level property in AppKit, and we use the CSS direction
property in WebCore, which can be applied to inline elements as well as blocks, a new notion has
been added to the WebCore apply style logic. It is now possible to force all properties in a
style declaration to be applied as though they were block properties.
* khtml/editing/htmlediting.cpp:
(khtml::ApplyStyleCommand::ApplyStyleCommand): Add an enum and a flag to this command that controls whether to force all
properties in the style to be applied as block styles. Default is "no", retaining previous behavior.
(khtml::ApplyStyleCommand::doApply): Switch on new flag to apply styles as before, or force all preoperties to be applied
as block styles.
* khtml/editing/htmlediting.h:
(khtml::ApplyStyleCommand::): Add an enum and a flag, as above.
* khtml/khtml_part.cpp:
(KHTMLPart::applyParagraphStyle): New method to force application of all style properties as block styles.
* khtml/khtml_part.h: Update header declarations.
* kwq/KWQKHTMLPart.h: Update header declarations.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::baseWritingDirectionForSelectionStart): Accessor to help WebKit do a toggle operation on
writing direction.
* kwq/WebCoreBridge.h: Update header declarations.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge applyParagraphStyle:withUndoAction:]): New method to force application of all style properties as block styles.
(-[WebCoreBridge baseWritingDirectionForSelectionStart]): Accessor to help WebKit do a toggle operation on
writing direction.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 2 Feb 2005 02:51:58 +0000 (02:51 +0000)]
Fixed <rdar://problem/
3985535> QT Plug-in JavaScript support now fails in <embed> tag only case
Reviewed by Maciej.
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::tryGet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 2 Feb 2005 02:13:43 +0000 (02:13 +0000)]
Fixed <rdar://problem/
3977727> WebKit should use new SPI to support faster GIF rendering
Note: This REQUIRES build >= 3A362 when building on Tiger.
Reviewed by John.
* WebCoreSupport.subproj/WebImageData.m:
(-[WebImageData _imageSourceOptions]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8499
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Wed, 2 Feb 2005 01:54:18 +0000 (01:54 +0000)]
Written by Darin, reviewed and tested by me
- fixed <rdar://problem/
3969684> Panther-only: extra blank lines between
pasted content from Blot
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::attributedString):
don't emit paragraph breaks if the margins are tiny; matches what
we do for plain-text conversion
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8498
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 2 Feb 2005 01:06:52 +0000 (01:06 +0000)]
versioning for TOT, Safari 2.0 (182+)
the tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 2 Feb 2005 00:50:15 +0000 (00:50 +0000)]
Safari-182 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8495
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 1 Feb 2005 23:06:59 +0000 (23:06 +0000)]
Additional part of last checkin that I missed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 1 Feb 2005 22:28:11 +0000 (22:28 +0000)]
WebKit:
Added new SPI for <rdar://problem/
3967063> need spi on WebView to turn of lcd text for Dashboard
Reviewed by Chris.
* WebCoreSupport.subproj/WebTextRenderer.m:
(_drawGlyphs):
* WebView.subproj/WebView.m:
(-[WebView drawRect:]):
(-[WebView _dashboardBehavior:]):
(+[WebView _setShouldUseFontSmoothing:]):
(+[WebView _shouldUseFontSmoothing]):
* WebView.subproj/WebViewInternal.h:
* WebView.subproj/WebViewPrivate.h:
WebBrowser:
Used new SPI (from <rdar://problem/
3967063> need spi on WebView to turn of lcd text for Dashboard)
Reviewed by Chris.
* EtchedStringButtonCell.m:
(-[EtchedStringButtonCell drawInteriorWithFrame:inView:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 1 Feb 2005 21:23:02 +0000 (21:23 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3985160> Deficiencies in pasting architecture blocking progress on other bugs
* khtml/editing/html_interchange.h: Move style span text used to mark element added to
add style to this header.
* khtml/editing/htmlediting.cpp:
(khtml::styleSpanClassString): Change to use constant moved to html_interchange.h.
(khtml::isStyleSpan): New helper function. Checks if this is a span we added to apply style.
(khtml::CompositeEditCommand::insertNodeBefore): Added an assert to check that the node
we are inserting before is not the body.
(khtml::CompositeEditCommand::insertNodeAfter): Ditto, but check is for after.
(khtml::ReplacementFragment::ReplacementFragment): Added code to process the "default style"
that is added by the copy code.
(khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): first and last nodes inserted are
now member variables instead of function locals. Initialize them here.
(khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand): Deref first and last nodes inserted
if necessary.
(khtml::ReplaceSelectionCommand::doApply): Change design to fix the bug. Major change is to
separate out the code that inserts nodes into the tree so additional styling checks can
be done in a centralized way. Also got rid of the notion of "merging into the end block." That
concept was just wrong.
(khtml::ReplaceSelectionCommand::completeHTMLReplacement): Tweak interface now that first and
last nodes inserted are member variables.
(khtml::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted): New helper used
by replace code to do the stated DOM operation and update state internal to the command.
This will also be a catch point to handle the kinds of additional style checks needed to
make paste work right.
(khtml::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted): Ditto.
(khtml::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted): Ditto.
(khtml::ReplaceSelectionCommand::updateNodesInserted): Ditto.
* khtml/editing/htmlediting.h: Update declarations as needed.
* khtml/editing/markup.cpp:
(khtml::createMarkup): Adds a "default style" span to the content written to the pasteboard.
This will help us to fix some of the bugs blocked by the bug above.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::lastDescendent): New helper.
* khtml/xml/dom_nodeimpl.h: Ditto.
* khtml/xml/dom_position.cpp:
(DOM::Position::upstream): Fixed a bug which would allow the upstream position returned to be
in unrendered content.
(DOM::Position::downstream): Ditto.
* layout-tests/editing/deleting/delete-
3775172-fix-expected.txt: Ending positions tweaked due to
changes in upstream() and downstream() functions.
* layout-tests/editing/inserting/insert-
3851164-fix-expected.txt: Ditto
* layout-tests/editing/inserting/insert-
3907422-fix-expected.txt: Ditto
* layout-tests/editing/selection/extend-by-character-006-expected.txt: Ditto
* layout-tests/editing/pasteboard/paste-text-003-expected.txt: Changed what we expect, given
new behavior of paste code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 1 Feb 2005 01:20:56 +0000 (01:20 +0000)]
Reviewed by Dave Hyatt.
- fixed <rdar://problem/
3983097> Tabbing on RSS pages gets stuck in search field
with "full keyboard navigation" off
* kwq/KWQSlider.h:
* kwq/KWQSlider.mm:
(QSlider::focusPolicy):
Implemented this method for KWQSlider. It is needed for our widget subclasses that
can become focused in some situations. I missed this when fixing
3949203 because
it only comes into play when tab-to-controls is on, and because the other relevant
methods are objective-C methods.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8491
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 1 Feb 2005 00:40:40 +0000 (00:40 +0000)]
Fixed: <rdar://problem/
3949806> REGRESSION: Source window fails to refresh correctly on reload
The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced.
Reviewed by darin.
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _setData:]): moved within file
(-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
* WebView.subproj/WebDataSourcePrivate.h:
* WebView.subproj/WebMainResourceClient.m:
(-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 1 Feb 2005 00:04:34 +0000 (00:04 +0000)]
Fixed: <rdar://problem/
3946285> Seed: Safari crashed by selecting all at internet-moebel.com
Reviewed by john.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
(-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
(-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8489
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 31 Jan 2005 23:52:28 +0000 (23:52 +0000)]
Reviewed by Darin.
<rdar://problem/
3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView maintainsInactiveSelection]):
Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 31 Jan 2005 23:16:39 +0000 (23:16 +0000)]
Reviewed by Darin.
<rdar://problem/
3964164> AXWebArea needs to unregister on going invisible
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::detach):
Detach the AX UIElement for the AXWebArea.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8487
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 31 Jan 2005 23:08:26 +0000 (23:08 +0000)]
Reviewed by Darin
<rdar://problem/
3850876> AX: button exposed as only an AXImage at http://appleseed.apple.com/ site (<input type=image>)
* khtml/rendering/render_form.h:
(khtml::RenderImageButton::isImageButton):
New.
* khtml/rendering/render_image.h:
(khtml::RenderImage::isImageButton):
New.
* kwq/KWQAccObject.mm:
(-[KWQAccObject isImageButton]):
(-[KWQAccObject actionElement]):
(-[KWQAccObject role]):
(-[KWQAccObject accessibilityActionNames]):
(-[KWQAccObject accessibilityPerformAction:]):
Represent RenderImageButton elements as buttons instead of images.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8486
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 31 Jan 2005 20:12:49 +0000 (20:12 +0000)]
Prevent nil dereference in debug code.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::displayTree):
Stop when parent is 0, too.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8485
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 31 Jan 2005 19:14:35 +0000 (19:14 +0000)]
Reviewed by Dave Hyatt.
- fixed <rdar://problem/
3949203> cannot tab to, within, or out of the RSS sidebar
* kwq/KWQSlider.mm:
(-[KWQSlider becomeFirstResponder]):
(-[KWQSlider resignFirstResponder]):
(-[KWQSlider nextKeyView]):
(-[KWQSlider previousKeyView]):
(-[KWQSlider canBecomeKeyView]):
(-[KWQSlider nextValidKeyView]):
(-[KWQSlider previousValidKeyView]):
Copied these methods from KWQButton. The lack of special handling for first-responder-ness
here was causing the focus to get "stuck" on the RSS page's slider widget. Added FIXME
about how it would be nice to share more of this code rather than replicating it in each
KWQ widget subclass.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8484
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 31 Jan 2005 18:58:42 +0000 (18:58 +0000)]
Reviewed by Harrison.
- fixed <rdar://problem/
3980066> Double-click on single character moves insertion point to previous line
* khtml/khtml_part.cpp:
(KHTMLPart::selectClosestWordFromMouseEvent): Set affinity too.
(KHTMLPart::handleMousePressEventTripleClick): Ditto.
(KHTMLPart::handleMouseMoveEventSelection): Ditto.
(KHTMLPart::khtmlMouseReleaseEvent): Ditto.
* khtml/editing/selection.cpp:
(khtml::Selection::modifyExtendingRightForward): Use endOfLine and endOfDocument.
(khtml::Selection::modifyMovingRightForward): Ditto.
(khtml::Selection::modifyExtendingLeftBackward): Use startOfLine and startOfDocument.
(khtml::Selection::modifyMovingLeftBackward): Ditto.
(khtml::Selection::validate): Rewrote the section that handles double-click. Two main fixes: 1) use isStartOfLine to
check for another case where we want to select the word to the right, and 2) use isEndOfParagraph, which seems
to work correctly in cases where isLastVisiblePositionInParagraph is giving the wrong answer. Also changed the line
code to use startOfLine/endOfLine and the document code to use startOfDocument/endOfDocument.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8483
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 31 Jan 2005 18:49:14 +0000 (18:49 +0000)]
Reviewed by Harrison.
- fixed <rdar://problem/
3935275> unexpected quit scrolling over link; last.fm (works in IE and Firefox)
* kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): By using the correct document, fix the crash reported here.
The page still crashes when you close the browser window, but it's not trivial to fix so I'll file a new bug after that.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8482
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jens [Mon, 31 Jan 2005 18:48:53 +0000 (18:48 +0000)]
[
3903199] Large background patterns slide around while loading
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 31 Jan 2005 18:03:15 +0000 (18:03 +0000)]
Reviewed by Ken and Harrison.
- fixed <rdar://problem/
3947901> REGRESSION (Mail): Pasting paragraph of rich text leaves insertion point before pasted text
- fixed <rdar://problem/
3949790> hitting return after underlined line results in too much or too little underlined
- fixed <rdar://problem/
3981759> nil-deref and crash when pasting just a paragraph break
- fixed a couple problems I discovered while working with bug
3949790
* khtml/editing/htmlediting.cpp:
(khtml::ApplyStyleCommand::applyInlineStyle): Pass StayInBlock to upstream. Without this, we end up going too far
upstream in the test case in bug
3949790.
(khtml::ApplyStyleCommand::removeInlineStyle): Pass StayInBlock to upstream and downstream. Same reason as above.
(khtml::ReplaceSelectionCommand::doApply): Update endPos if inserting a new node and endPos is using that node's
parent and an offset past the node being inserted. That change fixes a problem with the position of the insertion point
after pasting into the top level of a document (from test cases in
3947901 and
3949790). When setting insertionPos, use
code that works when lastNodeInserted is a block rather than a text node. That change fixes a problem where a newline is
not added when pasting an entire paragraph into the end of a document (from test case in
3949790). Added nil check before
checking if lastNodeInserted is a <br> element, which fixes the crash when pasting just a paragraph break.
* khtml/editing/visible_units.h: Filled out the set of calls to add some boolean checks for lines (needed for the
bug fix), and calls for blocks (not yet implemented), and documents. The document checks may need refinement to
properly handle documents with a mix of editable and non-editable content, but for now they just refactor code
and make things a little clearer. Also removed the "include line break" parameter from endOfSentence.
* khtml/editing/visible_units.cpp:
(khtml::rootBoxForLine): Added.
(khtml::startOfLine): Added. Algorithm taken from selectionForLine in selection.cpp.
(khtml::endOfLine): Ditto.
(khtml::inSameLine): Added.
(khtml::isStartOfLine): Added.
(khtml::isEndOfLine): Added.
(khtml::endOfSentence): Removed "include line break" parameter.
(khtml::inSameParagraph): Added a null check.
(khtml::isStartOfParagraph): Ditto.
(khtml::isEndOfParagraph): Ditto.
(khtml::startOfBlock): Added.
(khtml::endOfBlock): Added.
(khtml::inSameBlock): Added.
(khtml::isStartOfBlock): Added.
(khtml::isEndOfBlock): Added.
(khtml::startOfDocument): Added.
(khtml::endOfDocument): Added.
(khtml::inSameDocument): Added.
(khtml::isStartOfDocument): Added.
(khtml::isEndOfDocument): Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 30 Jan 2005 18:21:08 +0000 (18:21 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3977000> form data set posted for <input type="image" ...> omits name/value pair
* khtml/html/html_formimpl.cpp:
(DOM::HTMLInputElementImpl::appendFormData): Append a name/value pair for type IMAGE in addition to the X/Y
coordinates.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 30 Jan 2005 18:08:41 +0000 (18:08 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3974246> REGRESSION (125-180): popup menus are missing item text on Harmony Remote web site
* khtml/html/html_formimpl.cpp: (DOM::HTMLOptionElementImpl::text): Change this function to traverse the entire tree
and gather all the text rather than just looking at immediate children.
* khtml/xml/dom_nodeimpl.h: Added const.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::traverseNextNode): Added const.
(NodeImpl::traverseNextSibling): Ditto.
(NodeImpl::traversePreviousNodePostOrder): Ditto.
(NodeImpl::detach): Add a missing nil check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 30 Jan 2005 17:52:27 +0000 (17:52 +0000)]
WebKit:
Reviewed by John.
- fixed <rdar://problem/
3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
* WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
_setInitialDefaultTextEncodingToSystemEncoding to be a class method.
* WebView.subproj/WebPreferences.m:
(+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
_setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
(+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.
WebBrowser:
- fixed <rdar://problem/
3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
* Preferences.subproj/AppearancePreferences.m: (-[AppearancePreferences awakeFromNib]): Use the
new +[WebPreferences _systemCFStringEncoding] instead of CFStringGetSystemEncoding because the latter
can return Mac-specific encodings that we never want to use.
* TextEncodingMenu.m: (-[NSMenu addStandardTextEncodingMenuItemsWithTarget:action:preferredEncoding:]):
Same as above.
* AppController.m: (-[AppController applicationDidFinishLaunching:]): Update call to use class method.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 30 Jan 2005 17:33:03 +0000 (17:33 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3864536> crash copying text from other apps and pasting in a sticky in dashboard
* khtml/editing/markup.cpp: (khtml::createFragmentFromText): Added missing ref/deref of newly created element.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 29 Jan 2005 00:38:43 +0000 (00:38 +0000)]
* khtml/css/cssproperties.c: Regenerated with newer gperf.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8475
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sat, 29 Jan 2005 00:13:35 +0000 (00:13 +0000)]
Fixed <rdar://problem/
3980389> JavaScript bindings access incorrect runtime object
Only use special 'back door' property to get the runtime object if thisObj isn't
already a runtime object.
<gratuitous> Cleaned up a couple of strcmp on ClassInfo name. Used == on
ClassInfo pointer instead.
Reviewed by Chris.
* bindings/c/c_utility.cpp:
(convertValueToNPVariant):
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
* bindings/runtime_method.cpp:
(RuntimeMethodImp::call):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jens [Fri, 28 Jan 2005 23:19:13 +0000 (23:19 +0000)]
[
3727680] printing some page with WebKit generates a PDF with a 1x1 image with soft mask
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Fri, 28 Jan 2005 23:02:14 +0000 (23:02 +0000)]
Reviewed by John Sullivan.
<rdar://problem/
3968144> AX need to be able to focus an AXLink by setting AXFocused to true
* kwq/KWQAccObject.mm:
(-[KWQAccObject accessibilityPerformAction:]):
(-[KWQAccObject accessibilityIsAttributeSettable:]):
Add AXFocused for AXLinks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8472
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Fri, 28 Jan 2005 21:26:34 +0000 (21:26 +0000)]
Reviewed by Darin.
<rdar://problem/
3584942> AX: Safari Accessibility parent-child mismatch
Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _accessibilityParentForSubview:]):
New.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Fri, 28 Jan 2005 21:04:22 +0000 (21:04 +0000)]
Reviewed by Darin.
<rdar://problem/
3584942> AX: Safari Accessibility parent-child mismatch
Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
* kwq/KWQAccObject.mm:
(-[KWQAccObject _accessibilityParentForSubview:]):
New.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 28 Jan 2005 19:30:09 +0000 (19:30 +0000)]
WebKit side of: <rdar://problem/
3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
Reviewed by john.
* WebView.subproj/WebDefaultPolicyDelegate.m:
(-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
* WebView.subproj/WebFrame.m:
(-[WebFrame _goToItem:withLoadType:]): call new delegate method
* WebView.subproj/WebPolicyDelegatePrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8469
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Fri, 28 Jan 2005 03:20:11 +0000 (03:20 +0000)]
fixed by Darin, reviewed by me.
<rdar://problem/
3976314> REGRESSION (180-TOT): submitting password fields fail on Panther
* kwq/KWQTextField.mm: (-[KWQTextFieldController string]): on panther, the secure text field's editor
does not contain the real string, so now we just call stringValue on the field in that case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 28 Jan 2005 01:16:20 +0000 (01:16 +0000)]
Tweak the previous checkin to deal with a dynamic change to 0 results properly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8467
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 28 Jan 2005 01:13:07 +0000 (01:13 +0000)]
WebCore:
Reviewed by Darin, Hyatt and Ken.
<rdar://problem/
3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
* khtml/css/css_computedstyle.cpp:
(DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support
for -khtml-text-decorations-in-effect property. This works like text-docration
but follows proper inline semantics, that is, if a parent is causing text
decoration then -khtml-text-decorations-in-effect on this element will reflect that.
* khtml/css/cssproperties.in: Add -khtml-text-decorations-in-effect property.
* khtml/css/cssproperties.h: regenerated
* khtml/css/cssvalues.c: regenerated
* khtml/css/cssparser.cpp: regenerated
* khtml/css/cssproperties.c: regenerated
* khtml/css/css_valueimpl.h: Made copyPropertiesInSet public.
* khtml/editing/htmlediting.cpp:
(khtml::StyleChange::init): Handle -khtml-text-decorations-in-effect
specially, translate to text-decoration
(khtml::ApplyStyleCommand::applyInlineStyle): Fix a comment.
(khtml::ApplyStyleCommand::removeInlineStyle): Add new way of pushing down
text-decoration styles around the edges of the selected range.
(khtml::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Helper for this.
(khtml::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): ditto
(khtml::ApplyStyleCommand::nodeFullyUnselected): ditto
(khtml::hasTextDecorationProperty): ditto
(khtml::highestAncestorWithTextDecoration): ditto
(khtml::ApplyStyleCommand::extractTextDecorationStyle): ditto
(khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle): ditto
(khtml::ApplyStyleCommand::applyTextDecorationStyle): ditto
* khtml/editing/htmlediting.h: Prototype new methods.
* khtml/editing/jsediting.cpp: Make underline execCommand use the new CSS property.
- as a necessary part of the fix, fixed the longstanding problem
that mutating an element's inlineStyleDecl would not property
update its style attribute. now it does.
* khtml/css/css_valueimpl.cpp:
(DOM::CSSMutableStyleDeclarationImpl::setChanged): If this is an inline style
declaration, tell the element it's style attribute needs updating.
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::invalidateStyleAttribute): New method, just calls down
to the dom element.
(HTMLElementImpl::updateStyleAttribute): Regenerate style attribute from
inline style declaration.
* khtml/html/html_elementimpl.h: Prototype new stuff.
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::ElementImpl): Initialize new attribute.
(ElementImpl::updateStyleAttributeIfNeeded): New method to check if the style
is dirty and this is an html element, and if so call the html element to
regenerate the style attribute.
(ElementImpl::attributes): update style if needed
(ElementImpl::getAttribute): ditto
(ElementImpl::hasAttributes): ditto
(ElementImpl::dump): ditto
(XMLElementImpl::cloneNode): ditto
* khtml/xml/dom_elementimpl.h:
(DOM::ElementImpl::isStyleAttributeValid): new method to manage style attr
dirty bit
(DOM::ElementImpl::setStyleAttributeValid): ditto
- added new layout tests for underlining:
* layout-tests/editing/editing.js:
* layout-tests/editing/style/remove-underline-across-paragraph-expected.txt: Added.
* layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Added.
* layout-tests/editing/style/remove-underline-across-paragraph-in-bold.html: Added.
* layout-tests/editing/style/remove-underline-across-paragraph.html: Added.
* layout-tests/editing/style/remove-underline-after-paragraph-expected.txt: Added.
* layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Added.
* layout-tests/editing/style/remove-underline-after-paragraph-in-bold.html: Added.
* layout-tests/editing/style/remove-underline-after-paragraph.html: Added.
* layout-tests/editing/style/remove-underline-expected.txt: Added.
* layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt: Added.
* layout-tests/editing/style/remove-underline-from-stylesheet.html: Added.
* layout-tests/editing/style/remove-underline-in-bold-expected.txt: Added.
* layout-tests/editing/style/remove-underline-in-bold.html: Added.
* layout-tests/editing/style/remove-underline.html: Added.
* layout-tests/editing/style/underline-expected.txt: Added.
* layout-tests/editing/style/underline.html: Added.
WebKit:
Reviewed by Darin, Hyatt and Ken.
<rdar://problem/
3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
property
(-[WebHTMLView _styleForAttributeChange:]): likewise
(-[WebHTMLView underline:]): likewise
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8466
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 28 Jan 2005 00:56:52 +0000 (00:56 +0000)]
Fix for
3875199, search field needs to be able to show a magnifying glass without a dropdown menu.
Reviewed by kocienda
* khtml/html/html_formimpl.cpp:
(DOM::HTMLInputElementImpl::HTMLInputElementImpl):
(DOM::HTMLInputElementImpl::parseHTMLAttribute):
* kwq/KWQLineEdit.mm:
(QLineEdit::setMaxResults):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 28 Jan 2005 00:43:57 +0000 (00:43 +0000)]
WebCore:
Reviewed by Maciej
Fix for this bug:
<rdar://problem/
3973254> Deletions of ranges does not coalesce correctly with subsequent typing
* khtml/editing/htmlediting.cpp:
(khtml::InsertTextCommand::deleteCharacter): Remove this dead code.
(khtml::ReplaceSelectionCommand::editingAction): Moved this code to a better place in the file.
It was in with unrelated functions.
(khtml::TypingCommand::TypingCommand): Reorganize initialization list so it is easier to read.
(khtml::TypingCommand::issueCommandForDeleteKey): Remove dead code. Roll in remaining code into deleteKeyPressed.
(khtml::TypingCommand::deleteKeyPressed): Add in support for carrying along smart delete flag.
(khtml::TypingCommand::forwardDeleteKeyPressed): New function. Makes forward delete work like
"regular" delete in terms of coalescing typing.
(khtml::TypingCommand::doApply): Add case for ForwardDeleteKey.
(khtml::TypingCommand::preservesTypingStyle): Ditto.
* khtml/editing/htmlediting.h:
(khtml::TypingCommand::): Add ForwardDeleteKey constant. Remove a couple declarations for now-dead code.
(khtml::TypingCommand::smartDelete): New accessor.
(khtml::TypingCommand::setSmartDelete): Ditto.
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge deleteKeyPressedWithSmartDelete:]): Add smart delete flag.
(-[WebCoreBridge forwardDeleteKeyPressedWithSmartDelete:]): New method.
* khtml/editing/jsediting.cpp: Add supprt for ForwardDelete command
* layout-tests/editing/editing.js: Ditto.
* layout-tests/editing/deleting/delete-and-undo-expected.txt: Added.
* layout-tests/editing/deleting/delete-and-undo.html: Added.
* layout-tests/editing/deleting/forward-delete-expected.txt: Added.
* layout-tests/editing/deleting/forward-delete.html: Added.
WebKit:
Reviewed by Maciej
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from
_deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
(-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes
unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
determine which flavor of delete command to call.
(-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
(-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
(-[WebHTMLView deleteForward:]): Add _isEditable check.
(-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different
from forward delete.
(-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
(-[WebHTMLView deleteWordBackward:]): Ditto.
(-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
(-[WebHTMLView deleteToEndOfLine:]): Ditto.
(-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
(-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
(-[WebHTMLView deleteToMark:]): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 27 Jan 2005 23:45:48 +0000 (23:45 +0000)]
Versioning for tip of tree, Safari 2.0 (181+).
The tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 27 Jan 2005 23:35:32 +0000 (23:35 +0000)]
Safari-181 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8461
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 27 Jan 2005 19:36:39 +0000 (19:36 +0000)]
Reviewed by Ken.
<rdar://problem/
3962214> AX: AXLeftLineTextMarkerRangeForTextMarker returns incorrect range
* kwq/KWQAccObject.mm:
(-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
Allowed for selection to end of line including the linebreak.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 27 Jan 2005 19:30:06 +0000 (19:30 +0000)]
Reviewed by Darin, Ken.
<rdar://problem/
3964470> AX: Include attachments in AXAttributedStringForTextMarkerRange
* kwq/KWQAccObject.mm:
(-[KWQAccObject isAttachment]):
(-[KWQAccObject attachmentView]):
(-[KWQAccObject role]):
(-[KWQAccObject subrole]):
(-[KWQAccObject roleDescription]):
(-[KWQAccObject value]):
(-[KWQAccObject title]):
(-[KWQAccObject accessibilityDescription]):
(-[KWQAccObject accessibilityIsIgnored]):
(-[KWQAccObject accessibilityAttributeNames]):
(-[KWQAccObject accessibilityAttributeValue:]):
Make attachments accessible.
(CreateCGColorIfDifferent):
(AXAttributeStringSetColor):
(AXAttributeStringSetNumber):
(AXAttributeStringSetFont):
(AXAttributeStringSetStyle):
(AXAttributeStringSetElement):
(AXLinkElementForNode):
(AXAttributedStringAppendText):
(AXAttributedStringAppendReplaced):
(-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
Add attachments and more text attributes to AXAttributedStringForTextMarkerRange.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 27 Jan 2005 19:27:14 +0000 (19:27 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3807935> DOM CSS computed style line-height is wrong in two ways
* khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
Use specified size rather than computed size when dealing with a percentage for line height.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 27 Jan 2005 19:24:09 +0000 (19:24 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3971372> SWB: template function DOM_cast() won't compile with gcc 4.0
- fixed other gcc 4.0 compiling problems Patrick Beard pointed out on the phone
* kwq/DOMInternal.h: (DOM_cast): Change the "failToCompile()" trick to use a dependent name.
Nowadays, if a name is not dependent, it is checked at template definition time. But we want
a failure only at template instantiation time.
* ForwardingHeaders/editing/text_granularity.h: Added. Needed but a bug in the 3.3 compiler made
it compile anyway without this.
- other changes
* khtml/html/html_miscimpl.h: For clarity, mark these functions virtual too. They are automatically
virtual because the base class ones are virtual, but it's ugly to leave it this way.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8457
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 27 Jan 2005 18:46:07 +0000 (18:46 +0000)]
Fixed: <rdar://problem/
3973272> REGRESSION: Safari uses QT plugin to display PNG images
Reviewed by john.
* Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 27 Jan 2005 16:02:21 +0000 (16:02 +0000)]
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3971609> REGRESSION (Mail): up/down arrow navigation broken after rewrapping text by resizing window
<rdar://problem/
3975661> REGRESSION (Mail): left/right arrow navigation can place insertion point after last character on line
* khtml/editing/selection.cpp:
(khtml::Selection::modifyAffinity): PARAGRAPH and LINE movements should not alter affinity. This was
just a mistake before when it reset to upstream in some cases.
* khtml/rendering/render_line.cpp:
(khtml::RootInlineBox::closestLeafChildForXPos): Move this function down from InlineBox, and
rework the implementation. This fixes
3971609.
* khtml/rendering/render_line.h:
* khtml/rendering/render_text.cpp:
(RenderText::caretRect): Rework the algorithm to fix
3975661. This regressed when we began placing
the spaces on the end of lines in text boxes when lines wrap.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 27 Jan 2005 02:01:47 +0000 (02:01 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet
* WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
draw the white "no document" background if it's NO. This fixes things for frames with no document.
* WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
for frames with just an image.
* WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
document view if it implements it. This fixes things for frames with plain text.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 26 Jan 2005 21:38:10 +0000 (21:38 +0000)]
JavaScriptCore:
Fixed <rdar://problem/
3972522> (179-180) 40% slowdown on iBench JavaScript test
I added a member variable to ObjectImp. This changed it's size and consequently
hampered the optimizations built into the garbage collector. Objects no longer
fit within the allocators cell size, and thus allocation fell back to a slower
allocator.
As a result of this fix I also dramatically cleaned up how runtime objects are
accessed. The path mostly *removes* code.
Reviewed by Chris.
* bindings/runtime_method.cpp:
(RuntimeMethodImp::call):
* bindings/runtime_object.cpp:
(RuntimeObjectImp::get):
(RuntimeObjectImp::put):
(RuntimeObjectImp::canPut):
(RuntimeObjectImp::hasProperty):
(RuntimeObjectImp::defaultValue):
* bindings/runtime_object.h:
* kjs/object.cpp:
(KJS::ObjectImp::ObjectImp):
* kjs/object.h:
WebCore:
Fixed <rdar://problem/
3972522> (179-180) 40% slowdown on iBench JavaScript test
I added a member variable to ObjectImp. This changed it's size and consequently
hampered the optimizations built into the garbage collector. Objects no longer
fit within the allocators cell size, and thus allocation fell back to a slower
allocator.
As a result of this fix I also dramatically cleaned up how runtime objects are
accessed. The path mostly *removes* code.
Reviewed by Chris.
* khtml/ecma/kjs_dom.cpp:
(DOMDocumentProtoFunc::tryCall):
(DOMElementProtoFunc::tryCall):
(KJS::getRuntimeObject):
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::tryGet):
(KJS::HTMLElement::tryGet):
(KJS::HTMLElement::implementsCall):
(KJS::HTMLElement::call):
(KJS::HTMLElement::tryPut):
(KJS::HTMLCollection::tryGet):
(KJS::HTMLCollection::getNamedItems):
* khtml/ecma/kjs_html.h:
* khtml/ecma/kjs_window.cpp:
(Window::get):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 26 Jan 2005 21:26:49 +0000 (21:26 +0000)]
Fixed <rdar://problem/
3757712> REGRESSION (Mail): WebCore does not allow Devanagari ligature input
For now we are using ICU UBreakIterator to determine grapheme boundaries for
cursor and deletion. This does not match what Cocoa does exactly, but does match
what Carbon does. The areas are difference are obscure, but, according to
Deborah Goldsmith, using the UBreakIterator is the reasonable approach.
Reviewed by Ken.
* khtml/rendering/render_text.cpp:
(RenderText::previousOffset):
(RenderText::nextOffset):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Wed, 26 Jan 2005 00:28:57 +0000 (00:28 +0000)]
Reviewed by Maciej and Richard.
<rdar://problem/
3963731> AX VO: Changing window sizes causes a crash using with Voice Over - KWQPtrDictImpl::clear
* khtml/html/html_miscimpl.cpp:
(HTMLCollectionImpl::HTMLCollectionImpl):
Ensure that isHTMLDocument before calling HTMLDocument-only method.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 25 Jan 2005 22:51:19 +0000 (22:51 +0000)]
Part one of fix for <rdar://problem/
3757712> REGRESSION (Mail): WebCore does not allow Devanagari ligature input
This patch changes the semantics of next() and previous() on
VisiblePosition to move a grapheme (character cluster) at a
time. This means that cursor navigation with correctly move
over an entire cluster.
However, the expected behavior for deleting a grapheme is to
delete individual code points, thus decomposing the grapheme
into it constituent parts. That will be addressed in the next
part of the fix.
Reviewed by Ken.
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::previousPosition):
(khtml::VisiblePosition::nextPosition):
* khtml/editing/visible_position.h:
* khtml/rendering/render_object.cpp:
(RenderObject::previousOffset):
(RenderObject::nextOffset):
* khtml/rendering/render_object.h:
* khtml/rendering/render_text.cpp:
(RenderText::previousOffset):
(RenderText::nextOffset):
(RenderText::findNextInlineTextBox):
* khtml/rendering/render_text.h:
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::previousOffset):
(NodeImpl::nextOffset):
* khtml/xml/dom_nodeimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 25 Jan 2005 22:41:36 +0000 (22:41 +0000)]
Reviewed by Chris.
- WebKit part of fix for: <rdar://problem/
3970670> Text context menu
in WebKit needs "Look Up in Dictionary" item
* WebView.subproj/WebDefaultContextMenuDelegate.m:
(localizedMenuTitleFromAppKit):
return English string in the case where AppKit bundle is found but doesn't
contain the expected string. This case will be hit by people testing with
an older AppKit.
(-[WebDefaultUIDelegate menuItemWithTag:]):
create Look Up in Dictionary item
(-[WebDefaultUIDelegate contextMenuItemsForElement:]):
add Look Up in Dictionary item and separator
(-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
ditto
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
new method, handles bringing up the Dictionary window. Includes FIXMEs
for a couple of the known loose ends.
(-[WebHTMLView validateUserInterfaceItem:]):
handle Look Up in Dictionary item like the other new items
* WebView.subproj/WebUIDelegatePrivate.h:
added SPI constant for Look Up in Dictionary menu item
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8449
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 25 Jan 2005 22:03:55 +0000 (22:03 +0000)]
Reviewed by Maciej.
<rdar://problem/
3973067> AXWebArea for http://apple.netscape.com/ has an empty AXLinkUIElements
* kwq/KWQAccObject.mm:
(-[KWQAccObject accessibilityAttributeValue:]):
Omit ignored AXLinks from AXLinkUIElements result
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 25 Jan 2005 21:34:22 +0000 (21:34 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3972851> REGRESSION (179-180+): Repro crash in ApplyStyleCommand::cleanUpEmptyStyleSpans
* khtml/editing/htmlediting.cpp:
(khtml::ApplyStyleCommand::cleanUpEmptyStyleSpans): Added two null checks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 25 Jan 2005 21:21:08 +0000 (21:21 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3954710> Mail crashed while editing signatures - NodeImpl::isBlockFlow
The fix is more general than for this one bug, and may work to fix many crashers. The problem
is that the ReplaceSelectionCommand never checked whether its starting selection is empty. If
it is, then we need to bail before doing the work of the command, which we need to deref the
start and end points of the selection in order to do its work. I think you can see the crash
potential.
* khtml/editing/htmlediting.cpp:
(khtml::ReplaceSelectionCommand::doApply): Assert selection is not empty.
* kwq/WebCoreBridge.mm:
(partHasSelection): New helper function to test that bridge has a part with a selection.
Use new helper function to test part and selection; return from these function if this test fails.
(-[WebCoreBridge rangeByExpandingSelectionWithGranularity:])
(-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:])
(-[WebCoreBridge alterCurrentSelection:direction:granularity:])
(-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:])
(-[WebCoreBridge alterCurrentSelection:verticalDistance:])
(-[WebCoreBridge documentFragmentWithText:])
(-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:])
(-[WebCoreBridge insertLineBreak])
(-[WebCoreBridge insertParagraphSeparator])
(-[WebCoreBridge insertParagraphSeparatorInQuotedContent])
(-[WebCoreBridge insertText:selectInsertedText:])
(-[WebCoreBridge deleteSelectionWithSmartDelete:])
(-[WebCoreBridge ensureSelectionVisible])
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Tue, 25 Jan 2005 03:56:38 +0000 (03:56 +0000)]
Reviewed by Darin.
Fixed <rdar://problem/
3932374> REGRESSION: 'ReferenceError - Can't find variable' JavaScript error at webxpress.fidelity.com
* khtml/html/html_miscimpl.h: Missing virtual identifiers for namedItem() and nextNamedItem() exposed a flaw that prevented finding variables in form [HTMLFormCollectionImpl] scopes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 25 Jan 2005 01:18:06 +0000 (01:18 +0000)]
Fixed Panther build (missing ifdef)
* WebView.subproj/WebDefaultContextMenuDelegate.m:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 25 Jan 2005 00:46:15 +0000 (00:46 +0000)]
Reviewed by Darin.
- WebKit part of fix for <rdar://problem/
3960231> Text context menu in WebKit needs Spotlight and Google items
* WebView.subproj/WebDefaultContextMenuDelegate.m:
(localizedMenuTitleFromAppKit):
new function, gets localized string from AppKit so we can avoid adding localized
strings to WebKit at this late date in Tiger. Returns the non-localized English
string if we can't find the localized string in AppKit.
(-[WebDefaultUIDelegate menuItemWithTag:]):
handle the two new menu items by tag name
(-[WebDefaultUIDelegate contextMenuItemsForElement:]):
add menu items for Search in Google and Search in Spotlight to selected-text menu item
for the noneditable case
(-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
add menu items for Search in Google and Search in Spotlight to selected-text menu item
for the editable case
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _searchWithGoogleFromMenu:]):
implement this menu item action method, using same method name and implementation as NSTextView
(-[WebHTMLView _searchWithSpotlightFromMenu:]):
implement this menu item action method, using same basic implementation as NSTextView
(-[WebHTMLView validateUserInterfaceItem:]):
validate new menu items
* WebView.subproj/WebUIDelegatePrivate.h:
define new tags for new menu items
* English.lproj/StringsNotToBeLocalized.txt:
updated for these changes
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Tue, 25 Jan 2005 00:35:19 +0000 (00:35 +0000)]
Reviewed by kocienda.
- fix <rdar://problem/
3810661> computed style not handled for Apple extensions
* khtml/css/css_computedstyle.cpp: (DOM::):
(DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): add -apple-line-clamp and -apple-text-size-adjust
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 24 Jan 2005 22:21:48 +0000 (22:21 +0000)]
Reviewed by Kevin.
- fixed <rdar://problem/
3969884> REGRESSION (179-180): Typing password not echoed as "bullets" at paypal.com when field is first focused
* kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]):
Sizing up the form editor, which fixes things for normal fields and search fields,
screws things up for password fields. Eventually, I'll need to figure out why this is
and file a bug so that the AppKit team fixes it. In the mean time, just check for the
case of the secure text field, and don't size up in that case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 24 Jan 2005 22:20:02 +0000 (22:20 +0000)]
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3963560> 8A354: Inserting Japanese text to the line head causes line break
* khtml/editing/htmlediting.cpp:
(khtml::ReplaceSelectionCommand::doApply): Add one more case where we merge content into the
existing line. This covers the situation see using the steps to reproduce this bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 24 Jan 2005 22:06:20 +0000 (22:06 +0000)]
Reviewed by Darin.
<rdar://problem/
3967572> Editing should split elements before removing style
* khtml/editing/htmlediting.cpp:
(khtml::CompositeEditCommand::splitElement):
(khtml::CompositeEditCommand::mergeIdenticalElements):
(khtml::CompositeEditCommand::wrapContentsInDummySpan):
(khtml::CompositeEditCommand::splitTextNodeContainingElement):
(khtml::ApplyStyleCommand::applyInlineStyle):
(khtml::ApplyStyleCommand::splitTextAtStartIfNeeded):
(khtml::ApplyStyleCommand::splitTextAtEndIfNeeded):
(khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
(khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
(khtml::areIdenticalElements):
(khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
(khtml::ApplyStyleCommand::cleanUpEmptyStyleSpans):
(khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
(khtml::InsertParagraphSeparatorCommand::doApply):
(khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
(khtml::InsertTextCommand::prepareForTextInsertion):
(khtml::SplitTextNodeCommand::doUnapply):
(khtml::SplitElementCommand::SplitElementCommand):
(khtml::SplitElementCommand::~SplitElementCommand):
(khtml::SplitElementCommand::doApply):
(khtml::SplitElementCommand::doUnapply):
(khtml::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand):
(khtml::MergeIdenticalElementsCommand::~MergeIdenticalElementsCommand):
(khtml::MergeIdenticalElementsCommand::doApply):
(khtml::MergeIdenticalElementsCommand::doUnapply):
(khtml::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand):
(khtml::WrapContentsInDummySpanCommand::~WrapContentsInDummySpanCommand):
(khtml::WrapContentsInDummySpanCommand::doApply):
(khtml::WrapContentsInDummySpanCommand::doUnapply):
(khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
(khtml::SplitTextNodeContainingElementCommand::~SplitTextNodeContainingElementCommand):
(khtml::SplitTextNodeContainingElementCommand::doApply):
* khtml/editing/htmlediting.h:
New layout test that shows the side benefit of this.
* layout-tests/editing/style/unbold-in-bold-expected.txt: Added.
* layout-tests/editing/style/unbold-in-bold.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 24 Jan 2005 21:07:10 +0000 (21:07 +0000)]
* WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
Do the same check as for view types, so the representation types are consistent.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 24 Jan 2005 20:48:26 +0000 (20:48 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3933435> -[DOMRange cloneContents] sometimes alters the original DOMRange
* khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents): Fixed code that was collapsing
the range after processing the contents. That's right for extract and delete, but not clone.
- fixed <rdar://problem/
3714184> inline input works incorrectly when I type Korean slowly in textfield in form on www.google.co.kr
- fixed <rdar://problem/
3193848> Can't enter SSN to sign up for Chase visa online account (changing focus inside key press handler)
- fixed <rdar://problem/
3874683> REGRESSION (161-162): Crash after typing command-Z to undo after pasting text with newline in it into a text field <input type=text>
* kwq/KWQLineEdit.mm:
(QLineEdit::text): Changed to call a new string method on the controller instead of calling
stringValue, since stringValue has a bad side effect of ending inline input.
(QLineEdit::selectAll): Changed to only call selectText: when the field is already selected.
When you are giving the field focus, it automatically gets all selected, and this change
is required in the case where we defer the focus change.
* kwq/KWQTextField.h: Added a new string method to the controller.
* kwq/KWQTextField.mm:
(-[KWQTextFieldController setMaximumLength:]): Call the new string method instead of using stringValue.
(-[KWQTextFieldController controlTextDidChange:]): Removed the code to truncate at the first CR or LF.
That's now handled in the shouldChangeTextInRange method instead.
(-[KWQTextFieldController textView:shouldHandleEvent:]): Add new logic to defer responder changes until
after the event is handled. This makes sure the key gets into the field that's already handling it at
rather than ending up in the newly-focused field if the key press handler focuses a different element.
(-[KWQTextFieldController textView:didHandleEvent:]): Turn off deferral here, now that the key press
has been handled.
(-[KWQTextFieldController string]): Added. Calls stringValue only if there's no editor. If there is
an editor, calls string on that instead.
(-[KWQTextFieldController textView:shouldChangeTextInRange:replacementString:]): Added. Called by
the three field subclasses. Truncates incoming strings at the first CR or LF character. This works
properly with Undo, and the old technique did not.
(-[KWQTextFieldController preprocessString:]): Added. Helper used for all the setStringValue methods
so they all truncate at the first CR or LF as well as truncating to the appropriate length.
(-[KWQTextField setStringValue:]): Changed to call the controller.
(-[KWQTextField textView:shouldChangeTextInRange:replacementString:]): Added. Calls the controller.
(-[KWQSecureTextField setStringValue:]): More of the same.
(-[KWQSecureTextField textView:shouldChangeTextInRange:replacementString:]): Ditto.
(-[KWQSearchField setStringValue:]): Ditto.
(-[KWQSearchField textView:shouldChangeTextInRange:replacementString:]): Ditto.
* kwq/KWQWidget.h: Added the new setDeferFirstResponderChanges function.
* kwq/KWQWidget.mm:
(QWidget::~QWidget): Clear out the deferredFirstResponder global just in case we are destroyed
while we "have the ball".
(QWidget::hasFocus): If we are in the deferred mode, use the global to decide who to say is focused.
(QWidget::setFocus): If we are in the deferred mode, set the global instead of making something be
the first responder.
(QWidget::setDeferFirstResponderChanges): Set the boolean. If the boolean is being cleared, then
get the deferred first responder and call setFocus on it again, which will do the work we didn't
want to do earlier.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 24 Jan 2005 20:48:16 +0000 (20:48 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
* WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
few loose ends here: strikethrough and underline.
- fixed <rdar://problem/
3967393> add a user default that lets you turn off WebKit PDF support
* WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
Leave the PDF-handling classes out of the dictionary if the secret default is set.
* English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 24 Jan 2005 18:28:43 +0000 (18:28 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3964350> Deleting all content and typing in a message gets one letter, then beeps
This is a problem with the way we turn key events, when a user starts typing, into editing commands.
Right now, that initial delete key in an empty window is turned into an editing command, and much
editing code runs that need not run. What's more, this is confusing the selection machinery. The
solution is to detect the "delete in an empty window" case and don't turn this into an editing
command at all.
* khtml/editing/htmlediting.cpp:
(khtml::TypingCommand::deleteKeyPressed)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Mon, 24 Jan 2005 01:09:12 +0000 (01:09 +0000)]
Fixed <rdar://problem/
3964286> REGRESSION (178-179): menus and "go to old site" link at Ameritrade's new site don't work
Removed check for document from checkCompleted. In this case, WebCore never knew that a WebImageView was complete because
it fell into this document check case in checkCompleted.
Added check for document to tokenizerProcessedData (see <rdar://problem/
3807144>)
Reviewed by Darin.
* khtml/khtml_part.cpp:
(KHTMLPart::stop):
(KHTMLPart::checkCompleted):
* khtml/khtml_part.h:
* kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::tokenizerProcessedData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8434
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sat, 22 Jan 2005 00:48:28 +0000 (00:48 +0000)]
Fixed <rdar://problem/
3759399> Javascript / Liveconnect problems ((event handler):Undefined value)
Java applets specified with <object> or <embed> weren't scriptable. Now they are.
Reviewed by Chris.
* khtml/html/html_objectimpl.cpp:
(HTMLEmbedElementImpl::getEmbedInstance):
(HTMLObjectElementImpl::getObjectInstance):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Sat, 22 Jan 2005 00:16:54 +0000 (00:16 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3959464> REGRESSION (Mail): Insertion point goes back to beginning of document after deleting
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::handleGeneralDelete): Add special case to handle retaining a fully-selected block.
This fixes the bug.
* layout-tests/editing/deleting/delete-
3959464-fix-expected.txt: Added.
* layout-tests/editing/deleting/delete-
3959464-fix.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 21 Jan 2005 23:01:18 +0000 (23:01 +0000)]
Fixed <rdar://problem/
3966998> REGRESSION(179-TOT) clicking on gmail message brings me to blank screen
getElementById() sometimes returns Undefined() instead of Null().
Reviewed by Hyatt.
* khtml/ecma/kjs_dom.cpp:
(DOMDocumentProtoFunc::tryCall):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 21 Jan 2005 22:45:49 +0000 (22:45 +0000)]
Fix for
3773809, make sure that overflow regions never end up at an invalid scroll offset because of a layout change.
Reviewed by kocienda
* khtml/rendering/render_layer.cpp:
(RenderLayer::updateScrollInfoAfterLayout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 21 Jan 2005 22:43:54 +0000 (22:43 +0000)]
Reviewed by Kristin Forster.
- fixed <rdar://problem/
3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
* Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
to the event. Tested with both Contribute and CarbonWeb.
* English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 21 Jan 2005 21:45:20 +0000 (21:45 +0000)]
Fix for
3966349, hang loading page. Make sure that loops using popOneBlock properly check for a null
blockStack to avoid an infinite loop.
Reviewed by kocienda
* khtml/html/htmlparser.cpp:
(KHTMLParser::parseToken):
(KHTMLParser::insertNode):
(KHTMLParser::popInlineBlocks):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 21 Jan 2005 18:55:53 +0000 (18:55 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3957204> Mail crashed when sending a message in ~InsertParagraphSeparatorInQuotedContentCommand
* khtml/editing/htmlediting.cpp:
(khtml::InsertParagraphSeparatorInQuotedContentCommand::InsertParagraphSeparatorInQuotedContentCommand):
InsertParagraphSeparatorInQuotedContentCommand has this member variable: DOM::ElementImpl *m_breakNode;
I failed to initialize this variable to null in the constructor, and there is an uncommonly-traveled
code path which does not set this variable to something good. In the destructor, we check for null,
and deref if non-null. Obvious "BOOM" potential. Fixed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 21 Jan 2005 17:29:21 +0000 (17:29 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3966311> REGRESSION (Mail): Hitting return makes space character disappear
* khtml/editing/htmlediting.cpp:
(khtml::InsertParagraphSeparatorCommand::doApply): When writing the code to insert a block
in response to the return key, I did not write code to cover the case described in the bug.
Now I have.
* layout-tests/editing/inserting/insert-div-025-expected.txt: Added.
* layout-tests/editing/inserting/insert-div-025.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 21 Jan 2005 02:25:17 +0000 (02:25 +0000)]
Fixed <rdar://problem/
3815672> REGRESSION (Mail): Japanese text cannot be made bold
The AppKit's font substitution API doesn't match font traits!
It only find fonts that contain the appropriate glyphs. This
patch attempts to find the best variation within a family.
Also, made unrelated change to return printer/screen version of
substituted font.
Reviewed by Maciej.
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer _substituteFontForString:families:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 21 Jan 2005 01:50:02 +0000 (01:50 +0000)]
Reviewed by Ken.
<rdar://problem/
3965196> security fix for javascript: exploit missed one case (already fixed in updates)
* khtml/ecma/kjs_window.cpp:
(WindowFunc::tryCall): correct mistake in earlier fix for the following bug, caught by Adele:
<rdar://problem/
3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 21 Jan 2005 01:36:41 +0000 (01:36 +0000)]
Reviewed by Ken.
<rdar://problem/
3965466> editing needs to insert text before applying typing style
* khtml/editing/htmlediting.cpp:
(khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Remove a FIXME comment.
(khtml::InsertLineBreakCommand::doApply): Apply style to the BR
node after inserting it.
(khtml::InsertTextCommand::prepareForTextInsertion): Don't try to
apply style to any new nodes created before inserting.
(khtml::InsertTextCommand::input): Apply style to the inserted range
after doing the text insert.
* khtml/editing/htmlediting.h:
This change leads to improved results on one of the layout tests:
* layout-tests/editing/inserting/insert-div-024-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 21 Jan 2005 01:22:08 +0000 (01:22 +0000)]
Reviewed by me, changes by Han Ming Ong.
- <rdar://problem/
3964302> SWB: A few files need to be updated to be compilable under GCC 4.0
* bindings/objc/WebScriptObjectPrivate.h: Make members public.
* kjs/lookup.h: Change "value.h" to "object.h" because we need KJS::Object to compile a template.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 21 Jan 2005 00:58:23 +0000 (00:58 +0000)]
move the Safari-180 release-marker in the ChangeLog, since the fix for
3786659 will be included in Safari-180
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 21 Jan 2005 00:50:30 +0000 (00:50 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
with FIXME's in them for make bigger and make smaller with real working code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 21 Jan 2005 00:41:59 +0000 (00:41 +0000)]
Fixed <rdar://problem/
3964634> undefined property value from binding seems to evaluate to true in an if statement
The comprehensive fix for this problem requires new API, as described in
3965326. However,
given that we can't add new API at this point, the 'ObjcFallbackObjectImp' will behave
like and Undefined object if invokeUndefinedMethodFromWebScript:withArguments: isn't
implemented on the bound object.
Reviewed by Chris.
* bindings/objc/objc_runtime.h:
* bindings/objc/objc_runtime.mm:
(ObjcFallbackObjectImp::type):
(ObjcFallbackObjectImp::implementsCall):
(ObjcFallbackObjectImp::toBoolean):
* bindings/testbindings.mm:
(+[MyFirstInterface isSelectorExcludedFromWebScript:]):
(+[MyFirstInterface isKeyExcludedFromWebScript:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 21 Jan 2005 00:01:07 +0000 (00:01 +0000)]
Finished my thought in the changelog. I left a comment half-written earlier.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 20 Jan 2005 23:47:42 +0000 (23:47 +0000)]
Versioning for TOT, Safari 2.0 (180+).
The tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 20 Jan 2005 23:33:44 +0000 (23:33 +0000)]
Safari-180 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc