Timeline



Oct 1, 2004:

10:25 AM Changeset in webkit [7746] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken (or arguably done by Ken, reviewed by Darin).

  • fixed <rdar://problem/3823828> REGRESSION (Mail): Clicking past end of any line puts insertion point at beginning of next line
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::VisiblePosition): Check for an offset of 0 and a <br> and use UPSTREAM affinity in that case. This is a short term fix for something that needs a better longer-term fix.
  • fixed <rdar://problem/3823816> REGRESSION (Mail): double-clicking first word on line also selects previous empty line
  • khtml/editing/visible_units.cpp: (khtml::previousWordBoundary): Added a special case for <br>. While I'm not sure why this regressed, I'm sure this fix is good.
8:18 AM Changeset in webkit [7745] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3782117> CrashTracer: ..722 crashes at com.apple.WebCore: DOM::HTMLBodyElementImpl::insertedIntoDocument + 0x2c (AOL website)
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::insertedIntoDocument): Check for nil document case. (HTMLFrameElementImpl::isURLAllowed): Ditto. (HTMLFrameElementImpl::openURL): Ditto.
1:02 AM Changeset in webkit [7744] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3822218> REGRESSION (164-165): images don't update on rollover on directv.com page

I introduced a major regression where various JavaScript window properties would not be found when I
fixed bug 3809600.

  • khtml/ecma/kjs_window.h: Added hasProperty.
  • khtml/ecma/kjs_window.cpp: (Window::hasProperty): Return true in all the cases where get returns something.

Sep 30, 2004:

11:43 PM Changeset in webkit [7743] by darin
  • 5 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3461499> JavaScript function document.open() is buggy with 2nd argument "replace"

Experiments with Firefox indicate that document.open() should not be treated as window.open() unless there
are more than two parameters. Also, Firefox does not implement the "replace" behavior, so we don't have
to worry about it either.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall): Only forward to window if there are more than two parameters, rather than if there are more than one.
  • fixed <rdar://problem/3672933> oninput is firing at page load time for <input type=range>
  • kwq/KWQSlider.mm: (QSlider::setValue): Don't emit a signal here. This follows the usual pattern, where a signal is only emitted for changes that are not explicitly requested by the caller.
  • fixed <rdar://problem/3821167> leaks of something allocated by recalcStyle after loading altavista page from cvs-base
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Ref and deref the style we allocate so it's not left floating if setStyle decides not to ref it.
  • fixed <rdar://problem/3821172> leak of HTML attribute string after loading the ESPN page from cvs-base
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Use the DOMString version of the lower() operation so we don't end up leaving a DOMStringImpl * floating if AtomicString decides not to ref it.
5:24 PM Changeset in webkit [7742] by rjw
  • 15 edits in trunk

WebKit:

Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass

Also changed dashboard regions dictionary to use "control"
for scroller region label, instead of "scroller, per
request from ouch.

Reviewed by Chris.

  • Plugins.subproj/npruntime.h:
  • WebView.subproj/WebView.m: (-[WebView _addScrollerDashboardRegions:from:]):

JavaScriptCore:

Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass

Reviewed by Chris.

  • bindings/NP_jsobject.cpp: (_NPN_GetProperty): (_NPN_HasProperty): (_NPN_HasMethod):
  • bindings/c/c_class.cpp: (CClass::methodsNamed): (CClass::fieldNamed):
  • bindings/c/c_class.h:
  • bindings/c/c_instance.cpp: (CInstance::invokeMethod):
  • bindings/jni/jni_class.cpp: (JavaClass::methodsNamed):
  • bindings/jni/jni_class.h:
  • bindings/npruntime.h:
  • bindings/objc/objc_class.h:
  • bindings/objc/objc_class.mm: (ObjcClass::methodsNamed):
  • bindings/runtime.h:
  • bindings/runtime_object.cpp: (RuntimeObjectImp::get): (RuntimeObjectImp::hasProperty):
5:18 PM Changeset in webkit [7741] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in

