Timeline



Aug 8, 2003:

6:00 PM Changeset in webkit [4801] by rjw
  • 6 edits in trunk/WebKit

Lots of healthy cleanup. Introduced width and shaping iterators
to simplify code and remove allocations for large text runs. Should
go further and make more use of these in the future (post panther).

Fixed 3369608. Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net
Fixed 3118050. Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION)
Fixed 3371115. Can't correctly select text that contains surrogate pairs

Reviewed by darin.

  • Misc.subproj/WebUnicode.h:
  • Misc.subproj/WebUnicode.m: (prevChar): (nextChar): (prevLogicalCharJoins): (nextLogicalCharJoins): (glyphVariantLogical): (hasShapeForNextCharacter): (shapeForNextCharacter): (initializeCharacterShapeIterator): (shapedString):
  • WebCoreSupport.subproj/WebTextRenderer.h:
  • WebCoreSupport.subproj/WebTextRenderer.m: (initializeCharacterWidthIterator): (widthAndGlyphForSurrogate): (widthForNextCharacter): (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]): (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):

Just formatting changed here

  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _dragImageForLinkElement:]):
4:34 PM Changeset in webkit [4800] by darin
  • 3 edits in trunk/WebKit

Reviewed by Maciej.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in the back/forward item if there is no URL (which happens because there is no data source because the frame has never successfully loaded anything). Perhaps we can do better some day, but this avoids all the major bad effects in a safe way.
  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3:26 PM Changeset in webkit [4799] by hyatt
  • 10 edits in trunk/WebCore

Fix for 3368672, don't allow frames and framesets to be positioned or relpositioned.

Reviewed by darin

  • ChangeLog:
  • khtml/rendering/render_box.cpp: (RenderBox::setStyle):
  • khtml/rendering/render_object.cpp: (RenderObject::requiresLayer):
  • khtml/rendering/render_object.h:
11:34 AM Changeset in webkit [4798] by sullivan
  • 6 edits in trunk/WebCore

WebCore:

  • fixed 3362481 -- REGRESSION (89-90): clicking in a field causes page to move; esp. bad if the field moves out from under the mouse

Reviewed by Darin

  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::currentEventIsMouseDownInWidget): new method
  • kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]): only scroll to reveal if currentEventIsMouseDownInWidget is false
  • kwq/KWQTextField.mm: (-[KWQTextField setHasFocus:]): ditto

WebBrowser:

  • fixed 3369587 -- REGRESSION (85-88): window position isn't being saved if moved from default position

Reviewed by Chris

The bug was that when the default window size is set
programmatically to be full screen height, we're setting the
_lastResizeWasProgrammatic bit in WindowController, which
prevents the window frame from being saved on subsequent window
moves (to avoid saving a window frame whose size was set by
JavaScript). The fix is to rejigger the code so that this bit
is not left set in this default-window-frame case.

  • WindowController.h:
  • WindowController.m: (-[WindowController defaultFrame]): New method for subclasses to override. Default implementation is to return the current frame. (-[WindowController setFrameToDefault]): new method, uses defaultFrame but leaves the _lastResizeWasProgrammatic bit clear
  • BrowserWindowController.m: (-[BrowserWindowController defaultFrame]): replace setDefaultWindowFrame with this override of new method; we don't know about the _lastResizeWasProgrammatic bit at this level. (-[BrowserWindowController windowDidLoad]): call new setFrameToDefault instead of old setDefaultWindowFrame
11:27 AM Changeset in webkit [4797] by sheridan
  • 3 edits in trunk

* empty log message *

10:42 AM Changeset in webkit [4796]
  • 3 copies
    2 deletes in tags/WebCore-92~1

This commit was manufactured by cvs2svn to create tag 'WebCore-92~1'.

10:42 AM Changeset in webkit [4795]
  • 1 copy
    3 deletes in tags/JavaScriptCore-92~1

This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-92~1'.

10:42 AM Changeset in webkit [4794] by sheridan
  • 6 edits in trunk

JSC and WC 92.1, picking up missed fixes for Safari-92

8:21 AM Changeset in webkit [4793] by darin
  • 4 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fixed 3366234 -- repro crash in CSS parser: function that can't be parsed (www.bi-flugplatz-magdeburg.de)
  • khtml/css/parser.y: Allocate a Function object for the "can't parse function" case, since the other code involved cannot handle 0 for the function.
  • khtml/css/parser.cpp: Regenerated.
8:21 AM Changeset in webkit [4792] by darin
  • 8 edits in trunk/JavaScriptCore

Reviewed by John Sullivan.

  • fixed 3365527 -- subscripting JavaScript strings does not work (leads to hang at www.newmagna.com.au)

