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
kocienda [Thu, 20 Jan 2005 22:02:17 +0000 (22:02 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3964646> REGRESSION (179-180): Typing space at end of line makes following paragraph disappear
* khtml/editing/htmlediting.cpp:
(khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Recent change to block placeholder removal code
caused this regression. The code became too aggressive in removing block placeholders, and would remove them
from blocks other than the block containing the selection.
* layout-tests/editing/inserting/insert-div-023-expected.txt: This file had a spur
* layout-tests/editing/inserting/insert-div-024-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 20 Jan 2005 20:36:29 +0000 (20:36 +0000)]
Fix for oddness on albertsons.com. Make sure not to crash when setting/removing style properties on a node
with no document. The bug # is
3813900.
Reviewed by john
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 20 Jan 2005 19:34:48 +0000 (19:34 +0000)]
Reviewed by Darin.
PARTIAL fix for following bug. Create attributed string with fonts and links. Still need to add attachments.
<rdar://problem/
3942606> AX: Support kAXAttributedStringForTextMarkerRangeParameterizedAttribute
* kwq/KWQAccObject.mm:
(-[KWQAccObject textUnderElement]):
Touched up previous checkin to match code review comments.
(-[KWQAccObject value]):
Use plainText for this one instead of obsolete attributedString.
(-[KWQAccObject accessibilityParameterizedAttributeNames]):
Advertise AXAttributedStringForTextMarkerRange.
(AXAttributeStringAddFont):
(AXAttributeStringAddElement):
(-[KWQAccObject linkUIElementForNode:]):
(-[KWQAccObject _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[KWQAccObject accessibilityAttributedStringForRange:]):
New routines to support AXAttributedStringForTextMarkerRange.
(-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
Use new routines instead of obsolete attributedString.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 20 Jan 2005 19:01:44 +0000 (19:01 +0000)]
Reviewed by Darin.
<rdar://problem/
3960196> AX Crash in DOM::Range::setStartBefore
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::getAccObjectCache):
Adjust when detecting cache in non-top level WebArea.
* kwq/KWQAccObject.mm:
(-[KWQAccObject textUnderElement]):
(-[KWQAccObject accessibilityAttributeValue:]):
Make sure the elements document is the current one for the part.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 20 Jan 2005 18:05:19 +0000 (18:05 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3922980> Mail not crashing, just quitting itself suddenly in -[WebHTMLView(MailExtras) findString:options:]
* khtml/dom/dom2_range.cpp: (DOM::operator==): Handle null and detached ranges without raising exceptions.
The uncaught exception would make the entire program terminate.
- fixed <rdar://problem/
3885729> attempting to modify a computed style does nothing, but should raise a DOM exception
* kwq/DOM-CSS.mm: (-[DOMCSSStyleDeclaration setProperty:::]): Uncommented this code which I had to disable
back in November because Mail was stumbling over it.
- fixed <rdar://problem/
3943049> focus() called during onload handler results in square text field on <input type=search>
* kwq/KWQLineEdit.mm: (QLineEdit::baselinePosition): Change computation so it will work even for fields
that position their text in a way that depends on vertical size. In the case of a search field, the text
is centered, so the old logic was broken.
* kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]): Set the frame size to
something large enough to accomodate the field editor. If we start the frame at size 0,0 we run into
AppKit trouble when it insets the frame to figure out the frame for the field editor. In the case of this
bug this happens because we become first responder before being sized and positioned by the HTML layout code.
- improved debugging output when using "po" from gdb with Objective-C DOM
* kwq/DOM.mm:
(-[DOMNode description]): Added. Includes node name ("<tr>") and node value (e.g., string for text node).
(-[DOMRange description]): Tweaked format.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 20 Jan 2005 02:09:23 +0000 (02:09 +0000)]
After further discussion with Real we have decided to NOT include the
additional CLSID for the real plugin. See
3958601.
Reviewed by Darin.
* khtml/rendering/render_frames.cpp:
(RenderPartObject::updateWidget):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 20 Jan 2005 01:39:19 +0000 (01:39 +0000)]
Fixed <rdar://problem/
3853676> Browser Crash when accessing CCWeb Progress Page - KJS::Bindings::convertValueToJValue
Fixed the following problems with LiveConnect that are demonstrated by the application
described in
3853676.
1. If a nil object is passed in an array from Java to JavaScript we will crash.
2. We sometimes will incorrectly attempt to access a generic JavaScript as a Java runtime object wrapper.
3. We will sometimes fail to find the correct static method ID.
Reviewed by Maciej.
* bindings/jni/jni_jsobject.cpp:
(JSObject::convertJObjectToValue):
(JSObject::listFromJArray):
* bindings/jni/jni_runtime.cpp:
(JavaField::valueFromInstance):
(JavaField::setValueToInstance):
* bindings/jni/jni_utility.cpp:
(KJS::Bindings::getMethodID):
(KJS::Bindings::convertValueToJValue):
* bindings/runtime_array.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 20 Jan 2005 00:45:57 +0000 (00:45 +0000)]
Reviewed by Maciej.
<rdar://problem/
3949429> AX: word marker routines returns incorrect data for empty line
Previous checkin for this bug was missing some of the patch. Editing snafu with multiple changes in tree.
* kwq/KWQAccObject.mm:
(-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
(-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
(-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousParagraphStartTextMarkerForTextMarker:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 20 Jan 2005 00:05:14 +0000 (00:05 +0000)]
Fix for
3513067, spaces being lost when RTL text is rendered. Make sure not to allow hangers or spaces
in the margin.
Reviewed by john
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 20 Jan 2005 00:01:58 +0000 (00:01 +0000)]
Reviewed by John
* khtml/editing/htmlediting.cpp:
(khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Small, cosmetic change John and I decided
to do on my last checkin, but I forgot to do before landing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 19 Jan 2005 23:54:09 +0000 (23:54 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3959727> REGRESSION (Mail): Style not preserved on blank lines
* khtml/editing/htmlediting.cpp:
(khtml::CompositeEditCommand::applyStyle):
(khtml::CompositeEditCommand::insertBlockPlaceholder): New function that unconditionally adds a block placeholder.
(khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Now returns bool based on whether
placeholder was added or not.
(khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Now searches all the descendents of a block
looking for a placeholder. The old code, which just looked at the last child of a node, started missing
once block placeholders became styled (which started happening with this patch).
(khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Now handles applying typing style
to a block placeholder at call time, rather than setting the typing style as a latent style that
might be applied later. This is an important part of the bug fix.
(khtml::DeleteSelectionCommand::doApply): Now uses bool return value from insertBlockPlaceholderIfNeeded()
and passes it along to calculateStyleBeforeInsertion, so the case where a block placeholder needs to
be styled can be detected.
(khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): Changed the way this class
managed style. Before it would calculate and set typing style for the block added. This is not
sufficient. Added blocks need to styled immediately. Some name changes to instance variables in
this class due to the change to accommodate this change.
(khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand): Name changes, as above.
(khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto.
(khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
(khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
(khtml::ReplaceSelectionCommand::doApply): Improve check for testing when a placeholder
block can be removed in its entirety after the insertion.
* khtml/editing/htmlediting.h: Update header accordingly.
* khtml/khtml_part.cpp:
(KHTMLPart::selectionComputedStyle): Move position for computed style check downstream before
doing check when the position is in an empty block (this makes sure any style on any block
placeholder is accounted for).
New layout tests to check bug fix.
* layout-tests/editing/style/block-style-004-expected.txt: Added.
* layout-tests/editing/style/block-style-004.html: Added.
* layout-tests/editing/style/block-style-005-expected.txt: Added.
* layout-tests/editing/style/block-style-005.html: Added.
* layout-tests/editing/style/block-style-006-expected.txt: Added.
* layout-tests/editing/style/block-style-006.html: Added.
Results updated to reflect new block placeholder code.
* layout-tests/editing/inserting/insert-div-004-expected.txt
* layout-tests/editing/inserting/insert-div-005-expected.txt
* layout-tests/editing/inserting/insert-div-006-expected.txt
* layout-tests/editing/inserting/insert-div-008-expected.txt
* layout-tests/editing/inserting/insert-div-011-expected.txt
* layout-tests/editing/inserting/insert-div-012-expected.txt
* layout-tests/editing/inserting/insert-div-013-expected.txt
* layout-tests/editing/inserting/insert-div-014-expected.txt
* layout-tests/editing/inserting/insert-div-015-expected.txt
* layout-tests/editing/inserting/insert-div-016-expected.txt
* layout-tests/editing/inserting/insert-div-017-expected.txt
* layout-tests/editing/inserting/insert-div-018-expected.txt
* layout-tests/editing/inserting/insert-div-019-expected.txt
* layout-tests/editing/inserting/insert-div-021-expected.txt
* layout-tests/editing/inserting/insert-div-022-expected.txt
* layout-tests/editing/inserting/insert-div-023-expected.txt
* layout-tests/editing/inserting/insert-div-024-expected.txt
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 19 Jan 2005 22:57:03 +0000 (22:57 +0000)]
Reviewed by vicki
- fixed <rdar://problem/
3962559> stopAnimationsInView leaks after cvs-base
* WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 19 Jan 2005 22:43:39 +0000 (22:43 +0000)]
Dont null-check the renderer before submitting, since a script can set it to display:none and still expect the
submission to occur. Fixes bug #
3477282.
Reviewed by kdecker
(DOM::HTMLInputElementImpl::defaultEventHandler):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 19 Jan 2005 18:39:11 +0000 (18:39 +0000)]
Fixed: <rdar://problem/
3961809> plug-in code attempts to load empty URL
Reviewed by john.
* Plugins.subproj/WebNetscapePluginEmbeddedView.m:
(-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 19 Jan 2005 02:34:22 +0000 (02:34 +0000)]
WebCore:
Fixed several issues all arising from analysis of plugin detection code at ifilm.com:
Fixed <rdar://problem/
3958592> can't script plug-ins if plug-in is invoked with <object> element instead of <embed>
Fixed <rdar://problem/
3958597> <object> elements with IDs do not show up as named properties of the document
Fixed <rdar://problem/
3960973> DOM objects for plugin elements are not accessible
Fixed <rdar://problem/
3958601> need an additional class ID in WebCore for the Real plug-in
We now support accessing scriptable plugin objects that are specified with <applet>, <embed>, or <object>
tags. Also, if any of these elements are named they can be accessed from the document or window objects.
Finally, DOM methods are properties will be forwarded appropriately for the plugin's root scriptable object.
Reviewed by Chris.
* khtml/dom/html_document.cpp:
(HTMLDocument::objects):
* khtml/dom/html_document.h:
* 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::HTMLCollection::tryGet):
(KJS::HTMLCollection::getNamedItems):
* khtml/ecma/kjs_window.cpp:
(Window::get):
* khtml/html/html_miscimpl.cpp:
(HTMLCollectionImpl::traverseNextItem):
* khtml/html/html_miscimpl.h:
(DOM::HTMLCollectionImpl::):
* khtml/html/html_objectimpl.cpp:
(HTMLAppletElementImpl::getAppletInstance):
(HTMLObjectElementImpl::HTMLObjectElementImpl):
(HTMLObjectElementImpl::getObjectInstance):
* khtml/html/html_objectimpl.h:
* khtml/rendering/render_frames.cpp:
(RenderPartObject::updateWidget):
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::getObjectInstanceForView):
JavaScriptCore:
Fixed several issues all arising from analysis of plugin detection code at ifilm.com:
Fixed <rdar://problem/
3958592> can't script plug-ins if plug-in is invoked with <object> element instead of <embed>
Fixed <rdar://problem/
3958597> <object> elements with IDs do not show up as named properties of the document
Fixed <rdar://problem/
3960973> DOM objects for plugin elements are not accessible
Fixed <rdar://problem/
3958601> need an additional class ID in WebCore for the Real plug-in
We now support accessing scriptable plugin objects that are specified with <applet>, <embed>, or <object>
tags. Also, if any of these elements are named they can be accessed from the document or window objects.
Finally, DOM methods are properties will be forwarded appropriately for the plugin's root scriptable object.
Reviewed by Chris.
* bindings/objc/objc_instance.h:
* bindings/objc/objc_instance.mm:
(ObjcInstance::supportsSetValueOfUndefinedField):
* bindings/runtime.h:
(KJS::Bindings::Instance::supportsSetValueOfUndefinedField):
* bindings/runtime_object.cpp:
(RuntimeObjectImp::RuntimeObjectImp):
(RuntimeObjectImp::get):
(RuntimeObjectImp::put):
(RuntimeObjectImp::canPut):
(RuntimeObjectImp::hasProperty):
(RuntimeObjectImp::defaultValue):
* bindings/runtime_object.h:
(KJS::RuntimeObjectImp::fallbackObject):
* kjs/object.cpp:
(KJS::ObjectImp::ObjectImp):
* kjs/object.h:
(KJS::ObjectImp::forwardingScriptMessage):
(KJS::ObjectImp::setForwardingScriptMessage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 18 Jan 2005 23:08:50 +0000 (23:08 +0000)]
Fix for
3948123, rolling over link erases nearby text. The repaint rect check for lines was wrong whenever
two lines overlapped.
Reviewed by kocienda
* khtml/rendering/render_flow.cpp:
(RenderFlow::paintLines):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 18 Jan 2005 22:58:47 +0000 (22:58 +0000)]
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3960116> Focus rings paint incorrectly for contenteditable blocks in web pages
* khtml/rendering/render_flow.cpp:
(RenderFlow::addFocusRingRects): Fix painting of focus rings so that ring only paints around
outermost contenteditable elements.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 18 Jan 2005 22:52:52 +0000 (22:52 +0000)]
Back out a change that was incorrectly committed yesterday.
Reviewed by Chris.
* bindings/objc/objc_utility.mm:
(KJS::Bindings::convertValueToObjcValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 18 Jan 2005 21:03:46 +0000 (21:03 +0000)]
Reviewed by Darin.
<rdar://problem/
3959668> accessibilityFocusedUIElement sometimes returns an ignored element; it must not
* kwq/KWQAccObject.mm:
(-[KWQAccObject accessibilityFocusedUIElement]):
Return parentObjectUnignored if focused object is ignored.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 18 Jan 2005 18:11:21 +0000 (18:11 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3952877> REGRESSION (Mail): Command-left/right-arrows don't work with file attachment
* khtml/editing/selection.cpp:
(khtml::nodeForInlineBox): New helper function used in reimplementation of function below.
(khtml::selectionForLine): Reimplemented using line box smarts. I originally wrote this code when
I had a less than full understanding of line layout. I can do better now, and my new version no
longer fails to notice attachments when doing the kind of navigation mentioned in the bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 18 Jan 2005 01:44:49 +0000 (01:44 +0000)]
Reviewed by John Sullivan.
<rdar://problem/
3949429> AX: word marker routines returns incorrect data for empty line
<rdar://problem/
3949848> AX: paragraph marker routines do not work when given a paragraph end marker
Also fixed sentence support in the same way.
* kwq/KWQAccObject.mm:
(-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
(-[KWQAccObject doAXNextSentenceEndTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
(-[KWQAccObject doAXNextParagraphEndTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousParagraphStartTextMarkerForTextMarker:]):
Move one position in desired direction before calling visible_units.cpp code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 18 Jan 2005 01:33:40 +0000 (01:33 +0000)]
Updated expected test results.
<rdar://problem/
3945880> line-ending space seems not to be present
* layout-tests/editing/deleting/delete-ws-fixup-001-expected.txt:
* layout-tests/editing/deleting/delete-ws-fixup-002-expected.txt:
* layout-tests/editing/inserting/insert-div-020-expected.txt:
* layout-tests/editing/inserting/insert-div-021-expected.txt:
* layout-tests/editing/inserting/insert-div-022-expected.txt:
* layout-tests/editing/inserting/insert-div-023-expected.txt:
* layout-tests/editing/inserting/insert-div-024-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 18 Jan 2005 01:07:26 +0000 (01:07 +0000)]
Reviewed by Dave Hyatt (bidi.cpp) and Darin Adler (selection.cpp).
<rdar://problem/
3945880> line-ending space seems not to be present
* khtml/editing/selection.cpp:
(khtml::Selection::validate):
Extend AFTER_WHITE_SPACE code to support white spac in the middle of paragraphs, not just the end.
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::findNextLineBreak):
Pick left/rightness of word selection based on being at the end of paragraph (i.e. after a hard line break).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 18 Jan 2005 01:06:27 +0000 (01:06 +0000)]
* DOM.subproj/DOMPrivate.h: Check in generated file.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 18 Jan 2005 00:43:14 +0000 (00:43 +0000)]
Reviewed by John Louch.
- fixed <rdar://problem/
3958503> need screenX and screenY to use WebKit windowFrame delegate
* khtml/ecma/kjs_window.cpp: (Window::get): Change screenX and screenY to use frameGeometry instead
of using mapToGlobal and screen in a complicated way.
* kwq/KWQKHTMLView.mm: Removed unused mapToGlobal function.
* kwq/KWQWindowWidget.h: Ditto.
* kwq/KWQWindowWidget.mm: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 17 Jan 2005 23:30:10 +0000 (23:30 +0000)]
Add layout test for overflow float bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 17 Jan 2005 23:27:03 +0000 (23:27 +0000)]
Fix a screwup in rightmost/lowets position computation.
3955207. Make sure floats with layers are still checked.
Reviewed by kocienda
* khtml/rendering/render_block.cpp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 17 Jan 2005 23:23:21 +0000 (23:23 +0000)]
Reviewed by John and Richard.
- fixed <rdar://problem/
3907453> printing a multi-page PDF document from Safari doesn't produce correct output
* WebView.subproj/WebFrameViewPrivate.h: Added.
* WebView.subproj/WebFrameView.m:
(-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
the work is compatible with our header and footer code.
(-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
the NSPrintOperation, and also the PDFKit SPI works this way.
* WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
* WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
* WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.
* WebView.subproj/WebPDFView.m:
(-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
(-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.
* WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 17 Jan 2005 23:08:05 +0000 (23:08 +0000)]
Fixed build snafu.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 17 Jan 2005 22:54:43 +0000 (22:54 +0000)]
Reviewed by John
<rdar://problem/
3953366> Problems with typing attributes in HTML compose
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Remove misguided "optimization"
that tried to sense when typing style could be cleared without actually doing a style diff between
before-delete and after-delete positions. Removing this extra check and running the
general-purpose code fixes the bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 17 Jan 2005 22:41:22 +0000 (22:41 +0000)]
WebCore:
Fixed <rdar://problem/
3753030> Need to ensure same origin for plugin binding invocations (origin security rules)
Keep track of originating execution context and target execution
context for native JS object wrappers, and perform appropriate
security checks.
Reviewed by David Harrison.
* khtml/ecma/kjs_binding.cpp:
(ScriptInterpreter::isGlobalObject):
(ScriptInterpreter::isSafeScript):
(ScriptInterpreter::interpreterForGlobalObject):
* khtml/ecma/kjs_binding.h:
* khtml/ecma/kjs_window.cpp:
(Window::interpreter):
(Window::isSafeScript):
* khtml/ecma/kjs_window.h:
* kwq/DOMInternal.mm:
(-[WebScriptObject _initializeScriptDOMNodeImp]):
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::windowScriptObject):
(KWQKHTMLPart::windowScriptNPObject):
* kwq/WebCoreBridge.mm:
(rootForView):
(-[WebCoreBridge init]):
JavaScriptCore:
Fixed <rdar://problem/
3753030> Need to ensure same origin for plugin binding invocations (origin security rules)
Keep track of originating execution context and target execution
context for native JS object wrappers, and perform appropriate
security checks.
Reviewed by David Harrison.
* bindings/NP_jsobject.cpp:
(_isSafeScript):
(_NPN_CreateScriptObject):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_SetException):
* bindings/NP_jsobject.h:
* bindings/c/c_instance.cpp:
(CInstance::CInstance):
(CInstance::stringValue):
* bindings/c/c_instance.h:
* bindings/c/c_utility.cpp:
(convertValueToNPVariant):
* bindings/jni/jni_instance.cpp:
(JavaInstance::JavaInstance):
(JavaInstance::valueOf):
* bindings/jni/jni_instance.h:
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _initializeWithObjectImp:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
(-[WebScriptObject _initWithObjectImp:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
(-[WebScriptObject KJS::Bindings::]):
(-[WebScriptObject _setOriginExecutionContext:KJS::Bindings::]):
(-[WebScriptObject _isSafeScript]):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
* bindings/objc/WebScriptObjectPrivate.h:
* bindings/objc/objc_instance.h:
* bindings/objc/objc_runtime.mm:
(convertValueToObjcObject):
* bindings/objc/objc_utility.mm:
(KJS::Bindings::convertValueToObjcValue):
* bindings/runtime.cpp:
(Instance::Instance):
(Instance::operator=):
* bindings/runtime.h:
(KJS::Bindings::Instance::Instance):
(KJS::Bindings::Instance::setExecutionContext):
(KJS::Bindings::Instance::executionContext):
* bindings/runtime_root.cpp:
(RootObject::setInterpreter):
* bindings/runtime_root.h:
* kjs/interpreter.h:
(KJS::Interpreter::isGlobalObject):
(KJS::Interpreter::interpreterForGlobalObject):
(KJS::Interpreter::isSafeScript):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 17 Jan 2005 22:20:50 +0000 (22:20 +0000)]
Roll out unintended work-in-progress change
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 17 Jan 2005 22:18:47 +0000 (22:18 +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
* khtml/css/cssparser.cpp:
(CSSParser::parseValue): Add support for parsing new font size delta property.
* khtml/css/cssproperties.c: Generated file.
* khtml/css/cssproperties.h: Ditto.
* khtml/css/cssproperties.in: Add support for parsing new font size delta property.
* khtml/editing/htmlediting.cpp:
(khtml::isEmptyStyleSpan): New helper function. Code existed before, but now factored out for convenient use.
(khtml::CompositeEditCommand::removeNodeAttribute): Does check on value to see it exists before creating
and running command to do the removal.
(khtml::ApplyStyleCommand::doApply): Now calls new applyRelativeFontStyleChange() function as part of its work.
(khtml::ApplyStyleCommand::applyRelativeFontStyleChange): New function that does the "heavy lifting" to handle
relative font size changes.
(khtml::ApplyStyleCommand::applyInlineStyle): Range check the start and end positions to make sure the start is
before or equal to the end. Swap them if not true. I ran into this problem in some similar code in
applyRelativeFontStyleChange(). Moving that goodness here too.
(khtml::ApplyStyleCommand::splitTextAtEndIfNeeded): Uses a local variable to save a value used often.
Code is the same, but reads better now. Function now returns bool as well, just like splitTextAtStartIfNeeded.
I use the bool return value now (I obviously did not need it before).
(khtml::ApplyStyleCommand::computedFontSize): New helper function.
(khtml::ApplyStyleCommand::joinChildTextNodes): Ditto.
(khtml::createStyleSpanElement): Ditto.
* khtml/editing/htmlediting.h: Update header accordingly.
* khtml/editing/jsediting.cpp: Add new command string to enable relative font size changes.
* kwq/DOM-CSS.mm:
(-[DOMCSSStyleDeclaration _fontSizeDelta]): New convenience.
(-[DOMCSSStyleDeclaration _setFontSizeDelta:]): Ditto.
* kwq/DOMPrivate.h: Declare new conveniences.
* layout-tests/editing/editing.js: Add new JS to enable relative font size changes, as well as explicit font size setting.
* layout-tests/editing/style/relative-font-size-change-001-expected.txt: Added.
* layout-tests/editing/style/relative-font-size-change-001.html: Added.
* layout-tests/editing/style/relative-font-size-change-002-expected.txt: Added.
* layout-tests/editing/style/relative-font-size-change-002.html: Added.
* layout-tests/editing/style/relative-font-size-change-003-expected.txt: Added.
* layout-tests/editing/style/relative-font-size-change-003.html: Added.
* layout-tests/editing/style/relative-font-size-change-004-expected.txt: Added.
* layout-tests/editing/style/relative-font-size-change-004.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 14 Jan 2005 23:55:37 +0000 (23:55 +0000)]
* khtml/css/cssproperties.c: Regenerated with gperf 3.0.1.
* khtml/css/cssvalues.c: Regenerated with gperf 3.0.1.
* khtml/misc/htmlattrs.c: Regenerated with gperf 3.0.1.
* khtml/misc/htmltags.c: Regenerated with gperf 3.0.1.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 14 Jan 2005 20:09:32 +0000 (20:09 +0000)]
Fixed: <rdar://problem/
3886415> arrow keys don't work when the user hits Back to return to RSS page
Reviewed by hyatt.
(KWQKHTMLPart::openURLFromPageCache): restore mousePressNode
(KWQKHTMLPart::mousePressNode): new
* kwq/KWQPageState.h:
* kwq/KWQPageState.mm:
(-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:]): save the mousePressNode
(-[KWQPageState clear]): clear the mousePressNode
(-[KWQPageState dealloc]): deref the mousePressNode
(-[KWQPageState mousePressNode]): new
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 14 Jan 2005 01:01:03 +0000 (01:01 +0000)]
Fixed: <rdar://problem/
3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist
Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences
which allows plug-ins create an auxiliary MIME types file.
Reviewed by adele.
* Plugins.subproj/WebBasePluginPackage.h:
* Plugins.subproj/WebBasePluginPackage.m:
(+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage
(-[WebBasePluginPackage pListForPath:createFile:]): ditto
(-[WebBasePluginPackage getPluginInfoFromPLists]): ditto
(-[WebBasePluginPackage isLoaded]): return isLoaded ivar
(-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol
* Plugins.subproj/WebNetscapePluginPackage.h:
* Plugins.subproj/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
* Plugins.subproj/WebPluginPackage.m:
(-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists
(-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 14 Jan 2005 00:17:57 +0000 (00:17 +0000)]
Changed another place where the method name was incorrect in
the comment.
Reviewed (and found) by Darin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 14 Jan 2005 00:11:52 +0000 (00:11 +0000)]
Fixed <rdar://problem/
3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava)
Reviewed by Maciej.
* Plugins.subproj/WebJavaPlugIn.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 14 Jan 2005 00:05:35 +0000 (00:05 +0000)]
Safari-179+ for TOT. The tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 13 Jan 2005 23:58:31 +0000 (23:58 +0000)]
Safari-179 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 13 Jan 2005 23:54:30 +0000 (23:54 +0000)]
Reviewed by Adele.
- fix <rdar://problem/
3946836> Safari about box lists 2004 instead of 2005
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 13 Jan 2005 22:13:04 +0000 (22:13 +0000)]
Fixed <rdar://problem/
3951911> REGRESSION: Animated GIF images with loop counts no longer update
Draw last image after animation loop terminates. (We
were drawing the image at index+1, which doesn't exist!)
Reviewed by Darin.
* WebCoreSupport.subproj/WebImageData.m:
(-[WebImageData _nextFrame:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 13 Jan 2005 22:02:58 +0000 (22:02 +0000)]
Fixed <rdar://problem/
3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover
Turn off use of new CGContextStrokeLineSegments API. We should
turn back on when
3952944 is fixed.
Reviewed by Darin.
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 13 Jan 2005 21:17:34 +0000 (21:17 +0000)]
fixed incorrect check-in date
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 13 Jan 2005 19:45:33 +0000 (19:45 +0000)]
Reviewed by Ken Kocienda.
Better fix for
3905066.
* khtml/editing/htmlediting.cpp:
(khtml::InsertParagraphSeparatorCommand::doApply):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 13 Jan 2005 19:41:52 +0000 (19:41 +0000)]
Fixed: <rdar://problem/
3937663> repro assertion failure and crash dragging image that has PDF source
Reviewed by adele.
* Misc.subproj/WebNSViewExtras.m:
(-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): if [WebImageRenderer image] returns nil, fallback to code that uses a file icon as the drag image
* WebCoreSupport.subproj/WebImageRendererFactory.m:
(-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView
* WebView.subproj/WebImageView.m:
(+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Thu, 13 Jan 2005 19:09:58 +0000 (19:09 +0000)]
WebCore:
Reviewed by Darin.
<rdar://problem/
3758033> REGRESSION (Mail): Support attributes in marked text (International input)
* khtml/rendering/render_text.cpp:
(InlineTextBox::paint): Support painting custom underline markers for
marked text in place of generic yellow.
(InlineTextBox::paintMarkedTextUnderline): New method that handles this.
* khtml/rendering/render_text.h:
* kwq/KWQKHTMLPart.h: Declare new methods and structs.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::clear): Clear marked test underlines.
(KWQKHTMLPart::setMarkedTextRange): Takes attributes and ranges now.
(convertAttributesToUnderlines): Converts NSAttributedString attributes
to simplified and C++-friendly form.
(KWQKHTMLPart::markedTextUsesUnderlines): New method.
(KWQKHTMLPart::markedTextUnderlines): New method.
* kwq/KWQPainter.mm:
(QPainter::drawLineForText): Handle pen width.
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge setMarkedTextDOMRange:customAttributes:ranges:]): Take attributes
and ranges.
* kwq/WebCoreTextRenderer.h:
WebKit:
Reviewed by Darin.
<rdar://problem/
3758033> REGRESSION (Mail): Support attributes in marked text (International input)
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support
underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by
.5 pixels, since the rendering engine can't give a fractional pixel offset.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked
clause attributes. Others that NSText supports are unimplemented for now.
(-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging.
(-[WebHTMLView unmarkText]): Updated for new WebCore SPI.
(-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes
and ranges out of an attributed string.
(-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore.
(-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings
here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 13 Jan 2005 01:31:43 +0000 (01:31 +0000)]
Reviewed by Dave Hyatt.
<rdar://problem/
3888973> AX: Parent AXWebArea of nested AXWebAreas is messed up
* kwq/KWQAccObject.mm:
(-[KWQAccObject addChildrenToArray:]):
Use the widget's outer view.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 13 Jan 2005 01:19:52 +0000 (01:19 +0000)]
Reviewed by Darin Adler.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::displayNode):
Add quotes around text node content.
(NodeBaseImpl::childNode):
Add nil check to return nil rather than crash when child node not found.
* kwq/KWQAccObject.mm:
(-[KWQAccObject doAXStringForTextMarkerRange:]):
Pass range compliant positions to TextIterator.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 12 Jan 2005 23:55:08 +0000 (23:55 +0000)]
Reviewed by Ken.
- fixed <rdar://problem/
3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView)
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the
layouts here in this call, since it's before propagating the dirty rects to our ancestors.
This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can
optimize by only doing layouts you really need, and doing them later on is safe because we
know we don't need to draw any of the views behind us.
(-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below.
(-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call,
but unconditional.
(-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the
_layoutIfNeeded method above. Otherwise unchanged.
(-[NSView _web_layoutIfNeededRecursive]): Added.
* WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO
on the scroll view when changing the frame to no longer be in "draws background" mode. This
is needed because the frame manages the "draws background" mode of the scroll view. It won't
have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without
it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari).
This was hidden before because the HTML view was filling with transparent color, which blew away
the fill that was done by NSScrollView.
- fixed <rdar://problem/
3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData
* WebCoreSupport.subproj/WebImageData.m:
(-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast.
(+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject,
build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the
objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather
all the renderers because the process of stopping modifies the active sets.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 12 Jan 2005 23:41:00 +0000 (23:41 +0000)]
Avoid additional work on dealloc by adding early out to
removeNativeReference(). (This will save time on dealloc
for all ObjC DOM objects.)
Reviewed by Darin.
* bindings/runtime_root.cpp:
(KJS::Bindings::removeNativeReference):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 12 Jan 2005 23:33:21 +0000 (23:33 +0000)]
Fix for
3951203, CSS border style incorrectly clipped on inline elements. Make sure the repaint rect set during
line layout is smarter about including the overflow for both old states and new states.
Reviewed by john
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::layoutInlineChildren):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 12 Jan 2005 23:24:18 +0000 (23:24 +0000)]
Fixed <rdar://problem/
3923356> REGRESSION: Java/JavaScript security checks working incorrectly
We were always returning the first "root" object for all runtime
objects. Changed 0 in loop to i, the index.
Reviewed by David Harrison.
* bindings/runtime_root.cpp:
(KJS::Bindings::rootForImp):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 12 Jan 2005 22:03:55 +0000 (22:03 +0000)]
Fixed <rdar://problem/
3887930> Must use new Java plug-in API to get/set fields so exception handling works (fixes many LiveConnect crashes)
Use the new dispatching API to invoke JNI, rather than calling JNI
directly.
Reviewed by David Harrison.
* bindings/jni/jni_instance.cpp:
(JavaInstance::invokeMethod):
* bindings/jni/jni_runtime.cpp:
(JavaField::dispatchValueFromInstance):
(JavaField::valueFromInstance):
(JavaField::dispatchSetValueToInstance):
(JavaField::setValueToInstance):
* bindings/jni/jni_runtime.h:
* bindings/jni/jni_utility.cpp:
(KJS::Bindings::convertValueToJValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 12 Jan 2005 21:41:05 +0000 (21:41 +0000)]
Fixed <rdar://problem/
3926825> Safari ignores GIF loop count
Get loop count from file properties, not image properties.
Reviewed by Ken Kocienda.
* WebCoreSupport.subproj/WebImageData.h:
* WebCoreSupport.subproj/WebImageData.m:
(-[WebImageData _commonTermination]):
(-[WebImageData fileProperties]):
(-[WebImageData _floatProperty:type:at:]):
(-[WebImageData _floatFileProperty:type:]):
(-[WebImageData _repetitionCount]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 12 Jan 2005 19:13:35 +0000 (19:13 +0000)]
Fix for bug
3937608, versiontracker.com flashes and displays the right column below content. Make sure to move
tables/overflows that dont fit within a block only in strict mode.
Fix for bug
3931049, characters dont show up when typing. Make sure to dirty the right lines when this specific
case in editing is hit.
Reviewed by darin (first one), kocienda (second one)
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::getClearDelta):
* khtml/rendering/render_flow.cpp:
(RenderFlow::dirtyLinesFromChangedChild):
* khtml/rendering/render_line.cpp:
(khtml::InlineFlowBox::verticallyAlignBoxes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 12 Jan 2005 17:55:08 +0000 (17:55 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3926142> REGRESSION (Mail): Deleting text decreases quote level
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::initializePositionData): Change test that will prevent block
merging. End-of-line test was just wrong. Call new start-of and end-of paragraph functions
added to visible_position files.
(khtml::DeleteSelectionCommand::moveNodesAfterNode): Add tests for BR elements, which makes
tests to determine when to stop moving nodes more complete and correct. Also improved comments.
* khtml/editing/visible_position.cpp:
(khtml::isFirstVisiblePositionInParagraph): New function.
(khtml::isLastVisiblePositionInParagraph): New function.
* khtml/editing/visible_position.h: Update header accordingly.
* layout-tests/editing/deleting/delete-block-merge-contents-002-expected.txt: New results, slightly different from former
results but still correct.
* layout-tests/editing/deleting/delete-block-merge-contents-007-expected.txt: Ditto.
* layout-tests/editing/deleting/delete-block-merge-contents-018-expected.txt: Added.
* layout-tests/editing/deleting/delete-block-merge-contents-018.html: Added.
* layout-tests/editing/deleting/delete-block-merge-contents-019-expected.txt: Added.
* layout-tests/editing/deleting/delete-block-merge-contents-019.html: Added.
* layout-tests/editing/deleting/delete-block-merge-contents-020-expected.txt: Added.
* layout-tests/editing/deleting/delete-block-merge-contents-020.html: Added.
* layout-tests/editing/deleting/delete-block-merge-contents-021-expected.txt: Added.
* layout-tests/editing/deleting/delete-block-merge-contents-021.html: Added.
* layout-tests/editing/deleting/delete-line-014-expected.txt: These new results are actually better, and fix a bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 12 Jan 2005 00:49:51 +0000 (00:49 +0000)]
Fixed: <rdar://problem/
3934749> assertion failure in WebBaseNetscapePluginView loading movie
Reviewed by john.
* Plugins.subproj/WebBaseNetscapePluginView.m:
(-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 12 Jan 2005 00:30:16 +0000 (00:30 +0000)]
Fixed
3922875. Fall back to DOM object is EMBED element
has no associated runtime object.
Reviewed by Chris.
* khtml/ecma/kjs_dom.cpp:
(KJS::getRuntimeObject):
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::tryGet):
(KJS::HTMLElement::tryGet):
(KJS::HTMLCollection::tryGet):
(KJS::HTMLCollection::getNamedItems):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 11 Jan 2005 23:46:03 +0000 (23:46 +0000)]
Fix for
3882299, missing content on gibson.com. Change our handling of " and ' in certain states of the parser to match
other browsers.
Reviewed by Maciej
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::parseTag):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 11 Jan 2005 23:43:39 +0000 (23:43 +0000)]
Reviewed by Darin.
- fixed <rdar://problem/
3446838> REGRESSION (Mail): text decorations don't print
(e.g. <strike>, underline)
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
This bottleneck routine for drawing a line was setting the linewidth to 0 when
the graphics context was not drawing to the screen. Thus, no lines. Now links
are underlined when printing from Safari (as well as Mail).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 11 Jan 2005 22:50:01 +0000 (22:50 +0000)]
Fixed
3949145. CG has a much faster API for drawing lines.
Switched over to that new API (CGContextStrokeLineSegments).
Reviewed by John Sullivan.
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 11 Jan 2005 22:44:53 +0000 (22:44 +0000)]
Fixed: <rdar://problem/
3930733> Mail prints second page of email blank
Reviewed by dave.
* khtml/rendering/render_canvas.cpp:
(RenderCanvas::paint): cache the print rect since the dirty rect can get changed during printing
* khtml/rendering/render_flow.cpp:
(RenderFlow::paintLines): removed null check since the print rect should never be null
* khtml/rendering/render_list.cpp:
(RenderListMarker::paint): ditto
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::adjustPageHeight): don't set the print rect here since this method is not called for the last page
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 11 Jan 2005 21:25:03 +0000 (21:25 +0000)]
Fixed: <rdar://problem/
3948862> REGRESSION: missing images when RTFD is pasted into editable WebView
This problem occurred because we were creating image elements before creating corresponding image resources. The fix is to have AppKit call us back to create the resources before it creates the elements.
Reviewed by john.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method
(-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 10 Jan 2005 23:40:45 +0000 (23:40 +0000)]
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3943648> extra line is inserted after pressing return within quoted text of reply
* khtml/editing/htmlediting.cpp:
(khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): This bug was the result of a
simple coding mistake. A local variable was erroneously redefined in a deeper scope, and so the
result calculated in that deeper scope was not available when tested.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 10 Jan 2005 23:28:56 +0000 (23:28 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3946852> Option-e goes to next line
* khtml/editing/htmlediting.cpp:
(khtml::ReplaceSelectionCommand::doApply): Tweak case used to determine when merging content
into the start line is done. We plan to change pretty substantially soon to better handle
the problem described in <rdar://problem/
3937352> Quote level not maintained when copied
and pasted within a Mail message. In the meantime, this change does no harm, and fixes the bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 10 Jan 2005 18:47:43 +0000 (18:47 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
3907005> Applying block styles to a line of text can unexpectedly affect other lines
* khtml/editing/htmlediting.cpp:
(khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): New function which moves "paragraphs"
to their own blocks if needed so that a block style can be applied.
(khtml::CompositeEditCommand::isMailBlockquote): Moved this function to base class so it can be used more generally.
(khtml::ApplyStyleCommand::applyBlockStyle): Pass a node instead of a block to addBlockStyleIfNeeded().
(khtml::ApplyStyleCommand::addBlockStyleIfNeeded): Now accepts a node instead of a block for styling.
This function also now calls moveParagraphContentsToNewBlockIfNecessary() to make sure that only the current
paragraph is styled.
(khtml::SetNodeAttributeCommand::doUnapply): Should not assert on undo if old value of attribute was null.
Should remove attributue instead.
* khtml/editing/htmlediting.h: Touch function declarations accordingly.
* layout-tests/editing/style/create-block-for-style-001-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-001.html: Added.
* layout-tests/editing/style/create-block-for-style-002-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-002.html: Added.
* layout-tests/editing/style/create-block-for-style-003-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-003.html: Added.
* layout-tests/editing/style/create-block-for-style-004-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-004.html: Added.
* layout-tests/editing/style/create-block-for-style-005-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-005.html: Added.
* layout-tests/editing/style/create-block-for-style-006-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-006.html: Added.
* layout-tests/editing/style/create-block-for-style-007-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-007.html: Added.
* layout-tests/editing/style/create-block-for-style-008-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-008.html: Added.
* layout-tests/editing/style/create-block-for-style-009-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-009.html: Added.
* layout-tests/editing/style/create-block-for-style-010-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-010.html: Added.
* layout-tests/editing/style/create-block-for-style-011-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-011.html: Added.
* layout-tests/editing/style/create-block-for-style-012-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-012.html: Added.
* layout-tests/editing/style/create-block-for-style-013-expected.txt: Added.
* layout-tests/editing/style/create-block-for-style-013.html: Added.
Unrelated updates to these expected results.
* layout-tests/editing/inserting/insert-div-007-expected.txt
* layout-tests/editing/pasteboard/paste-text-013-expected.txt
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 10 Jan 2005 18:38:39 +0000 (18:38 +0000)]
Fixed: <rdar://problem/
3936844> Mail: Messages with rich text do not print
Reviewed by john.
* khtml/rendering/render_flow.cpp:
(RenderFlow::paintLines): don't do pagination work if printRect is not set
* khtml/rendering/render_list.cpp:
(RenderListMarker::paint): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 10 Jan 2005 18:22:06 +0000 (18:22 +0000)]
Reviewed by Darin.
* kwq/KWQTextUtilities.mm:
(currentTextBreakLocaleID):
Return empty string (AKA root locale) if locale pref can not be canonicalized.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 10 Jan 2005 17:07:49 +0000 (17:07 +0000)]
Fixed broken Panther build.
* kwq/KWQTextUtilities.mm:
(currentTextBreakLocaleID):
This recently-added function was using code copy/pasted from CarbonCore UnicodeUtilities.
That code used a Tiger-only function, CFLocaleCreateCanonicalLanguageIdentifierFromString.
To fix the build, I added a BUILDING_ON_PANTHER #ifdef that avoids the call to the Tiger
function. However, the Tiger-only code was wrong; the string generated using
CFLocaleCreateCanonicalLanguageIdentifierFromString was not used at all, so I fixed that
as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sun, 9 Jan 2005 21:42:55 +0000 (21:42 +0000)]
Reviewed by Ken Kocienda.
<rdar://problem/
3786362> REGRESSION (Mail): pasted text loses one newline
* khtml/editing/htmlediting.cpp:
(khtml::ReplaceSelectionCommand::doApply):
Tune check for need for insertParagraphSeparator when hasInterchangeNewline.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc