Timeline



Jul 18, 2003:

7:06 PM Changeset in webkit [4674] by rjw
  • 3 edits in trunk/WebKit

Fixed 3283594. "Times RO" appears to have a corrupt regular variant. Added
additional bullet proofing to catch corrupt fonts. Also added a special case
hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid
glyphs.

Fixed 3319846. The page mentioned in this bug required > 10 substitute fonts for
the same base font. This triggered some buggy code that hasn't been exercise before.
Specifically the code that resizes the substitute fonts array was incorrect.

Reviewed by mjs.

  • Misc.subproj/WebAssertions.h: Added FATAL_ALWAYS macro that logs and CRASHES even in deployment builds.
  • WebCoreSupport.subproj/WebTextRenderer.m: (mapForSubstituteFont): (widthFromMap): (FillStyleWithAttributes): (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]): (-[WebTextRenderer _computeWidthForSpace]): (-[WebTextRenderer _setupFont:]): (pathFromFont): (glyphCountFromFont): (-[WebTextRenderer initWithFont:usingPrinterFont:]): (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
5:17 PM Changeset in webkit [4673] by sheridan
  • 1 edit in branches/Safari-1-0-branch/WebKit/WebKit.pbproj/project.pbxproj

85.7 version for webkit

4:29 PM Changeset in webkit [4672] by darin
  • 2 edits in branches/Safari-1-0-branch/WebKit
  • attempt to fix compiler error
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]): Did the type casting another way.
12:22 PM Changeset in webkit [4671] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3334082, XML documents can access HTML/XML docs in other
domains. The basic bug is that we made a change right before
1.0 to allow a parent document to access a child frame's document
if the child frame had no document. What we didn't notice was
that the ptr was obtained from the part by asking for an HTML
document. For XML documents that failed the cast, we got back
null as well, which means that for non-HTML XML documents we
always return true from isSafeScript.

This patch makes sure our addition uses the raw xmlDoc pointer,
so that there are no mistakes, and it restores the code that
denies access when you aren't an HTML document.

(It is a separate bug that we just disallow cross-frame
communication in XML documents right now that I'll file as
a follow-up to this one.)

Reviewed by darin, rjw, mjs

  • khtml/ecma/kjs_window.cpp: (Window::isSafeScript):

Jul 17, 2003:

5:48 PM Changeset in webkit [4670]
  • 7 copies
    2 deletes in tags/WebKit-85~6

This commit was manufactured by cvs2svn to create tag 'WebKit-85~6'.

5:48 PM Changeset in webkit [4669] by darin
  • 2 edits in branches/Safari-1-0-branch/WebKit
  • rolled over change from main trunk

2003-07-17 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]): Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView. This avoids the layout that the NSTextView version of the call might do. By definition, we don't need layout to draw the insertion point, because we did the layout to find where the insertion point should display. If we do the layout we can end up recursing into the insertion point drawing code, which wreaks major havoc. Still no idea why this happened less in version 74.
4:41 PM Changeset in webkit [4668] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction
  • WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]): Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView. This avoids the layout that the NSTextView version of the call might do. By definition, we don't need layout to draw the insertion point, because we did the layout to find where the insertion point should display. If we do the layout we can end up recursing into the insertion point drawing code, which wreaks major havoc. Still no idea why this happened less in version 74.
12:49 PM Changeset in webkit [4667] by hyatt
  • 5 edits in trunk/WebCore

Fix for 3300362, crash on myuhc.com. The residual style code
was messing up and inserting nodes in the wrong place (and also
updating the current member variable when it wasn't supposed to).

Fix for 3331793, nil deref because (astoundingly) someone was
using text-shadow and exposed a bug with the color handling
of the shadow.

Reviewed by darin

  • khtml/html/htmlparser.cpp:
  • khtml/html/htmlparser.h (KHTMLParser::reopenResidualStyleTags): (KHTMLParser::popBlock):
11:55 AM Changeset in webkit [4666] by mjs
  • 4 edits in trunk/WebCore

Reviewed by John.

  • fixed 3283076 - crash when doing 2nd query on the eBay channel (Sherlock) -- JavaScript locking issue?

I added a bit of minimal extra locking to WebCore to make sure
multithreaded apps that use WebKit on the main thread but do
JavaScript on other threads as well continue to work nicely.

  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::initScript): Lock interpreter around possible allocations or collections.
  • khtml/ecma/kjs_window.cpp: (Window::clear): Lock interpreter around possible allocations or collections.