The JavaScript specification says nothing about this, but other browsers seem to give
read-only access to the characters in a string as if the string was an array of characters.

  • kjs/array_object.cpp: (ArrayInstanceImp::get): Update to use a public toArrayIndex function instead of our own getArrayIndex function, so we can share with string. (ArrayInstanceImp::put): Ditto. (ArrayInstanceImp::hasProperty): Ditto. (ArrayInstanceImp::setLength): Ditto.
  • kjs/ustring.h: Add toArrayIndex.
  • kjs/ustring.cpp: (UString::toArrayIndex): Added. Implements the rule from array.
  • kjs/identifier.h: Add a forwarding function so we can use toArrayIndex.
  • kjs/string_object.cpp: (StringInstanceImp::get): Return a single character string if the property name is an array index. (StringInstanceImp::hasProperty): Return true for property names that are suitable array indices.

Aug 7, 2003:

4:11 PM Changeset in webkit [4791]
  • 3 copies in tags/Safari-92

This commit was manufactured by cvs2svn to create tag 'Safari-92'.

4:11 PM Changeset in webkit [4790] by sheridan
  • 8 edits in trunk

Safari-92 version stamp

4:02 PM Changeset in webkit [4789] by rjw
  • 2 edits in trunk/WebKit

Fixed 3362939. Checked flippyness of view and adjust y coord accordingly.

Reviewed by John.

  • Misc.subproj/WebKitNSStringExtras.m:
2:32 PM Changeset in webkit [4788] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3330742>: 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash

Reviewed by darin.

  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify
2:07 PM Changeset in webkit [4787] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:

<rdar://problem/3367434>: newly-added KURL assertion failing reproducibly for JavaScript URL (www.thai.com)

The assertion is correct. The issue was in calling the function
with bad input. Non-hierarchical URLs should not have their "path"
elements submitted to a function that will replace dots.

The fix is to avoid calling this function with such non-hierarchical
URLs.

  • kwq/KWQKURL.mm: (KURL::parse)
1:53 PM Changeset in webkit [4786] by kocienda
  • 4 edits in trunk/WebKit

Reviewed by Darin

Fix for this bug:

<rdar://problem/3368552>: Fix inappropriate use of NSURL creation methods in WebKit

Change calls to URLWithString: or URLWithString:relativeToURL to
_web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL,
respectively.

  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:withLoadType:]): (-[WebFrame _loadURL:intoChild:]):
  • WebView.subproj/WebPreferences.m: (-[WebPreferences userStyleSheetLocation]):
  • WebView.subproj/WebView.m: (-[WebView takeStringURLFrom:]): (-[WebView setMainFrameURL:]):
1:36 PM Changeset in webkit [4785] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Maciej

There was a bug in this code that caused a relative URL that was
being resolved against an empty base URL to process incorrectly.
The bug is that the resolution was being done twice. The first
time was correct handling of this case, but then the code did
not return at this point, and instead proceeded on through the
code path that is used to handle resolution of a relative URL
against a non-empty base. This double processing is clearly
wrong, and we found this bug as the result of the recent addition
of an assertion in some related code.

  • kwq/KWQKURL.mm: (KURL::KURL)
1:27 PM Changeset in webkit [4784] by darin
  • 7 edits
    1 delete in trunk

WebCore:

Reviewed by Richard.

  • fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit
  • kwq/KWQTextArea.mm: (-[KWQTextAreaTextView keyDown:]): Remove check for old versions of AppKit that let the WebKit posing handle key down events.
  • kwq/KWQTextField.mm: Removed fieldEditorDidMouseDown: methods.
  • WebCore.pbproj/project.pbxproj: Removed WebCoreFirstResponderChanges.h.
  • kwq/WebCoreFirstResponderChanges.h: Removed.

WebKit:

Reviewed by Richard.

  • fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit
  • WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow, removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess imports that are no longer needed.
12:10 PM Changeset in webkit [4783] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.

  • fixed 3366975 - repro hang in KJS::Value::Value entering text at eil.com
  • kjs/string_object.cpp: (StringProtoFuncImp::call): When doing a match against a regexp with the global flag set, make sure to return null rather than an empty array when there is no match. This is what other browsers do.

Aug 6, 2003:

7:19 PM Changeset in webkit [4782] by rjw
  • 6 edits in trunk

WebKit:

Fixed 3365378. Edge case text run > 1024 hit by JS generated string. We weren't correctly checking size of string length. Used /2 instead of *2.

Reviewed by Vicki (and Dan!).

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]): (-[WebTextRenderer _CG_drawRun:style:atPoint:]):

WebCore:

Fixed development build problem. WebCore.exp needed a newline at EOF.

  • WebCore-combined.exp:
6:35 PM Changeset in webkit [4781] by rjw
  • 1 edit in trunk/WebCore/WebCore.exp

Added newline to WebCore.exp. W/O newline development builds break.

5:11 PM Changeset in webkit [4780] by rjw
  • 12 edits in trunk

WebKit:

Fixed 3348630. Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.

Reviewed by Ken.

  • Misc.subproj/WebUnicode.h:
  • Misc.subproj/WebUnicode.m: (_unicodeDirection): (_unicodeJoining): (_unicodeMirrored): (WebKitInitializeUnicode):
  • Misc.subproj/WebUnicodeTables.m:

WebCore:

Fixed 3348630. Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.

Reviewed by Ken.

  • WebCore-combined.exp:
  • WebCore.exp:
  • WebCore.pbproj/project.pbxproj:
  • kwq/KWQString.h:
  • kwq/WebCoreUnicode.cpp:
  • kwq/WebCoreUnicode.h:
4:52 PM Changeset in webkit [4779] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc

Reviewed by rjw.

  • History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
  • WebView.subproj/WebViewPrivate.m: (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.
3:25 PM Changeset in webkit [4778] by sullivan
  • 3 edits in trunk/WebCore
  • fixed 3366587 -- Mail quits instantly (no crashlog) trying to reply to a particular message

Reviewed by Richard

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Return nil immediately if startNode is nil.
3:15 PM Changeset in webkit [4777] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Chris Blumenberg.

  • fixed 3366173 - crash in DOM::DomShared::ref loading www.berkheiser.net
  • khtml/ecma/kjs_html.cpp: (Image::putValue): Check for NULL before refing, because we set onLoadListener with a function that returns NULL if passed a value that's not a function.
1:36 PM Changeset in webkit [4776] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Darin and Dave.

  • fixed 3364433 - repro crash in khtml::RenderBlock::nodeAtPoint
  • khtml/rendering/render_object.cpp: (RenderObject::removeFromObjectLists): When finding the right parent block to remove a float from, don't stop at floating or positioned elements. They could well have floats in their m_floatingObjects list due to overhang, and failing to remove them leads to crashes.
10:38 AM Changeset in webkit [4775] by cblu
  • 6 edits in trunk/WebKit

Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins

Reviewed by darin.

  • Plugins.subproj/WebBaseNetscapePluginStream.h:
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setNotifyData:]): new (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new (-[WebBaseNetscapePluginStream receivedData:]): tweak (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new
(-[WebBaseNetscapePluginView loadPluginRequest:]): call …
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests
  • Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse
7:45 AM Changeset in webkit [4774] by kocienda
  • 5 edits in trunk/WebKit

Reviewed by Richard

Plugins in WebKit need to store URLs in the form of "C-style" strings.
Create and use a new, improved method to make these strings, and do
not traverse through the NSURL absoluteString method, since that can i
introduce errors.

  • Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method.
  • Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_URLCString]): Added.
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto.
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto. (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto.

Aug 5, 2003:

4:06 PM Changeset in webkit [4773] by mjs
  • 3 edits in trunk/WebCore

Reviewed by John.

  • kwq/KWQPainter.mm: (QPainter::drawLine): Print a warning in debug builds when drawing a dashed line. Also, revert accidental commenting of lines that set the dash style.
3:18 PM Changeset in webkit [4772] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by John

Fix for this bug:

<rdar://problem/3365035>: Modify WebNSURLExtras to call improved NSURL creation API

  • Misc.subproj/WebNSURLExtras.m: (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:. (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:. (+[NSURL _web_URLWithData:]): Ditto. (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in CoreFoundation. (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure that a relative URL is resolved against its base. (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use to create the string. (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation.
2:21 PM Changeset in webkit [4771] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by John.

  • kjs/list.cpp: (List::copyTail): Test for loop termination with < instead of !=, since i starts at 1 but size could be 0. Do the same for the other loop for consistency's sake.
2:16 PM Changeset in webkit [4770] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3127909, copied text matched the document source instead of the
rendered HTML. This patch makes sure that the TextRuns are walked instead
of just blindly pulling the text out of the DOM node.

Reviewed by rjw

  • khtml/khtml_part.cpp: (KHTMLPart::selectedText):
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString):
1:16 PM Changeset in webkit [4769] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Darin and Dave.

  • fixed 3363557 - REGRESSION (90-91): float:left element inside position:absolute element positioned wrong
  • khtml/rendering/render_block.cpp: (RenderBlock::calcInlineMinMaxWidth): Remove attempt to break line after flaot that follows a non-float. Removing this code fixes the regression and leaves pepboys and the meyerweb matrix theme working properly. Also, I could not find any evidence in the CSS2 spec that what this code is trying to do is right.
10:38 AM Changeset in webkit [4768] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3364251>: Modify KURL to call improved NSURL creation API

  • kwq/KWQKURL.mm: (KURL::getNSURL): Modify to use CFURLCreateAbsoluteURLWithBytes to create the NSURL.
10:33 AM Changeset in webkit [4767] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Maciej

In KWQKURL.mm, we copy the contents of a URL path from a source buffer
to a destination buffer. In the loop, we often access dst[-1]. It was
not entirely clear that this did not underrun the buffer. Upon further
inspection, it seems clear that it does not, but this small change
makes this more clear, and adds an assertion that all is well with
regard to indexing into the dst buffer.

  • kwq/KWQKURL.mm: (copyPathRemovingDots)
Note: See TracTimeline for information about the timeline view.