Reviewed by darin.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed (-[WebBaseNetscapePluginView updateAndSetWindow]): new (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window (-[WebBaseNetscapePluginView start]): call updateAndSetWindow (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto (-[WebBaseNetscapePluginView viewHasMoved:]): ditto
4:14 PM Changeset in webkit [7740] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in

Reviewed by rjw.

  • Plugins.subproj/WebBaseNetscapePluginView.h:
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus (-[WebBaseNetscapePluginView resignFirstResponder]): ditto (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto
1:04 PM Changeset in webkit [7739] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/3822330> REGRESSION: crash on launch when homepage is set to about:blank

Added nil check.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setDisplaysWithFocusAttributes):
12:48 PM Changeset in webkit [7738] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3792822> Safari is calling the Cocoa QuickTime plugin twice for the OBJECT and EMBED tags

Reviewed by hyatt.

  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach): call dispatchHTMLEvent after updateWidget instead of every time this method is called (HTMLObjectElementImpl::recalcStyle): ditto
11:56 AM Changeset in webkit [7737] by darin
  • 2 edits in trunk/WebCore
  • rolled out bad image change that caused performance regression
  • khtml/rendering/render_image.cpp: (RenderImage::setPixmap): Don't reference the new image before doing the assignment. This forced an unwanted.
10:52 AM Changeset in webkit [7736] by cblu
  • 6 edits in trunk/WebKit

Fixed:
Assertion failure when loading standalone netscape plug-in content.
Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.

Reviewed by john.

  • Misc.subproj/WebKitErrors.m: removed deprecated method
  • Misc.subproj/WebKitErrorsPrivate.h:
  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
  • Plugins.subproj/WebPluginDocumentView.h:
  • Plugins.subproj/WebPluginDocumentView.m: (-[WebPluginDocumentView dealloc]): remove retained plug-in (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod
9:59 AM Changeset in webkit [7735] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by me, coded by Darin

  • fixed <rdar://problem/3818305> REGRESSION (Mail): Shift + page up has no effect; should modify selection
  • khtml/editing/selection.cpp: (khtml::Selection::modify): Fix problem where vertical distance was used as a distance threshold, but was a negative number. Now make it positive at the start of the function (and make a couple related changes).

Sep 29, 2004:

6:32 PM Changeset in webkit [7734] by cblu
  • 24 edits
    2 adds in trunk/WebKit

Fixed:
<rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
<rdar://problem/3820517> "* -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"

Reviewed by rjw.

  • History.subproj/WebHistoryItem.m:
  • Misc.subproj/WebNSViewExtras.h:
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_firstResponderCausesFocusDisplay]): (-[NSView _webView]): (-[NSView _frame]): (-[NSView _bridge]): (-[NSView _dataSource]):
  • Plugins.subproj/WebBasePluginPackage.h:
  • Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage hash]): (-[WebBasePluginPackage isQuickTimePlugIn]):
  • Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]):
  • Plugins.subproj/WebNetscapePluginRepresentation.m:
  • Plugins.subproj/WebPluginController.h:
  • Plugins.subproj/WebPluginController.m: (-[WebPluginController initWithDocumentView:]): (-[WebPluginController addPlugin:]): (-[WebPluginController destroyAllPlugins]): (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): (-[WebPluginController webPlugInContainerShowStatus:]): (-[WebPluginController webPlugInContainerSelectionColor]): (-[WebPluginController webFrame]):
  • Plugins.subproj/WebPluginDatabase.h:
  • Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): (-[WebPluginDatabase refresh]): (WebPluginDocumentView::while):
  • Plugins.subproj/WebPluginDocumentView.h: Added.
  • Plugins.subproj/WebPluginDocumentView.m: Added. (-[WebPluginDocumentView initWithFrame:]): (-[WebPluginDocumentView dealloc]): (-[WebPluginDocumentView drawRect:]): (-[WebPluginDocumentView setDataSource:]): (-[WebPluginDocumentView setNeedsLayout:]): (-[WebPluginDocumentView layout]): (-[WebPluginDocumentView currentWindow]): (-[WebPluginDocumentView viewWillMoveToWindow:]): (-[WebPluginDocumentView viewDidMoveToWindow]): (-[WebPluginDocumentView viewWillMoveToHostWindow:]): (-[WebPluginDocumentView viewDidMoveToHostWindow]): (-[WebPluginDocumentView receivedData:withDataSource:]): (-[WebPluginDocumentView receivedError:withDataSource:]): (-[WebPluginDocumentView finishedLoadingWithDataSource:]): (-[WebPluginDocumentView canProvideDocumentSource]): (-[WebPluginDocumentView documentSource]): (-[WebPluginDocumentView title]):
  • Plugins.subproj/npapi.m: (NPN_ReleaseVariantValue): (NPN_GetStringIdentifier): (NPN_GetStringIdentifiers): (NPN_GetIntIdentifier): (NPN_IdentifierIsString): (NPN_UTF8FromIdentifier): (NPN_IntFromIdentifier): (NPN_CreateObject): (NPN_RetainObject): (NPN_ReleaseObject): (NPN_Invoke): (NPN_InvokeDefault): (NPN_Evaluate): (NPN_GetProperty): (NPN_SetProperty): (NPN_RemoveProperty): (NPN_HasProperty): (NPN_HasMethod): (NPN_SetException): (NPN_Call):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:URL:]):
  • WebCoreSupport.subproj/WebViewFactory.m:
  • WebKit.exp:
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebDebugDOMNode.m:
  • WebView.subproj/WebDocumentInternal.h:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebImageRepresentation.h:
  • WebView.subproj/WebRenderNode.m:
  • WebView.subproj/WebView.m:
6:32 PM Changeset in webkit [7733] by cblu
  • 8 edits
    1 add in trunk/JavaScriptCore

Prepended underscores to NPN methods so that when the QT plug-in loads these symbols, it uses the non-underscore versions in WebKit. Without this, the QT plug-in was failing to load when launching Safari from the command-line.

Reviewed by rjw.

  • JavaScriptCore.pbproj/project.pbxproj:
  • bindings/NP_jsobject.cpp: (_NPN_CreateScriptObject): (_NPN_InvokeDefault): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod):
  • bindings/c/c_class.cpp: (CClass::methodsNamed): (CClass::fieldNamed):
  • bindings/c/c_instance.cpp: (CInstance::CInstance): (CInstance::~CInstance): (CInstance::operator=): (CInstance::invokeMethod): (CInstance::invokeDefaultMethod):
  • bindings/c/c_runtime.cpp:
  • bindings/c/c_runtime.h: (KJS::Bindings::CField::name): (KJS::Bindings::CMethod::name):
  • bindings/npruntime.cpp: (_NPN_GetStringIdentifier): (_NPN_GetStringIdentifiers): (_NPN_GetIntIdentifier): (_NPN_IdentifierIsString): (_NPN_UTF8FromIdentifier): (_NPN_IntFromIdentifier): (NPN_InitializeVariantWithObject): (_NPN_ReleaseVariantValue): (_NPN_CreateObject): (_NPN_RetainObject): (_NPN_ReleaseObject): (_NPN_SetExceptionWithUTF8): (_NPN_SetException):
5:39 PM Changeset in webkit [7732] by rjw
  • 8 edits in trunk

WebKit:

Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object

The fix has two parts, 1) make onblur and onfocus work for windows,
and 2), allow the dashboard to override WebKit's special key/non-key
behaviors.

Reviewed by Maciej.

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView restartNullEvents]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addMouseMovedObserver]): (-[WebHTMLView removeMouseMovedObserver]):
  • WebView.subproj/WebView.m: (-[WebView _dashboardBehavior:]):
  • WebView.subproj/WebViewInternal.h:
  • WebView.subproj/WebViewPrivate.h:

WebCore:

Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object

The fix has two parts, 1) make onblur and onfocus work for windows,
and 2), allow the dashboard to override WebKit's special key/non-key
behaviors.

Reviewed by Chris.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setDisplaysWithFocusAttributes):
2:55 PM Changeset in webkit [7731] by kocienda
  • 13 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3705894> REGRESSION (Mail): if a single word is wider than the window,