11:54 AM Changeset in webkit [4665] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by John.

  • fixed 3330344 - Please change allowable client to "JavaScriptGlue" from "JSGlue"
  • JavaScriptCore.pbproj/project.pbxproj: Changed allowable client to "JavaScriptGlue"
10:49 AM Changeset in webkit [4664] by kocienda
  • 12 edits in trunk

WebCore:

Reviewed by John

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createPart): Now uses NSURL instead of NSString (KWQKHTMLPart::redirectionTimerStartedOrStopped): Ditto (KWQKHTMLPart::userAgent): Ditto
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::setIconURL): Ditto (KHTMLPartBrowserExtension::setTypedIconURL): Ditto
  • kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::showApplet): Ditto
  • kwq/KWQLoader.mm: (KWQServeRequest): Ditto (KWQCheckCacheObjectStatus): Ditto
  • kwq/WebCoreBridge.h: Changed quite a number of methods to use NSURL instead of NSString
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge didNotOpenURL:]): Now uses NSURL instead of NSString (-[WebCoreBridge scrollToAnchorWithURL:]): Ditto (-[WebCoreBridge URL]): Ditto

WebKit:

Reviewed by John

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]): Ditto (-[WebBridge setIconURL:]): Ditto (-[WebBridge setIconURL:withType:]): Ditto (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto (-[WebBridge userAgentForURL:]): Ditto (-[WebBridge requestedURL]): Now returns string using _web_absoluteString
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString
  • WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Ditto (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto
8:51 AM Changeset in webkit [4663] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by me

  • Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API. New code is ifdef'ed out for now until everyone has revved.
7:56 AM Changeset in webkit [4662] by kocienda
  • 13 edits
    2 adds in trunk

WebCore:

Reviewed by Darin

  • kwq/KWQKHTMLPart.h: _submittedFormURL is now a KURL, not a QString
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Now uses NSURL in API instead of NSString (KWQKHTMLPart::openURLRequest): Ditto (KWQKHTMLPart::didNotOpenURL): Ditto (KWQKHTMLPart::submitForm): Ditto. Plus update _submittedFormURL usages. (KWQKHTMLPart::urlSelected): Ditto (KWQKHTMLPart::setView): Ditto
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::createNewWindow): Now uses NSURL in API instead of NSString
  • kwq/KWQKURL.h: Added constructor that takes an NSURL
  • kwq/KWQKURL.mm: (KURL::KURL): Ditto.
  • kwq/WebCoreBridge.h: Updated bridge APIs to use NSURL instead of NSString in several places.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): Ditto

WebKit:

Reviewed by Darin

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
  • WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
  • WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString

Jul 16, 2003:

1:30 PM Changeset in webkit [4661] by darin
  • 4 edits in trunk/WebCore

Reviewed by John.

  • cure problem where we keep competing to check in config.h with/without HAVE_FOUNDATION_SOURCSE
  • Makefile.am: Remove the HAVE_FOUNDATION_SOURCES line.
  • config.h: Check in without that line.
11:46 AM Changeset in webkit [4660] by vicki
  • 3 edits in trunk/WebCore

Reviewed by kocienda.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): set linkStartLocation to zero to fix deployment build
9:54 AM Changeset in webkit [4659] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Richard

  • kwq/KWQKURL.h:
  • kwq/KWQKURL.mm: (StringHasCaseInsensitivePrefix): Helper method for the new functions below (StringByAddingPercentEscapes): Ditto (URLStringByAddingPercentEscapes): Ditto (KURL::getNSURL): Added convenience function to get an NSURL from a KURL (KURL::getNSData): Added convenience function to get an NSData from a KURL

Jul 15, 2003:

3:54 PM Changeset in webkit [4658] by rjw
  • 6 edits in trunk

WebKit:

Fixed 3315952: Add support for <IMG> in attributed string conversion.

Added RTFD pasteboard type.

Reviewed by John.

  • WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView _pasteboardTypes]): (-[WebHTMLView _writeSelectionToPasteboard:]):

WebCore:

Fixed 3315951: Add support for <OL>, <UL> in attributed string conversion.
Fixed 3315952: Add support for <IMG> in attributed string conversion.
Fixed 3315953: Added support for <A> in attributed string conversion.

