- 15 Dec, 2002 15 commits
-
-
hyatt authored
see if their parentNode had a renderer to complete the FOUC fix. Completing the FOUC fix finally solves 3057974. Reviewed by darin * khtml/html/html_baseimpl.cpp: (HTMLFrameElementImpl::attach): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
to disallow > but only inside attribute values for which there is no corresponding attribute name. Also fix attribute values with no name so that the value is used as the name so that e.g., <option "selected"> works. Reviewed by darin * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::HTMLTokenizer): * khtml/html/htmltokenizer.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
- fixed 3128260 -- REGRESSION: context menus in frames are always the generic page menu * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]): Check the control key in the mouse down event. If it's down, then do no magic. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
- fixed 3127900 -- REGRESSION: text fields select all their text when clicked on with the mouse * kwq/KWQKHTMLPart.h: Add _firstResponderAtMouseDownTime. * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMousePressEvent): Don't call makeFirstResponder: if it's already set. (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Using _firstResponderAtMouseDownTime, catch the case where an NSTextField's editor was just created and became first responder. In those cases, pass the mouseDown: to the text field, not the newly created editor. Even though it shouldn't make a difference it does. Also don't makeFirstResponder: if it's already set. (KWQKHTMLPart::mouseDown): Set _firstResponderAtMouseDownTime. * kwq/KWQWidget.mm: (QWidget::setFocus): Don't call makeFirstResponder: if it's already set. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
- fixed 3128651 -- REGRESSION: Mouse wheeling is busted on frames pages * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]): Only do the hitTest magic for left mouse downs; the rest of the clicks end up going to the correct view anyway, without our help. This makes this stop making trouble for the scroll wheel events. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
their loading. Reviewed by gramps * khtml/css/cssstyleselector.cpp: * khtml/css/cssstyleselector.h: * khtml/html/html_baseimpl.cpp: (HTMLFrameSetElementImpl::attach): * khtml/rendering/render_style.cpp: (RenderStyle::operator==): (RenderStyle::isStyleAvailable): * khtml/rendering/render_style.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
- fixed ==/= typo in QFontMetrics that caused a part of my recent speedup to not take effect - fixed 3128582 -- REGRESSION: Crash on planetquake.com * kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::setFont): Fix a horrifying "== instead of =" mistake. (QFontMetrics::ascent): Give an ERROR message, don't crash, when this is called on a font metrics object that hasn't been updated to work for a particular font. (QFontMetrics::descent): Ditto. (QFontMetrics::lineSpacing): Ditto. (QFontMetrics::xHeight): Ditto. (QFontMetrics::width): Ditto. (QFontMetrics::floatWidth): Ditto. (QFontMetrics::floatCharacterWidths): Ditto. * khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::attach): Eliminated what was causing us to hit the above. BR elements need to respect display() == NONE. - fixed the fix for operator==; needs to work even if the pseudo type was extracted already for one of the two, and not the other * khtml/css/cssparser.cpp: (CSSSelector::extractPseudoType): Only do work when the selector is Pseudo. (CSSSelector::operator==): Call pseudoType() instead of going right at _pseudoType. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
object/embed inside the head. Reviewed by cblu * khtml/html/dtd.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
- fixed 3127898 -- Crash going to altavista.com after visiting sony.com * khtml/ecma/kjs_window.cpp: (Window::get): Change lots of properties to return "undefined" rather than crashing when the view is NULL. I'm not sure that undefined is the perfect thing to return in this case, but it's better than crashing the program. We can refine later as needed. - fixed 3127157 -- REGRESSION: applet does not become first responder when clicked-on - fixed 3127934 -- Crash in KWQKHTMLPart::widgetWillReleaseView scrolling around * kwq/KWQKHTMLPart.h: Get rid of widgetWillReleaseView(). Add mouseDownViewIfStillGood(). * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Call makeFirstResponder: in the same way that the NSWindow does before delivering a mouseDown: message. This oversight caused the applet problem. (findViewInSubviews): Added. (KWQKHTMLPart::mouseDownViewIfStillGood): Added. Gets _mouseDownView, but then checks that it's still a subview before returning it. A little inefficient, but the only way to do it given that there's no general way to find out that an NSView is being removed from your view hierarchy or deallocated. This fixes the crash in widgetWillReleaseView. (KWQKHTMLPart::khtmlMouseMoveEvent): Use mouseDownViewIfStillGood() instead of _mouseDownView directly. (KWQKHTMLPart::khtmlMouseReleaseEvent): Ditto. (KWQKHTMLPart::passSubframeEventToSubframe): Ditto. * kwq/KWQWidget.mm: (QWidget::~QWidget): Remove call to widgetWillReleaseView(). (QWidget::setView): Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
_pseudoTypes. A nice subtle bug from the mega-patch. Reviewed by mjs * khtml/css/cssparser.cpp: (CSSSelector::operator == ): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
from darin's mega-patch. Reviewed by mjs * khtml/css/cssstyleselector.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
Reviewed by Maciej. * JavaScriptCore.pbproj/project.pbxproj: Make dtoa.h visible as an SPI so I can use it inside QString. WebFoundation: Reviewed by Maciej. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. WebCore: Reviewed by Maciej and Dave. - optimizations that improve speed; total is 13.8% on cached cvs-base on my machine * khtml/css/css_valueimpl.h: Add isKonqBody() and genericFamilyType() to find out if a font is a standard one. This is much faster than doing string comparisons all the time. * khtml/css/css_valueimpl.cpp: (FontFamilyValueImpl::FontFamilyValueImpl): Check the font names against the standard ones on time when the FontFamilyValueImpl object is constructed rather than every time the stuff is matched. * khtml/css/cssparser.h: Add pseudoType() and extractPseudoType() to CSSSelector so we don't have to do string compares all the time. * khtml/css/cssparser.cpp: (StyleBaseImpl::parseValue): Use QConstString in a way that's effective (with an object that has a long enough lifetime), or don't use it at all. (StyleBaseImpl::parseContent): Ditto. (StyleBaseImpl::preprocess): Preprocess into a buffer, usually on the stack, rather than using QString += QChar over and over again. (CSSSelector::extractPseudoType): Convert the value string into a type, and get rid of it. Saves memory because the string goes away. And doing it once is much faster than string comparing each time. * khtml/css/cssstyleselector.cpp: (cleanPath): Restructure to save one find() in the common case. (checkPseudoState): Restructure to avoid some DOMString creation/destruction in the case where the tag is not an <A>. Also use QConstString correctly. (CSSStyleSelector::checkOneSelector): Use the new pseudoType() instead of string compares. (CSSStyleSelector::applyRule): Use isKonqBody() and genericFamilyType() instead of string comparisons. * khtml/dom/dom_string.h: Make the destructor non-virtual. This was a big win, and a mistake the way it was before. Also make the DOMString constructor with no parameters inline. * khtml/dom/dom_string.cpp: (DOMString::string): Don't use QConstString here, since it does no good. (DOM::operator==): Rewrite to do things faster and avoid calling strlen. * khtml/html/html_objectimpl.h: Don't use QConstString in places where it does harm and no good. * khtml/html/html_objectimpl.cpp: (HTMLEmbedElementImpl::parseAttribute): Use QConstString properly. * khtml/html/htmltokenizer.cpp: (tagMatch): Added. (HTMLTokenizer::parseSpecial): Change tokenizing so it doesn't construct temporary strings (with QConstString) just to compare small substrings. * khtml/khtml_part.cpp: (KHTMLPart::write): Don't use a decoder object when source is all ASCII. * kwq/KWQColor.mm: (hex2int): Don't bother with uppercase hex since we always lowercase anyway. (QColor::setNamedColor): Use a new gperf-based table instead of an NSDictionary to look up colors. * kwq/KWQColorData.c: Added this autogenerated file. * kwq/KWQColorData.gperf: Added. Source file with list of colors and color values. * kwq/Makefile.am: Build KWQColorData.c from KWQColorData.gperf. * WebCore.pbproj/project.pbxproj: Added KWQColorData.gperf. * khtml/misc/helper.cpp: (khtml::setNamedColor): Don't call setNamedColor again with the lowercased color name, since our QColor::setNamedColor already has to lowercase the name (because it has to check all names before checking any hex values). * khtml/rendering/font.h: Don't initialize the QFontMetrics since in every case we end up changing the font later anyway. Also remove unused field. * khtml/rendering/font.cpp: (Font::update): Use the new QFontMetrics::setFont for speed. * khtml/rendering/render_object.cpp: (RenderObject::enclosingLayer): Change it so it doesn't get the layer twice. This function showed up on the sample so we know it's hot. * khtml/xml/dom_stringimpl.cpp: (DOMStringImpl::containsOnlyWhitespace): Did a faster implementation that doesn't call QChar::direction() except for non-ASCII characters. * kwq/KWQFontMetrics.h: Add empty constructor for use in font.cpp. Add accessor and setter for the font too. Made baselineOffset() inline since it's trivial. * kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::QFontMetricsPrivate): Don't make the renderer until we use it. (QFontMetricsPrivate::getRenderer): Make it here. (QFontMetricsPrivate::font): Added. (QFontMetricsPrivate::setFont): Added. Dumps the renderer if the font is different. (QFontMetrics::QFontMetrics): Added empty constructor. (QFontMetrics::setFont): Added. * kwq/KWQKURL.mm: (KURL::parse): Avoid function call overhead calling strncasecmp and strncmp. Also made the check for localhost case insensitive. * kwq/KWQString.h: Remove _isUnicodeInternal and _isAsciiInternal, since they are trivially computed, and it saves time to not have that extra field to manipulate. Removed private data() function since it's the same as *dataHandle and not really more clear. Made ascii() and unicode() simpler and inline. Also made latin1() and getCFString() inline. Renamed QStringData to KWQStringData. * kwq/KWQString.mm: (QStringData::QStringData): Remove initializers for the xxxInternal. (QStringData::initialize): Removed some unnecessary if statements, and made a slight improvement in the case of a 0-length string that comes with a pointer for Unicode (can't do it in the char * case because it's a feature that's used). (QString::makeSharedNull): No need to set _isUnicodeInternal. (QStringData::~QStringData): Use the new functions instead of the old bits. (QStringData::increaseAsciiSize): Grow faster when we get to larger sizes where the "good size" call doesn't have as much of an effect. Simplified by removing unneeded code. (QStringData::increaseUnicodeSize): Ditto. (QStringData::makeAscii): Update for removal of _isAsciiInternal. (QStringData::makeUnicode): Update for removal of _isUnicodeInternal. (QString::detachIfInternal): Add this new inline to speed things up for the common case where there's no detaching needed. (QString::at): Simplify, there were excess if branches here. (QString::toDouble): Use kjs_strtod and don't copy the string using QCString for additional speed. (QString::lower): Don't detach if the string is already all lowercase. Added a FIXME about the code that assumes all "ASCII" bytes are truly ASCII. This code blurs the distinction between Latin-1 and ASCII in a way that will not work right for Latin-1 characters in an 8-byte character QString. (QString::detachInternal): Update for removal of _isUnicodeInternal. (QString::detach): Removed a special case for shared_null that was dead code since shared_null has the _isUnicodeValid flag set. (operator==): Rewrote the comparison with char * to avoid the costly call to strlen. * Makefile.am: Updated the rules here so the force clean timestamp works right. * force-clean-timestamp: Touched this since the header dependencies don't seem right for the DOMString constructor change, at least. * WebCore-tests.exp: Exported a symbol now needed by tests since QString does more inlining. * WebCore-combined.exp: Re-generated. WebBrowser: Reviewed by Maciej. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs authored
- slightly improved situation with 3124933 (abcnews.com leads to empty window with sheet complaining about javascript: URL); the popup window still comes up empty but it doesn't put up a sheet. * kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::openURLRequest): Handled "javascript:" URLs here. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
gramps authored
* Debug/DebugUtilities.m: (-[DebugUtilities userAgentSubmenuItem]): Changed "PPC" in one user agent string to "PPC Mac OS X" used for debugging. Fixed 3127173 -- REGRESSION: fboweb.com renders incorrectly Reviewed by darin * English.lproj/StringsNotToBeLocalized.txt: * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Changed "PPC" in our user agent string to "PPC Mac OS X" in order to match Mozilla and make the silly server-side user agent string checking work at fboweb.com. Actually, just "PPC " would work fine at fboweb.com. Go figure. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3056 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
and fix other rules to be !important so that the td[align=right] rules won't affect child tables with align=center. Reviewed by gramps * khtml/css/html4.css: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 14 Dec, 2002 4 commits
-
-
hyatt authored
Fixes to make webreference.com menus show up. This involved fixing layers to not clip positioned objects when overflow:hidden is set, fixing the stupid clip/sync layout hack for livepage so that it doesn't break webreference, and implementing navigator.productSub (right now the date is set to Christmas 2002). Reviewed by gramps/maciej. * khtml/ecma/kjs_navigator.cpp: (Navigator::getValueProperty): * khtml/ecma/kjs_navigator.h: * khtml/ecma/kjs_navigator.lut.h: * khtml/rendering/render_box.cpp: (RenderBox::getOverflowClipRect): * khtml/rendering/render_box.h: * khtml/rendering/render_flow.cpp: (RenderFlow::layout): * khtml/rendering/render_layer.cpp: (RenderLayer::paint): (RenderLayer::nodeAtPoint): (RenderLayer::constructZTree): * khtml/rendering/render_layer.h: * khtml/rendering/render_object.cpp: (RenderObject::setLayouted): * khtml/rendering/render_object.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs authored
- further corrections to number printing. * kjs/ustring.cpp: (UString::from): Make number printing match the ECMA standard algorithm. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kocienda authored
Fix for this bug: Radar 3128159 (Netscape non-standard DOM event attribute "which" unsupported) * khtml/dom/dom2_events.cpp: (UIEvent::which): Added which() definition. * khtml/dom/dom2_events.h: Added declarations for which() functions in UIEvent. * khtml/ecma/kjs_events.cpp: (DOMUIEvent::getValueProperty): Added which property. * khtml/ecma/kjs_events.h: Ditto. * khtml/ecma/kjs_events.lut.h: File regenerated. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs authored
- fix toString() conversion for numbers less than 1. Negative exponents are still wrong though (things like 1E-34). * kjs/ustring.cpp: (UString::from): Don't print empty string for numbers less than 1, and remember to add extra 0s after the decimal for negative decimal positions. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 13 Dec, 2002 18 commits
-
-
rjw authored
Implemented findWordBoundary. We now correctly detect word boundaries. This function makes use of carbon unicode utilities. With help from hyatt, made selection correctly account for render continuations. This fixes many of the 'unable to select' issues. Reviewed by trey and hyatt. * khtml/khtml_events.cpp: (khtml::MouseEvent::offset): * khtml/khtml_part.cpp: (findWordBoundary): (KHTMLPart::khtmlMousePressEvent): (KHTMLPart::khtmlMouseMoveEvent): * khtml/rendering/render_object.cpp: (RenderObject::checkSelectionPoint): * khtml/rendering/render_object.h: * khtml/rendering/render_text.cpp: (RenderText::checkSelectionPoint): * khtml/rendering/render_text.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs authored
- fixed build. * ForwardingHeaders/rendering/render_layer.h: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs authored
* khtml/dom/dom2_events.cpp: (UIEvent::layerX): Added to support nonstandard Mozilla event.layerX property. (UIEvent::layerY): Added to support nonstandard Mozilla event.layerY property. * khtml/dom/dom2_events.h: * khtml/ecma/kjs_events.cpp: (DOMUIEvent::getValueProperty): Implemented layerX and layerY * khtml/ecma/kjs_events.h: * khtml/ecma/kjs_events.lut.h: * khtml/xml/dom2_eventsimpl.cpp: (MouseEventImpl::MouseEventImpl): Added call to computeLayerPos. (MouseEventImpl::computeLayerPos): Compute layer position. (MouseEventImpl::layerX): Added. (MouseEventImpl::layerY): Added. (MouseEventImpl::initMouseEvent): Added call to computeLayerPos. * khtml/xml/dom2_eventsimpl.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
level replaced floating elements were being treated as though they didn't float. Reviewed by gramps * khtml/rendering/render_flow.cpp: (RenderFlow::layoutBlockChildren): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
* WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Add "(like Gecko)" string and change "WebKit" to "AppleWebKit". * English.lproj/StringsNotToBeLocalized.txt: Update for these changes. * Misc.subproj/WebUnicode.h: No need for & 0xFF since we cast to unsigned char. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
Do not treat XHTML-style tags e.g., <br/> or <table/> as self-closing. This is absolutely wrong, and it does not match the behavior of other browsers. According to the HTML4 spec for parsing, / is an erroneous character and should simply be dropped, so <table/> should be treated like <table>. Fixes for crashes on glazman's blog and on tantek's blog. Both still mis-render, but at least they don't crash. Reviewed by gramps (and darin too) * khtml/html/htmltokenizer.cpp: * khtml/rendering/render_container.cpp: * khtml/rendering/render_style.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
sullivan authored
- WebKit part of fix for 3028061 -- visiting a bookmarked site that now has a site icon will not update bookmark's icon No longer store the icon in the WebHistoryItem, since there's no mechanism for keeping it fresh and telling interested clients when it changes. Instead, the latest icon is always returned from the icon database, and it's up to clients to get a fresh one when they notice that the icon for a URL has been updated. Reviewed by Darin * History.subproj/WebHistoryItem.h: remove _icon and _loadedIcon ivars * History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): don't release _icon (-[WebHistoryItem icon]): just return fresh icon from database, don't store (-[WebHistoryItem setURL:]): don't set _loadedIcon to NO WebBrowser: - WebBrowser part of fix for 3028061 -- visiting a bookmarked site that now has a site icon will not update bookmark's icon This first cut, which fixes the bug completely, just tosses out the cached bookmark & history menus & tells the outline view to redisplay everything. We might improve this later, but in practice the only difference in behavior that this will cause is to make the Bookmarks menu rebuild itself from scratch when clicked on more often. (We can address that multiple ways, probably the best one being to make rebuilding much faster by using IconRefs instead of NSImages, see 3120678.) Reviewed by Darin * BookmarksController.m: (-[BookmarksController awakeFromNib]): register for icon-changed notifications (-[BookmarksController _receivedIconChangedNotification:]): mark menu dirty when any icon has changed * BookmarksViewController.m: (-[BookmarksViewController awakeFromNib]): register for icon-changed notifications (-[BookmarksViewController iconChanged:]): reload outlineview data when any icon has changed. Note that this has no effect when the outlineview is not showing. * GlobalHistory.m: (-[GlobalHistory _registerForHistoryNotifications]): register for icon-changed notifications (-[GlobalHistory receivedIconChangedNotification:]): mark menu dirty when any icon has changed (-[GlobalHistory receivedEntriesChangedNotification:]): removed wayward space character git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
sheridan authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
Reviewed by Maciej. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. WebBrowser: Reviewed by Maciej. - fix some relatively new messages to use curly apostrophes * AppController.m: (-[AppController confirmEmptyCache:]): One in here. * LocationChangeError.m: (-[LocationChangeHandler specializedMessageForError:]): Two in here. * English.lproj/Localizable.strings: Generated this. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
trey authored
3108865 - frames not maintained going back at directory.apple.com Both bugs are fixed by the same small change. We no longer try to inherit loadType across redirects. Instead we just make sure the right thing happens in _transitionToCommitted: for redirects in the loadType=Standard case. 3122721 - History stores both original and redirected sites Easy fix while in the neighborhood. We just don't add to History when doing a redirect. Reviewed by rjw * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): On redirect, update the URL of the frame's current item, not the current item in the b/f list. Also do not add to history on redirect. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Cut out funny business that tried to guess when to inherit loadtype across redirects. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
escaped characters in the CSS content property, and bug 3127375 (44854 in bugs.kde.org), which had to do with making sure table cells relayout properly when images load async. Reviewed by darin and john * khtml/css/cssparser.cpp: (StyleBaseImpl::parseContent): (StyleBaseImpl::isHexadecimal): * khtml/css/cssparser.h: * khtml/rendering/bidi.cpp: (RenderFlow::layoutInlineChildren): * khtml/rendering/render_flow.cpp: (RenderFlow::layout): * khtml/rendering/render_flow.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
- moved KWQFontFamily and KWQPageState to new homes * kwq/KWQFontFamily.h: Added. * kwq/KWQFontFamily.mm: Added. * kwq/KWQPageState.h: Added. * kwq/KWQPageState.mm: Added. * WebCore.pbproj/project.pbxproj: Added new source files. * kwq/KWQFont.h: Removed KWQFontFamily. * kwq/KWQFont.mm: Removed KWQFontFamily. * kwq/WebCoreBridge.mm: Removed KWQPageState. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs authored
- fixed 3083814 - dhtml at www.bayarea.com doesn't hide on some mouse movements * khtml/ecma/kjs_events.h: * khtml/ecma/kjs_events.cpp: (DOMUIEvent::getValueProperty): Implemented pageX and pageY properties. * khtml/ecma/kjs_events.lut.h: Regenerated. * khtml/dom/dom2_events.h: * khtml/dom/dom2_events.cpp: (UIEvent::pageX): Get x coordinate if a mouse event. (UIEvent::pageY): Get y coordinate if a mouse event. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rjw authored
Fixed 3127225. Provide new SPI to get available system memory. (Also currently unused SPI to get number of processors.) Reviewed by gramps. * Misc.subproj/WebSystemBits.h: * Misc.subproj/WebSystemBits.m: (initCapabilities): (WebSystemMainMemory): (WebSystemProcessors): * WebFoundation.exp: * WebFoundation.pbproj/project.pbxproj: WebCore: Fixed 3127225. Set WebCore object cache size when first bridge is created. Reviewed by gramps. * kwq/WebCoreBridge.h: * kwq/WebCoreBridge.mm: (-[WebCoreBridge init]): WebKit: Fixed 3127225. Scale page cache based on available memory. Also added support for setting WebCore object cache size via a preference. Fixed 3126267. Increase CG glyph cache size if font smoothing is turned on. Reviewed by gramps. * History.subproj/WebBackForwardList.m: (+[WebBackForwardList pageCacheSize]): * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge getObjectCacheSize]): * WebCoreSupport.subproj/WebTextRendererFactory.m: (getAppDefaultValue): (getUserDefaultValue): (getLCDScaleParameters): * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): (-[WebPreferences _pageCacheSize]): (-[WebPreferences _objectCacheSize]): * WebView.subproj/WebPreferencesPrivate.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
cblu authored
Reviewed by darin. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _updateFileDatabase]): Only save icons with a size of 16 x 16 since that's the only size we use. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
cblu authored
Reviewed by darin. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView status:]): check the incoming string before calling [NSString stringWithCString] git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin authored
Overall speedup on cvs-base is about 5%. - reduce QString use in the tokenizer and tighten up QString implementation for a speedup - fix up the QFontFamily implementation, using new QString features too, for a speedup * khtml/html/htmltokenizer.h: Take const QString & instead of QString to avoid an extra copy. * khtml/html/htmltokenizer.cpp: (HTMLTokenizer::begin): Use QString::null instead of "" for QString objects; faster. (HTMLTokenizer::scriptHandler): In APPLE_CHANGES, use new prepend that avoids the need to create a temporary QString. Use QString::null instead of QString() for a null string, and also made other small fixes to avoid temporary QStrings. (HTMLTokenizer::setSrc): Take const QString & instead of QString to avoid an extra copy. * kwq/KWQFont.h: Rename QFontFamily to KWQFontFamily. Make family() inline, add inline familyIsEmpty(). Change KWQFontFamily to store both the QString for the family and the NSString instead of only the NSString to avoid constant conversions back and forth. Remove type cases in CREATE_FAMILY_ARRAY that could result in copying the font object. * kwq/KWQFont.mm: (KWQFontFamily::KWQFontFamily): Fix bug where a copied family object would have a random ref count instead of a ref count of 0. Also update for NSString change. (KWQFontFamily::operator=): Use the ref before deref algorithm instead of the check for self-assignment. (KWQFontFamily::getNSFamily): Compute the NSString for the family name here. To avoid making an NSString every time, use a CFDictionary with QString as a key and NSString as a value instead of using an NSSet. (KWQFontFamily::setFamily): Invalidate the NSString family when the QString family is changed. Moved the code to make things unique to getNSFamily. (KWQFontFamily::operator==): Call getNSFamily rather than * kwq/KWQString.h: Added a prepend and insert overload that take a QChar pointer and length, for use in the tokenizer, and a hash function, for use in CFDictionary. Also added a global set of CFDictionaryKeyCallBacks. * kwq/KWQString.mm: (QString::prepend): New overload calls new insert overload. (QString::insert): Old insert slightly tightened by calling detach() only after the early exit and removing an extra detach from a function that already does forceUnicode. Added the new insert that takes a QChar * and a length. (operator==): Rewrite this so that it is efficient and doesn't involve creating a QString temporary or doing a function call. (QString::hash): Wrote this. Used the same hash algorithm I did in my recent KJS work. (retainQString): Added. For use in CFDictionaryKey callback. (releaseQString): Added. For use in CFDictionaryKey callback. (describeQString): Added. For use in CFDictionaryKey callback. (equalQString): Added. For use in CFDictionaryKey callback. (hashQString): Added. For use in CFDictionaryKey callback. * khtml/rendering/font.h: Change name to KWQFontFamily. * khtml/rendering/font.cpp: (Font::update): Call familyIsEmpty() instead of family().isEmpty() to avoid making and destroying a QString every time. Also put this batch of KWQFontFamily-specific changes inside #if APPLE_CHANGES. Much to my dismay, we have others elsewhere that aren't ifdef'd. * khtml/css/cssstyleselector.cpp: (CSSStyleSelector::applyRule): Change name to KWQFontFamily. Clearly this code needs some #if APPLE_CHANGES, and changing the class name helps make that clear. - change KHTMLSettings so using it doesn't require copying QStrings for a speedup * kwq/KWQKHTMLSettings.h: Made all the functions static members to avoid the unnecessary overhead of passing a this pointer. Added lots of setXXX functions for use by the WebCoreSettings code that gets called by WebKit when settings are changed. Return objects by reference because we can and it avoids copying QString objects. * kwq/KWQKHTMLSettings.mm: Changed all the functions in here to return the same global object each time, and made the set functions update those globals. * kwq/WebCoreSettings.mm: All the setters now call through to KHTMLSettings set functions. - fixed 3126513 -- crash in KWQKHTMLPart::clearTimers() deallocating KWQPageState - did some cleanup in the bridge and the part; part of the process of moving real work out of the bridge * kwq/KWQKHTMLPart.h: Rearrange things to be a little more logical. Mark isFrameSet() const. added an attributedString function here so it's not inside WebCoreBridge. Added an overload of clearTimers that takes a view parameter. * kwq/KWQKHTMLPart.cpp: (KWQKHTMLPart::isFrameSet): Mark this const. * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::clearTimers): Add the overload that takes the view parameter. (KWQKHTMLPart::attributedString): Moved this code in here from the bridge. * kwq/WebCoreBridge.mm: (-[WebCoreBridge selectedAttributedString]): Call the attributedString function in its new home in KWQKHTMLPart. (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]): Ditto. (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:]): Take a const KURL & instead of a KURL to avoid unnecessary copying. (-[KWQPageState dealloc]): Call the new clearTimers that takes a view parameter. This should fix the crash in autorelease pool deallocation mentioned above. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
sure blocks track width overflow as well as height overflow and ensure that a layer's dimensions expand to encompass both width and height overflow. Also fixes a bug with line breaking that allowed unbreakable words to actually be broken up when they were the only word on a line. This is wrong and differs from all other browsers, so the patch in bidi.cpp fixes us to match other browsers. (This was required to fix the above bug.) Reviewed by mjs. * khtml/rendering/bidi.cpp: (RenderFlow::findNextLineBreak): * khtml/rendering/render_flow.cpp: (RenderFlow::RenderFlow): (RenderFlow::layout): (RenderFlow::layoutBlockChildren): * khtml/rendering/render_flow.h: * khtml/rendering/render_layer.cpp: (RenderLayer::updateLayerPosition): * khtml/rendering/render_object.cpp: (RenderObject::nodeAtPoint): * khtml/rendering/render_object.h: * khtml/rendering/render_table.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 12 Dec, 2002 3 commits
-
-
trey authored
I saw a 3% sloth effect from a huge (100k) history. This change cut that cost in half. I think we still have a marginally measurable cost for our worst practical case. Reviewed by rjw * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate insertEntry:atDateIndex:]): Comment. (-[WebHistoryPrivate removeEntryForURLString:]): Use removeIdentical instead of remove, since we don't need to do all the equals comparisons. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rjw authored
Reviewed by trey. This change was actually made by trey. It make the "Empty Cache" menu release the page cache. * AppController.m: (-[AppController confirmEmptyCache:]): WebCore: Fixed 3116584. Made letter-spacing, word-spacing, and text-decoration play well together. Reviewed by hyatt. Changes made with trey to enable to release of page cache from the "Empty Cache" menu item in Alex. Reviewed by trey. * khtml/rendering/font.cpp: (Font::drawLineForText): (Font::drawText): * khtml/rendering/font.h: * khtml/rendering/render_text.cpp: (TextSlave::paintDecoration): (RenderText::paintObject): * khtml/rendering/render_text.h: * kwq/KWQPainter.h: * kwq/KWQPainter.mm: (QPainter::drawLineForText): * kwq/WebCoreBridge.h: * kwq/WebCoreBridge.mm: (-[WebCoreBridge dealloc]): (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]): (-[KWQPageState invalidate]): (-[KWQPageState dealloc]): * kwq/WebCoreTextRenderer.h: WebKit: Changes to fix 3116584. Reviewed by hyatt. Changes to support emptying the page cache from the "Empty Cache" menu. Reviewed by trey. * ChangeLog: * History.subproj/WebBackForwardList.h: * History.subproj/WebBackForwardList.m: (-[WebBackForwardList clearPageCache]): * History.subproj/WebHistoryItem.m: (+[WebHistoryItem _scheduleReleaseTimer]): (-[WebHistoryItem _scheduleRelease]): (+[WebHistoryItem _releasePageCache:]): (-[WebHistoryItem setHasPageCache:]): * WebCoreSupport.subproj/WebTextRenderer.m: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Tests: * html/letterspacing.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kocienda authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-