it doesn't break and just runs off the right side

  • khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support for CSS_PROP_WORD_WRAP.
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): Ditto.
  • khtml/css/cssproperties.c: Generated file.
  • khtml/css/cssproperties.h: Ditto.
  • khtml/css/cssproperties.in: Add word-wrap property.
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Add support for CSS_PROP_WORD_WRAP.
  • khtml/css/cssvalues.c: Generated file.
  • khtml/css/cssvalues.h: Ditto.
  • khtml/css/cssvalues.in: Add break-word value.
  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::findNextLineBreak): Add code to implement new word wrapping feature.
  • khtml/rendering/render_style.cpp: (StyleCSS3InheritedData): Add support for new wordWrap property. (StyleCSS3InheritedData::operator==): Ditto. (RenderStyle::diff): Ditto.
  • khtml/rendering/render_style.h: (khtml::RenderStyle::wordWrap): Ditto. (khtml::RenderStyle::setWordWrap): Ditto. (khtml::RenderStyle::initialWordWrap): Ditto.
1:40 PM Changeset in webkit [7730] by mjs
  • 24 edits in trunk

WebCore:

Reviewed by John.

  • consolidated OS version checks into prefix header
  • WebCorePrefix.h:
  • khtml/rendering/render_canvasimage.cpp:
  • kwq/KWQAccObject.mm: (-[KWQAccObject roleDescription]): (-[KWQAccObject accessibilityActionDescription:]):
  • kwq/KWQComboBox.mm: (QComboBox::QComboBox):
  • kwq/KWQFoundationExtras.h:

WebKit:

Reviewed by John.

  • consolidated OS version checks into prefix header
  • Misc.subproj/WebFileDatabase.m: (-[WebFileDatabase _createLRUList:]): (+[WebFileDatabase _syncLoop:]):
  • Misc.subproj/WebKitErrors.m: (registerErrors):
  • Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease):
  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
  • Misc.subproj/WebUnicode.m: (_unicodeDirection):
  • WebCoreSupport.subproj/WebImageData.h:
  • WebCoreSupport.subproj/WebImageRenderer.h:
  • WebCoreSupport.subproj/WebKeyGenerator.h:
  • WebCoreSupport.subproj/WebNewKeyGeneration.c:
  • WebKitPrefix.h:
  • WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): (-[WebDataSource isLoading]):
  • WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  • WebView.subproj/WebHTMLView.m:
  • WebView.subproj/WebPDFRepresentation.h:
  • WebView.subproj/WebPDFRepresentation.m:
  • WebView.subproj/WebPDFView.h:
  • WebView.subproj/WebPDFView.m:

WebBrowser:

Reviewed by John.

  • consolidated OS version checks into prefix header
  • AddressBarContentsManager.h:
  • AddressBarContentsManager.m:
  • AddressBarController.m:
  • AppController.m: (-[AppController applicationDidFinishLaunching:]):
  • BookmarkCollections.m:
  • BookmarksController.h:
  • BookmarksController.m:
  • BookmarksViewController.m:
  • BrowserDocument.h:
  • BrowserDocument.m:
  • BrowserDocumentController.h:
  • BrowserDocumentController.m:
  • BrowserNSNetServiceExtras.m:
  • BrowserWebBookmarkExtras.m:
  • BrowserWebController.m:
  • BrowserWebViewPrinting.m:
  • BrowserWindow.m: (-[BrowserWindow performKeyEquivalent:]):
  • BrowserWindowController.h:
  • BrowserWindowController.m: (-[BrowserWindowController locationField]): (-[BrowserWindowController searchField]): (-[BrowserWindowController locationBarIsShowing]): (-[BrowserWindowController setUpLocationBar]): (-[BrowserWindowController isShowingBar:]): (-[BrowserWindowController updateKeyboardLoop]): (-[BrowserWindowController windowDidLoad]): (-[BrowserWindowController dealloc]): (-[BrowserWindowController setDocument:]): (-[BrowserWindowController showLocationBarTemporarilyIfHidden]): (-[BrowserWindowController makeLocationBarPermanentIfTemporary]): (-[BrowserWindowController hideLocationBarIfTemporary]): (-[BrowserWindowController selectSearchField:]): (-[BrowserWindowController canShowInputFields]): (-[BrowserWindowController updateStopAndReloadButton]): (-[BrowserWindowController toggleLocationBar:]): (-[BrowserWindowController setToolbarsVisible:]): (-[BrowserWindowController closeTab:]): (-[BrowserWindowController fixFocusRingAroundLocationField]): (-[BrowserWindowController validateMenuItem:]): (-[BrowserWindowController showWindow:]):
  • ContextMenuHandler.m:
  • Debug/DebugUtilities.m:
  • DownloadProgressEntry.m: (-[NSFileManager setMetadataURL:referrer:atPath:]):
  • InternetConfigUtilities.m:
  • LoadProgressMonitor.m:
  • LocationChangeError.m:
  • NetworkController.h:
  • NetworkController.m:
  • OutlineViewPlus.h:
  • OutlineViewPlus.m:
  • Preferences.subproj/ISyncController.h:
  • Preferences.subproj/RSSPreferences.h:
  • Preferences.subproj/RSSPreferences.m:
  • Preferences.subproj/SecurityPreferences.m:
  • Preferences.subproj/WBPreferences.m:
  • PrintingAccessoryViewController.m:
  • SyndicationController.m:
  • TableViewPlus.m:
  • Test/PageLoadTestRunner.m: (-[PageLoadTestRunner setSingleTestURL:]):
  • ToolbarController.h:
  • ToolbarController.m:
  • WebBookmark.h:
  • WebBookmark.m:
  • WebBookmarkGroup.h:
  • WebBookmarkGroup.m:
  • WebBookmarkGroupPrivate.h:
  • WebBookmarkLeaf.m:
  • WebBookmarkList.m:
  • WebBookmarkPrivate.h:
  • WebBrowserPrefix.h:
11:07 AM Changeset in webkit [7729] by hyatt
  • 11 edits in trunk/LayoutTests/fast

Fix remaining fast tests to handle br changes.

11:05 AM Changeset in webkit [7728] by hyatt
  • 1 edit in trunk/LayoutTests/fast/block/positioning/055-expected.txt

Fix positioning tests to account for br changes.

11:04 AM Changeset in webkit [7727] by hyatt
  • 1 edit in trunk/LayoutTests/fast/block/float/015-expected.txt

Fix float 15 test to accurately reflect the image loading regression in that test.

11:02 AM Changeset in webkit [7726] by hyatt
  • 4 edits in trunk/LayoutTests/fast/block/float

Fix float tests to account for br changes.

11:01 AM Changeset in webkit [7725] by hyatt
  • 2 edits in trunk/LayoutTests/fast/doctypes

Fix doctypes tests for list item changes.

10:59 AM Changeset in webkit [7724] by hyatt
  • 3 edits in trunk/LayoutTests/css1

Land changes to CSS1 suite from <br> patch.

10:58 AM Changeset in webkit [7723] by hyatt
  • 14 edits in trunk/LayoutTests/editing

Land changes to editing test from <br> patch.

10:55 AM Changeset in webkit [7722] by hyatt
  • 10 edits in trunk/WebCore

Make sure <br>s always get line boxes. Also prevent the creation of RenderTexts for whitespace normal/nowrap nodes
that follow <br>s.

Reviewed by kocienda

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::isCandidate):
  • khtml/rendering/render_br.cpp: (RenderBR::RenderBR): (RenderBR::createInlineBox): (RenderBR::baselinePosition): (RenderBR::lineHeight):
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_line.cpp: (khtml::InlineFlowBox::placeBoxesVertically):
  • khtml/rendering/render_line.h: (khtml::InlineBox::isText): (khtml::InlineFlowBox::addToLine):
  • khtml/rendering/render_text.cpp: (RenderText::detach):
  • khtml/rendering/render_text.h: (khtml::InlineTextBox:::InlineRunBox): (khtml::InlineTextBox::isInlineTextBox): (khtml::InlineTextBox::isText): (khtml::InlineTextBox::setIsText):
  • khtml/xml/dom_textimpl.cpp: (TextImpl::rendererIsNeeded):
  • kwq/KWQRenderTreeDebug.cpp: (operator<<):