Reviewed by John (and earlier by Darin).

  • khtml/rendering/render_list.h:
  • kwq/KWQKHTMLPart.mm: (fileWrapperForElement): (listParent): (inList): (KWQKHTMLPart::attributedString):
3:32 PM Changeset in webkit [4657]
  • 1 copy
    319 deletes in branches/unlabeled-1.32.14

This commit was manufactured by cvs2svn to create branch
'unlabeled-1.32.14'.

3:32 PM Changeset in webkit [4656] by hyatt
  • 18 edits in trunk/WebCore

Fix a problem where ems used for non-font values like width
and line-height would not zoom. (r=darin)

The rest is r=rjw.

An implementation of the CSS2 text-shadow property.

It uses a CoreGraphics API for drawing shadows
(via a custom API on QPainter) to paint the shadows.

At the moment there are two limitations in CG's API. The first
is that the shadow color cannot be set. This will be fixed for
Panther, and the code passes the color through in preparation
for this fix.

The second limitation is that CG only supports one shadow effect
and not multiple shadow effects. The parsing code on the CSS
side is set up to go ahead and parse all of the shadow effects,
but the code that makes use of shadows will simply look at the
first one for now. CG will not support multiple shadow effects
in the Panther time frame, so it will be a while before this
is revisited.

This patch also fixes a slew of bugs with colors in KHTML. When
we took the CSS parser and all of its associated code from Lars,
that code was using QRgb values that assumed RGBA (like the current
Qt toolkit uses). The code even made use of an "invalid color"
that wasn't really invalid (kind of like the z-index hack we refused
to take, i.e., unlikely but not invalid).

Our KWQColor implementation has been rewritten in this patch to
work the way the current Qt toolkit expects. That is, the top
eight bits actually do contain an alpha channel, and you can obtain
the alpha component using the qAlpha method and build a quadruple
using the qRgba method.

This patch adds support for rgba quadruples to CSS, so you can now
say, e.g.,color: rgba(255,0,0,0.5); in CSS.

  • khtml/css/css_valueimpl.cpp: (ShadowValueImpl::~ShadowValueImpl):
  • khtml/css/css_valueimpl.h:
  • khtml/css/cssparser.cpp: (CSSParser::parseValue): (parseColor): (CSSParser::parseColor): (CSSParser::parseColorFromValue): (CSSParser::parseShadow):
  • khtml/css/cssparser.h:
  • khtml/css/cssstyleselector.cpp:
  • khtml/misc/helper.h:
  • khtml/rendering/render_line.cpp: (InlineFlowBox::paintDecorations):
  • khtml/rendering/render_style.cpp: (StyleVisualData::StyleVisualData): (opacity): (flexibleBox): (StyleCSS3NonInheritedData::operator==): (textShadow): (StyleCSS3InheritedData): (StyleCSS3InheritedData::operator==): (StyleCSS3InheritedData::shadowDataEquivalent): (RenderStyle::RenderStyle): (RenderStyle::inheritFrom): (RenderStyle::operator==): (RenderStyle::inheritedNotEqual): (RenderStyle::diff): (ContentData::clearContent): (RenderStyle::setTextShadow): (ShadowData::operator==):
  • khtml/rendering/render_style.h:
  • khtml/rendering/render_text.cpp: (RenderText::paintObject):
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::diff):
  • kwq/KWQColor.h:
  • kwq/KWQColor.mm: (qRgb): (qRgba): (qAlpha): (QColor::QColor): (QColor::setNamedColor): (QColor::getNSColor):
  • kwq/KWQNamespace.h:
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::drawRect): (QPainter::drawLine): (QPainter::_fillRect): (QPainter::fillRect): (QPainter::setShadow): (QPainter::clearShadow):

Jul 14, 2003:

9:18 PM Changeset in webkit [4655] by darin
  • 7 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed 3244447 -- add KOI8-U charset support
  • fixed 3327152 -- unicodeFFFE and unicodeFEFF are handled backwards by WebCore
  • fixed 3327157 -- x-mac-ukrainian should be mapped to MacCyrillic
  • fixed 3327160 -- shift-jis, shift_jis, x-sjis should be mapped to the DOS variant of Shift JIS
  • fixed 3327162 -- most Simplified Chinese encoding choices should be mapped to the DOS variant of EUC-CN
  • fixed 3327166 -- use DOS variant of EUC_KR
  • kwq/KWQCharsets.mm: Added some defines so we could use encodings that don't have any kCFStringEncoding constant in a header file.
  • kwq/mac-encodings.txt: Change table entries in accordance with the above bug reports.
  • kwq/KWQCharsetData.c: Regenerated.
  • other changes, inspired by investigation of various bugs
  • kwq/KWQButton.mm: (-[KWQButton sendConsumedMouseUpIfNeeded]): Make robust against cases where sending the consumed mouse up event destroys the QButton.
  • khtml/html/htmlparser.cpp: (KHTMLParser::reopenResidualStyleTags): Rearrange code slightly for clarity, added comment. (KHTMLParser::freeBlock): Removed unnecessary line of code.
9:17 PM Changeset in webkit [4654] by darin
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

  • make some improvements to handling of the timer, inspired by some bug reports
  • WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil. (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing dealing with self, in case the reference from the timer is the last one. (-[WebFrame _timedLayout:]): Release the timer after doing all the other work, in case the reference from the timer is the last one. (-[WebFrame _setState:]): Release the timer after doing all the other work, in case the reference from the timer is the last one.
1:37 PM Changeset in webkit [4653] by darin
  • 2 edits in trunk/WebKit

Rolled out workaround to bug 3298153 -- get "screen font while printing"
error, bad stuff happens after that (Sherlock, Safari). It turns out the
real fix was on the WebCore side. Now that we have that fix we don't need
these extra calls to printerFont, which is a relatively slow call that
may need to look up a font by name each time it's called.

  • WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs): Remove code to look up the printer font.
1:36 PM Changeset in webkit [4652]
  • 16 copies in tags/Safari-85~5

This commit was manufactured by cvs2svn to create tag 'Safari-85~5'.

1:36 PM Changeset in webkit [4651] by sheridan
  • 8 edits in branches/Safari-1-0-branch

Safari-85.5 version stamp

1:12 PM Changeset in webkit [4650] by darin
  • 3 edits in branches/Safari-1-0-branch/WebCore

Rolled in change from main trunk.

2003-07-14 Dave Hyatt <hyatt@apple.com>

Fix for 3294626, no scrollbar on ESPN. Fix lowestPosition to
always crawl into all children.

Reviewed by darin

  • khtml/rendering/render_flow.cpp: (RenderFlow::lowestPosition): (RenderFlow::rightmostPosition):
1:10 PM Changeset in webkit [4649] by mjs
  • 2 edits in trunk/WebKit

Rolled in fix from Safari-89-branch

2003-07-12 Maciej Stachowiak <mjs@apple.com>

Try to fix OS build by making the Frameworks link in both SYMROOT
and DSTROOT, and at both build time and install time.

  • WebKit.pbproj/project.pbxproj:
12:17 PM Changeset in webkit [4648] by hyatt
  • 2 edits in trunk/WebKit

Roll this change out. It was a bad change that I only made
because I was using the opacity APIs wrong.

Reviewed by (nobody, just a straight backout of a previous checkin)

  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
12:02 PM Changeset in webkit [4647] by hyatt
  • 3 edits in trunk/WebCore

Fix for 3294626, no scrollbar on ESPN. Fix lowestPosition to
always crawl into all children.

Reviewed by darin

  • khtml/rendering/render_flow.cpp: (RenderFlow::lowestPosition): (RenderFlow::rightmostPosition):
11:27 AM Changeset in webkit [4646] by darin
  • 3 edits in branches/Safari-1-0-branch/WebCore

Rolled in change from main trunk.

2003-07-08 Dave Hyatt <hyatt@apple.com>

Make sure that the contents width and height of the view are
used as the root height and width when a view exists. This
ensures that the root element background properly tiles over
the entire height of the document. (This used to be ensured
by growing the height of the <html> element, but that violates
the CSS2 spec.)

This fixes bugs 3317809, 3299789, and 3318066.

Reviewed by john

  • khtml/rendering/render_box.cpp: (RenderBox::paintRootBoxDecorations):
11:24 AM Changeset in webkit [4645] by darin
  • 2 edits in branches/Safari-1-0-branch/WebKit
  • WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Changed minimum font size back to 9 instead of 1.
Note: See TracTimeline for information about the timeline view.