10:51 AM Changeset in webkit [7721] by kocienda
  • 7 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3815895> exception inside fontForSelection causes Mail to abort when selection hits bottom

  • khtml/editing/selection.cpp: (khtml::Selection::toRange): Use RangeImpl calls to detect exceptions when creating a Range from a Selection. Return an empty Range when there is an exception.

Fix for this bug:

<rdar://problem/3817268> REGRESSION (Mail): Window does not scroll when selecting out of
visible area of view with arrow keys

  • khtml/editing/selection.cpp: Did some name changing. m_needsCaretLayout -> m_needsLayout. Added m_expectedVisibleRect which supplies the right rectangle to update when scrolling. (khtml::Selection::Selection): m_needsCaretLayout -> m_needsLayout name change. (khtml::Selection::init): Handle m_expectedVisibleRect in initialization. (khtml::Selection::operator=): Handle m_expectedVisibleRect in assignment. (khtml::Selection::setNeedsLayout): m_needsCaretLayout -> m_needsLayout name change. (khtml::Selection::layout): Changed name from layoutCaret, since m_expectedVisibleRect is also calculated here. (khtml::Selection::caretRect): m_needsCaretLayout -> m_needsLayout name change. (khtml::Selection::expectedVisibleRect): New. Returns m_expectedVisibleRect, doing a layout if needed. (khtml::Selection::needsCaretRepaint): m_needsCaretLayout -> m_needsLayout name change. (khtml::Selection::paintCaret): Ditto. (khtml::Selection::validate): Ditto.
  • khtml/editing/selection.h: Add m_expectedVisibleRect member variable and expectedVisibleRect accessor.
  • kwq/WebCoreBridge.h: Change name of ensureCaretVisible to ensureSelectionVisible, since this is not only about making the caret visible anymore. Now it can reveal the varying end of the selection when scrolling with arrow keys.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): ensureCaretVisible to ensureSelectionVisible name change. (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Ditto (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): Ditto (-[WebCoreBridge insertNewline]): Ditto (-[WebCoreBridge insertText:selectInsertedText:]): Ditto (-[WebCoreBridge deleteKeyPressed]): Ditto (-[WebCoreBridge ensureSelectionVisible]): Ditto
7:16 AM Changeset in webkit [7720] by kocienda
  • 11 edits in trunk

WebCore:

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly

  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::centerSelectionInVisibleArea): New function. Handles both caret and range selections correctly.
  • kwq/KWQNSViewExtras.h: Add forceCentering boolean to some methods in this file.
  • kwq/KWQNSViewExtras.m: Ditto. This addition has been done since the AppKit method we use to do the centering, -[NSView scrollRectToVisible:], does not alter the view if the rectangle passed to it is already in view. When forceCentering is true, extra math is done to make scrollRectToVisible center the rectangle we want. (-[NSView _KWQ_scrollFrameToVisible]): Pass NO for forceCentering in call through to _KWQ_scrollRectToVisible:forceCentering: (-[NSView _KWQ_scrollRectToVisible:forceCentering:]): Add forceCentering argument. (-[NSView _KWQ_scrollRectToVisible:inView:forceCentering:]): Ditto. (-[NSClipView _KWQ_scrollRectToVisible:inView:forceCentering:]): Ditto. Do extra math to implement the forceCentering effect.
  • kwq/KWQScrollView.h: Add forceCentering default argument to ensureRectVisibleCentered.
  • kwq/KWQScrollView.mm: (QScrollView::ensureRectVisibleCentered): Ditto.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge centerSelectionInVisibleArea]): New function. Call through to KWQKHTMLPart.

WebKit:

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea bridge function instead of ensureCaretVisible. Now handles caret selections and range selections correctly.
Note: See TracTimeline for information about the timeline view.